C语言题库练习选择题.docx
《C语言题库练习选择题.docx》由会员分享,可在线阅读,更多相关《C语言题库练习选择题.docx(79页珍藏版)》请在冰豆网上搜索。
![C语言题库练习选择题.docx](https://file1.bdocx.com/fileroot1/2022-11/25/d91b001f-6e80-4408-9743-cc03016d1c0b/d91b001f-6e80-4408-9743-cc03016d1c0b1.gif)
C语言题库练习选择题
试卷编号:
65
所属语言:
C语言
试卷方案:
平时练习-选择
试卷总分:
276分
共有题型:
1种
━━━━━━━━━━━━━━━━━━
一、单项选择共276题(共计276分)
━━━━━━━━━━━━━━━━━━
第一章
第1题(1.0分)
下列字符序列中,可用作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
第2题(1.0分)
C语言程序从main()函数开始执行,所以这个函数要写在().
A:
程序文件的开始
B:
程序文件的最后
C:
程序文件的任何位置(除别的函数体内)
D:
它所调用的函数的前面
第3题(1.0分)
完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为().
A:
连接、编译
B:
编译、连接
C:
连接、运行
D:
运行
第4题(1.0分)
要调用文件处理函数时,在#include命令行中应包含().
A:
"ctype.h"
B:
"string.h"
C:
"stdio.h"
D:
"math.h"
第5题(1.0分)
以下数据中,不正确的数值或字符常量是()。
A:
0
B:
5L
C:
o13
D:
9861
第6题(1.0分)
在C语言中,错误的语句是().
A:
a=b=c;
B:
;
C:
break
D:
b=3*5,a*=4;
第7题(1.0分)
以下标识符中,不能作为合法的C用户定义标识符的是()。
A:
a3_b3
B:
void
C:
_123
D:
IF
第8题(1.0分)
一个C语言程序是由()组成.
A:
一个主程序和若干子程序
B:
函数
C:
若干过程
D:
若干子程序
第9题(1.0分)
C语言源程序的基本单位是()。
A:
过程
B:
函数
C:
子程序
D:
标识符
第二章
第10题(1.0分)
已知宏定义
#defineN3
#defineY(n)((N+1)*n)
执行语句z=2*(N+Y(5+1));变量z的值为().
A:
42
B:
48
C:
54
D:
出错
第11题(1.0分)
C语言文件系统中,整数1008若以ASCII形式存储,则占几个字节().
A:
2
B:
4
C:
1
D:
5
第12题(1.0分)
正确的自定义标识符是().
A:
if
B:
a*b
C:
iF
D:
8pq
第13题(1.0分)
设有说明语句chara='\101';,则变量a().
A:
包含4个字符
B:
包含2个字符
C:
包含3个字符
D:
包含1个字符
第14题(1.0分)
下面正确的字符常量是().
A:
"c"
B:
'\\''
C:
'W'
D:
'ab'
第15题(1.0分)
在main函数体内部和外部均允许出现的实体是().
A:
预处理命令
B:
语句
C:
另一函数的定义
D:
函数形式参数声明
第16题(1.0分)
若变量已正确说明为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<回车>
第17题(1.0分)
()是C语言提供的合法数据类型关键字.
A:
Float
B:
signed
C:
integer
D:
Char
第18题(1.0分)
下列选项中,合法的C语言关键字是().
A:
VAR
B:
cher
C:
integer
D:
default
第19题(1.0分)
使用语句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
第20题(1.0分)
宏定义"#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)
第21题(1.0分)
下述程序段的输出结果是().
intx=10;
inty=x++;
printf("%d,%d",(x++,y),y++);
A:
11,10
B:
11,11
C:
10,10
D:
10,11
第22题(1.0分)
以下不正确的C语言标识符是().
A:
2y
B:
a_1_2
C:
ablexe
D:
_x
第23题(1.0分)
以下所列的C语言常量中,错误的是().
A:
0Xff
B:
1.2e0.5
C:
2L
D:
'\72'
第24题(1.0分)
下列程序的输出是().
#include
main()
{printf("%d",NULL);}
A:
0
B:
变量无定义
C:
-1
D:
1
第25题(1.0分)
在C程序中,1如果用来表示逻辑值时,应代表().
A:
真
B:
假
C:
整数1
D:
长整型数1
第26题(1.0分)
以下答案中不是C语言最基本数据类型的是().
A:
逻辑型
B:
整型
C:
字符型
D:
实型
第27题(1.0分)
常数的书写格式决定了常数的类型和值,0x1011是().
A:
8进制整型常量
B:
字符常量
C:
16进制整型常数
D:
2进制整型常数
第28题(1.0分)
若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);
第29题(1.0分)
以下所列字符常量中,不合法的是().
A:
'\0xa2'
B:
'\65'
C:
'$'
D:
'\x2a'
第30题(1.0分)
若变量都已正确说明,则以下程序段().
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
第31题(1.0分)
以下四个字符序列中,能用作用户自定义的标识符是().
A:
Putchar
B:
-double
C:
A123-
D:
int
第32题(1.0分)
下列格式符中,可以用于以8进制形式输出整数的是().
A:
%d
B:
%8d
C:
%o
D:
%1d
第33题(1.0分)
以下叙述中正确的是().
A:
输入项可以是一个实型常量,如:
scanf("%f",3.5);
B:
只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf("a=%d,b=%d");
C:
当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf("%4.2f",&d);
D:
当输入数据时,必须指明变量地址,例如:
scanf("%f",&f);
第34题(1.0分)
C语言中字符型(char)数据在内存中的存储形式是().
A:
原码
B:
补码
C:
反码
D:
ASCII码
第三章
第35题(1.0分)
关系表达式a≤x
A:
a<=x
B:
x>=a&&x
C:
x>=a||x
D:
!
(x=b)
第36题(1.0分)
若w=1,x=2,y=3,z=4,条件表达式ww:
yy:
z的值为().
A:
4
B:
3
C:
2
D:
1
第37题(1.0分)
以下程序的输出结果是().
main()
{intx=0.5;charz='a';
printf("%d\n",(x&1)&&(z<'z'));}
A:
0
B:
1
C:
2
D:
3
第38题(1.0分)
下列关于C语言的叙述,错误的是().
A:
大写字母和小写字母的意义相同
B:
不同类型的变量可以在一个表达式中
C:
在赋值表达式中等号(=)左边的变量和右边的值可以是不同的类型
D:
同一个运算符号在不同的场合可以有不同的含义
第39题(1.0分)
下面程序的输出是().
main()
{intx=10,y=3;
printf("%d\n",x/y);}
A:
0
B:
1
C:
3
D:
不确定的值
第40题(1.0分)
以下程序段输出结果是().
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
第41题(1.0分)
设x、y、t均为int型变量,则执行语句:
x=y=3;t=++x||++y;后,y的值为().
A:
不定值
B:
4
C:
3
D:
1
第42题(1.0分)
设有说明"intx=3,y=4;",则"++x>y--?
x:
y"的值为().
A:
4
B:
1
C:
2
D:
3
第43题(1.0分)
执行语句"k=5|3;"后,变量k的当前值是().
A:
1
B:
8
C:
7
D:
2
第44题(1.0分)
设inta=3,b=4;执行printf("%d,%d",(a,b),(b,a));后的输出结果是().
A:
3,4
B:
4,3
C:
3,3
D:
4,4
第45题(1.0分)
数学式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)
第46题(1.0分)
已知inta=15;执行语句a<<2;以后,变量a的值是().
A:
20
B:
40
C:
60
D:
80
第47题(1.0分)
表达式sizeof(double)的值是().
A:
16
B:
2
C:
4
D:
8
第48题(1.0分)
设有说明"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
第49题(1.0分)
C语句"x*=y+2;"还可以写作().
A:
x=x*y+2;
B:
x=2+y*x;
C:
x=x*(y+2);
D:
x=y+2*x;
第50题(1.0分)
在C语言中,要求运算数必须是整型的运算符是().
A:
%
B:
/
C:
+
D:
!
第51题(1.0分)
逗号表达式"(a=3*5,a*4),a+15"的值是().
A:
15
B:
60
C:
30
D:
不确定
第52题(1.0分)
设有如下的变量定义:
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)
第53题(1.0分)
已知inti=10;执行表达式"i||
(i=12)"后i的值是().
A:
10
B:
1
C:
12
D:
0
第54题(1.0分)
若x、i、j和k都是int型变量,由x=(i=4,j=16,k=32)得x的值().
A:
4
B:
16
C:
32
D:
52
第55题(1.0分)
C语句"k*=k+3;"还可以写作().
A:
k=k*k+3;
B:
k=3+k*k;
C:
k=k*(k+3);
D:
k=k+3*k;
第56题(1.0分)
设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>='A'&&ch<='Z')?
(ch+32):
ch
上面表达式的值是().
A:
A
B:
a
C:
Z
D:
z
第57题(1.0分)
将字符g赋给字符变量c,正确的表达式是().
A:
c=\147
B:
c="\147"
C:
c='\147'
D:
c='0147'
第58题(1.0分)
设intx=1,y=1;表达式(!
x||y--)的值是().
A:
0
B:
1
C:
2
D:
-1
第59题(1.0分)
表示关系x<=y<=z的C语言表达式为().
A:
(x<=y)&&(y<=z)
B:
(x<=y)and(y<=z)
C:
(x<=y<=z)
D:
(x<=y)&(y<=z)
第60题(1.0分)
已知有声明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
第61题(1.0分)
若a为int类型,且其值为3,则执行
完表达式a+=a-=a*a后,a的值是().
A:
-3
B:
9
C:
-12
D:
6
第62题(1.0分)
若有以下定义:
chara;intb;
floatc;doubled;
则表达式a*b+d-c结果值的类型为().
A:
float
B:
int
C:
char
D:
double
第63题(1.0分)
设有定义"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
第64题(1.0分)
C语句"x/=y-2;"还可以写作().
A:
x=x/y-2;
B:
x=2-y/x;
C:
x=x/(y-2);
D:
x=y-2/x;
第四章
第65题(1.0分)
以下程序段中,与语句:
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;
第66题(1.0分)
下列程序段执行后输出结果为()
inti=-1;
if(i<=0)printf("****\n");elseprintf("%%%%\n");
A:
****C
B:
%%%%
C:
%%%%C
D:
****
第67题(1.0分)
若k是int型变量,且有下面的程序片段:
k=-3
if(k<=0)printf("####")
elseprintf("&&&&");
上面程序片段的输出结果是()
A:
####
B:
&&&&
C:
####&&&&
D:
有语法错误,无输出结果
第68题(1.0分)
若执行下面的程序时,从键盘上输入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
第69题(1.0分)
有以下程序
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
第70题(1.0分)
有以下程序
#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
第71题(1.0分)
下列条件语句中,功能与其他语句不同的是()
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);
第72题(1.0分)
下列程序段中,能将变量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第73题(1.0分)
与语句
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;}elsex=2;
C:
if((a>b)&&(c>d))x=1;elsex=2;
D:
if(a<=b)x=2;elseif(c>d)x=1;
第74题(1.0分)
下列各语句中,能够且仅输出整型变量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
第75题(1.0分)
下面程序执行时,若从键盘输入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
第76题(1.0分)
以下程序段中与语句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;
第77题(1.0分)
以下程序的输出结果是()
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
第78题(1.0分)
有以下程序
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:
223
D:
233
第79题(1.0分)
设有定义inta=1,b=2,c=3;以下语句中执行效果与其他三个不同的是
A:
if(a>b)c=a,a=b,b=c;
B:
if(a>b){c=a,a=b,b=c;}
C:
if(a>b)c=a;a=b;b=c;
D:
if(a>b){c=a;a=b;b=c;}
第80题(1.0分)
C语言的if语句中用作判断的表达式为________.
A:
关系表达式
B:
逻辑表达式
C:
算术表达式
D:
任意表达式
第81题(1.0分)
有如下程序
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec++;
printf(″%d\n″,c);
}
该程序的输出结果是()
A:
0
B:
1
C:
2
D:
3
第82题(1.0分)
有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x>10.0)y=1.0/x;
elsey=1.0;
printf("%f\n",y);}
该程序的输出结果是()
A:
0.000000
B:
0.250000
C:
0.500000
D:
1.000000
第83题(1.0分)
下列________结构不是C程序的结构?
A:
顺序结构
B:
循环结构
C:
程序结构
D:
选择结构
第84题(1.0分)
有以下程序
main()
{
inta=3,b=4,c=5,d=2;
if(a>b)
if(b>c)
printf("%d",d+++1);
else
printf("%d",++d+1);
printf("%d\n",d);
}
程序运行后的输出结果是()
A:
2
B:
3
C:
43
D:
44
第五章
第85题(1.0分)
有如下程序
main()
{inti,sum;
for(i=l;i<=3;sum++)sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是()
A:
6
B:
3
C:
死循环
D:
0
第86题(1.0分)
有以下程序段
intn=0,p;
do
{scanf("%d",&p);n++;}
while(p!
=12345&&n<3);
此处do-while循环的结束条件是().
A:
p的值不等于12345并且n的值小于3
B:
p的值等于12345并且n的值大于等于3
C:
p的值不等于12345或者n的值小于3
D:
p的值等于12345或者n的值大于等于3
第87题(1.0分)
设I和k都是