C语言题库15讲解.docx
- 文档编号:8237416
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:20
- 大小:20.33KB
C语言题库15讲解.docx
《C语言题库15讲解.docx》由会员分享,可在线阅读,更多相关《C语言题库15讲解.docx(20页珍藏版)》请在冰豆网上搜索。
C语言题库15讲解
试卷编号:
9690
所属语言:
C语言
试卷方案:
期中考试
试卷总分:
100分
共有题型:
5种
一、填空共15题(共计15分)
第1题(1.0分)题号:
528
设a、b、c为整型数,且a=2、b=3、c=4,则执行完以下语句:
a*=16+(b++)-(++c);
后,a的值是【1】.
答案:
=======(答案1)=======
28
第2题(1.0分)题号:
77
已知i=5;写出语句a=--i;执行后整型变量a的值是【1】.
答案:
=======(答案1)=======
4
第3题(1.0分)题号:
433
已知x=3,y=2,则表达式x*=y+8的值为【1】.
答案:
=======(答案1)=======
30
第4题(1.0分)题号:
437
以下程序的输出结果为【1】,
#include"stdio.h"main(){inta=010,j=10;printf("%d,%d\n",++a,j--);}
答案:
=======(答案1)=======
9,10
第5题(1.0分)题号:
436
下列程序的输出是【1】,
main(){inta=011;printf("%d\n",++a);}
答案:
=======(答案1)=======
10
第6题(1.0分)题号:
293
getchar()函数只能接收一个【1】.
答案:
=======(答案1)=======
字符
第7题(1.0分)题号:
98
已知a=13,b=6,!
a的十进制数值为【1】.
答案:
=======(答案1)=======
0
第8题(1.0分)题号:
255
表达式18&&53的值是【1】.
答案:
=======(答案1)=======
1
第9题(1.0分)题号:
86
写出表达式1.234&&5.982的值是【1】.
答案:
=======(答案1)=======
1
第10题(1.0分)题号:
438
以下程序的输出结果为【1】,
#include"stdio.h"main(){inta;for(a=0;a<10;a++);printf("%d",a);}
答案:
=======(答案1)=======
10
第11题(1.0分)题号:
594
若所用变量都已正确定义,请填写以下程序段的输出结果【1】.
for(i=1;i<=5;i++);
printf("OK\n");
答案:
=======(答案1)=======
OK
第12题(1.0分)题号:
532
以下do-while语句中循环体的执行次数是【1】.
a=10;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
答案:
=======(答案1)=======
3
第13题(1.0分)题号:
340
C语言中,二维数组在内存中的存放方式为按【1】优先存放.
答案:
=======(答案1)=======
行
第14题(1.0分)题号:
331
C程序在执行过程中,不检查数组下标是否【1】.
答案:
=======(答案1)=======
越界
第15题(1.0分)题号:
332
若有以下数组a,数组元素:
a[0]~a[9],其值为
941282107513
该数组可用的最小下标值是【1】.
答案:
=======(答案1)=======
0
二、判断共15题(共计15分)
第1题(1.0分)题号:
933
在C语言中,变量必需先定义后使用
答案:
Y
第2题(1.0分)题号:
717
x*=y+8等价于x=x*(y+8).
答案:
Y
第3题(1.0分)题号:
878
若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28.
答案:
N
第4题(1.0分)题号:
943
使用putchar函数时,必须在之前包含头文件stdio.h
答案:
Y
第5题(1.0分)题号:
720
语句printf("%f%%",1.0/3);输出为0.333333.
答案:
N
第6题(1.0分)题号:
716
若i=3,则printf("%d",-i++);输出的值为-4.
答案:
N
第7题(1.0分)题号:
930
关于if语句中,条件表达式只能是关系表达式或逻辑表达式
答案:
N
第8题(1.0分)题号:
956
在switch-case语句中,必须使用default语句.
答案:
N
第9题(1.0分)题号:
951
在执行switch语句时,default和各个case的出现次序不影响执行结果.
答案:
Y
第10题(1.0分)题号:
952
do-while循环是先判断循环条件表达式,后执行循环体;while循环是先执行循环体,后判断循环条件表达式.
答案:
N
第11题(1.0分)题号:
953
C语言中的for语句可以用于循环次数已经确定的情况,但是不能用于循环次数不确定而只给出循环结束条件的情况.
答案:
N
第12题(1.0分)题号:
954
continue语句只结束本次循环,而不是终止整个循环的执行.break语句则是结束整个循环过程,不再判断执行循环的条件是否成立.
答案:
Y
第13题(1.0分)题号:
736
inta[3][4]={{1},{5},{9}};它的作用是将数组各行第一列
的元素赋初值,其余元素值为0.
答案:
Y
第14题(1.0分)题号:
926
任何数组的下标都是从0开始;
答案:
Y
第15题(1.0分)题号:
735
如果想使一个数组中全部元素的值为0,可以写成
inta[10]={0*10};
答案:
N
三、单项选择共20题(共计40分)
第1题(2.0分)题号:
2219
设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y
值的数据类型为().
A:
float
B:
char
C:
int
D:
double
答案:
D
第2题(2.0分)题号:
2005
以下不正确的叙述是().
A:
在C程序中所用的变量必须先定义后使用
B:
程序中,APH和aph是两个不同的变量
C:
若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变
D:
当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值
答案:
D
第3题(2.0分)题号:
2194
C语言表达式a=15,a%6的值是
A:
15
B:
3
C:
2
D:
非法表达式
答案:
B
第4题(2.0分)题号:
2039
若k为int型变量,则以下程序段的执行结果是().
k=-8567;printf("k=|%06D|\n");
A:
格式描述符不合法,输出无定值
B:
输出为k=|%06D|
C:
输出为|0-8567|
D:
输出为|-8567|
答案:
B
第5题(2.0分)题号:
2044
下列程序的输出结果为().
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
答案:
A
第6题(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
第7题(2.0分)题号:
2143
inta=1,b=2,c=3;
if(a>c)b=a;a=c;c=b;则c的值为().
A:
1
B:
2
C:
3
D:
不一定
答案:
B
第8题(2.0分)题号:
2046
以下程序的输出结果是().
main()
{inti,j,k,a=3,b=2;
i=(--a==b++)?
--a:
++b;
j=a++;k=b;
printf("i=%d,j=%d,k=%d\n",i,j,k);
}
A:
i=2,j=1,k=3
B:
i=1,j=1,k=2
C:
i=4,j=2,k=4
D:
i=1,j=1,k=3
答案:
D
第9题(2.0分)题号:
2210
若有条件表达式(exp)?
a++:
b--,则以下表达式中能完全等价于
表达式(exp)的是().
A:
(exp==0)
B:
(exp!
=0)
C:
(exp==1)
D:
(exp!
=1)
答案:
B
第10题(2.0分)题号:
2062
假定所有变量均已正确定义,下列程序段运行后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
答案:
B
第11题(2.0分)题号:
2144
inta=1,b=2,c=3;
if(a>b)a=b;
if(a>c)a=c;
则a的值为().
A:
1
B:
2
C:
3
D:
不一定
答案:
A
第12题(2.0分)题号:
2248
下面有关for循环的正确描述是().
A:
for循环只能用于循环次数已经确定的情况
B:
for循环是先执行循环循环体语句,后判断表达式
C:
在for循环中,不能用break语句跳出循环体
D:
for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
答案:
D
第13题(2.0分)题号:
2246
以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);().
A:
是无限循环
B:
循环次数不定
C:
4次
D:
3次
答案:
C
第14题(2.0分)题号:
2251
以下不是无限循环的语句为().
A:
for(y=0,x=1;x>++y;x=i++)i=x;
B:
for(;;x++=i);
C:
while
(1){x++;}
D:
for(i=10;;i--)sum+=i;
答案:
A
第15题(2.0分)题号:
2061
在以下给出的表达式中,与do--while(E)语句中的(E)不等价的
表达式是().
A:
(!
E==0)
B:
(E>0||E<0)
C:
(E==0)
D:
(E!
=0)
答案:
C
第16题(2.0分)题号:
2123
设j和k都是int类型,则for循环语句().
for(j=0,k=0;j<=9&&k!
=876;j++)scanf("%d",&k);
A:
最多执行10次
B:
最多执行9次
C:
是无限循环
D:
循环体一次也不执行
答案:
A
第17题(2.0分)题号:
2273
设有数组定义:
chararray[]="China";则数组array所占的
空间为().
A:
4个字节
B:
5个字节
C:
6个字节
D:
7个字节
答案:
C
第18题(2.0分)题号:
2275
以下对二维数组a的正确说明是().
A:
inta[3][]
B:
floata(3,4)
C:
doublea[1][4]
D:
floata(3)(4)
答案:
C
第19题(2.0分)题号:
2282
以下能对二维数组a进行正确初始化的语句是().
A:
inta[2][]={{1,0,1},{5,2,3}};
B:
inta[][3]={{1,2,3},{4,5,6}};
C:
inta[2][4]={{1,2,3},{4,5},{6}};
D:
inta[][3]={{1,0,1}{},{1,1}};
答案:
B
第20题(2.0分)题号:
2152
若chara[10];已正确定义,以下语句中不能从键盘上给a数组的
所有元素输入值的语句是().
A:
gets(a);
B:
scanf("%s",a);
C:
for(i=0;i<10;i++)a[i]=getchar();
D:
a=getchar();
答案:
D
四、程序填空共4题(共计24分)
第1题(6.0分)题号:
11
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
以下程序的功能是求100-999之间的水仙花数(水仙花数
是指一个三位数的各位数字的立方和是这个数本身,
如:
153=1^3+5^3+3^3)。
-------------------------------------------------------*/
intfun(intn)
{inti,j,k,m;
m=n;
/***********SPACE***********/
【?
】
for(i=1;i<4;i++)
{
/***********SPACE***********/
【?
】
m=(m-j)/10;
k=k+j*j*j;
}
/***********SPACE***********/
if(k==n)【?
】
elsereturn(0);}
main()
{
inti;
for(i=100;i<1000;i++)
/***********SPACE***********/
if(【?
】==1)printf("%disok!
\n",i);
}
答案:
=======(答案1)=======
k=0;
=======(答案2)=======
j=m%10;
=========或=========
j=m-m/10*10
=========或=========
j=m-10*(m/10)
=======(答案3)=======
return
(1);
=======(答案4)=======
fun(i)
第2题(6.0分)题号:
429
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
从读入的整数数据中,统计大于零的整数个数和小于零的
整数个数。
用输入零来结束输入,程序中用变量i统计大于
零的整数个数,用变量j统计小于零的整数个数。
-------------------------------------------------------*/
#include
main()
{intk,n,i,j;
printf("EnterINTnumber,with0toend\n");
i=j=0;
scanf("%d",&n);
while(n!
=0)
/***********SPACE***********/
{if(n>0)i=【?
】;
/***********SPACE***********/
if(n<0)j=【?
】;
/***********SPACE***********/
scanf("%d",【?
】);
}
printf("i=%4d\n",i,j);
}
答案:
=======(答案1)=======
i+1
=======(答案2)=======
j+1
=======(答案3)=======
&n
第3题(6.0分)题号:
423
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
考查字符串数组的应用。
输出26个英文字母。
-------------------------------------------------------*/
#include
voidmain(void)
{
charstring[256];
inti;
/***********SPACE***********/
for(i=0;i<26;【?
】)
/***********SPACE***********/
string[i]=【?
】;
string[i]='\0';
/***********SPACE***********/
printf("thearrarycontains%s\n",【?
】);
}
答案:
=======(答案1)=======
i++
=========或=========
++i
=========或=========
i=i+1
=========或=========
i+=1
=======(答案2)=======
'A'+i
=========或=========
i+'A'
=========或=========
65+i
=========或=========
i+65
=======(答案3)=======
string
第4题(6.0分)题号:
4
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
题目:
下面的程序是求1!
+3!
+5!
+……+n!
的和,程序中有4个
空,填空使程序完整。
-------------------------------------------------------*/
main()
{
longintf,s;
inti,j,n;
/***********SPACE***********/
【?
】
scanf("%d",&n);
/***********SPACE***********/
for(i=1;i<=n;【?
】)
{
f=1;
/***********SPACE***********/
for(j=1;【?
】;j++)
/***********SPACE***********/
【?
】
s=s+f;
}
printf("n=%d,s=%ld\n",n,s);
}
答案:
=======(答案1)=======
s=0;
=======(答案2)=======
i+=2
=========或=========
i=i+2
=========或=========
i++,i++
=======(答案3)=======
j<=i
=========或=========
i>=j
=========或=========
j
=========或=========
i+1>j
=======(答案4)=======
f=f*j;
=========或=========
f*=j;
五、程序设计共1题(共计6分)
第1题(6.0分)题号:
325
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
编写函数fun其功能是:
能计算从1开始到n的
自然数中偶数的平方的和,n由键盘输入,
并在main()函数中输出。
(n是偶数)
--------------------------------------------------
注意:
部分源程序给出如下。
请勿改动主函数main
和其它函数中的任何内容,仅在函数fun的花
括号中填入所编写的若干语句。
------------------------------------------------*/
#include"stdio.h"
intfun(intn)
{
/**********Program**********/
/**********End**********/
}
main()
{intm;
printf("Enterm:
");
scanf("%d",&m);
printf("\nTheresultis%d\n",fun(m));
yzj();
getch();
}
yzj()
{
FILE*IN,*OUT;
intt;
into;
intc;
IN=fopen("in.dat","r");
if(IN==NULL)
{printf("ReadFileError");
}
OUT=fopen("out.dat","w");
if(OUT==NULL)
{printf("WriteFileError");
}
for(c=1;c<=5;c++)
{fscanf(IN,"%d",&t);
o=fun(t);
fprintf(OUT,"%d\n",o);
}
fclose(IN);
fclose(OUT);
}
答案:
----------------------
intsum,i;
sum=0;
for(i=2;i<=n;i=i+2)
{
sum=sum+i*i;}
return(sum);
----------------------
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 题库 15 讲解
![提示](https://static.bdocx.com/images/bang_tan.gif)