资源描述:
《计算机等级考试二级c笔试试题4》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、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,继续执行,判
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的地址
3、 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
4、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]表示
5、字符串已超出了数组s的表示范围,在c中不会对数组越界进行检查,当数组越界时,会得到一个不确定的值。 转贴于:265考试网http://www.265ks.com_计算机二级(33)有如下程序 int rune(ira a,int b) { remm(a+b);} main() { int x=2,y=5,z=8,r; r=func(func(x,y),z); primf("%d",r); } 该程序的输出结果是________。 A)12 B)13 C)14
6、 D)15 答案:D 评析:调用函数func(x,y),返回x+y,即7;再调用函数func(7,z),返回7+z,即15。 (34)有如下程序段 int *p,a=10,b=l; p=&a; a=*p+b; 执行该程序段后,a的值为_________。 A)12 B)11 C)10 D)编译出错 答案:B 评析:执行p=&a;后,p指向整数a,*p即p的目标变量,也就是a;所以a=*p+b等价于a=a+b,可知a的值最终为11
7、。 (35)有以下程序: int*f(int*x,int*y) { if(*x<*y)return x; else returny; } main() { int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=f(p,q); printf("%d,%d,%d\n",*p,*q,*r); } 程序运行后输出结果是_________。 A)7,8,8 B)7,8,7 C)8,7,7 D)8,7,8 答案:B 评析:f函数的功能是返
8、回地址为x,y的两个数中值较的数的地址,本题输出结果是7,8,7。 (36)有如下程序 long fib(im n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); ) main() { printf(%ld\n",fib(3));} 该程序的输出结果是_________。 A)2