武汉光谷计算机学校 联系电话:027-62092619
p2=\
strcpy(str+2,strcat(p1+2,p2+1); printf(\
A}xyabcAB B)abcABz C)Ababcz D)xycdBCD 31、下列程序的输出结果是
main( )
{ char ch[2][5]={\ int i,j,s=0;
for(i=0;i<2;i + +) p[i]=ch[i]; for(i=0;i<2;i + +)
for(j=0;p[i][j]>'\\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf(\
A)6385 B)69825 C)63825 D)693825 32、以下程序的输出结果是
#include\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]={\ space(s); puts(s);}
A)cdeg B)bcde C)ABCDE D)BCDEFG 33、已知字母A的ASCII码为十进制的65,下面程序的输出是
A) 67,D B) B,C C) C,D D) 不确定的值 main()
{ char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';
printf(\34、下面函数的功能是
A) 求字符串的长度 B) 比较两个字符串的大小
C) 将字符串x复制到字符串y D) 将字符串x连接到字符串y后面 int funl(char * x) {char * y=x; while(*y++); return(y-x-1);} 36、下面程序的输出是
A) xyzabcABC B) zabcABC C) yzabcABC D) xyabcABC #include
{ char *p1=\ strcpy(str+2,strcat(p1,p2)); printf(\36、下面程序的输出是
A) 100 B) 160 C) 120 D) 64 main()
{ char x=040;
printf(\
37、设ch是char型变量,其值为A,且有下面的表达式:
36
武汉光谷计算机学校 联系电话:027-62092619
ch=(ch>='A'&&ch<='Z')?(ch+32):ch 上面表达式的值是 A) A B) a C) Z D) z
38、下面各语句行中,能正确进行赋字符串操作的语句行是
A) char st[4][5]={\ B) char s[5]={'A','B','C','D','E'}; C) char *s; s=\ D) char *s; scanf(\39、请读程序:
#include
while( *p!='\\0') p++; return(p-s);} main()
{printf(\上面程序的输出结果是 A) 3 B) 6 C) 8 D) 0 40、请读程序片段:
char str[]=\
printf(\ 上面程序的输出结果是
A) 68 B) 0 C) 字符\的地址 D) 不确定的值 41、请读程序片段(字符串内没有空格):
printf(\TS\\n012\\1\\\\\ 上面程序片段的输出结果是 A) 11 B) 10 C) 9 D) 8 42、请读程序:
#include
{char *s1=\ s1++; s2++;
printf(\上面程序的输出结果是
A) 正数 B) 负数 C) 零 D) 不确定的值 43、请读程序:
#include
{if( *c<='Z' && *c>='A') *c-='A'-'a'; return *c;} main()
{ char s[81], *p=s; gets(s);
while(*p){*p=fun(p); putchar(*p); p++;} putchar('\\n');}
若运行时从键盘上输入OPEN THE DOOR
printf(\
A) 5 B) 14 C) 8 D) 输出项不合法,无正常输出 45、字符(char)型数据在微机内存中的存储形式是
A) 反码 B) 补码 C) EBCDIC码 D) 对应的ASCII码值 46、略
47、请读程序:
#include
void fun( char *w, int m) { char s, *p1, *p2;
37
武汉光谷计算机学校 联系电话:027-62092619
p1=w; p2=w+m-1;
while (p1 { char a[]=\ fun( a, strlen(a)); puts(a);} 上面程序的输出结果是 A) GFEDCBA B) AGADAGA C) AGAAGAG D) GAGGAGA 48、设有如下的程序段: char str[ ]=\char *ptr; ptr=str; 执行上面的程序段后,*(ptr+5)的值为 A) 'o' B) '\\0' C) 不确定的值 D) 'o'的地址 49、执行下面的程序段 int x=35; char z='A'; int b; B=((x&15)&&(z<'a'));后,B的值为 A) 0 B) 1 C) 2 D) 3 50、下面函数的功能是 sss(char *s, char *t ) { while((*s)&&(*t)&&(*t++== *s++)); return(*s-*t); } A) 求字符串的长度 B) 比较两个字符串的大小 C) 将字符串s复制到字符串t中 D) 将字符串s接续到字符串t中 51、请选出以下程序段的输出结果 #include { char sl[10], s2[10], s3[10], s4[10]; scanf(\ puts(s1); puts(s2); puts(s3); puts(s4);} 输入数据如下:(此处 A) aaaa B) aaaa C) aaaa D) aaaa bbbb E)aaaa bbbb bbbb bbbb cccc bbbb cccc cccc dddd dddd cccc dddd cccc dddd dddd eeee 2004年4月全国计算机等级考试二级C语言笔试试题及参考解答(考试时间120分钟,满分100分) 38 武汉光谷计算机学校 联系电话:027-62092619 一、 选择题((1)~(40)每题1分,(41)~(50)每题2分,共60分) 1、 1MB等于() A)1000字节 B)1024字节 C)1000*1000字节 D)1024*1024字节 2、与十六进制数200等值得十进制数为() A)256 B)512 C)1024 D)2048 3、 所谓\裸机\是指() A)单片机 B)单板机 C)不装备任何软件的计算机 D)只装备操作系统的计算机 4、 能将高级语言编写的源程序转换为目标程序的是() A)链接程序 B)解释程序 C)编译程序 D)编辑程序 5、 在64为计算机中,一个字长所占字节数为() A)64 B)8 C)4 D)1 6、 在Windows环境下,当一个应用程序窗口被最小化后,该应用程序() A)继续在后台运行 B)继续在前台运行 C)终止运行 D)暂停运行 7、在Windows环境下,能实现窗口移动的操作是() A)用鼠标拖动窗口中的任何部位 B)用鼠标拖动窗口的边框 C)用鼠标拖动窗口的控制按钮 D)用鼠标拖动窗口的标题栏。 8、 在Windows环境下,PrintScreen键的作用是() A)打印当前窗口的内容 B)打印屏幕内容 C)复制屏幕到剪贴板 D)复制当前窗口到剪贴板 9、 Internet的通信协议是() A)TCP/IP B)BBS C)WWW D)FTP 10、 下列叙述中正确的是() A)计算机病毒只感染可执行文件 B)计算机病毒只感染文本文件 C)计算机病毒只能通过软件复制的方式进行传播 D)计算机病毒可以通过网络或读写磁盘方式进行传播 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)E15 14、 以下4组用户定义标识符中,全部合法的一组是() A)_main B)If C)txt D)int enclude -max REAL k_2 sin turbo 3COM _001 15、 若以下选项中的变量已正确定义,则正确的赋值语句是() 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语言表达式与代数式 计算结果不相 符的是() 39 武汉光谷计算机学校 联系电话:027-62092619 A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) 18、 有以下程序 main( ) { int x=102,y=012; printf(\} 执行后输出结果是() A)10,01 B)002,12 C)102,10 D)02,10 19、以下4个选项中,不能看作一条语句的是() A){;} B)a=0,b=0,c=0; C)if(a>0); D)if(b==0) m=1;n=2; 20、设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是() A)scanf(\ B)scanf(\C)scanf(\ D)scanf(\ 21、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是() A)if((a>b)&&(b>c)) k=1; B) if((a>b)||(b>c)) k=1 else k=0; C)if(a<=b) k=0; D)if(a>b) k=1; else if(b<=c) k=1; else if(b>c) k=1; else k=0; 22、有以下程序 main( ) { char k; int I; for(i=1;i<3;i++) { scanf(\ switch(k) { case '0': printf(\ case '1': printf(\ } } } 程序运行时,从键盘输入: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&&++x<5) y=y-1; printf(\} 程序执行后的输出结果是() A)3,2,0 B)3,2,-1 C)4,3,-1 D)5,-2,-5 24、有以下程序 main( ) { int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(\} 程序执行后的输出结果是() A)自然数1~9的累加和 B)自然数1~10的累加和 C)自然数1~9中的奇数之和 D)自然数1~10中的偶数之和 25、有以下程序 main( ) 40