计算机等级考试二级C语言考前密卷[1]下

文章作者 100test 发表时间 2007:03:10 16:44:14
来源 100Test.Com百考试题网


(26)下列程序执行后输出的结果是___________。
int d=l:
fun(int p)
{ int d。5;
d =p ;
printf("%d,",d);
}
main()
{ int a=3;
fun(a);
d =a :
printf("%d\n",d);
}
A)8,12  B)9,13  C)8,4  D)9,5
答案:C
评析:本题执行过程如下:首先调用fun函数,使得实参a的值3传递给形参p,得到局部变量d=8,打印出局部变量d的值8;返回主函数执行"d =a ",此处的d为全局变量,所以d=1 3=4(由于本题是值传递,所以在函数fun中对p值的改变并不能引起a的改变),故本题的输出是8,4。
(27)已知下面的程序段,正确的判断是_________。
#define A 3
#define B(A)((_A 1)’a)
int a=3:
……
X=3*(A B(7));
A)程序错误,不允许嵌套定义  B)X=93
C)X=8l            D)程序错误,宏定义不允许有参数
答案:C
评析:本题的宏定义是合法的,宏定义展开为3*(3 ((A 1)*a))=3*(3 ((7 1)*3))=81。
(28)定义int*swap()指的是_______。
A)一个返回整型值的函数swap()
B)一个返回指向整型值指针的函数swap()
C)一个指向函数swap()的指针,函数返回一个整型值
D)以上说法均错
答案:B
评析:一个函数可以带回一个整型值、字符值、实型值等,但也可以带回指针型数据,即地址。本题的定义中,包括括号和·号,由于f)优先级高于t。故它是一个返回整型指针的函数。
(29)以下程序段的输出结果是__________。
main()
{  char s1[10],s2[10],s3[10];
scanf("%s",s1);gets(s2);gets(s3);
puts(s 1);puts(s2);puts(s3);
}
输入数据如下: (此处代表回车符)
aaa
bbb
A)aaa  B)aaa  C)aaa\0bbb\0  D)aaabbb
bbb
bbb
答案:B
评析:scanf是标准输入函数,在输入字符串aaa时,实际的内容为"aaa\0","\0"是由系统自动加入的;gets的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以"\0"代替换行符。
(30)下述函数功能是________。
Int fun(char*x)
{ char*y=x;
while(*y );
return y-x-l;
}
A)求字符串的长度     B)求字符串存放的位置
C)比较两个字符串的大小  D)将字符串x连接到字符串y后面
答案:A
评析:在函数体内定义一字符型指针并指向形参,然后遍历其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的长度。

相关文章


计算机等级考试二级公共基础知识(06年考试必备)(八)
06年9月计算机等级考试二级C 模拟试题答案(4)
计算机等级考试二级C语言考前密卷[1]上
06年9月计算机等级考试二级C 笔试模拟试题(1)
计算机等级考试二级C语言考前密卷[1]下
全国计算机等级考试2级公共基础120题之二
全国计算机等级考试2级公共基础120题之一
计算机等级考试二级C语言考前密卷[2]上
06年9月计算机等级考试二级C 模拟试题答案
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