历年二级C语言笔试真题及答案
printf(“%c%c\n”,c5,c6);}程序运行后,若从键盘输入(从第1列开始)
123<回车>45678<回车>则输出结果是A)1267 B)1256C)1278D)1245
30)若有以下程序
main()
{int y=10;while(y- -); printf(“y=%d\n”y);}程序运行后的输出结果是A)y=0 B)y=-1 C) y=1 D)while构成无限循环
31)有以下程序
main()
{int a=0,b=0,c=0,d=0;
if(a=1) b=1;c=2;
else d=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序输出A)0,1,2,0 B) 0,0,0,3 C)1,1,2,0 D)编译有错
32)有以下程序main()
{int i,j,x=0;
for(i=0;i<2;i++)
{ x++;
for(j=0;j<=3;j++)
{if(j%2) continue;
x++;}
x++;}
printf(“x=%d\n”,x);}程序执行后的输出结果是A)x=4 B) x=8 C) x=6 D) x=12 33)有以下程序
int fun1(duoble a){return a*=a;}
int fun2(dpuble x,double y)
{double a=0,b=0;
a=fun1(x); b=fun1(y); return (int)(a+b);}
main()
{double w; w=fun2(1.1,2.0);……}程序执行后变量w中的值是A)5.21 B) 5 C) 5.0 D) 0.0
34)有以下程序main()
{int i,t[][3]={9,8,7,6,5,4,3,2,1};
for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);} 程序的执行后的输出结果是A)7 5 3 B)3 5 7 C)3 6 9 D)7 5 1
35)有以下程序fun(char p[][10])
{int n=0,i;
for(i=0;i<7;i++)
if(p[i][0]=='T') n++;
return n;}
main()
{char str[][10]={“Mon”, “Tue”, “Wed”, “Thu”,”Fri”,”Sat”,”Sun”};printf(“%d\n”,fun (str));}程序执行后的输出结果是
A)1 B)2 C)3 D)0
36有以下程序main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)
s+=*(t+i);printf(“%d\n”,s);}程序执行后的
输出结果是A)45 B)20 C)25 D)36
37)有以下程序
void fun1(char *p)
{char *q;q=p;
while(*q!='\0')
{ (*q)++; q++; }}
main()
{ char a[]={“Program”},*p;p=&a[3];
fun1(p); printf(“%s\n”,a);}程序执行后的输
出结果是
A)P rohsbn B)Prphsbn C)Progsbn
D)Program
38)有以下程序void swap(char *x,char *y)
{char t;t=*x; *x=*y; *y=t;}
main()
{char *s1=”abc”,*s2=”123”;
swap(s1,s2); printf(“%s,%s\n”,s1,s2);}程序
执行后的输出结果是
A)123,abc B) abc,123 C)1bc,a23 D)
321,cba
39)有以下程序int fun(int n)
{if(n==1) return 1;
else
return (n+fun(n-1));}
main()
{int x;scan f(“%d”,&x); x=fun(x);
printf(“%d\n”,x);}程序执行时,给变量x
输入10,程序的输出结果是
A)55 B) 54 C) 65 D) 45
40)有以下程序int fun(int x[],int n)
{static int sum=0,i;
for(i=0;i sum+=x[i];
return sum;}
main()
{int
a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)
+fun(b,4); printf(“%d\n”,s);}
程序执行后的输出结果是A)45 B)50 C)
60 D)55
41)有以下程序main()
{union {char ch[2];int d;
}
s;
s.d=0x4321;
printf(“%x,%x\n”,s.ch[0],s.ch[1]);}在16
位编译系统上,程序执行后的输出结果是
A)21,43 B)43,21 C)43,00 D)21,
00
42)有以下程序main()
{char *p[]={“3697”,”2584”};int i,j; long
num=0;
for(i=0;i<2;i++)
{j=0;while(p[i][j]!='\0')
{ if((p[i][j]-…0')%2)num=10*num+p[i][j]-…0';
j+=2;} }
printf(“%d\n”num);}程序执行后的输出结
果是
A)35 B)37 C)39 D)3975
43)执行以下程序后,test.txt文件的内容
是(若文件能正常打开)
#include
main()
{FILE *fp;
char *s1=”Fortran”,*s2=”Basic”;
if((fp=fopen(“test.txt”,”wb”))==NULL)
{ printf(“Can't open test.txt file\n”);
exit(1);}
fwrite(s1,7,1,fp); /*把从地址s1开始的7个
字符写到fp所指文件中*/
fseek(fp,0L,SEEK_SET); /*文件位置指针
移到文件开头*/
fwrite(s2,5,1,fp);
fclose(fp);} A)Basican
B)BasicFortran C)Basic
D)FortranBasic
44)以下叙述中错误的是A)C语言源程序
经编译后生成后缀为.obj的目标程序
B)C语言经过编译、连接步骤之后才能
形成一个真正可执行的二进制机器指令
文件
C)用C语言编写的程序称为源程序,它
以ASCII代码形式存放在一个文本文件中
D)C语言的每条可执行语句和非执行语
句最终都将被转换成二进制的机器指令
45)以下叙述中错误的是
A)算法正确的程序最终一定会结束B)
算法正确的程序可以有零个输出
C)算法正确的程序可以有零个输入D)
算法正确的程序对于相同的输入一定有
相同的结果
46)以下叙述中错误的是
A)C程序必须由一个或一个以上的函数
组成B)函数调用可以作为一个独立的语
句存在
19