当前所在位置:珠峰网资讯 >> 计算机 >> 计算机等级考试 >> 正文
计算机等级考试二级C语言笔试经典习题(2)
发布时间:2010/9/8 10:28:57 来源:深圳教育在线 编辑:well

  101、执行语句: for (i=1;i++、C、2

  102、指出下面正确的输入语句是( ) A:scanf("a=b=%d",&a,&b) B:scanf("a=%d,b=%f",&a,&b) C:scanf("%3c",c) D:scanf("%5、2f",&a)、B、2

  103、执行下面的程序后,a的值为 main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) {b+=3; continue; } b-=5; } } A) 7 B) 8 C) 9 D) 10、B、2

  104、在执行以下程序时,如果从键盘上输入:ABCdef〈回车〉,则输出为 A)ABCdef B)abcdef C)abc D)DEF # include main() { chsr ch; while((ch=getchar())!='\n') { if(ch>='A'&& ch<='Z')ch=ch+32; 、C、2

  105、整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是 A) x || y B) x | y C) x & y D) x ^ y、D、2

  106、在以下定义中,正确的说明语句为____ A) int a['a'] B)int a[3,4] C)int a[ ][ ] D)int *a[10]、D、2

  107、执行下列程序时输入:123456789,输出结果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); }、D、2

  108、执行下面程序片段的结果是 int x=23; do { printf("%2d",x--);} while(!x); A) 打印出321 B) 打印出23 C) 不打印任何内容 D) 陷入死循环、B、2

  109、在说明语句:int *f();中,标识符f代表的是____ A) 一个用于指向整型数据的指针变量 B) 一个用于指向一维数组的行指针 C) 一个用于指向函数的指针变量 D) 一个返回值为指针型的函数名、D、2

  110、在下列选项中,不正确的赋值语句是____ A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;、D、2

  111、在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是________ A、extern B、register C、auto D、static、D、2

  112、在C语言程序中,当do-while语句构成的循环中的条件为______时,结束循环。 A、0 B、1 C、true D、非0、A、2

  113、在16位C编译系统上,若定义long a; ,则能给a赋40000的正确语句是 A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10L;、D、2

  114、阅读以下程序: main() { int x; scanf("%d",&x); if(x--、B、2

  115、运行以下程序后,如果从键盘上输入china#,则输出结果为 A、2,0 B、5,0 C、5,5 D、2,5 #include main( ) { int v1=0,v2=0; char ch ; while ((ch=getchar())!='#') switch (ch ) { case 'a': case 'h': default: v1++; case '0':v2++; } printf("%d,%d\n",v1,v2);、C、2

  116、请读程序: main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3; a+=c; printf("first:%d,%d,%d\n",a,b,c); a+=c; printf("Second:%d,%d,%d\n",a,b,c); } printf("third:%d,%d,%d\n",a,b,c); } 该程序的输出是________。 A、first: 12,4,12 Second: 26,4,12 third: 4,3,6B、first: 14,4,12 Second: 26,12,12 third: 26,3,4C、first: 14,4,12 Second: 26,4,12 third: 26,3,6 D、first: 14,4,12 Second: 26,6,12 third: 26,4,6、C、2

  117、阅读程序: #include main() { int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%x\n",p); printf("%x\n",p+9); } 该程序有两个printf 语句, 如果第一个printf 语句输出的是194, 则第二个printf语句的输出结果是 A) 203 B) 204 C) 1a4 D) 1a6、D、2

  118、与 y=(x>0?1:x0) y=1; B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1;、A、2

  119、以下合法的赋值语句是 A) x=y=100 B) d--; C) x+y; D) c=int(a+b);、B、2

  120、以下函数返回a所指数组中最小的值所在的下标值 fun(int *a, int n) { int i,j=0,p; p=j; for(i=j;i、D、2

  121、以下函数值的类型是 fun ( float x ) { float y; y= 3*x-4; return y; } A) int B) 不确定 C) void D) float、A、2

  122、以下说法中正确的是 A) C语言程序总是从第一个的函数开始执行 B) 在C语言程序中,要调用的函数必须在main()函数中定义 C) C语言程序总是从main()函数开始执行 D) C语言程序中的main()函数必须放在程序的开始部分、C、2

  123、以下所列的各函数首部中,正确的是 A) void play(var a:integer,var b:integer) B) void play(int a,b) C) void play(int a,int b) D) sub play(a as integer,b as integer)、C、2

  124、以下叙述正确的是 A)输入项可以是一个实型常量,如: scanf("%f"、3、5); B)只有格式控制,没有输入项,也能正确输入数据到内存,例如: scanf("a=%d,b=%d); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如: scanf("%4、2f",&f); D)当输入数据时,必须指明变量地址,例如: scanf("%f、&f); 、C、2

  125、以下叙述正确的是 A) do-while语句构成的循环不能用其它语句构成的循环来代替。 B) do-while语句构成的循环只能用break语句退出。 C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。、D、2

  126、以下叙述中不正确的是 A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。 B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。 C) 在C中,外部变量的隐含类别是自动存储类别。 D) 在C中,函数形参可以说明为register变量。、C、2

  127、以下叙述中不正确的是____ A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是局部变量 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效、D、2

  128、以下程序运行后,输出结果是 A)1000 B)10010 C)00110 D)10100 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1>0;j--)printf(%d",a[j]); printf("h\n"); }、B、2

  129、以下程序运行后,如果从键盘上输入: book book 则输出结果是 A)*8 B)#9 C)#6 D)*9 #include main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2)) printf(“*”); else printf(“#”); printf(“%d\n”,strlen(strcat(s1,s2))) }、B、2

  130、以下程序运行后,输出结果是 A)6385 B)22 C)33 D)693825 main() { char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for (i=0;i='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }、A、2

  131、以下程序运行后,输出结果是 A)84 B)99 C)95 D)44 int d=1; fun (int p) { int d=5; d+=p++; printf("%d",d); } main() { int a=3; fun(a); d+=a++; printf("%d\n",d); }、A、2

  132、以下程序执行后a的值是 A)4 B)1 C)0 D)运行时出错,a无定值 main() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf("%d\n",a); } 、C、2

  133、以下程序执行后sum的值是 A)15 B)14 C) 不确定 D)0 min() { int i , sum; for(i=1;i、C、2

  134、以下程序中,while循环的循环次数是 main() { int i=0; while(i、D、2

  135、以下定义语句中,错误的是 A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n];、D、2

  136、以下对C语言函数的有关描述中,正确的是 A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B) C函数既可以嵌套定义又可以递归调用 C) 函数必须有返回值,否则不能使用函数 D) C程序中有调用关系的所有函数必须放在同一个源程序文件中、A、2

  137、以下对枚举类型名的定义中正确的是____ A)enum a={one,two,three}; B)enum a {one=9,two=-1,three}; C)enum a={"one","two","three"}; D)enum a {"one","two","three"};、B、2

  138、以下各选项企图说明一种新的类型名,其中正确的是 A) typedef v1 int; B) typedef v2=int; C) typedefv1 int v3; D) typedef v4: int;、C、2

  139、以下选项中,不能正确赋值的是 A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'}; C) char s3[20]="Ctest"; D) char *s4="Ctest\n"、A、2

  140、以下选项中,非法的字符常量是 A) '\t' B) '\17' C)"n" D) '\xaa'、C、2

  141、以下选项中不属于C语言的类型的是 A) signed short imt B) unsigned long int C) unsigned int D) long short、D、2

  142、以下选项中合法的字符常量是 A)"B" B) '\010' C) 68 D) D、B、2

  143、以下循环体的执行次数是 A) 3 B) 2 C) 1 D) 0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); }、C、2

  144、以下有4组用户标识符,其中合法的一组是 A) for B) 4d C) f2_G3 D) if、C、2

  145、用十进制数表示表达式:12/012的运算结果是 A)1 B)0 C)14 D)12、A、2

  146、有如下程序 main0 { int x=23; do { printf("%d",x--);} while(!x); } 该程序的执行结果是 A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环、B、2

  147、有如下程序 int runc(int a,int b) { return(a+b);} main0 { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%\d\n",r); } 该程序的输出的结果是A) 12 B) 13 C) 14 D) 15、D、2

  148、有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main0 { printf("%d\n",fib(3)); 该程序的输出结果是 A) 2 B) 4 C) 6 D) 8、B、2

  149、有如下程序 main() { char s[]="ABCD", *p; for(p=s+1; p、D、2

  150、有如下程序 main0 { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i、A、2

  151、有如下程序 main0 { int a=2,b=-1,c=2; if(a、C、2

  152、有如下程序 main0 { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是 A) 6 B) 3 C) 死循环 D) 0、C、2

  153、有如下程序 main0 { int n[5]={0,0,0},i,k=2; for(i=0;i、D、2

  154、有如下程序 main0 { int n=9; while(n>6) {n--;printf("%d",n);} } 该程序段的输出结果是 A) 987 B) 876 C) 8765 D) 9876、B、2

  155、有如下程序 main0 { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf("a=%d,b=%d\n",a,b); } 该程序的输出结果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2、A、2

  156、有如下程序 main0 { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3、D、2

  157、有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 执行该程序段后,a的值为 A) 12 B) 11 C) 10 D) 编译出错、B、2

  158、有如下说明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 A) *p+9 B) *(p+8) C) *p+=9 D) p+8、B、2

  159、请读程序: # include void main( ) {char x=112,y=211; printf("\n%d",x<>1);} 则上面程序的输出结果是____ A) -32 B) 0 C) -32768 D) -22、A、2

  160、以下程序的输出结果是 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A) 258 B) 741 C) 852 D) 369、C、2

