全国计算机等级考试二级C语言笔试试题及答案Word格式文档下载.docx
- 文档编号:8294633
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:22
- 大小:24.27KB
全国计算机等级考试二级C语言笔试试题及答案Word格式文档下载.docx
《全国计算机等级考试二级C语言笔试试题及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C语言笔试试题及答案Word格式文档下载.docx(22页珍藏版)》请在冰点文库上搜索。
A)矩形
B)椭圆形
C)菱形
D)平行四边形
(10)下列叙述中错误的是(A)
A)在数据库系统中,数据的物理结构必须与逻辑结构一致
B) 数据库技术的根本目标是要解决数据的共享问题
C) 数据库设计是指在已有数据库管理系统的基础上建立数据库
D)数据库系统需要操作系统的支持
(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的(C)
A)正当性
B)可行性
C)确定性
D)有穷性
(12)下列叙述中错误的是(D)
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)
A)大写字母
B)连接符
C)数字字符
D)下划线
(14)以下叙述中错误的是(C)
A)C语言是一种结构化程序设计语言
B)结构化程序有顺序、分支、循环三种基本结构组成
C)使用三种基本结构构成的程序只能解决简单问题
D)结构化程序设计提倡模块化的设计方法
(15)对于一个正常运行的C程序,以下叙述中正确的是(A)
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&
a1,&
c1,&
a2,&
c2);
语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。
以下所示的输入形式中正确的是(注:
□代表空格字符)(D)
A)10□X□20□Y〈回车〉
B)10□X20□Y〈回车〉
C)10□X〈回车〉
D)10X〈回车〉
20□Y〈回车〉20Y〈回车〉
(17)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(C)
A)sqrt(abs(n^x+e^x))
B)sqrt(fabs(pow(n,x)+pow(x,e)))
C)sqrt(fabs(pow(n,x)+exp(x)))
D)sqrt(fabs(pow(x,n)+exp(x)))
(18)设有定义:
intk=0;
以下选项的四个表达式中与其他三个表达式的值不相同的是(A)
A)k++
B)k+=1
C)++k
D)k+1
(19)有以下程序,其中%u表示按无符号整数输出(B)
main()
{unsignedintx=0xFFFF;
/*x的初值为十六进制数*/
printf(“%u\n”,x);
}
程序运行后的输出结果是
A)-1
B)65535
C)32767
D)0xFFFF
(20)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是(C)
A)if(x++);
B)if(x>
y&
&
y!
=0);
C)if(x>
y)x--
D)if(y<
0){;
}
elsey++;
elsex++;
(21)以下选项中,当x为大于1的奇数时,值为0的表达式(D)
A)x%2==1
B)x/2
C)x%2!
=0
D)x%2==0
(22)以下叙述中正确的是(C)
A)break语句只能用于switch语句体中
B)continue语句的作用是:
使程序的执行流程跳出包含它的所有循环
C)break语句只能用在循环体内和switch语句体内
D)在循环体内使用break语句和continue语句的作用相同
(23)有以下程序(A)
{intk=5,n=0;
do
{switch(k)
{case1:
case3:
n+=1;
break;
default;
n=0;
k--;
case2:
case4:
n+=2;
break;
printf(“%d”,n);
}while(k>
0&
n<
5);
程序运行后的输出结果是
A)235
B)0235
C)02356
D)2356
(24)有以下程序
mian()
{inti,j;
for(i=1;
i<
4;
i++)
{for(j=i;
j<
j++)printf(“%d*%d=%d“,i,j,i*j);
printf(“\n”);
程序运行后的输出结果是(B)
A)1*1=11*2=21*3=3B)1*1=11*2=21*3=3
2*1=22*2=42*2=42*3=6
3*1=33*3=9
C)1*1=1D)1*1=1
1*2=22*2=42*1=22*2=4
1*3=32*3=63*3=93*1=33*2=63*3=9
(25)以下合法的字符型常量是(A)
A)”\x13”
B)”\018”
C)”65”
D)”\n”
(26)在C语言中,函数返回值的类型最终取决于(A)
A)函数定义时在函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时主函数所传递的实参类型
D)函数定义时形参的类型
(27)已知大写字母A的ASCII码是65,小写字母aASCII码是97,以下不能将变量c中大写字母转换为对应小写字母的语句是(D)
A)c=(c-A)&
+’a’
B)c=c+32
C)c=c-‘A’+’a’
D)c=(‘A’+c)&
-‘a’
(28)有以下函数
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
该函数的功能是(B)
A)比较两个字符的大小
B)计算s所指字符串占用内存字节的个数
C)计算s所指字符串的长度
D)将s所指字符串复制到字符串t中
(29)设已有定义:
floatx;
则以下对指针变量p进行定义且赋初值的语句中正确的是(D)
A)float*p=1024;
B)int*p=(floatx);
C)floatp=&
x;
D)float*P=&
(30)有以下程序
#include
main()
{intn,*p=NULL;
*p=&
n;
printf(“Inputn:
”);
scanf(“%d”,&
p);
printf(“outputn:
printf(“%d\n”,p);
该程序试图通过指针p为变量n读入数据并输出,但程序有多处错误,以下语句正确的是(A)
A)intn,*p=NULL;
B)*p=&
C)scanf(“%d”,&
p)
D)printf(“%d\n”,p);
(31)以下程序中函数f的功能是:
当flag为1时,进行有由小到大排序;
当flag为0时,进行由大到小排序。
voidf(intb[],intn,intflag)
{inti,j,t;
for(i=0;
i
for(j=i+1;
j
if(flag?
b[i]>
b[j]:
b[i]
main()
{inta[10]={5,4,3,2,1,6,7,8,9,10},i;
f(&
a[2],5,0);
f(a,5,1);
for(i=0;
10;
i++)printf(“%d,”a[i]);
A)1,2,3,4,5,6,7,8,9,10,
B)3,4,5,6,7,2,1,8,9,10,
C)5,4,3,2,1,6,7,8,9,10,
D)10,9,8,7,6,5,4,3,2,1,
(32)有以下程序
voidf(intb[])
{inti;
for(i=2;
6;
i++)b[i]*=2;
{inta[10]={1,2,3,4,5,6,7,8,9,10},i;
f(a);
i++)printf(“%d,”,a[i]);
A)1,2,3,4,5,6,7,8,9,10,
B)1,2,6,8,10,12,7,8,9,10
C)1,2,3,4,10,12,14,16,9,10,
D)1,2,6,8,10,12,14,16,9,10,
(33)有以下程序
typedefstruct{intb,p;
}A;
voidf(Ac)/*注意:
c是结构变量名*/
{intj;
c.b+=1;
c.p+=2;
Aa={1,2};
printf(“%d,%d\n”,a.b,a.p);
程序运行后的输出结果是(D)
A)2,3
B)2,4
C)1,4
D)1,2
(34)有以下程序
{inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t;
for(j=0;
3;
j++)
for(k=j+1;
k<
k++)
if(a[j][i]>
a[k][i]){t=a[j][i];
a[j][i]=a[k][i];
a[k][i]=t;
}/*按列排序*/
i++)printf(“%d,”,a[i][j]);
程序运行后的输出结果是(A)
A)1,6,5,7,
B)8,7,3,1,
C)4,7,5,2,
D)1,6,2,1,
(35)有以下程序
{inta[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,k,t;
for(k=i+i;
k++)if(a[i][i]
i++)printf(“%d,”,a[0][i]);
A)6,2,1,1,
B)6,4,3,2,
C)1,1,2,6,
D)2,3,4,6,
(36)有以下程序
voidf(int*q)
{inti=0;
for(;
i<
5;
i++)(*q)++;
{inta[5]={1,2,3,4,5},i;
f(a);
for(i=0;
i++)printf(“%d,”,a[i]);
程序运行后的输出结果是(B)
A)2,2,3,4,5,
B)6,2,3,4,5,
C)1,2,3,4,5,
D)2,3,4,5,6,
(37)有以下程序
#include
{charp[20]={‘a’,’b’,’c’,’d’},q[]=”abc”,r[]=”abcde”;
strcpy(p+strlen(q),r);
strcat(p,q);
printf(“%d%d\n”,sizeof(p),strlen(p));
程序运行后的输出结果是(C)
A)209
B)99
C)2011
D)1111
(38)有以下程序
#include
{charp[20]={‘a’,’b’,’c’,’d’},q[]=”abc”,r[]=”abcde”
strcat(p,r);
Strcpy(p+strlen(q),q);
Printf(“%d\n”,sizeof(p));
A)9
B)6
C)11
D)7
(39)有以下程序
voidf(charp[][10],intn)/*字符串从小到大排序*/
{chart[10];
inti,j;
for(j=i+1;
if(strcmp(p[i],p[j])>
0){strcpy(t,p[i]);
strcpy(p[i],p[j]);
strcpy(p[i],t);
}
{charp[5][10]={“abc”,”aabdfg”,”abbd”,”dcdbe”,”cd”};
f(p,5);
printf(“%d\n”,strlen(p[0]));
A)2
B)4
C)6
D)3
(40)有以下程序
voidf(intn,int*r)
{intr1=0;
if(n%3==0)r1=n/3;
elseif(n%5==0)r1=n/5;
elsef(--n,&
r1);
*r=r1;
{intm=7,r;
f(m,&
r);
printf(“%d\n,r”);
程序运行后的输出结果是(A)
B)1
C)3
D)0
(41)有以下程序
main(intargc,char*argv[])
{intn=0,i;
for(i=1;
in=n*10+*argv[i]-‘0’;
printf(“%d\n”,n);
编译连接后生成可执行文件tt.exe,若运行时输入以下命令行
tt12345678
程序运行后的输出结果是(D)
A)12
B)12345
C)12345678
D)136
(42)有以下程序
inta=4;
intf(intn)
{intt=0;
staticinta=5;
if(n%2){inta=6;
t+=a++;
else{inta=7;
t+=a++;
returnt+a++;
{ints=a,i=0;
for(;
i〈2;
i++)s+=f(i);
printf(“%d\n”,s);
A)24
B)28
C)32
D)36
(43)有一个名为init.txt的文件,内容如下:
#defineHDY(A,B)A/B
#definePRINT(Y)Printf(“y=%d\n.,Y)
有以下程序
#include“init.txt”
{inta=1,b=2,c=3,d=4,k;
K=HDY(a+c,b+d);
PRINT(K);
下面针对该程序的叙述正确的是(D)
A)编译有错
B)运行出错
C)运行结果为y=0
D)运行结果为y=6
(44)有以下程序
{charch[]=“uvwxyz”,*pc;
Pc=ch;
printf(“%c\n”,*(pc+5));
A)z
B)0
C)元素ch[5]的地址
D)字符y的地址
(45)有以下程序
structS{intn;
inta[20];
};
voidf(structS*P)
{inti,j,t;
in-1;
for(j=i+1;
jn;
if(p->
a[i]>
p->
a[j]){t=p->
a[i];
p->
a[i]=p->
a[j];
a[j]=t;
{inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(&
s);
iprintf(“%d”,s.a[i]);
A)1,2,3,4,5,6,7,8,9,10,
B)10,9,8,7,6,5,4,3,2,1,
C)2,3,1,6,8,7,5,4,10,9,
D)10,9,8,7,6,1,2,3,4,5,
(46)有以下程序
structS{intn;
};
voidf(int*a,intn)
for(i=0;
ia[i]+=i;
f(s.a,s.n);
A)2,4,3,9,12,12,11,11,18,9,
B)3,4,2,7,9,8,6,5,11,10,
D)1,2,3,6,8,7,5,4,10,9,
(47)有以下程序段
typedefstructnode{intdata;
structnode*next;
}*NODE;
NODEp;
以下叙述正确的是(C)
A)p是指向structnode结构变量的指针的指针
B)NODEp;
语句出错
C)p是指向structnode结构变量的指针
D)p是structnode结构变量
(48)有以下程序
{unsignedchara=2,b=4,c=5,d;
d=a|b;
d&
=c;
printf(“%d\n”,d);
A)3
B)4
C)5
D)6
(49)有以下程序
{FILE*fp;
intk,n,a[6]={1,2,3,4,5,6};
fp=fopen(“d2.dat”,”w”);
fprintf(fp,”%d%d\n”,a[0],a[1],a[2]);
fprintf(fp,“%d%d%d\n”,a[3],a[4],a[5]);
fclose(fp);
fp=fopen(“d2.dat”,”r”);
fscanf(fp,“%d%d”,&
k,&
n);
printf(“%d%d\n”,k,n);
A)12
B)14
C)1234
D)123456
(50)有以下程序
main()
inti,a[6]={1,2,3,4,5,6k};
fp=fopen(“d3.dat”,”w+b”);
fwrite(a,sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET);
/*该语句使读文件的位置指针从文件头向后移动3个int型数据*/
fread(a,sizeof(int),3,fp);
fclose(fp);
A)4,5,6,4,5,6,
B)1,2,3,4,5,6,
C)4,5,6,1,2,3,
D)6,5,4,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 全国 计算机等级考试 二级 语言 笔试 试题 答案