二级C语言笔试真题及答案1Word文件下载.docx
《二级C语言笔试真题及答案1Word文件下载.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案1Word文件下载.docx(37页珍藏版)》请在冰豆网上搜索。
A)Ctrl+PrintScreen键B)Alt+PrintScree键
C)Shift+PrintScreen键D)PrintScreen键
(10)目前,计算机病毒扩散最快的途径是
A)通过软件复制B)通过网络传播
C)通过磁盘考贝D)运行游戏软件
(11)以下叙述中正确的是
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
(12)C语言中用于结构化程序设计的三种基本结构是
A)顺序结构、选择结构、循环结构B)if、switch、break
C)for、while、do-whileD)if、for、continue
(13)在一个C程序中
A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置
(14)下列叙述中正确的是
A)C语言中既有逻辑类型也有集合类型
B)C语言中没有逻辑类型但有集合类型
C)C语言中有逻辑类型但没有集合类型
D)C语言中既没有逻辑类型也没有集合类型
(15)下列关于C语言用户标识符的叙述中正确的是
用户标识符中可以出现在下划线和中划线(减号)
用户标识符中不可以出现中划线,但可以出现下划线
用户标识符中可以出现下划线,但不可以放在用户标识符的开头
用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头
(16)若有以下程序段(n所赋的是八进制数)
intm=32767,n=032767
printf("
%d,%o/n"
m,n);
执行后输出结果是
A)32767,32767B)32767,032767
C)32767,77777D)32767,077777
(17)下列关于单目运算符++、--的叙述中正确的是
A)它们的运算对象可以是任何变量和常量
B)它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C)它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D)它们的运算对象可以是char型变量、int型变量和float型变量
(18)若有以下程序段
intm=0xabc,n=0xabc;
m-=n;
%X\n"
m);
A)0X0B)0x0C)0D)0XABC
(19)有以下程序段
intm=0,n=0;
charc=‘a’;
scanf("
%d%c%d"
&
m,&
c,&
n);
printf("
%d,%c,%d\n"
m,c,n);
若从键盘上输入:
10A10<
回车>
,则输出结果是:
A)10,A,10B)10,a,10C)10,a,0D)10,A,0
(20)有以下程序
main()
{inti;
for(i=0;
i<
3;
i++)
switch(i)
{case1:
%d"
i);
case2:
default:
}
}
A)011122B)012C)012020D)120
(21)有以下程序
{inti=1,j=1,k=2;
if((j++‖k++)&
&
i++)printf("
%d,%d,%d\n"
i,j,k);
A)1,1,2B)2,2,1C)2,2,2D)2,2,3
(22)有以下程序
{inta=5,b=4,c=3,d=2;
if(a>
b>
c)
%d\n"
d);
elseif((c-1>
=d)==1)
d+1);
else
d+2)
A)2B)3C)4D)编译时有错,无结果
(23)有以下程序
{intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<
7&
p[i]%2){k=k+p[i];
i++;
k);
A)58B)56C)45D)24
(24)有以下程序
{inti=0,s=0;
do{
if(i%2){i++;
continue;
s+=i;
}while(i<
7);
s);
A)16B)12C)28D)21
(25)有以下程序
{inti=10,j=1;
%d,%d\n"
i--,++j);
A)9,2B)10,2C)9,1D)10,1
(26)有以下程序
{chara,b,c,*d;
a=’\’;
b=‘\xbc’;
c=‘\0xab’;
d="
\017"
;
print("
%c%c%c\n"
a,b,c,*d);
编译时出现错误,以下叙述中正确的是
A)程序中只有a=’\’;
语句不正确B)b=‘\xbc’;
语句不正确
C)d="
\0127"
语句不正确D)a=’\’;
和c=‘\0xab’;
语句都不正确
(27)有以下程序
intfl(intx,inty)
{returnx>
y?
x:
y;
}
intf2(intx,inty)
y:
x;
{inta=4,b=3,c=5,d,e,f;
d=f1(a,b);
d=f1(d,c);
e=f2(a,b);
e=f2(e,c);
f=a+b+c-d-e;
d,f,e);
A)3,4,5B)5,3,4C)5,4,3D)3,5,4
(28)有如下程序
voidf(intx,inty)
{intt;
if(x<
y){t=x;
x=y;
y=t;
{inta=4,b=3,c=5;
f(a,b);
f(a,c);
f(b,c);
a,b,c);
A)3,4,5B)5,3,4C)5,4,3D)4,3,5
(29)若有以下定义和语句
#include<
stdio.h>
inta=4,b=3,*p,*q,*w;
p=&
a;
q=&
b;
w=q;
q=NULL;
则以下选项中错误的语句是
A)*q=0;
B)w=p;
C)*p=a;
D)*p=*w;
(30)有以下程序
int*f(int*x,int*y)
{if(*x<
*y)
returnx;
returny;
{inta=7,b=8,*p,*q,*r};
A)7,8,8B)7,8,7C)8,7,7D)8,7,8
(31)有以下程序
{char*s[]={"
one"
"
two"
three"
},*p;
p=s[1];
%c,%s\n"
*(p+1),s[0]);
A)n,twoB)t,oneC)w,oneD)o,two
(32)有以下程序
{intx[8]={8,7,6,5,0,0},*s;
s=x+3
s[2]);
A)随机值B)0C)5D)6
(33)以下能正确定义数组并正确赋初值的语句是
A)intN=5,b[N][N];
B)inta[1][2]={{1},{3}};
C)intc[2][]={{1,2},{3,4}};
D)intd[3][2]={{1,2},{34}};
(34)有以下程序
{intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
{printf("
m[k][i]);
A)456B)258C)369D)789
(35)以下函数的功能是:
通过键盘输入数据,为数组中的所有元素赋值。
#defineN10
voidarrin(intx[N])
{inti=0;
N)
scanf("
);
在下划线处应填入的是
A)x+iB)&
x[i+1]C)x+(i++)D)&
x[++i]
(36)有以下程序
{chars[]="
\n123\\"
strle