[NextPage]

  161、以下程序的输出结果是 main() { int i,k,a[10],p[3]: k=5; for (i=0;i、B、2

  162、以下程序的输出结果是 main() { int num= 0; while(num<=2) { num++; printf("%d\n",num); } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4、B、2

  163、以下程序的输出结果是 fut (int**s,int p[2][3]) { **s=p[1][1]; } main( ) { int a[2][3]={1,3,5,7,9,11},*p; p=(int*)malloc(sizeof(int)); fut(&p,a); primtf("%d\n",*p); } A) 1 B) 7 C) 9 D) 11、C、2

  164、以下程序的输出结果是 int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d \n", a,b); } A) 100200 B) 57 C) 200100 D) 75、B、2

  165、以下程序的输出结果是 main( ) { int a=-1,b=4,k; k=(+ +a〈0)&&!(b - -〈=0); printf("%d%d%d\n",k,ab); } A) 104 B) 103 C) 003 D) 004、D、2

  166、以下程序的输出结果是 main() { char c='z'; printf("%c",c-25); } A) a B) Z C) z-25 D) y、A、2

  167、以下程序的输出结果是 main() { char st[20]= "hello\0\t\\\"; printf(%d %d \n",strlen(st),sizeof(st)); } A) 9 9 B) 5 20 C) 13 20 D) 20 20、B、2

  168、以下程序的输出结果是 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; } A) 0650 B) 1470 C) 5430 D) 输出值不定、A、2

  169、以下程序段的输出结果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A) 9 B) 12 C) 13 D) 14、A、2

  170、以下程序段的输出结果是 int a=1234; printf("%2d\n",a); A) 12 B) 34 C) 1234 D) 提示出错、无结果、C、2

  171、以下程序段的输出结果是 int x=3; do { printf("%3d",x-=2);} while(!(--x)); A) 1 B) 3 0 C) 1-2 D) 死循环、C、2

  172、以下程序段的执行结果是 A) a=12 y=12 B) a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24 C) a=12 y=12 D) a=12 y=12 a=14 y=26 a=14 y=44 int a, y; a=10; y=0; do { a+=2; y+=a; printf("a=%d y=%d\n",a,y); if(y>20) break; { while(a=14); 、、 、(39) 若有以下调用语句,则不正确的fun函数的首部是 A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int a) main() { … int a[50],n; … fun(n, &a[9]); … }、B、2

  173、以下程序段给数组所有的元素输入数据,请选择正确答案填入。 #include main() { int a[10],i=0; while(i、A、2

  174、以下程序输出结果是 A、7 B、6 C、5 D、4 main ( ) { int m=5; if (m++>5 print ("%d\n",m); else printf ("%d\n",m--); }、B、2

  175、以下程序运行后,如果从键盘上输入ABCDE,则输出结果为 A、8 B、7 C、6 D、5 fuch (char str [ ] { int num =0; while (*(str +num )!='\0')num ++; return(num ); } main() { char str [10],*p=str ; gets(p); printf("%d\n",func(p)); }、D、2

  176、以下程序运行后,输出结果是 A 49、5 B 9、5 C22、0 D45、0 #include #define PT 5、5 #difine s(x) pt*x*x main() { int a=1,b=2; print ("%4、lf/n",S(a+b)); } 、B、2

  177、以下程序运行后,输出结果是 A 8,15 B 8,16 C 8,17 D 8,8 func ( int m=0 ,i=2; i+=m+1; m=i+a+b ; return(m); } main() { int k=4,m=1,p; p=func (k,m);printf("%d,",p); p=func (k,m);printf("%d\n",p); }、C、2

  178、以下程序运行后,输出结果是 A、ABCDEFG B、CDG C、abcdefgh D、abCDefGh main() { siatic char a[]="ABCDEFGH",b[]="abCDefGh"; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if (*(p1+k)==*(p2+k)) printf("%",*(p1+k)); printf("\n"); }、B、2

  179、以下程序运行后,输出结果是 A、cde B、字符c的ASCLL码值 C、字符C的地址 D、出错 main( ) { char *s="abcde"; s+=2; print("%ld \n",s); }、C、2

  180、以下程序的输出结果是 main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t); } A) 3 B) 4 C) 1 D) 9、B、2

  181、以下程序的输出结果是 #define M(x,y,z) x*y+z main() { int a=1,b=2, c=3; printf("%d\n", M(a+b,b+c, c+a)); } A) 19 B) 17 C) 15 D) 12、D、2

  182、以下程序的输出结果是 #include"ctype、h" space (char *str) { int i,t;char ts[81]; for(i=0,t=0;str[i]!='\0';i+=2) if(! isspace(*str+i)&&(*(str+i)!='a')) ts[t++]=toupper(str[i]); ts[t]='\0'; strcpy(str,ts); } mian( ) { char s[81]={"a b c d e f g"}; space(s); puts(s); } A) abcdeg B) bcde C) ABCDE D) BCDE、D、2

  183、以下程序的输出结果是 A) #*#*# B) ##### C) ***** D) *#*#* main( ) { int i; for(i=1;i、A、2

  184、以下程序的输出结果是 A) 0 B) 1 C) 2 D) 3 main() { int x=0、5; char z='a'; printf("%d\n", (x&1)&&(z<'z') ); }、B、2

  185、以下程序的输出结果是 A) -1 1 B) 0 1 C) 1 0 D) 0 0 main( ) { int a= -1,b=1,k; if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); }、C、2

  186、以下程序的输出结果是 A) 1 B) 2 C) 3 D) 4 long fun( int n) { long s; if(n= =1 || n= =2) s=2; else s=n-fun(n-1); return s; } main() { printf("%ld\n", fun(3)); }、A、2

  187、以下程序的输出结果是 A) 1 B) 4 C) 7 D) 5 #include int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main( ) { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d \n",*p); } f(int *s, int p[][3]) { *s=p[1][1]; }、D、2

  188、以下程序的输出结果是 A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 main( ) { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d,%d ",x--,y); }、D、2

  189、以下程序的输出结果是 A) 123456780 B) 123 456 780 C) 12345678 D) 147 main( ) { char ch[3][4]={"123","456","78"}, *p[3]; int i; for(i=0;i、C、2

  190、以下程序的输出结果是 A) 16 B) 2 C) 9 D) 1 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf("d\n",a); }、B、2

  191、以下程序的输出结果是 A) 17,021,0x11 B) 17,17,17 B) 17,0x11,021 D) 17,21,11 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }、D、2

  192、以下程序的输出结果是 A) 18 B) 19 C) 20 D)21 main() { int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<=i;j++)s+=a[i][j]; printf("%dn",s); }、A、2

  193、以下程序的输出结果是 A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0 main( ) { int n=4; while(n--)printf("%d ",--n); }、A、2

  194、以下程序的输出结果是 A) 20 B) 21 C) 22 D)23 main() { int i, k, a[10], p[3]; k=5; for (i=0;i、B、2

  195、以下程序的输出结果是 A) 6 9 9 B) 6 6 9 C) 6 15 15 D) 6 6 15 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n",fun(a+fun(d))); }、C、2

  196、以下程序的输出结果是 A) 9 B) 6 C) 36 D) 18 #define f(x) x*x main( ) { int a=6,b=2,c; c=f(a) / f(b); printf("%d \n",c); }、C、2

  197、以下程序的输出结果是 A) ABCD B) ABCD C) EFG D) EFGH FGH EFG JK IJKL KL IJ O M main() { char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k、D、2

  198、以下程序的输出结果是 A) 编译不通过,无输出 B) aceg C) acegi D) abcdefghi main( ) { int i; for(i='A';i<'i';i++,i++) printf("%c",i+32); printf(" \n"); }、B、2

  199、以下程序的输出结果是 A) 4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8 main( ) { char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } v[i]++; } for(k=0;k、B、2

  200、以下程序的输出结果是 A)6 B) 6789 C) '6' D) 789 main( ) { char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i; i=8; p=a+i; printf("%s\n",p-3); }、B、2

广告合作:400-664-0084 全国热线:400-664-0084
Copyright 2010 - 2017 www.my8848.com 珠峰网 粤ICP备15066211号
珠峰网 版权所有 All Rights Reserved