2006年4月计算机等级考试二级C笔试试题
(28)有如下程序 main() { int x=3; do { printf("%d",x--);} while(!x); } 该程序的执行结果是________。 A)321 B)3 C)不输出任何内容 D)陷入死循环 答案:B 评析:本题x赋初值为3,当执行printf("%d",x--);时,由于X--的作用是先运算x,再将x的值减l,所以,printf输出的x值为3,等输出后,x的值减1变为2,继续执行,判断条件!x为假,循环只被执行一次。 (29)设有声明语句:char a=’\72’;则变量a__________ A)包含1个字符B)包含2个字符 C)包含3个字符D)声明不合法 答案:A 评析:转义字符常量’xx’可以把’\’后面的数字转换为对应的ASCII字符。 (30)有以下程序段: main() { int a=5,*b,**c c==&b;b=&a; } 程序在执行了c=&b;b=&a;语句后,表达式ttc的值是__________。 A)变量a的地址B)变量b中的地址 C)变量a中的值D)变量b的地址 答案:C 评析:指针变量是用来存放地址的。&:取地址运算符。+:指针运算符。**c为指针变量*c所指向的存储单元,*c为指针指针变量c所指向的存储单元,而c=&b表示c为变量b的地址,b=&a表示b为变量a的地址。表达式一c的值就是变量a中的值。 (31)有如下函数调用语句 func(recl,rec2+rec3,(rec4,rec5)); 该函数调用语句中,含有的实参个数是________。 A)3 B)4 C)5 D)有语法错误 答案:A 评析:(rec4,rec5)是逗号表达式,它的值是rec5的值。所以该函数调用语句含有的实参个数是3。 (32)有如下程序 main() { char s[115]={.tabc","de","fgh"}; printf("%e",s[2][6]); } 其输出为__________。 A)不确定 B)编译错误 C)g D)输出null字符 答案:A 评析:由于s[2116]表示字符串已超出了数组s的表示范围,在c中不会对数组越界进行检查,当数组越界时,会得到一个不确定的值。 首页 1 2 3 4 5 6 7 尾页 相关资料 |