《全国计算机二级(C语言)04年题目及答案》由会员分享,可在线阅读,更多相关《全国计算机二级(C语言)04年题目及答案(8页珍藏版)》请在金锄头文库上搜索。
1、一、 选择题 11、一个算法应该具有确定性等5个特性,下面对另外4个特性的描述中错误的是A)有零个或多个输入 B)有零个或多个输出 C)有穷性 D)可行性12、 以下叙述中正确的是()A)C语言的源程序不必通过编译就可以直接运行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译13、 以下符合C语言语法的实型常量是()A)1.2E0.5 B)3.14.159E C).5E-3 D)E1514、 以下4组用户定义标识符中,全部合法的一组是()A)_main B)If C)txt D)int enclude
2、 -max REAL k_2 sin turbo 3COM _00115、 若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;16、 设有以下定义int a=0; double b=1.25;char c=A;#define d 2则下面语句中错误的是()A)a+; B)b+ C)c+; D)d+;17、 设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式 计算结果不相符的是()A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)18
3、、 有以下程序main( ) int x=102,y=012; printf(%2d,%2dn,x,y); 执行后输出结果是()A)10,01 B)002,12 C)102,10 D)02,1019、以下4个选项中,不能看作一条语句的是()A); B)a=0,b=0,c=0; C)if(a0); D)if(b=0) m=1;n=2;21、以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是()A)if(ab)&(bc) k=1; B) if(ab)|(bc) k=1 else k=0;C)if(ab) k=1; else if(bc) k=1; else k=0; 22、有以下程序m
4、ain( ) char k; int i; for(i=1;i3;i+) scanf(%c,&k); switch(k) case 0: printf(anothern); case 1: printf(numbern); 程序运行时,从键盘输入:01,程序执行后的输出结果是()A) another B) another C)another D) number number number number number another number 23、有以下程序main( ) int x=0,y=5,z=3; while(z-0&+x5) y=y-1; printf(%d,%d,%dn,x,y
5、,z); 程序执行后的输出结果是()A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-524、有以下程序main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(%dn,s); 程序执行后的输出结果是()A)自然数19的累加和 B)自然数110的累加和C)自然数19中的奇数之和 D)自然数110中的偶数之和25、有以下程序main( ) int i,n=0; for(i=2;i5;i+) do if(i%3) continue; n+; while(!i); n+; printf(n=%dn,n); 程序执行后的输出结果是()A)
6、n=5 B)n=2 C)n=3 D) n=426、若程序中定义了以下函数 double myadd(double a,double b) return (a+b);并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()A)double myadd(double a,b); B)double myadd(double,double);C)double myadd(double b,double a); D)double myadd(double x,double y);27、有以下程序 char fun(char x , char y) if(xy) f(x,y);
7、 else if(yz) f(y,z); else f(x,z); printf(%d,%d,%dn,x,y,z); 执行后输出结果是()A)1,2,3 B)3,1,2 C)1,3,2 D)2,3,131、有以下程序main( ) char a=abcdefg,b10=abcdefg; printf(%d %dn,sizeof(a),sizeof(b); 执行后输出结果是()A)7 7 B)8 8 C)8 10 D)10 1032、有以下程序void swap1(int c) int t; t=c0;c0=c1;c1=t;void swap2(int c0,int c1) int t; t=c
8、0;c0=c1;c1=t;main( ) int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(%d %d %d %dn,a0,a1,b0,b1); 其输出结果是()A)5 3 5 3 B) 5 3 3 5 C)3 5 3 5 D)3 5 5 334、有以下程序int f(int b4) int i,j,s=0; for(j=0;j2) i=3-j; s+=bij; return s;main( ) int a44=1,2,3,4,0,2,4,5,3,6,9,12,3,2,1,0; printf(%dn,f(a); 执行后的输出结果是()A)12
9、B)11 C)18 D)1642、下面程序的功能是输出以下形式的金字塔图案是: * * * *main( ) int i,j; for(i=1;i=4;i+) for(j=1;j=4-i;j+) printf( ); for(j=1;j=_;j+) printf(*); printf(n); 在下划线处应填入的是()A)i B)2*i-1 C)2*i+1 D)i+243、有以下程序void sort(int a,int n) int i,j,t; for(i=0;in-1;i+=2) for(j=i+2;jn;j+=2) if(aiaj) t=ai;ai=aj;aj=t;main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(aa,10); for(i=0;i10;i+) printf(%d,aai); printf(n); 其输出结果是()A)1,2,3,4,5,6,7,8,9,10, B)10,9,8,7,6,5,4,3,2,1,C)9,2,7,4,5,6,3,8,1,10, D)1,10,3,8,5,6,7,4,9,2,44、以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()A) char s10=abcdefg; B) char t=abcdefg,*s=t;C) char s10;s=abcde