C语言选择题练习.docx
《C语言选择题练习.docx》由会员分享,可在线阅读,更多相关《C语言选择题练习.docx(56页珍藏版)》请在冰豆网上搜索。
![C语言选择题练习.docx](https://file1.bdocx.com/fileroot1/2023-1/26/86e56b79-ff94-46e7-a817-ded14a1db0b1/86e56b79-ff94-46e7-a817-ded14a1db0b11.gif)
C语言选择题练习
C语言选择题练习
加油,冲冲冲
1.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是().[单选题]*
A:
6.500000
B:
6
C:
5.500000
D:
6.000000(正确答案)
2.以下程序的执行结果是().main(){intx=0,s=0;while(!
x!
=0)s+=++x;printf("%d",s[单选题]*
A:
0
B:
1(正确答案)
C:
语法错误
D:
.无限循环
3.下面不正确的字符串常量是().[单选题]*
A:
'abc'(正确答案)
B:
"12'12"
C:
"0"
D:
""
4.以下叙述中正确的是().[单选题]*
A:
C语言的源程序不必通过编译就可以直接运行
B:
C语言中的每条可执行语句最终都将被转换成二进制的机(正确答案)
C:
C源程序经编译形成的二进制代码可以直接运行
D:
C语言中的函数不可以单独进行编译
5.在C语言中,if语句后的一对原括号中,用以决定分支的流程的表达式().[单选题]*
A:
只能用逻辑表达式
B:
只能用关系表达式
C:
只能用逻辑表达式或关系表达式
D:
可用任意表达式(正确答案)
6.C语言源程序文件经过C编译程序编译后生成的目标文件的后缀为().[单选题]*
A:
.c
B:
.obj(正确答案)
C:
.exe
D:
.bas
7.假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!
k1)x--;elseif(k2)x=4;elsex=3;[单选题]*
A:
14
B:
4(正确答案)
C:
15
D:
3
8.在C语言中,要求运算数必须是整型的运算符是().[单选题]*
A:
^
B:
%(正确答案)
C:
!
D:
>
9.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().[单选题]*
A:
1(正确答案)
B:
2
C:
3
D:
不一定
10.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是().[单选题]*
A:
a*b/a*b==1
B:
a/b*b/a==1
C:
a/b*b+a%b==a(正确答案)
D:
a/b*b==a
11.以下叙述不正确的是().[单选题]*
A:
一个C源程序可由一个或多个函数组成
B:
一个C源程序必须包含一个main函数
C:
C程序的基本组成单位是函数
D:
在C程序中,注释说明只能位于一条语句的后面(正确答案)
12.C语言中要求对变量作强制定义的主要理由是().[单选题]*
A:
便于移植
B:
便于写文件
C:
便于编辑预处理程序的处理
D:
便于确定类型和分配空间(正确答案)
13.若x=2,y=3则x||y的结果是().[单选题]*
A:
0
B:
1(正确答案)
C:
2
D:
3
14.设有intx=11;则表达式(x++*1/3)的值是().[单选题]*
A:
3(正确答案)
B:
4
C:
11
D:
12
15.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是().[单选题]*
A:
-3
B:
9
C:
-12(正确答案)
D:
6
16.若变量均已正确定义并赋值,以下合法的C语言赋值语句是().[单选题]*
A:
x=n/2.5;(正确答案)
B:
x==5;
C:
x+n=I;
D:
5=x=4+1;
17.下列表达式中,可作为C合法表达式的是[单选题]*
A:
[3,2,1,0]
B:
(3,2,1,0)(正确答案)
C:
3=2=1=0
D:
3/2/1/0
18.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符().[单选题]*
A:
必须为字母
B:
必须为下划线
C:
必须为字母或下划线(正确答案)
D:
可以是字母,数字和下划线中任一字
19.下列程序段的输出结果为().floatx=213.82631;printf("%3d",(int)x);[单选题]*
A:
213.82
B:
213.83
C:
213(正确答案)
D:
3.8
20.下列四组选项中,均不是C语言关键字的选项是().[单选题]*
A:
defineIFtype(正确答案)
B:
getccharprintf
C:
includescanfcase
D:
whilegopow
21.下列运算符中优先级最高的是().[单选题]*
A:
<
B:
+(正确答案)
C:
&&
D:
!
=
22.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().[单选题]*
A:
x=(x=1+2,x*2)
B:
x=y>2?
6:
5
C:
x=9-(--y)-(y--)(正确答案)
D:
x=y*4/2
23.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范[单选题]*
A:
0--255
B:
0--32767
C:
0--65535(正确答案)
D:
0--2147483647
24.以下数据中,不正确的数值或字符常量是[单选题]*
A:
0
B:
5L
C:
o13(正确答案)
D:
9861
25.若inta=2,则执行完表达式a-=a+=a*a后,a的值是().[单选题]*
A:
-8
B:
-4
C:
-2
D:
0(正确答案)
26.C语言中,文件由().[单选题]*
A:
记录组成
B:
由数据行组成
C:
由数据块组成
D:
由字符(字节)序列组成(正确答案)
27.以下叙述中正确的是().[单选题]*
A:
构成C程序的基本单位是函数(正确答案)
B:
可以在一个函数中定义另一个函数
C:
main()函数必须放在其它函数之前
D:
所有被调用的函数一定要在调用之前进行定义
28.在C语言中,int、char和short三种类型数据在内存中所占用的字节数().[单选题]*
A:
由用用户自己定义
B:
均为2个字节
C:
是任意的
D:
由所用机器的机器字长决定(正确答案)
29.C语言中while和do-while循环的主要区别是().[单选题]*
A:
do-while的循环体至少无条件执行一次(正确答案)
B:
while的循环控制条件比do-while的循环控制条件更严格
C:
do-while允许从外部转到循环体内
D:
do-while的循环体不能是复合语句
30.以下标识符中,不能作为合法的C用户定义标识符的是().[单选题]*
A:
a3_b3
B:
void(正确答案)
C:
_123
D:
IF
31.下列程序的输出结果是().main(){inta=7,b=5;printf("%d\n",b=b/a);}[单选题]*
A:
0(正确答案)
B:
5
C:
1
D:
不确定值
32.求平方根函数的函数名为().[单选题]*
A:
cos
B:
abs
C:
pow
D:
sqrt(正确答案)
33.以下程序的输出结果为().main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}[单选题]*
A:
11,10
B:
9,10(正确答案)
C:
010,9
D:
10,9
34.如果inta=2,b=3,c=0,下列描述正确的是().[单选题]*
A:
a>b!
=c和a>(b!
=c)的执行顺序是一样的
B:
!
a!
=(b!
=c)表达式的值为1(正确答案)
C:
a||(b=c)执行后b的值为0
D:
a&&b>c的结果为假
35.以下程序的运行结果是().main(){inti=1,sum=0;while(i<10)sum=sum+1;i++;[单选题]*
A:
i=10,sum=9
B:
i=9,sum=9
C:
i=2,sum=1
D:
运行出现错误(正确答案)
36.假设所有变量均为整型,表达式:
a=2,b=5,a>b?
a++:
b++,a+b的值是().[单选题]*
A:
7
B:
8(正确答案)
C:
9
D:
2
37.C语言源程序名的后缀是().[单选题]*
A:
exe
B:
c(正确答案)
C:
obj
D:
cp
38.C语言执行程序的开始执行点是().[单选题]*
A:
程序中第一条可以执行语言
B:
程序中第一个函数
C:
程序中的main函数(正确答案)
D:
包含文件中的第一个函数
39.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为().[单选题]*
A:
float
B:
int
C:
char
D:
double(正确答案)
40.以下程序的执行结果是().main(){intw=1,x=2,y=3,z=4;w=(wx:
w;w=(wy:
w;w=(wz:
w;printf("%d"[单选题]*
A:
1
B:
2
C:
3
D:
4(正确答案)
41.以下对C语言函数的描述中,正确的是().[单选题]*
A:
C程序必须由一个或一个以上的函数组成(正确答案)
B:
C函数既可以嵌套定义又可以递归调用
C:
函数必须有返回值,否则不能使用函数
D:
C程序中有调用关系的所有函数必须放在同一个程序文件中
42.若有以下程序:
main(){intk=2,i=2,m;m=(k+=i*=k);printf("%d,%d\n",m,i);}执行后的输出结果是().[单选题]*
A:
8,6
B:
8,3
C:
6,4(正确答案)
D:
7,4
43.下列运算符中是C语言关系运算符的是[单选题]*
A:
~
B:
!
C:
&
D:
!
=(正确答案)
44.C语言的注释定界符是().[单选题]*
A:
{}
B:
[]
C:
\**\
D:
/**/(正确答案)
45.若变量a与i已正确定义,且i已正确赋值,合法的语句是().[单选题]*
A:
a==1
B:
++i;(正确答案)
C:
a=a++=5;
D:
a=int(i);
46.while(fabs(t)<1e-5)if(!
s/10)break;循环结束的条件是().[单选题]*
A:
t>=1e-5&&t<=-1e-5&&s>-10&&s<10(正确答案)
B:
fabs(t)<1e-5&&!
s/10
C:
fabs(t)<1e-5
D:
s/10==0
47.C语言中以下几种运算符的优先次序()的排列是正确的.[单选题]*
A:
由高到低为:
!
&&,||,算术运算符,赋值运算符
B:
由高到低为:
!
算术运算符,关系运算符,&&,||,赋值运算符(正确答案)
C:
由高到低为:
算术运算符,关系运算符,赋值运算符,!
&&,||
D:
由高到低为:
算术运算符,关系运算符,!
&&,||,赋值运算符
48.执行下列语句后,a和b的值分别为().inta,b;a=1+'a';b=2+7%-4-'A';[单选题]*
A:
-63,-64
B:
98,-60(正确答案)
C:
1,-60
D:
79,78
49.C语言中表达逻辑"真"值的是().[单选题]*
A:
.T.
B:
0
C:
True
D:
非0的数(正确答案)
50.以下程序的运行结果是().main(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);}}[单选题]*
A:
12457810(正确答案)
B:
369
C:
12
D:
1234567890
51.下列程序段的输出结果为().inta=7,b=9,t;t=a*=a>b?
a:
b;printf("%d",t);[单选题]*
A:
7
B:
9
C:
63(正确答案)
D:
49
52.下面四个选项中,均是不合法的用户标识符的选项是().[单选题]*
A:
AP_0do
B:
floatla0_A
C:
b-agotoint(正确答案)
D:
_123tempint
53.若int类型数据占两个字节,则下列语句的输出为().intk=-1;printf("%d,%u\n",k,k);[单选题]*
A:
-1,-1
B:
-1,32767
C:
-1,32768
D:
-1,65535(正确答案)
54.设j和k都是int类型,则for循环语句().for(j=0,k=-1;k=1;j++,k++)printf("****\n");[单选题]*
A:
循环结束的条件不合法
B:
是无限循环(正确答案)
C:
循环体一次也不执行
D:
循环体只执行一次
55.选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为"真"或"假".哪个数作为逻辑"假"值().[单选题]*
A:
-1
B:
1
C:
非零的数
D:
0(正确答案)
56.以下数据中,不正确的数值或字符常量是[单选题]*
A:
c(正确答案)
B:
66
C:
0xaa
D:
50
57.为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else子句总是与[单选题]*
A:
缩排位置相同的if
B:
其之前最近的if(正确答案)
C:
其之后最近的if
D:
同一行上的if
58.下列程序的输出结果是().main(){intx=1,y=0,a=0,b=0;switch(x){case1:
switch(y){case0:
a++;break;case1:
b++;break;}case2:
a++;b++;break;case3:
a++;b++;break;}printf("a=%d,b=%d\n",a,b);}[单选题]*
A:
a=1,b=0
B:
a=2,b=1(正确答案)
C:
a=1,b=1
D:
a=2,b=2
59.以下字符中不是转义字符的是().[单选题]*
A:
\a'
B:
\b'
C:
\c'(正确答案)
D:
'\\'
60.已定义ch为字符型变量,以下赋值语句中错误的是().[单选题]*
A:
ch='\';(正确答案)
B:
ch=62+3;
C:
ch=NULL;
D:
ch='\xaa';
61.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是().[单选题]*
A:
552
B:
144
C:
264
D:
-264(正确答案)
62.从循环体内某一层跳出,继续执行循环外的语句是().[单选题]*
A:
break语句(正确答案)
B:
return语句
C:
continue语句
D:
空语句
63.以下选项中,与k=n++完全等价的表达式[单选题]*
A:
k=n,n=n+1(正确答案)
B:
n=n+1,k=n
C:
k=++n
D:
k+=n+1
64.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式().[单选题]*
A:
从左起输出该字符串,右补空格
B:
按原字符长从左向右全部输出(正确答案)
C:
右对齐输出该字串,左补空格
D:
输出错误信息
65.为表示关系x≥y≥z,应使用C语言表达式().[单选题]*
A:
(x>=y)&&(y>=z)(正确答案)
B:
(x>=y)AND(y>=z)
C:
(x>=y>=z)
D:
(x>=z)&(y>=z)
66.若a=1,b=2则a|b的值是().[单选题]*
A:
0
B:
1
C:
2
D:
3(正确答案)
67.逻辑运算符两侧运算对象的数据类型().[单选题]*
A:
只能是0或1
B:
只能是0或非0正数
C:
只能是整型或字符型数据
D:
可以是任何类型的数据(正确答案)
68.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是().[单选题]*
A:
1
B:
2
C:
2.0(正确答案)
D:
2.5
69.结构化程序设计所规定的三种基本控制结构是().[单选题]*
A:
输入、处理、输出
B:
树形、网形、环形
C:
顺序、选择、循环(正确答案)
D:
主程序、子程序、函数
70.以下运算符中优先级最低的是().[单选题]*
A:
&&
B:
&
C:
||(正确答案)
D:
|
71.若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于表达式(exp)的是[单选题]*
A:
(exp==0)
B:
(exp!
=0)(正确答案)
C:
(exp==1)
D:
(exp!
=1)
72.以下运算符中,优先级最高的运算符是[单选题]*
A:
?
:
B:
++(正确答案)
C:
&&
D:
73.下列四个选项中,均是C语言关键字的选项是().[单选题]*
A:
autoenuminclude
B:
switchtypedefcontinue(正确答案)
C:
signedunionscanf
D:
ifstructtype
74.以下标识符中,不能作为合法的C用户定义标识符的是().[单选题]*
A:
putchar(正确答案)
B:
_double
C:
_123
D:
INT
75.以下选项中合法的实型常数是().[单选题]*
A:
5E2.0
B:
E-3
C:
.2E0(正确答案)
D:
1.3E
76.下列关于单目运算符++、--的叙述中正确的是().[单选题]*
A:
它们的运算对象可以是任何变量和常量
B:
它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C:
它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D:
它们的运算对象可以是char型变量、int型变量和float型变量(正确答案)
77.inta=3,b=2,c=1;if(a>b>c)a=b;elsea=c;则a的值为().[单选题]*
A:
3
B:
2
C:
1(正确答案)
D:
0
78.下列程序的输出结果为().main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}[单选题]*
A:
27.000000(正确答案)
B:
27.500000
C:
28.000000
D:
28.500000
79.整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是().[单选题]*
A:
x||y
B:
x|y
C:
x&y
D:
x^y(正确答案)
80.下列程序段的输出结果为().floatk=0.8567;printf("%06.1f%%",k*100);[单选题]*
A:
0085.6%%
B:
0085.7%(正确答案)
C:
0085.6%
D:
.857
81.设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是().[单选题]*
A:
10101001
B:
10101000
C:
11111101
D:
01010101(正确答案)
82.设变量定义为"inta,b;",执行下列语句时,输入(),则a和b的值都是10.scanf("a=%d,b=%d",&a,&b);[单选题]*
A:
1010
B:
10,10
C:
a=10b=10
D:
a=10,b=10(正确答案)
83.设C语言中,int类型数据占2个字节,则unsigned类型数据占().[单选题]*
A:
1个字节
B:
2个字节(正确答案)
C:
4个字节
D:
8个字节
84.已知i、j、k为int型变量,若从键盘输入:
1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是().[单选题]*
A:
scanf("%2d%2d%2d",&i,&j,&k);
B:
scanf("%d%d%d",&i,&j,&k);
C:
scanf("%d,%d,%d",&i,&j,&k);(正确答案)
D:
scanf("i=%d,j=%d,k=%d",&i,&j,&k);
85.C语言能正确处理的指数是().[单选题]*
A:
8.5e4288
B:
e-32
C:
123000000000(正确答案)
D:
4.5e-5.6
86.能将高级语言编写的源程序转换为目标程序的是().[单选题]*
A:
链接程序
B:
解释程序
C:
编译程序(正确答案)
D:
编辑程序
87.设有说明语句:
chara='\72';则变量a().[单选题]*
A:
包含1个字符(正确答案)
B:
包含2个字符
C:
包含3个字符
D:
说明不合法
88.已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是().[单选题]*
A:
A,B
B:
A,68
C:
65,66(正确答案)
D:
65,68
89.已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为().chara='a';a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');[单选题]*
A:
b,c
B:
a--运算不合法,故有语法错
C:
98,c(正确答案)
D:
格式描述和输出项不匹配,输出无定值
90.以下标识符中,不能作为合法的C用户定义标识符的是().[单选题]*
A:
For
B:
Printf
C:
WORD
D:
sizeof(正确答案)
91.若有定义:
inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是[单选题]*
A:
2.500000(正确答案)
B:
2.750000
C:
3.500000
D:
0.000000
92.C程序的基本结构单位是().[单选题]*
A:
文件
B:
语句
C:
函数(正确答案)
D:
表达式
93.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为()的可执行文件.[单选题]*
A:
.c
B:
.obj
C:
.exe(正确答案)
D:
.bas
94.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是().[单选题]*
A:
字符A(正确答案)
B:
字符a
C:
字符e
D:
非法的常量