文档详情

复习题三答案及详细分析.doc

发布:2016-10-17约5.4千字共6页下载文档
文本预览下载声明
第五章 以下合法的字符常量是 A 0xDE B \101 C \ D 答案:D 分析:表示转义字符中的单引号字符 以下不合法的字符常量是 A a B \179 C \xee D \n 答案:B 分析:B)’\179’中的9中超出了八进制数值的范畴 已定义ch为字符型变量,以下赋值语句中错误的是 A ch=\; B ch=62+3; C ch=\0; D ch=\xaa; 答案:A 分析: A)字符变量要保存字符常量,字符常量要用单引号引起来,同时,这应是一个转义字符,正确的应为:ch=’\\’ B)等价于ch=’A’ C)’\0’为转义字符,赋值正确 D)十六进制表示的转义字符 以下程序的输出结果是 main() { char x=C; x=(x=Ax=Z)?(x+32):x; printf(%c,x); } A C B c C 67 D 99 答案:B 分析:条件表达式x=(x=’A’x=’Z’)?(x+32):x的第一个式子(x=’A’x=’Z’)为真,因此执行x+32这个操作,所以x=’C’+32,因此打印输出的是c。 以下程序的输出结果是 main() { char x,y; x=B-A+a; y=x+2; printf(%d,%c,x,y); } A 98,d B b,d C B,D D 98,100 答案:A 分析: x=’B’-’A’+’a’=66-65+97=98 y=x+2=98+2=100,ASCII值为100的是字符’d’ 所以最后输出的98,d 若变量均正确定义,要求用scanf(%d%c%d%c,a,x,b,y);进行数据输入,使得a的值为40,b的值为50,为x赋*,为y赋#,以下正确的输入形式是 A 40*50# B 40 * 50 # C 40 *50# D 40*50 # 分析:整型数据和字符型数据交替输入的时候输入形式只有两种: (1)40*50#回车 (2)40* 50#回车 其他情况下,都会降空格符号作为字符读入,导致结果错误,所以选A) 要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,则正确的程序段是 A while((ch=getchar())!=N)printf(%c,ch); B while(ch=getchar()!=N)printf(%c,ch); C while(ch=getchar()==N)printf(%c,ch); D while((ch=getchar())==N)printf(%c,ch); 以下程序: main() { char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,c1,c2,c3,c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(%c%c\n,c5,c6); } 程序运行后,若从键盘输入 123回车 45678回车 则输出结果是 A 1267 B 1256 C 1278 D 1245 答案:D 分析:1,2,3依次赋给了c1,c2,c3,回车符也作为字符赋给了c4,所以c5,c6依次读入的是4,5。 在C程序中 A main函数必须出现在所有函数之前 B main函数可以在任何地方出现 C main函数必须出现在所有函数之后 D main函数必须出现在固定位置 答案:B 分析:在C语言中,函数可以在任何地方出现,而main函数作为函数中的一类,没有特殊的限制和要求,故也可以在任何地方出现。 C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是 A void B int C float D double 答案:B 分析:C语言默认规定 设函数fun的定义形式是 void fun(char ch,float x){......} 则以下对函数fun的调用语句中,正确的是 A fun(abc,3.0); B t=fun(D,16.5); C fun(65,2.8); D fun(32,32); 答案:D 分析:对应每个形参的类型结构。 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 A 调用可以作为独立的语句存在 B 调用可以作为一个函数的实参 C 调用可以出现在表达式中
显示全部
相似文档