C语言练习题真答案汇总版文档格式.docx
《C语言练习题真答案汇总版文档格式.docx》由会员分享,可在线阅读,更多相关《C语言练习题真答案汇总版文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
C.C源程序中大、小写字母是有区此外D.一个C源程序可由一个或多个函数组成
15(A)是关于C语言数据类型的正确叙述。
A.枚举类型不是基本类型B.数组不是构造类型
C.变量使用前应定义相应的数据类型D.不允许使用空类型
16C源程序中main()函数的位置(C)。
A.必须位于程序的最前面B.必须在系统库函数后面
C.可以在自定义函数后面D.必须在自定义函数前面
18下面叙述错误的是(D)。
A.C源程序可由一个或多个函数组成B.C源程序必须包含一个main()函数
C.一个C源程序的执行是从main()函数开始,直到main()函数结束D.注释说明部分只能位于C源程序的最前面
20C语言的下列运算符中,优先级最高的运算符是(A)。
A.++B.+=C.||D.!
=
21(D)为正确的用户标识符。
A.structB.5fC._f0.6D._for
22C语言基本数据类型包含(B)。
A.整型、实型、逻辑型B.整型、实型、字符型
C.整型、字符型、逻辑型D.整型、实型、字符串型
23(A)为合法的常量。
A.52686LB.E-7C.1.2E-2.1D.'
E12'
24(C)为正确的变量名。
A.-k15B.intC.k_5D.k.jeep
25(D)为正确的字符常量。
'
\\'
\24m"
c"
M'
26(C)为非法的字符串常量。
A."
"
s"
C.'
efg'
D."
26'
62"
27C语言整型数据在内存中的代码是用(C)暗示的。
A.原码B.反码C.补码D.BCD码
28以下选项中,合法的实型常数是(B)。
A.E-3B..2E1C.1E.5D.1.5E
29下列C语言合法的数据类型关键字是(B)。
A.DoubleB.unsignedC.integerD.Char
30TurboC中,int型数据占用的字节数(B)。
A.由用户自己定义B.为2个字节
C.是任意的D.等于所用计算机的字长
31TurboC中,基本数据类型存储空间长度的排列顺序是(A)。
A.char<
int<
longint<
float<
doubleB.char=int<
double
C.char<
longint=float=doubleD.char=int=longint<
32以下叙述中正确的是(A)。
A.字符常量用一对单撇号'
'
作为单个字符的定界符B.字符常量和字符串常量一样,都是用双引号括起来
C.字符常量存储时,自动在字符后加一个字符结束符号'
\0'
D.字符常量和字符串常量所分配的内存空间大小是一样的
33(B)为正确的用户标识符。
A.3_rowB.max_atC.unionD.min-5
34C语言的基本数据类型包含(A)。
A.整型、实型、字符型B.整型、实型、空类型
C.整型、字符型、指针型D.整型、实型、逻辑型
35(D)为合法的常量。
A.5,326B.3.21E-6.5C.'
b_k'
D.1.23E+8
36(D)为正确的变量名。
A.5_proB.caseC.elseD.pro_5
37(C)为正确的字符常量。
bcd'
B.'
\084'
@'
165'
38(A)为非法的字符串常量。
123'
case"
056"
40已知'
A'
的ASCII码的十进制值为65,'
0'
的ASCII码的十进制值为48,则以下程序运行结果是(A)。
main()
{charch1,ch2;
ch1='
+'
5'
-'
3'
ch2='
6'
printf("
%d,%c\n"
ch1,ch2);
}
A.67,DB.C,DC.C,68D.67,68
41若有定义intm=6;
则正确的赋值表达式是(C)。
A.m*7B.m*5=8C.m-=m*6D.double(-m)
42语句k=(m=5,n=++m);
运行之后,变量k、m、n的值依次为(D)。
A.5,5,6B.5,6,5C.6,6,5D.6,6,6
43语句x=5%4+(4/5);
运行之后,整型变量x的值为(A)。
A.1B.2C.3D.0
44(B)语句符合C语言语法。
A.floatz=28,intx,y=18;
B.intx=25,y=25,z=25;
C.intx=25:
y=25:
z=25;
D.intx+y=z;
45若有定义inta,x;
则语句a=(x=8,x+8);
运行后,变量a、x的值依次为(A)。
A.16,8B.8,8C.16,16D.8,16
46若变量m,n,t已定义且赋予初值,则正确的表达式是(B)。
A.m=m+1=t-nB.m=6+n+t,m++
C.m=m\2D.m=int(5.6%4)
47若有定义:
inta,b;
floatx,则以下不符合C语言语法的表达式是(A)。
A.x%7B.x/=a-b
C.a=b=2D.x=(float)a/b
48若有定义:
intm=4,n=5;
floatk;
,则以下符合C语言语法的表达式是(B)。
A.(m+n)*=kB.m=(n==5)
C.k=float(n)/mD.n%2.5
49若有定义:
inta=6;
则语句a*=a-=a/=3;
运行后,a的值是(B)。
A.10B.0C.34D.24
50下面关于C语言变量的叙述中,错误的是(A)。
A.可以用define关键字定义变量B.变量名用大小写字母是有区此外
C.C语言允许分歧基本类型的变量之间进行混合运算D.C语言中要求对变量作强制定义的主要理由是:
便于确定类型和分配空间
51若有定义:
inta=5,b=2;
则表达式b=(a!
=5)的值为(B)。
A.5B.0C.3D.2
52逗号表达式(a=15,a*4),a+15的值为(B)。
A.15B.30C.75D.60
53若有定义:
intb=-15;
则(A)为正确的赋值表达式。
A.b+=b*3B.b=*5C.*b=6D.b+10=-5
54若有定义:
intx,a,b;
语句x=(a=2,b=3,a+b);
运行后,x、a、b的值依次为(C)。
A.235B.325
C.523D.532
55若有定义:
inta,b=5;
语句a=(b/2)+b%2;
运行后,a的值为(B)。
A.0B.3C.4D.2
56(C)语句符合C语言语法。
A.inta=2,b+=a;
B.inta=b=2,c=5;
C.floatx=2.3,b,c;
D.floatx=3.2,inti,j=6;
57若有定义:
inta=3;
语句a+=a-=a*a;
运行后,a的值为(C)。
A.0B.-3C.-12D.-6
58若有定义intx=1,y=2,n=3;
则(A)为正确的表达式。
A.x=y*3,y=(x+n)/yB.x=ny
C.float(y/n)D.(x+y)(y+n)
60下列语句中,符合C语言语法的赋值语句是(C)。
A.a=7+b+c=a+7;
B.a=7+b++=a+7;
C.a=7+b,b++,a+7;
D.a=7=b,c=a+7;
61(A)是正确的叙述。
A.(int)5.0/6与5/6等价B.'
G'
与"
G"
等价
C.5/6与5.0/6.0等价D.++3与4等价
62下面叙述中,错误的是(D)。
A.C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行B.自增与自减运算符的结合方向为“自右至左”
C.关系运算符的优先级低于算术运算符D.C语言算术运算符不包含模运算符“%”
63(C)是正确的叙述。
A.表达式"
m"
+"
M"
是合法的B.若变量x,y为整型,则(a+b)++是合法的
C.强制类型转换运算的优先级高于算术运算D.表达式'
m'
*'
n'
是分歧法的
64若有定义inti=1,j=9;
则表达式(++j)*(i--)的值为(B)。
A.0B.10C.9D.8
65设整型变量x为7,使整型变量y不为2的表达式是(A)。
A.y=x%3B.y=x/3C.y=(++x)/3D.y=8-(--x)
66若已定义inta=3,b=2,c=1;
则语句++a||++b&
&
++c;
运行后b的值为(D)。
A.0B.3C.1D.2
67若有定义:
inti=5,j=4;
则语句i/=++j;
运行后i的值为(B)。
A.10B.1C.1.25D.0
68若已定义:
inta=2,b=2;
则表达式(a+(b++),b)的值是(A)。
A.2B.3C.4D.6
69若有定义:
intr,x=245;
则语句r=x/100%9;
运行后r的值为(A)。
A.2B.5C.0D.27
70若已定义:
inti=6,t;
则语句t=3+(--i);
运行后t的值为(C)。
A.9B.7C.8D.5
71C语言的%运算符按运算对象的个数属(C)。
A.单目运算符B.四目运算符C.双目运算符D.三目运算符
72若已定义:
inta=5,b=9,c=6;
则语句b++;
++c;
a=b-c;
运行后a的值为(B)。
A.5B.3C.2D.4
73下面叙述正确的是(B)。
A.2/3与2%3等价B.5/(int)4.0与5/4等价
C.++2与3等价D.++2与--3等价
74下面叙述错误的是(A)。
A.算术运算符中只有"
*"
、"
/"
优先级高于关系运算符B.模运算符"
%"
是C语言基本的算术运算符
C.自加和自减运算符只能用于变量,而不克不及用于常量或表达式D.算术运算符中不包含"
="
运算符
75下面叙述正确的是(A)。
A.C语言中整型与字符型变量的混合运算表达式的结果是整型B.(3+9)++是正确表达式
C.模运算符"
两边运算数的数据类型是任意的D."
abc"
xxx"
是正确表达式
76若有定义:
inti=3,j=6;
则表达式(--i)*(j++)的值为(C)。
A.18B.15C.12D.10
77若有定义:
inta,b=6;
语句a=--b;
运行后,a、b的值分别是(C)。
A.56B.65C.55D.66
78若有定义:
intx,y,z;
语句x=(y=z=3,++y,z+=y);
运行后,x的值为(C)。
A.6B.8C.7D.3
80以下程序运行时,若从键盘输入5,则输出结果是(D)。
main(){inta;
scanf("
%d"
&
a);
if(a++>
5)printf("
%d\n"
a);
elseprintf("
a--);
A.7B.4C.5D.6
81若已定义floatx;
要从键盘输入数据36.582给变量x,则应选用(B)语句。
A.scanf("
%2.3f"
x);
B.scanf("
%6f"
C.scanf("
%6.3f"
D.scanf("
%5.3f"
82若已定义doubley;
拟从键盘输入一个值赋给变量y,则正确的函数调用是(C)。
y);
%7.2f"
%lf"
%ld"
83已有定义chars;
使用scanf()函数输入一个字符给变量s,不正确的函数调用是(D)。
%c"
s);
%u"
84函数putchar()的功能是向终端输出(A)。
A.一个字符B.多个字符
C.一个关系表达式D.一个实型变量值
85若已定义inta=11;
执行以下语句后的输出结果是(B)。
printf("
a=%d,a=%o,a=%x\n"
a,a,a);
A.a=11,a=11,a=bB.a=11,a=13,a=b
C.a=11,a=13,a=cD.a=11,a=12,a=13
86若有定义intm=4321,n=123,k=21;
语句printf("
%4d+%3d+%2d"
m,n,k);
执行后的输出结果是(C)。
A.4321432143211231231232121B.43211232
C.4321+123+21D.432+123+02
87已有如下定义和输入语句,charc1,c2;
intx;
%c%d%c"
c1,&
x,&
c2);
若要求x、c1、c2的值分别为9、'
K'
和'
H'
,正确的数据输入是(A)。
A.K9HB.K9HC.K9HD.9KH
88以下程序段的运行结果是(B)。
inta=1;
%d,%d,%d\n"
a,++a,a++);
A.3,3,1B.2,2,1C.1,2,3D.3,2,1
89以下程序的运行结果是(D)。
voidmain()
{inta=65;
charc='
%d+%c=%d\n"
a,c,a+c);
A.A+A=AAB.65+A=65AC.65+65=130D.65+A=130
90若已定义:
intx=7;
floaty=7.0;
以下语句中能输出正确值的是(B)。
A.printf("
%d%d"
x,y);
B.printf("
%d%.3f"
C.printf("
%.3f%.3f"
D.printf("
%.3f%d"
91putchar函数可以向终端输出一个(A)。
A.字符或字符型变量值B.整型变量表达式值
C.实型变量值D.字符串
92若已定义:
floatb=1.5;
要求输出形式为:
6*1.50=9.00,应选用的正确输出语句是(B)。
%d*%f=%f"
a,b,a*b);
%d*%.2f=%.2f"
%d*%d=%.2f"
%.2f*%.2f=%.2f"
93若有定义floatx;
要从键盘输入数据6.02赋给x,则应选用(D)语句。
%8.2f"
x);
%1.2f"
%4.2f"
%f"
94只能向终端输出一个字符的是(D)。
A.printf()函数B.scanf()函数C.getchar()函数D.putchar()函数
95若有语句inta;
charc;
%3d%c"
a,&
c);
为将整数135赋给a,字符'
赋给c,正确的数据输入方式是(B)。
(说明:
CR>
代表换行,__代表空格)
A.135__6<
B.1356<
C.135<
6<
D.135__6__
96getchar()函数的功能是获取终端输入的(B)。
A.多个字符B.一个字符C.一个实型变量值D.一个整型变量表达式
97若有定义inta=8,b=5;
要实现输出形式为:
8*5=40,正确的printf()函数调用语句是(D)。
a*b=%d\n"
a*b);
a*b=a*b\n"
);
%d*%d=a*b\n"
a,b);
%d*%d=%d\n"
98若有定义:
charc1='
c2='
B'
%d+%d=%d"
c1,c2,c1+c2);
运行后的结果为(D)。
的ASCII码的十进制值为65)
A.A+B=131B.65+66=ABC.A+B=ABD.65+66=131
100有以下程序:
{intc;
while((c=getchar())!
='
\n'
)
{switch(c-'
2'
{case0:
case1:
putchar(c+4);
case2:
break;
case3:
putchar(c+3);
default:
putchar(c+2);
}}
\n"
}当输入:
247<
回车>
,程序的输出结果是(B)。
A.689B.6689C.66778D.66887
101若已定义intx=5,y=9,z;
语句z=x>
=y;
运行后z的值为(C)。
A.1B..t.C.0D..f.
102判定逻辑值为“真”的最准确叙述是(D)。
A.1B.大于0的数
C.非0的整数D.非0的数
103若已定义intx=-16,y=-12,z;
语句z=x<
运行后z的值为(B)。
A..t.B.1C..f.D.0
104能正确暗示数学关系式100≤s<300的表达式为(C)。
A.(s>
=100)&
(s<
300)B.100<
=s<
300
C.(s>
300)D.(s>
=100)and(s<
300)
105若定义inta=2,b=3;
则表达式!
a||b的值为(B)。
A.0B.1C.2D.3
106若定义inta=-5,b=-8,c=-12;
则表达式a>
=b||b<
c的值为(D)。
A.变量i的值B.变量j的值C.0D.1
107下列表达式(C)不克不及用来判断整型变量x中的值是否为奇数。
A.x%2==1B.!
(x%2==0)C.!
(x%2)D.x%2
108若有定义:
inta=3,b=2,c=3;
则值为0的表达式是(D)。
A.(a-b)==(c/b)B.a>
=c
C.c-b||a+b&
(b*c-a-c)D.(b*c-a-c)&
(b*c-a-b)
109若已定义:
intx=4,y=2,z=0;
则表达式(x-y<
=y)||(y=z)的值是(A)。
A.1B.0C.2D.4
110若有定义:
inta=3,b=2,c=1,k;
则表达式k=a>
b>
c的值是(A)。
A.0B.C.2D.3
111以下运算符中优先级最高的是(D)。
=B.&
C.||D.!
112执行以下语句后,b的值是(A)。
inta=5,b=6,c=1,x=2,y=3,z=4;
(a=c>
x)||(b=y>
z);
A.0B.1C.-1D.6
113x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为(B)。
A.-20<
x<
-5B.x>
-20&
x<
-5
C.!
(x>
-20)&
!
(x<
-5)D.-5<
-20
114若有定义:
inta;
则表达式(B)不克不及用来判断a值为奇数是“真”,偶数是“假”。
A.a%2==1B.!
(a%2)C.a%2D.!
(a%2==0)
115若有定义:
inta=1,b=2,c=3,d=4,t=2,k=2;
语句(t=a<
b)||(k=c<
d);
运行后,k的值为(A)。
A.2B.1C.0D.-
116若有定义:
intx=1,y=2,z=3;
则表达式(A)的值为0。
A.!
((x<
y)&
z)B.x>
y||x<
zC.x<
=yD.x||(y+z&
y-z)
117若有定义:
inta=3,b=5,c=8;
(a-b)||(c-b)的值为(A)。
A.1B.0C.2D.3
118若有定义:
inta;
且表达式!
a的值为0,则表达式(A)的值为1。
A.a!
=0B.a==0C.a=0D.!
(a<
0||a>
0)
120以下程序运行后,a的值是(C)。
{inta,b;
for(a=1,b=1;
a<
=100;
a++)
{if(b>
=20)break;
if(b%3==1){b+=3;
continue;
}
b-=5;
}}
A.101B.100C.8D.7
121已定义d