为了帮助大家复习好2014年计算机等级考试,本次我们考吧网特为广大考生整理了计算机等级考试模拟试题,希望广大考生能够喜欢。本次主要汇编了计算机等级二级C语言精选试题:
一、选择题(每小题1分,共40小题,共40分)
33.有以下程序:
#include
int f(int m)
{ static int n=0;
n+=m;
return n;
}
main()
{int n=0;
printf("%d,"f(++n));
printf("%d",f(n++));
}
程序运行后的输出结果是( )。
A.1,2
B.1,1
C.2,3
D.3,3
34.有以下程序:
#include
main()
{char ch[3][5]={"AAAA","BBB","CC"};
printf("%s",ch[l]);
}
程序运行后的输出结果是( )。
A.AAA
B.CC
C.BBBCC
D.BBB
35.有以下程序:
#include
#include!(string.h>
void fun(char*w,int m)
{ char S,*pl,*p2;
pl=w;p2=w+m-;
while(pl }
main()
{char a[]="l23456";
fun(a,strlen(a));puts(a);
}
程序运行后的输出结果是( )。
A.654321
B.116611
C.161616
D.l23456
36.有以下程序:
#include
#include
typedef struct{char name[9];char sex;int score[2];}STU;
STU f(STU a)
{ STU b={"Zha0","m",85,90};
int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=o;i<2;i++)a.score[i]=b.score[i];
return a;
}
main()
{ STU c={"Qian",f,95,92),d;
d=f(c);
printf("%S,%C,%d,%d,",d.name,d.sex,d.score[0],d.score[l]);
printf("%s,%c,%d,%d",C.name,C.sex,c.score[0],C.score[1]);
}
程序运行后的输出结果是( )。
A.Zhao,m,85,90,Qian,f,95,92
B.Zhao,m,85,90,Zhao,m,85m90
C.Qian,f,95,92,Qian,f,95,92
D.Qian,f,95,92,zhan,m,85,90
33.A。【解析】由题可知,输出是调用了f函数,其中有f(++n)和f(n++),其中n=0,所以输出的结果为l,2。
34.D。【解析】数组的排序从0开始,此时输出的是ch[1],实际上输出的是第二行的值,所以答案为D。
35.A。【解析】此题是需要将a[]中的数值倒过来进行输出,所以答案为A。
36.A。【解析】此题涉及C语言中的结构体,主要功能为输出b和C中的name、sex、score[0]和score[l]中的值。
37.有以下程序:
#include
main()
{ struct node{int n; struct node*next;} *P;
struct node x[3]={{2,x+1),{4,x+2},{6,NULL}};
P= X;
printf("%d,",p->n);
printf("%d",p->next->n);
}
程序运行后的输出结果是( )。
A.2,3
B.2,4
C.3,4
D.4, 6
38.有以下程序:
#include
main()
{ int a=2,b;
b=a<<2;printf("%d",b);
}
程序运行后的输出结果是( )。
A.2
B.4
C.6
D.8
39.以下选项中叙述错误的是( )。
A.C程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
B.在同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内
C.C程序函数中定义的自动变量,系统不自动赋确定的初值
D.C程序函数的性能不可以说明为static型变量
40.有以下程序:
#include
main()
{ FILE*fp;
int k,n,i,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
for(i=0;i<6;i++) fprintf(fp,"%d",a[i]);
fclose(fp);
fp(i=0;i<3;i++) fscanf(fp,"%d%d",&k,&n);
fclose(fp);
printf("%d,%d,k,n);
}
程序运行后的输出结果是( )。
A.1, 2
B.3,4
C.5,6
D.123,456
37.B。【解析】略。
38.D。【解析】本题考查运算符“<<”,b=a<<2,是左移2位,a=2,即b=2*2*2=8。
39.A。【解析】静态变量不是每调用一次就赋一次初值,而是将需要定义许多相同的具有相同属性的值时,使用静态变量来节省空间,所以A选项错误。
40.C。【解析】此题是考查fprintf和fscanf,其中fprintf是向文件输出,文件为da2.dat文件,fscanf是向文件输入,所以根据程序循环写入和写出.可知答案为C
推荐阅读: