2010上半年等考二级C语言笔试精选试题(6)
1.下面叙述正确的是() A)define和auto都不能定义为用户标识符 B)可以把define和auto定义为用户标识符 C)可以把define定义为用户标识符,但auto是C语言的关键字 D)可以把auto定义为用户标识符,但define是C语言的关键字 2.以下的for循环() for(x=0,y=0;(y!=123)&&(x<4);x++) A)是无限循环 B)循环次数不定 C)执行4次 D)执行3次 3.下述对C语言字符数组的描述中错误的是() A)字符数组可以存放字符串 B)字符数组中的字符串可以整体输入、输出 C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较 4.设有定义:int a,*p=&a,**pp=&p;,则与a=100;等价的语句为() A)**p=100; B)**pp=100; C)&*p=100; D)*pp=10; 5.有以下程序 int x=3; do {printf("%d",x-=2);}while(!(--x)); 程序运行后的输出结果是() A)1 B)30 C)1-2 D)死循环 6.执行下面程序的正确结果是() main()中 华 考 试 网 { float a=1.9; switch(a) { case 0∶printf("0000"); case 1∶printf("1111"); case 2∶printf("3333"); } printf("%f",a); } A)1.900000 B)111133331.900000 C)33331.900000 D)00001111233331.900000 7.对下述程序,正确的判断是() main () { int a, b; scanf("%d,%d",&a,&b); if(a>b)a=b;b=a; else a++;b++; printf("%d,%d",a,b);} A)有语法错误不能通过编译 B)若输入4,5则输出5,6 C)若输入5,4则输出4,5 D)若输入5,4则输出5,5 8.若有如下程序: sub(int n) {intt; if(n==1)returnt=5; else t=sub(n-1)+3; returnt;} main() {printf("%d ",sub(5));} 则程序运行后的输出结果是() A)17 B)18 C)19 D)20 9.下面各被调用函数首部书写正确的是() A)void sub(float x;float y); B)void sub(float x,y) C)void sub(float x,float y) D)void sub(float x,float y); 10.设有如下程序: #include"string.h" main() {static char s1[20],s2[20]; scanf("%s",s1);scanf("%s",s2); if(strcmp(s1,s2))printf("@"); elseprintf("$"); printf("%d ",strlen(strcat(s1,s2)));} 如果从键盘上输入name<回车>name1<回车>,则程序运行后的输出结果是() A)$8 B)@10 C)$9 D)@9 答案:1.C 2.C 3.C 4.B 5.C 6.B 7.A 8.A 9.C 10.D 相关资料 |