C语言题库7.docx
《C语言题库7.docx》由会员分享,可在线阅读,更多相关《C语言题库7.docx(19页珍藏版)》请在冰点文库上搜索。
C语言题库7
试卷编号:
9619
所属语言:
C语言
试卷方案:
练习1
试卷总分:
100分
共有题型:
5种
一、填空共8题(共计8分)
第1题(1.0分)题号:
84
写出语句b=(a=6,a*3);执行后整型变量b的值是【1】.
答案:
=======(答案1)=======
18
第2题(1.0分)题号:
93
已知a=13,b=6,a/b的十进制数值为【1】.
答案:
=======(答案1)=======
2
第3题(1.0分)题号:
293
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第4题(1.0分)题号:
498
c语言程序的三种基本结构是:
顺序结构,选择结构,【1】结构.
答案:
=======(答案1)=======
循环
第5题(1.0分)题号:
82
已知i=5,写出语句a=(i>5)?
0:
1;执行后整型变量a的值是【1】.
答案:
=======(答案1)=======
1
第6题(1.0分)题号:
310
当a=3,b=2,c=1;时,执行以下程序段后c=【1】.
if(a>b)a=b;
if(b>c)b=c;
elsec=b;
c=a;
答案:
=======(答案1)=======
2
第7题(1.0分)题号:
533
设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】.
for(x=0,y=0;y!
=123&&x<3;x++)
scanf("%d",&y);
答案:
=======(答案1)=======
3
第8题(1.0分)题号:
532
以下do-while语句中循环体的执行次数是【1】.
a=10;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
答案:
=======(答案1)=======
3
二、判断共15题(共计15分)
第1题(1.0分)题号:
718
a=(b=4)+(c=6)是一个合法的赋值表达式.
答案:
Y
第2题(1.0分)题号:
878
若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28.
答案:
N
第3题(1.0分)题号:
928
C程序中的关键字必须小写.
答案:
Y
第4题(1.0分)题号:
717
x*=y+8等价于x=x*(y+8).
答案:
Y
第5题(1.0分)题号:
944
C语言中,赋值表达式加上分号就构成了赋值语句.
答案:
Y
第6题(1.0分)题号:
961
C语言本身并不提供输入输出语句.但可以通过输入输出函数来实现数据的输入输出.
答案:
Y
第7题(1.0分)题号:
947
printf函数中,%c和%s都可以输出字符串.
答案:
N
第8题(1.0分)题号:
720
语句printf("%f%%",1.0/3);输出为0.333333.
答案:
N
第9题(1.0分)题号:
723
若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真".
答案:
Y
第10题(1.0分)题号:
869
若有inti=10,j=0;则执行完语句
if(j=0)i++;elsei--;i的值为11.
答案:
N
第11题(1.0分)题号:
950
逻辑运算符中的"&&"和"||"低于关系运算符,"!
"高于算术运算符.
答案:
Y
第12题(1.0分)题号:
722
关系运算符<=与==的优先级相同.
答案:
N
第13题(1.0分)题号:
952
do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.
答案:
N
第14题(1.0分)题号:
953
C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.
答案:
N
第15题(1.0分)题号:
954
continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.
答案:
Y
三、单项选择共20题(共计40分)
第1题(2.0分)题号:
2007
以下标识符中,不能作为合法的C用户定义标识符的是().
A:
answer
B:
to
C:
signed
D:
_if
答案:
C
第2题(2.0分)题号:
2034
下列程序的输出结果是().
main()
{inta=011;
printf("%d\n",++a);
}
A:
12
B:
11
C:
10
D:
9
答案:
C
第3题(2.0分)题号:
2008
以下标识符中,不能作为合法的C用户定义标识符的是().
A:
putchar
B:
_double
C:
_123
D:
INT
答案:
A
第4题(2.0分)题号:
2233
下列四组选项中,均不是C语言关键字的选项是().
A:
defineIFtype
B:
getccharprintf
C:
includescanfcase
D:
whilegopow
答案:
A
第5题(2.0分)题号:
2036
若int类型数据占两个字节,则下列语句的输出为().
intk=-1;printf("%d,%u\n",k,k);
A:
-1,-1
B:
-1,32767
C:
-1,32768
D:
-1,65535
答案:
D
第6题(2.0分)题号:
2135
下列程序段的输出结果为().
intx=3,y=2;
printf("%d",(x-=y,x*=y+8/5));
A:
1
B:
7
C:
3
D:
5
答案:
C
第7题(2.0分)题号:
2131
doublex;scanf("%lf",&x);不可以赋值给x变量的常量是().
A:
123
B:
100000
C:
2.5
D:
"abc"
答案:
D
第8题(2.0分)题号:
2043
已知字母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:
格式描述和输出项不匹配,输出无定值
答案:
C
第9题(2.0分)题号:
2253
C语言中用于结构化程序设计的三种基本结构是().
A:
顺序结构、选择结构、循环结构
B:
if、switch、break
C:
for、while、do-while
D:
if、for、continue
答案:
A
第10题(2.0分)题号:
2042
若a是float型变量,b是unsigned型变量,以下输入语句中合法的是().
A:
scanf("%6.2f%d",&a,&b);
B:
scanf("%f%n",&a,&b);
C:
scanf("%f%3o",&a,&b);
D:
scanf("%f%f",&a,&b);
答案:
C
第11题(2.0分)题号:
2002
在C语言中,能代表逻辑值"真"的是().
A:
True
B:
大于0的数
C:
非0整数
D:
非0的数
答案:
D
第12题(2.0分)题号:
2027
下列运算符中,不属于关系运算符的是().
A:
<
B:
>
C:
>=
D:
!
答案:
D
第13题(2.0分)题号:
2146
求平方根函数的函数名为().
A:
cos
B:
abs
C:
pow
D:
sqrt
答案:
D
第14题(2.0分)题号:
2028
假设所有变量均为整型,表达式:
a=2,b=5,a>b?
a++:
b++,a+b的值
是().
A:
7
B:
8
C:
9
D:
2
答案:
B
第15题(2.0分)题号:
2063
执行下列语句后的输出为().
intj=-1;
if(j<=1)printf("****\n");
elseprintf("%%%%\n");
A:
****
B:
%%%%
C:
%%%%c
D:
有错,执行不正确
答案:
A
第16题(2.0分)题号:
2066
下列程序的输出为().
main()
{inty=10;
while(y--);
printf("y=%d\n",y);
}
A:
y=0
B:
while构成无限循环
C:
y=1
D:
y=-1
答案:
D
第17题(2.0分)题号:
2246
以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);().
A:
是无限循环
B:
循环次数不定
C:
4次
D:
3次
答案:
C
第18题(2.0分)题号:
2147
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
答案:
A
第19题(2.0分)题号:
2254
对for(表达式1;;表达式3)可理解为().
A:
for(表达式1;0;表达式3)
B:
for(表达式1;1;表达式3)
C:
for(表达式1;表达式1;表达式3)
D:
for(表达式1;表达式3;表达式3)
答案:
B
第20题(2.0分)题号:
2069
设j和k都是int类型,则for循环语句
for(j=0,k=0;j<=9&&k!
=876;j++)scanf("%d",&k);().
A:
最多执行10次
B:
最多执行9次
C:
是无限循环
D:
循环体一次也不执行
答案:
A
四、程序填空共3题(共计27分)
第1题(9.0分)题号:
405
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
要求输出结果为:
A,B
65,66
-------------------------------------------------------*/
#include
voidmain()
/***********SPACE***********/
{chara,【?
】
/***********SPACE***********/
a=【?
】;
b='b';
a=a-32;
/***********SPACE***********/
b=b-【?
】;
printf("%c,%c\n%d,%d\n",a,b,a,b);
}
答案:
=======(答案1)=======
b;
=======(答案2)=======
'a'
=========或=========
97
=======(答案3)=======
32
第2题(9.0分)题号:
428
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
输入一个学生的生日(年:
y0、月:
m0、日:
d0),并输
入当前日期(年:
y1、月:
m1、日:
d1)。
求出该学生的
年龄(实足年龄)。
-------------------------------------------------------*/
#include
main()
{intage,y0,y1,m0,m1,d0,d1;
printf("输入生日日期(年、月、日)");
/***********SPACE***********/
【?
】("%d%d%d",&y0,&m0,&d0);
printf("输入当前日期(年、月、日)");
scanf("%d%d%d",&y1,&m1,&d1);
age=y1-y0;
/***********SPACE***********/
if(m0【?
】m1)age--;
/***********SPACE***********/
if((m0【?
】m1)&&(d0>d1))age--;
printf("age=%3d",age);
}
答案:
=======(答案1)=======
scanf
=======(答案2)=======
>
=======(答案3)=======
==
第3题(9.0分)题号:
426
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
百马百担问题:
有100匹马,驮100担货,大马驮三担,中
马驮2担,两匹小马驮一担,求大、中、小马各多少匹?
-------------------------------------------------------*/
#include
main()
{inthb,hm,hl,n=0;
/***********SPACE***********/
for(hb=0;hb<=100;hb+=【?
】)
/***********SPACE***********/
for(hm=0;hm<=100-hb;hm+=【?
】)
/***********SPACE***********/
{hl=100-hb-【?
】;
/***********SPACE***********/
if(hb/3+hm/2+2*【?
】==100)
{n++;
printf("hb=%d,hm=%d,hl=%d\n",hb/3,hm/2,2*hl);
}
}
printf("n=%d\n",n);
getch();
}
答案:
=======(答案1)=======
3
=======(答案2)=======
2
=======(答案3)=======
hm
=======(答案4)=======
hl
五、程序设计共1题(共计10分)
第1题(10.0分)题号:
406
/*------------------------------------------------
【程序设计】
--------------------------------------------------
*题目:
编写函数fun计算下列分段函数的值:
x*x+x+6x<0且x≠-3
f(x)=x*x-5x+60≤x<10且x≠2及x≠3
x*x-x-1其它
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数
main和其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
------------------------------------------------*/
#include"stdio.h"
floatfun(floatx)
{
/**********Program**********/
/**********End**********/
}
main()
{floatx,f;
printf("Inputx=");
scanf("%f",&x);
f=fun(x);
printf("x=%f,f(x)=%f\n",x,f);
getch();
yzj();
}
yzj()
{
FILE*IN,*OUT;
intn;
floati;
floato;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("WriteFileError");
}
for(n=0;n<10;n++)
{
fscanf(IN,"%f",&i);
o=fun(i);
fprintf(OUT,"%f\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
OUT.Dat为空
floaty;
if(x<0&&x!
=-3.0)
y=x*x+x+6;
elseif(x>=0&&x<10.0&&x!
=2.0&&x!
=3.0)
y=x*x-5*x+6;
elsey=x*x-x-1;
returny;
----------------------