2016计算机二级C语言考试选择题及答案
离2021年3月全国计算机等级考试还剩十几天了,同学们都复习得怎样了?下面小编为大家带来了计算机二级C语言考试选择题及答案,希望对你备考有所帮助!
1、下面程序的输出是___D______
#include
void main
int k=11;
printf"k=%d,k=%o,k=%x\n",k,k,k;
A k=11,k=12,k=11 B k=11,k=13,k=13
C k=11,k=013,k=0xb D k=11,k=13,k=b
2、在下列选项中,不正确的赋值语句是__D______.
A ++t; B n1=n2=n3=0;
C k=i=j; D a=b+c=1;
3、下面合法的C语言字符常量是______A____.
A '\t' B "A" C 65 D A
4、表达式: 10!=9的值是________D____.
A true B 非零值 C 0 D 1
5、C语言提供的合法的数据类型关键字是_____B____.
A Double B short C integer D Char
6、字符char型数据在微机内存中的存储形式是__D__.
A 反码 B 补码 C EBCDIC码 D ASCII码
7、C语言程序的基本单位是_____C______.
A 程序行 B 语句 C 函数 D 字符
8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____
A 552 B 264 C 144 D -264
9、执行下面程序中的输出语句后,输出结果是____B__.
#include
void main
int a;
printf"%d\n",a=3*5,a*4,a+5;
A 65 B 20 C 15 D 10
10、下面程序的输出是____B______.
#include
void main
int x=023;
printf"%d\n",--x;
A 17 B 18 C 23 D 24
11、下面程序的输出的是_____C____.
#include
void main
int x=10,y=3;
printf"%d\n",y=x/y;
A 0 B 1 C 3 D 不确定的值
12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.
#include
void main
char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf"%d,%c\n",ch1,ch2;
A 67,D B B,C C C,D D 不确定的值
13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.
A a<>0 B !a C a=0 D a
14、以下程序的输出结果是____D_____.
#include
void main
int x=10,y=10;
printf"%d %d\n",x--,--y;
A 10 10 B 9 9 C 9 10 D 10 9
15、设有如下定义:
int x=10,y=3,z;
则语句
printf"%d\n",z=x%y,x/y;
的输出结果是_____D_____.
A 1 B 0 C 4 D 3
16、为表示关系x≥y≥z,应使用C语言表达式___A___.
A x>=y&&y>=z B x>=yANDy>=z
C x>=y>=z D x>=y & y>=z
17、C语言中非空的基本数据类型包括____B____.
A 整型,实型,逻辑型 B 整型,实型,字符型
C 整型,字符型,逻辑型
D 整型,实型,逻辑型,字符型
18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:
printf"%d",x,y;
上面程序片段的输出结果是____A___.
A 200 B 100
C 100 200 D 输出格式符不够,输出不确定的值
19、阅读下面的程序
#include
void main
char ch;
scanf"<",&ch;
printf"%c",ch;
如果从键盘上输入
abc<回车>
则程序的运行结果是__A_____.
A a B b C c D 程序语法出错
20、阅读下面的程序
#include
void main
int i,j;
i=010;
j=9;
printf"%d,%d",i-j,i+j;
则程序的运行结果是____D____.
A 1,19 B -1,19 C 1,17 D -1,17
2016计算机二级C语言考试选择题及答案
21、阅读下面的程序
#include
void main
int i,j,m,n;
i=8;j=10;
m=++i;
n=j++;
printf"%d,%d,%d,%d",i,j,m,n;
程序的运行结果是______C____.
A 8,10,8,10 B 9,11,8,10
C 9,11,9,10 D 9,10,9,11
22、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.
A 0 B 144 C 12 D -264
23、若已定义int a,则表达式a=10,a+10,a++的值是__B_.
A 20 B 10 C 21 D 11
24、阅读下面的程序
#include
void main
int i,j;
scanf"=-",&i,&j;
printf"i=%d,j=%d\n",i,j;
如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.
A i=123,j=4567 B i=1234,j=567
C i=1,j=2 D i=123,j=45
25、下面程序的输出结果是____D____.
#include
void main
int a=-1, b=4, k;
k=++a<=0&&b--<=0;
printf"%d,%d,%d\n",k,a,b;
A 1,1,2 B 1,0,3 C 0,1,2 D 0,0,3
26、下面程序的输出结果是____A____.
#include
void main
int a=5,b=3;
float x=3.14, y=6.5;
printf"%d,%d\n",a+b!=a-b,x<=y-=6.1;
A 1,0 B 0,1 C 1,1 D 0,0
27、执行下面程序段后,输出结果是____A____.
int a;
int b=65536;
a=b;
printf"%d\n",a;
A 65536 B 0 C -1 D 1
28、若有以下定义和语句:
int a=010, b=0x10, c=10;
printf"%d,%d,%d\n",a,b,c;
则输出结果是____B_____.
A 10,10,10 B 8,16,10 C 8,10,10 D 8,8,10
29、已知有double型变量x=2.5,y=4.7,整型变量a=7,
则表达式 x+a%3*intx+y%2/4 的值是_____B____.
A 2.4 B 2.5 C 2.75 D 0
30、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.
A 5.5 B 5 C 3 D 4.0
31、以下程序的输出结果是____D____.
#include
void main
int a=12, b=12;
printf"%d,%d\n",--a,++b;
A 10,10 B 12,12 C 11,10 D 11,13
32、设有以下语句:int x=10;x+=3+x%3,则x的值是.____A_____
A 14 B 15 C 11 D 12
33、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.
A 1 B 6.0 C 2.0 D 1.0
34、表达式5!=3的值是____D____.
A T B 非零值 C 0 D 1
35、若有定义int a=12,n=5,则表达式a%=n%2运算后,a的值______A____.
A 0 B 1 C 12 D 6
36、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:x+y%2+inta/intb的值是__D__.
A 0 B 2 C 1.5 D 1
37、在C语言中,以下叙述不正确的是_____A____.
A 在C程序中,无论是整数还是实数,都能被准确无误的表示
B 在C程序中,变量名代表存储器中的一个位置
C 静态变量的生存期与整个程序的生存期相同
D C语言中变量必须先定义后引用
38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.
A 必须为字母
B 必须为下划线
C 必须为字母或下划线
D 可以是字母,数字或下划线中的任意一种
39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.
A float B char C int D double
40、一个C语言的执行是从_____A______.
A 本程序的主函数开始,到本程序的主函数结束
B 本程序的第一个函数开始,到本程序的最后一个函数结束
C 本程序的主函数开始,到本程序的最后一个函数结束
D 本程序的第一个函数开始,到本程序的主函数结束
2016计算机二级C语言考试选择题及答案
41、设a为整型变量,不能正确表达数学关系10
A 10
C a>10&&a<15 D !a<=10&&!a>=15
42、下列程序执行后的输出结果是_____C____.
#include
void main
int a=5,b=60,c;
if a
c=a*b;printf"%d*%d=%d\n",b,a,c;
else
c=b/a;printf"%d/%d=%d\n",b,a,c;
A 60/5=12 B 300 C 60*5=300 D 12
43、如果c为字符型变量,判断c是否为空格不能使用____A____.假设已知空格ASCII码为32
A ifc=='32' B ifc==32
C ifc=='\40' D ifc==' '
44、运行下面程序时,若从键盘输入"3,5",则程序的输出结果是____D____.
#include
void main
int x,y;
scanf"%d,%d",&x,&y;
if x==y
printf"x==y";
else if x>y
printf"x>y";
else
printf"x
A 3<5 B 5>3 C x>y D x
45、运行下面程序时,若从键盘输入数据为"6,5,7",则输出结果是____C___.
#include
void main
int a,b,c;
scanf"%d,%d,%d",&a,&b,&c;
if a>b
if a>c
printf"%d\n",a;
else
printf"%d\n",c;
else
if b>c
printf"%d\n",b;
else
printf"%d\n",c;
A 5 B 6 C 7 D 不定值
46、执行下面程序时,若从键盘输入"2",则程序的运行结果是____A____.
#include
void main
int k; char cp;
cp=getchar ;
if cp>='0' && cp<='9'
k=cp-'0';
else if cp>='a' && cp<='f'
k=cp-'a'+10;
else k=cp-'A'+10;
printf"%d\n",k;
A 2 B 4 C 1 D 10
47、运行下面程序时,从键盘输入"2.0",则输出结果是___B_____.
#include
void main
float a,b;
scanf"%f",&a;
if a<0.0 b=0.0;
else if a<0.5 && a!=2.0 b=1.0/a+2.0;
else if a<10.0 b=1.0/2;
else b=10.0;
printf"%f\n",b;
A 0.000000 B 0.500000
C 1.000000 D 0.250000
48、执行下面程序后,运行结果是____A____.
#include
void main
int x=41,y=1;
if x%3==0 && x%7==0
y+=x;printf"y=%d\n",y;
else
y=x;printf"y=%d",y;
A y=41 B y=43 C y=42 D y=1
49、运行下面程序时,从键盘输入"12,34,9",则输出结果是___A___.
#include
void main
int x,y,z;
scanf"%d,%d,%d",&x,&y,&z;
if x
if y
else printf"%d\n",y;
else if x
else printf"%d\n",x;
A 34 B 12 C 9 D 不确定的值
50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.
#include
void main
char ch;
ch=getchar ;
switchch
case 'H':printf"Hello!\n";
case 'G':printf"Good morning!\n";
default:printf"Bye_Bye!\n";
A Hello! B Hello!
Good Morning!
C Hello! D Hello!
Good morning! Bye_Bye!
Bye_Bye!
51、执行下列程序段后的输出结果是_____A____.
int x=1,y=1,z=1;
x+=y+=z;
printf"%d\n",x
A 3 B 2 C 1 D 4
52、设ch是char型变量,值为'A',则表达式ch=ch>='A' && ch<='Z'?ch+32:ch的值是__B___.
A Z B a C z D A
53、下面程序的输出结果是____C____.
#include
void main
int x=8,y=-7,z=9;
if x
if y<0 z=0;
else z-=1;
printf"%d\n",z;
A 8 B 1 C 9 D 0
54、运行下面程序时,若从键盘输入"5 ",则程序的输出结果是_____B___.
#include
void main
int a ;
scanf"%d",&a;
if a++>5printf"%d\n",a;
else printf"%d\n",a-- ;
A 7 B 6 C 5 D 4
55、运行下面程序时,若从键盘输入"3,4 ",则程序的输出结果是____B___.
#include
void main
int a,b,s;
scanf"%d,%d",&a,&b;
s=a;
if s
s=s*s;
printf"%d\n",s ;
A 14 B 16 C 18 D 20
56、下列程序的.执行结果是_____D____.
#include
void main
int x=0,y=1,z=0;
if x=z=y
x=3;
printf"%d,%d\n",x,z;
A 3,0 B 0,0 C 0,1 D 3,1
57、假定等级和分数有以下对应关系:
等级:A 分数:85~100
等级:B 分数:60~84
等级:C 分数:60 以下
对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.
A switch grade
case 'A':printf"85--100\n";
case 'B':printf"60--84\n";
case 'C':printf"60以下\n";
default:printf"等级错误!\n";
B switch grade
case 'A':printf"85--100\n";break;
case 'B':printf"60--84\n";
case 'C':printf"60以下\n";
default:printf" 等级错误!\n";
C switch grade
case 'A':printf"85--100\n";break;
case 'B':printf"60--84\n";break;
case 'C':printf"60以下\n";
default:printf"等级错误!\n";
D switch grade
case 'A':printf"85--100\n";break;
case 'B':printf"60--84\n";break;
case 'C':printf"60以下 \n";break;
default:printf"等级错误!\n";
58、能够完成如下函数计算的程序段是__B____.
┌ -1 x<0
y= ┤ 0 x=0
└ 1 x>0
A y=1; B if x>=0
ifx!=0 ifx>0 y=1;
ifx>0 y=1; else y=0;
else y=0; else y=-1;
C y=0; D y=-1;
if x>=0 if x>0 y=1;
if x>0 y=1; else y=0;
else y=-1;
59、有如下程序
#include
void main
float x=5.0,y;
ifx<0.0 y=0.0;
else if x<10.0 y=1.0/x;
else y=1.0;
printf"%f\n",y;
该程序的输出结果是____C_____.
A 0.000000 B 0.50000
C 0.200000 D 1.000000
60、以下程序的执行结果是___B_____.
#include
void main
int x=1,y=0;
switch x
case 1:
switch y
case 0:printf"first\n";break;
case 1:printf"second\n";break;
case 2:printf"third\n";
A first B first
second third
C first D second
third
2016计算机二级C语言考试选择题及答案
61、以下程序的执行结果是____A____.
#include
void main
int a,b,c,d,x;
a=c=0;
b=1;
d=20;
if a d=d-10;
else if!b
if !c x=15;
else x=25;
printf"d=%d\n",d;
A d=20 B d=10 C d=15 D 25
62、有如下程序:
#include
void main
int a=2,b=-1,c=2;
if a
if b<0 c=0;
else c++;
printf"%d\n",c;
该程序的输出结果是___C_____.
A 0 B 1 C 2 D 3
63、下列程序执行后的输出结果是____B____.
#include
void main
int x,y=1,z;
if z=y<0 x=4;
else if y==0 x=5;
else x=6;
printf"%d,%d\n",x,y;
A 4,1 B 6,1 C 5,0 D 出错信息
64、有如下程序
#include
void main
int x=1,a=0,b=0;
switchx
case 0: b++;
case 1: a++;
case 2: a++;b++;
printf"a=%d,b=%d\n",a,b;
该程序的输出结果是______A____.
A a=2,b=1 B a=1,b=1 C a=1,b=0 D a=2,b=2
65、下面程序的输出结果是____C_____.
#include
void main
int a=-1,b=1,k;
if ++a<0 && b--<=0
printf"%d %d\n",a,b;
else
printf"%d %d\n",b,a;
A -1 1 B 0 1 C 1 0 D 0 0
66、假定w、x、y、z、m均为int型变量,有如下程序段:
w=1;x=2;y=3;z=4;
m=w
则该程序段执行后,m的值是____D_____.
A 4 B 3 C 2 D 1
67、以下程序的输出结果是___D______.
main
int a=100;
if a>100 printf"%d\n",a>100;
else printf"%d\n",a<=100;
A a<=100 B 100 C 0 D 1
68、若执行下面的程序从键盘上输入9,则输出结果是.______B________
#include
void main
int n;
scanf"%d",&n;
if n++<10 printf"%d\n",n;
else printf"%d\n",n--;
A 11 B 10 C 9 D 8
69、以下程序输出结果是_____D_____.
#include
void main
int m=4;
if ++m>5 printf"%d\n",m--;
else printf"%d\n",--m;
A 7 B 6 C 5 D 4
70、若执行下面的程序从键盘上输入5,则输出结果是.
#include
void main
int x;
scanf"%d",&x;
if x++>5 printf"%d\n",x;
else printf"%d\n",x--;
A 7 B 6 C 5 D 4
71、以下程序段运行结果是____A____.
int x=1,y=1,z=-1;
x+=y+=z;
printf"%d\n",x
A 1 B 2 C 4 D 不确定的值
72、有以下程序
#include
void main
int a,b,c=246;
a=c/100%9;
b=-1&&-1;
printf"%d,%d\n",a,b;
输出结果是____A____.
A 2,1 B 3,2 C 4,3 D 2,-1
73、运行下面程序时,若从键盘输入数据为"123",
则输出结果是___C____.
#include "stdio.h"
void main
int num,i,j,k,place;
scanf"%d",#
if num>99
place=3;
else ifnum>9
place=2;
else
place=1;
i=num/100;
j=num-i*100/10;
k=num-i*100-j*10;
switch place
case 3: printf"%d%d%d\n",k,j,i;
break;
case 2: printf"%d%d\n",k,j;
break;
case 1: printf"%d\n",k;
A 123 B 1,2,3 C 321 D 3,2,1
74、执行下列程序后的输出结果是___D____.
#include
void main
int k=4,a=3,b=2,c=1;
printf"%d\n",k
A 4 B 3 C 2 D 1
75、以下条件表达式中能完全等价于条件表达式x的是____B___.
A x==0 B x!=0 C x==1 D x!=1
76、若运行下面程序时,给变量a输入15,则输出结果是___A___.
#include
void main
int a,b;
scanf"%d",&a;
b=a>15?a+10:a-10;
printf"%d\n",b ;
A 5 B 25 C 15 D 10
77、运行下面程序后,输出是___D___.
#include
void main
int k=-3;
if k<=0 printf"****\n";
else printf"####\n"
A ####
B ****
C ####****
D 有语法错误不能通过编译
78、执行下面程序的输出结果是____C____.
#include
void main
int a=5,b=0,c=0;
if a=a+b printf"****\n";
else printf"####\n";
A 有语法错误不能编译
B 能通过编译,但不能通过连接
C 输出 ****
D 输出 ####
79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.
A 缩排位置相同的if
B 在其之前未配对的if
C 在其之前尚未配对的最近的if
D 同一行上的if
80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.
x=y=z=1;
t=++x || ++y && ++z;
A 不定值 B 4 C 1 D 0