C语言练习题选择题带答案.docx
《C语言练习题选择题带答案.docx》由会员分享,可在线阅读,更多相关《C语言练习题选择题带答案.docx(97页珍藏版)》请在冰豆网上搜索。
C语言练习题选择题带答案
试卷编号:
65
所属语言:
C语言
试卷方案:
平时练习-选择
试卷总分:
276分
共有题型:
1种
━━━━━━━━━━━━━━━━━━
一、单项选择共276题(共计276分)
━━━━━━━━━━━━━━━━━━
第1题(1.0分)题号:
288
下列字符序列中,可用作C标识符的一组字符序列是()。
A:
S.b,sum,average,_above
B:
class,day,lotus_1,2day
C:
#md,&12x,month,student_n!
D:
D56,r_1_2,name,_st_1
答案:
D
第2题(1.0分)题号:
910
C语言程序从main()函数开始执行,所以这个函数要写在().
A:
程序文件的开始
B:
程序文件的最后
C:
程序文件的任何位置(除别的函数体内)
D:
它所调用的函数的前面
答案:
C
第3题(1.0分)题号:
908
完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为().
A:
连接、编译
B:
编译、连接
C:
连接、运行
D:
运行
答案:
B
第4题(1.0分)题号:
909
要调用文件处理函数时,在#include
命令行中应包含().
A:
"ctype.h"
B:
"string.h"
C:
"stdio.h"
D:
"math.h"
答案:
C
第5题(1.0分)题号:
609
以下数据中,不正确的数值或字符常量是()。
A:
0
B:
5L
C:
o13
D:
9861
答案:
C
第6题(1.0分)题号:
911
在C语言中,错误的语句是().
A:
a=b=c;
B:
;
C:
break
D:
b=3*5,a*=4;
答案:
C
第7题(1.0分)题号:
574
以下标识符中,不能作为合法的C用户定义标识符的是()。
A:
a3_b3
B:
void
C:
_123
D:
IF
答案:
B
第8题(1.0分)题号:
907
一个C语言程序是由()组成.
A:
一个主程
序和若干
子程序
B:
函数
C:
若干过程
D:
若干子程序
答案:
B
第9题(1.0分)题号:
234
C语言源程序的基本单位是()。
A:
过程
B:
函数
C:
子程序
D:
标识符
答案:
B
第10题(1.0分)题号:
913
已知宏定义
#defineN3
#defineY(n)((N+1)*n)
执行语句z=2*(N+Y(5+1));变量z的值为().
A:
42
B:
48
C:
54
D:
出错
答案:
B
第11题(1.0分)题号:
933
C语言文件系统中,整数1008若以
ASCII形式存储,则占几个字节().
A:
2
B:
4
C:
1
D:
5
答案:
B
第12题(1.0分)题号:
921
正确的自定义标识符是().
A:
if
B:
a*b
C:
iF
D:
8pq
答案:
C
第13题(1.0分)题号:
934
设有说明语句chara='\101';,
则变量a().
A:
包含4个字符
B:
包含2个字符
C:
包含3个字符
D:
包含1个字符
答案:
D
第14题(1.0分)题号:
924
下面正确的字符常量是().
A:
"c"
B:
'\\''
C:
'W'
D:
'ab'
答案:
C
第15题(1.0分)题号:
917
在main函数体内部和外部均允许出现的
实体是().
A:
预处理命令
B:
语句
C:
另一函数的定义
D:
函数形式参数声明
答案:
A
第16题(1.0分)题号:
915
若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,
b赋予22.0,c赋予33.0,不正确的输入形式是().
A:
10<回车>22<回车>33<回车>
B:
10.0,22.0,33.0<回车>
C:
10.0<回车>22.033.0<回车>
D:
1022<回车>33<回车>
答案:
B
第17题(1.0分)题号:
932
()是C语言提供的合法数据类型
关键字.
A:
Float
B:
signed
C:
integer
D:
Char
答案:
B
第18题(1.0分)题号:
920
下列选项中,合法的C语言
关键字是().
A:
VAR
B:
cher
C:
integer
D:
default
答案:
D
第19题(1.0分)题号:
916
使用语句scanf("x=%f,y=%f
",&x,&y);输入变量x,y的值([]
代表空格),正确的输入是().
A:
1.25,2.4
B:
1.25[]2.4
C:
x=1.25,y=2.4
D:
x=1.25[]y=2.4
答案:
C
第20题(1.0分)题号:
935
宏定义"#definep(x,y,z)x=y*z;
"的宏替换"p(a,x+5,y-3.1)"应为().
A:
a=x+5*y-3.1;
B:
a=(x+5)*(y-3.1);
C:
a=x+5*y-3.1
D:
a=(x+5)*(y-3.1)
答案:
A
第21题(1.0分)题号:
919
下述程序段的输出结果是().
intx=10;
inty=x++;
printf("%d,%d",(x++,y),y++);
A:
11,10
B:
11,11
C:
10,10
D:
10,11
答案:
A
第22题(1.0分)题号:
925
以下不正确的C语言标识符是().
A:
2y
B:
a_1_2
C:
ablexe
D:
_x
答案:
A
第23题(1.0分)题号:
914
以下所列的C语言常量中,错误的是().
A:
0Xff
B:
1.2e0.5
C:
2L
D:
'\72'
答案:
B
第24题(1.0分)题号:
918
下列程序的输出是().
#include
main()
{printf("%d",NULL);}
A:
0
B:
变量无定义
C:
-1
D:
1
答案:
B答案应该是A
第25题(1.0分)题号:
930
在C程序中,1如果用来表示逻辑值时,
应代表().
A:
真
B:
假
C:
整数1
D:
长整型数1
答案:
A
第26题(1.0分)题号:
927
以下答案中不是C语言最基本数据类型
的是().
A:
逻辑型
B:
整型
C:
字符型
D:
实型
答案:
A
第27题(1.0分)题号:
922
常数的书写格式决定了常数的类型
和值,0x1011是().
A:
8进制整型
常量
B:
字符常量
C:
16进制整型常
数
D:
2进制整型常数
答案:
C
第28题(1.0分)题号:
928
若x,y均定义为int型,z为double
型,以下不合法的scanf函数调用
语句是().
A:
scanf("%d%d,%lf
",&x,&y,&z);
B:
scanf("%x,%d,%lf
",&x,&y,&z);
C:
scanf("%d,%x,%lf
",&x,&y,&z);
D:
scanf("%d,%d,%x
",&x,&y,&z);
答案:
D
第29题(1.0分)题号:
931
以下所列字符常量中,不合法的是().
A:
'\0xa2'
B:
'\65'
C:
'$'
D:
'\x2a'
答案:
A
第30题(1.0分)题号:
912
若变量都已正确说明,则以下程序段().
a=2;b=3;
printf(a>b?
"***a=%d":
"###b=%d",a,b);
A:
没有正确的输出格式控制
B:
输出为:
***a=2
C:
输出为:
###b=2
D:
输出为:
***a=2###b=3
答案:
C
第31题(1.0分)题号:
929
以下四个字符序列中,能用作用户自定
义的标识符是().
A:
Putchar
B:
-double
C:
A123-
D:
int
答案:
A
第32题(1.0分)题号:
923
下列格式符中,可以用于以8进制形式输出整数的是().
A:
%d
B:
%8d
C:
%o
D:
%1d
答案:
C
第33题(1.0分)题号:
936
以下叙述中正确的是().
A:
输入项可以是一个
实型常量,如:
scanf("%f",3.5);
B:
只有格式控制,没有
输入项,也能正确输
入数据到内存,例如:
scanf("a=%d,b=%d");
C:
当输入一个实型数据
时,格式控制部分可以
规定小数点后的位数,
例如:
scanf("%4.2f",&d);
D:
当输入数据时,必须指
明变量地址,例如:
scanf("%f",&f);
答案:
D
第34题(1.0分)题号:
926
C语言中字符型(char)数据在内
存中的存储形式是().
A:
原码
B:
补码
C:
反码
D:
ASCII码
答案:
D
第35题(1.0分)题号:
946
关系表达式a≤x
A:
a<=x
B:
x>=a&&x
C:
x>=a||x
D:
!
(x=b)
答案:
B
第36题(1.0分)题号:
939
若w=1,x=2,y=3,z=4,条件表达式
ww:
yy:
z的值为().
A:
4
B:
3
C:
2
D:
1
答案:
D
第37题(1.0分)题号:
938
以下程序的输出结果是().
main()
{intx=0.5;charz='a';
printf("%d\n",(x&1)&&(z<'z'));}
A:
0
B:
1
C:
2
D:
3
答案:
A
第38题(1.0分)题号:
964
下列关于C语言的叙述,错误的是().
A:
大写字母和小写字母的意义相同
B:
不同类型的变量可以在一个表达式中
C:
在赋值表达式中等号(=)左边的变量和右边的值可以是不同的类型
D:
同一个运算符号在不同的场合可以有不同的含义
答案:
A
第39题(1.0分)题号:
947
下面程序的输出是().
main()
{intx=10,y=3;
printf("%d\n",x/y);}
A:
0
B:
1
C:
3
D:
不确定的值
答案:
C
第40题(1.0分)题号:
944
以下程序段输出结果是().
inta=11,b=12,c=13,s;
s=a++<=10&&b--<=2&&c++;
printf("%d,%d,%d,%d",s,a,b,c);
A:
0,12,12,13
B:
1,11,10,13
C:
0,11,10,12
D:
1,11,10,12
答案:
A
第41题(1.0分)题号:
957
设x、y、t均为int型变量,则执
行语句:
x=y=3;t=++x||++y;后,
y的值为().
A:
不定值
B:
4
C:
3
D:
1
答案:
C
第42题(1.0分)题号:
941
设有说明"intx=3,y=4;",则
"++x>y--?
x:
y"的值为().
A:
4
B:
1
C:
2
D:
3
答案:
D
第43题(1.0分)题号:
954
执行语句"k=5|3;"后,变量k的当前
值是().
A:
1
B:
8
C:
7
D:
2
答案:
C
第44题(1.0分)题号:
958
设inta=3,b=4;执行
printf("%d,%d",(a,b),(b,a));后
的输出结果是().
A:
3,4
B:
4,3
C:
3,3
D:
4,4
答案:
B
第45题(1.0分)题号:
955
数学式2≤x≤5在C程序中对应正确的表
达式为().
A:
(x>=2)且(x<=5)
B:
(x>=2)AND(x<=5)
C:
(x>=2)&&(x<=5)
D:
(2≤x)AND(x≤5)
答案:
C
第46题(1.0分)题号:
962
已知inta=15;
执行语句a<<2;以后,
变量a的值是().
A:
20
B:
40
C:
60
D:
80
答案:
C
第47题(1.0分)题号:
963
表达式sizeof(double)的值是().
A:
16
B:
2
C:
4
D:
8
答案:
D
第48题(1.0分)题号:
942
设有说明"intx=1,y=1,z=1,c;",
执行语句"c=--x&&--y||--z;"后,
x、y、z的值分别为().
A:
0、1、1
B:
0、0、1
C:
1、0、1
D:
0、1、0
答案:
D
第49题(1.0分)题号:
952
C语句"x*=y+2;"还可以写作().
A:
x=x*y+2;
B:
x=2+y*x;
C:
x=x*(y+2);
D:
x=y+2*x;
答案:
C
第50题(1.0分)题号:
953
在C语言中,要求运算数必须是整
型的运算符是().
A:
%
B:
/
C:
+
D:
!
答案:
A
第51题(1.0分)题号:
960
逗号表达式
"(a=3*5,a*4),a+15"的值是().
A:
15
B:
60
C:
30
D:
不确定
答案:
C
第52题(1.0分)题号:
966
设有如下的变量定义:
inti=10,a,b;
doublex=4.12,y=8.2;
则以下符合C语言语法的表达式是().
A:
a+=a-=(b=4)*(a=3)
B:
x%(-3.0);
C:
a=a*3=2
D:
y=float(i)
答案:
A
第53题(1.0分)题号:
961
已知inti=10;执行表达式"i||
(i=12)"后i的值是().
A:
10
B:
1
C:
12
D:
0
答案:
A
第54题(1.0分)题号:
948
若x、i、j和k都是int型变量,由x=(i=4,j=16,k=32)得x的值().
A:
4
B:
16
C:
32
D:
52
答案:
C
第55题(1.0分)题号:
956
C语句"k*=k+3;"还可以写作().
A:
k=k*k+3;
B:
k=3+k*k;
C:
k=k*(k+3);
D:
k=k+3*k;
答案:
C
第56题(1.0分)题号:
940
设ch是char型变量,其值为A,且有下
面的表达式:
ch=(ch>='A'&&ch<='Z')?
(ch+32):
ch
上面表达式的值是().
A:
A
B:
a
C:
Z
D:
z
答案:
B
第57题(1.0分)题号:
949
将字符g赋给字符变量c,正确的表
达式是().
A:
c=\147
B:
c="\147"
C:
c='\147'
D:
c='0147'
答案:
C
第58题(1.0分)题号:
959
设intx=1,y=1;表达式(!
x||y-
-)的值是().
A:
0
B:
1
C:
2
D:
-1
答案:
B
第59题(1.0分)题号:
951
表示关系x<=y<=z的C语言表达式为().
A:
(x<=y)&&(y<=z)
B:
(x<=y)and(y<=z)
C:
(x<=y<=z)
D:
(x<=y)&(y<=z)
答案:
A
第60题(1.0分)题号:
945
已知有声明intx=2;,以下表达式中值
不等于8的是().
A:
x+=2,x*2
B:
x+=x*=x
C:
(x+7)/2*((x+1)%2+1)
D:
x*7.2/x+1
答案:
D
第61题(1.0分)题号:
937
若a为int类型,且其值为3,则执行
完表达式a+=a-=a*a后,a的值是().
A:
-3
B:
9
C:
-12
D:
6
答案:
C
第62题(1.0分)题号:
950
若有以下定义:
chara;intb;
floatc;doubled;
则表达式a*b+d-c结果值的类型为().
A:
float
B:
int
C:
char
D:
double
答案:
D
第63题(1.0分)题号:
943
设有定义"floaty=3.45678;intx;
",则以下表达式中能实现将y中数值保
留小数点后2位,第3位四舍五入的表达
式是().
A:
y=(y*100+0.5)/100.0
B:
y=(y/100+0.5)*100.0
C:
y=y*100+0.5/100.0
D:
x=y*100+0.5,y=x/100.0
答案:
D
第64题(1.0分)题号:
965
C语句"x/=y-2;"还可以写作().
A:
x=x/y-2;
B:
x=2-y/x;
C:
x=x/(y-2);
D:
x=y-2/x;
答案:
C
第65题(1.0分)题号:
974
以下程序段中,与语句:
k=a>b?
(b>c?
1:
0):
0;功能相同的是()
A:
if((a>b)&&(b>c))k=1;
elsek=0;
B:
if((a>b)||(b>c))k=1;
elsek=0;
C:
if(a<=b)k=0;
elseif(b<=c)k=1;
D:
if(a>b)k=1;
elseif(b>c)k=1;
elsek=0;
答案:
A
第66题(1.0分)题号:
969
下列程序段执行后输出结果为()
inti=-1;
if(i<=0)printf("****\n");
elseprintf("%%%%\n");
A:
****C
B:
%%%%
C:
%%%%C
D:
****
答案:
D
第67题(1.0分)题号:
986
若k是int型变量,且有下面的程序片段:
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是()
A:
####
B:
&&&&
C:
####&&&&
D:
有语法错误,无输出结果
答案:
D
第68题(1.0分)题号:
970
若执行下面的程序时,从键盘上输入3和4,
则输出结果是________.
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a>b)s=b;s=s*s;
printf("%d\n",s);
}
A:
9
B:
16
C:
3
D:
4
答案:
A
第69题(1.0分)题号:
980
有以下程序
main()
{
inta,b,d=25;
a=d/10%9;
b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是()
A:
6,1
B:
2,1
C:
6,0
D:
2,0
答案:
B
第70题(1.0分)题号:
984
有以下程序
#include
main()
{inta,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
printf("%d,%d\n",a,b);
}
输出结果是()
A:
2,1
B:
3,2
C:
4,3
D:
2,-1
答案:
A
第71题(1.0分)题号:
983
下列条件语句中,功能与其他语句不同的是()
A:
if(a)printf("%d\n",x);elseprintf("%d\n",y);
B:
if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C:
if(a!
=0)printf("%d\n",x);elseprintf("%d\n",y);
D:
if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
答案:
D
第72题(1.0分)题号:
972
下列程序段中,能将变量x、y中值较大的数
保存到变量a,值较小的数保存到变量b的
程序段是______.
A:
if(x>y)
a=x;b=y;
elsea=y;b=x;
B:
if(x>y)
{a=x;b=y;}elsea=y;b=x;
C:
if(x>y)
{a=x;b=y;}
else
{a=y;b=x;}
D:
if(x>y)
{a=x;b=y;}
else(x{a=y;b=x;}
答案:
C
第73题(1.0分)题号:
973
与语句
if(a>b)if(c>d)x=1;elsex=2;
等价的是()
A:
if(a>b)
{if(c>d)
x=1;
elsex=2;}
B:
if(a>b)
{if(c>d)
x=1;}
else
x=2;
C:
if((a>b)
&&(c>d))
x=1;
else
x=2;
D:
if(a<=b)
x=2;
else
if(c>d)
x=1;
答案:
C答案应该是A
第74题(1.0分)题号:
976
下列各语句中,能够且仅输出
整型变量a、b中最大值的是()
A:
if(a>b)
printf(″%d\n″,a);
printf(″%d\n″,b);
B:
printf(″%d\n″,b);
if(a>b)printf(″%d\n″,a);
C:
if(a>b)
printf(″%d\n″,a);
elseprintf(″%d\n″,b);
D:
if(a
printf(″%d\n″,a);printf(″%d\n″,b);
答案:
C
第75题(1.0分)题号:
971
下面程序执行时,若从键盘输入5,则输出为().
main()
{inta;
scanf("%d",&a);
if(a++>5)printf("%d\n",a);
elseprintf("%d\n",--a);
}
A:
6
B:
7
C:
5
D:
4
答案:
D答案应该是C
第76题(1.0分)题号:
979
以下程序段中与语句k=a>b?
(b>c?
1:
0):
0;功能等价的是()
A:
if((a>b)&&(b>C))k=l;elsek=0;
B:
if((a>b)‖(b>C))k=l;elsek=O;
C:
if(a<=b)k=0;elseif(b<=C)k=1;
D:
if(a>b)k=1,elseif(b>C)k=l;elsek=0;
答案:
A
第77题(1.0分)题号:
985
以下程序的输出结果是()
main()
{inta=-1,b=4,k;
k=(++a〈0)&&!
(b--〈=0);
printf("%d%d%d\n",k,a,b);}
A:
104
B:
103
C:
3
D:
4
答案:
D
第78题(1.0分)题号:
981
有以下程序
main()
{inti=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d%d\n",i,j,k);
}
程序运行后的输出结果是()
A:
123
B:
234
C: