C语言复习题及参考答案处理 1Word文档格式.docx
- 文档编号:17572902
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:18
- 大小:30.27KB
C语言复习题及参考答案处理 1Word文档格式.docx
《C语言复习题及参考答案处理 1Word文档格式.docx》由会员分享,可在线阅读,更多相关《C语言复习题及参考答案处理 1Word文档格式.docx(18页珍藏版)》请在冰豆网上搜索。
n>
1;
n--)s=s+1/n;
printf(“%6.4f\n”,s);
}
程序运行后输出结果错误,导致错误结果的程序行是__C__。
A)s=1.0;
B)for(n=10;
n--) C)s=s+1/n;
D)printf(“%6.4f\n”,s);
14、在一个C程序中__B__。
A)main函数必须出现在所有函数之前。
B)main函数可以在任何地方出现。
C)main函数必须出现在所有函数之后。
D)main函数必须出现在固定位置。
15、下列关于C语言用户标识符的叙述中正确的是__B__。
A)用户标识中可以出现下划线和中划线(减号)。
B)用户标识符中不可以出现中划线,但可以出现下划线。
C)用户标识符中可以出现下划线,但不可以放在用户标识符的开头。
D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头。
16、有以下程序:
main(){inti=10,j=1;
printf(“%d,%d\n”,i--,++j);
执行后输出结果是__B_。
A)9,2B)10,2 C)9,1 D)10,1
17、、一个C语言的源程序中,___A__。
A)必须有一个主函数 B)可能有多个主函数
C)必须有除主函数外其它函数 D)可以没有主函数
18、C语言程序总是从_C__开始执行。
A)第一条语句 B)第一个函数 C)主函数 D)子程序
19、在C语言中,不正确的shortint类型常数是__A__。
A)32768 B)0 C)037 D)0xAF
20、C语言中运算对象必须是整形的运算符是__A__。
A)%=B)/C)=D)*=
21、设有intx=11;
,则表达式(x++*1/3)的值是__A__。
A)3 B)4 C)11 D)12
22、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是_C__。
A)1 B)2 C)2.0 D)12
23、若变量已正确定义并赋值,下面符合C语言语法的表达式是_B___。
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
24、假定有以下变量定义:
intk=7,x=12;
,则值为3的表达式是_D__。
A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)
25、设x和y均为int型变量,则下列语句:
x+=y;
y=x-y;
x-=y;
的功能是__D__。
A)把x和y按从大到小排列 B)把x和y按从小到大排列
C)无确定结果 D)交换x和y中的值
26、设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32)后,x的值为_C_。
A)4 B)16 C)32 D)52
27、有以下程序:
main(){intx=102,y=012;
printf(“%2d,%2d\n”,x,y);
执行后输出结果是__C__。
A)10,01 B)02,12 C)102,10 D)02,10
28、有定义语句:
intx,y;
,若要通过语句scanf(“%d,%d”,&
x,&
y);
使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是__C__。
A)11 12<
回车>
B)11, 12<
C)11,12<
D)11,<
12<
29、设有定义:
inta,*pa=&
a;
,以下scanf语句中能正确为变量a读入数据的是_A___。
A)scanf(“%d”,pa);
B)scanf(“%d”,a);
C)scanf(“%d”,&
pa);
D)scanf(“%d”,*pa);
30、若有变量a,i已正确定义,且i已正确赋值,合法的语句是_B___。
A)a==1 B)++i C)a=a++=5 D)a=int(i)
31、有如下程序:
main(){inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
运行该程序的输出结果是__D__。
A)3 4 B)4 2 C)4 3 D)3 3
32、以下程序的输出结果是__D__。
main(){intk=17;
printf(“%d,%o,%x\n”,k,k,k);
A)17,21,0x11 B)17,17,17
C)17,0x11,021 D)17,21,11
33、以下叙述正确是__D__。
A)输入项可以是一个实型常量,如:
scanf(“%d”,3.5)。
B)只有格式控制,没有输入项,能正确输入数据到内存,如:
scanf(“a=%d,b=%d);
。
C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf(“%4.2f”,&
f)。
D)当输入数据时,必须指明变量的地址,例如:
scanf(“%f”,&
f);
34、以下程序段中与语句k=a>
b?
(b>
c?
1:
0):
0;
功能等价的是__A__。
A)if((a>
b&
&
c))k=1;
elsek=0;
B)if((a>
b)||(b>
C)if(a<
=b)k=0;
elseif(b<
=c)k=1;
D)if(a>
b)k=1;
elseif(b>
c)k=1;
35、有以下程序:
此题应注意短路逻辑
main(){inta=1,b=2,m=0,n=0,k;
k=(n=b>
a)||(m=a<
b);
printf(“%d,%d\n”,k,m);
程序运行后的输出结果是__C__。
A)0,0 B)0,1 C)1,0 D)1,1
36、程序中对fun函数有如下说明C
void*fun();
此说明的含义是
A)fun函数无返回值
B)fun函数的返回值可以是任意的数据类型
C)fun函数的返回值是无值型的指针类型
D)指针fun指向一个函数,该函数无返回值
37、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值的为_A_。
if(a<
b)
if(c>
d)x=1;
elseif(a<
c)
if(b>
d)x=2;
elsex=3;
elsex=6;
elsex=7;
A)1 B)2 C)3 D)4
38、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是_C__。
A)c=b=a;
B)(a=c)||(b=c);
C)(a=c)&
(b=c);
D)a=c=b;
39、能正确表示逻辑关系:
“a≥10或a≤0”的C语言表达式是__D_。
A)a>
=10ora<
=0 B)a>
=0|a<
=10 C)a>
=10&
a<
=0 D)a>
=10||a<
=0
40、设有如下定义:
inta=1,b=2,c=3,d=4,m=2,n=2;
,则执行表达式:
(m=a>
b)&
(n=c>
d)后,n的值为_B__。
注意短路逻辑
A)1 B)2 C)3 D)0
41、语句:
printf(“%d”,(a=2&
(b=-2));
的输出结果是_D__。
A)无输出 B)结果不确定 C)-1 D)1
42、设intx=1,y=1;
,表达式(!
x||y--)的值是__B__。
A)0 B)1 C)2 D)-1
43、有以下程序:
main(){inti,s=0;
for(i=1;
i<
10;
i+=2)s+=i+1;
printf(“%d\n”,s);
程序执行后的输出结果是__D__。
A)自然数1~9的累加和 A)自然数1~10的累加和
C)自然数1~9中奇数之和 D)自然数1~10中偶数之和
44、有如下程序:
main(){ints=0,a=1,n;
scanf(“%d”,&
n);
do{s+=1;
a=a-2;
}while(a!
=n);
printf(“%d”,s);
若要使程序输出值为2,则应该从键盘输入的值是_B__。
A)-1 B)-3 C)-5 D)0
45、以下函数的功能是:
通过键盘输入数据,为数组中的所有元素赋值。
#defineN10
voidarrin(intx[N]){inti=0;
while(i<
N)scanf(“%d”,___);
在下划线处应填写的是_C__。
注意x为数组,它是地址
A)x+i B)&
x[i+1] C)x+(i++) D)&
x[++i]
46、有如下程序:
main(){inti,sum;
=3;
sum++)sum+=i;
printf(“%d\n”,sum);
该程序的执行结果是_C__。
A)6 B)3 C)死循环 D)0
47、有如下程序:
main(){intn=9;
while(n>
6){n--;
printf(“%d”,n);
}}
该程序段的输出结果是_B__。
A)987 B)876 C)8765 D)9876
48、以下程序的输出结果是_D__。
main(){intx=10,y=10,i;
for(i=0;
x>
8;
y=++i)printf(“%d%d”,x--,y);
A)10192 B)9876 C)10990 D)101091
49、以下程序的输出结果是_A__。
main(){intn=4;
while(n--)printf(“%d”,--n);
A)20 B)31 C)321 D)210
50、当执行以下程序段时,__A__。
x=-1;
do{x=x*x;
}while(!
x);
A)循环体将执行1次 B)循环体将执行2次
C)循环体将执行无限次 D)系统提示有语法错误
51、执行语句:
i++<
4;
);
后变量i的值是__C__。
A)3 B)4 C)5 D)不定
52、有如下程序段:
inta=14,b=15,x;
charc=’A’;
x=(a&
(c<
’B’);
执行该段程序后,x的值为__D__。
A)true B)false C)0 D)1
53、若程序中定义了以下函数:
doublemyadd(doublea,doubleb){return(a+b);
将其放在调用语句之后,则在调用之前应该对函数进行说明,以下选项中错误的说明是____。
A
A)doublemyadd(doublea,b) B)doublemyadd(double,double)
C)doublemyadd(doubleb,doublea) D)doublemyadd(doublex,doubley)
54、有以下函数定义:
voidfun(intn,doublex){……}
若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是_C__。
A)fun(inty,doublem);
B)k=fun(10,12.5);
C)fun(x,n);
D)voidfun(n,x);
55、设有定义:
intn=0,*p=&
n,**q=&
p;
下列选项中,正确的赋值语句是_D_。
A)p=1B)*q=2C)q=pD)*p=5
56、有以下程序:
#include<
stdio.h>
main(){printf(“%d\n”,NULL);
程序运行后的输出结果是__A_。
A)0B)1C)-1D)NULL没定义,出错
57、已经定义以下函数:
fun(int*p){return*p;
该函数的返回值是_C__。
A)不确定值B)形参p中存放的值
C)形参p所指存储单元中的值D)形参p的地址值
58、有以下程序段:
main(){inta=5,*b,**c;
c=&
b;
b=&
…}
程序在执行了c=&
语句后,表达式**c的值是__C_。
A)变量a的地址B)变量b中的值
C)变量a中的值D)变量b的地址
59、有如下程序段 int*p,a=10,b=1;
p=&
a=*p+b;
执行该程序段后,a的值为_B__。
A)12B)11C)10D)编译出错
60、下列程序的输出结果是_A__。
voidfunc(int*a,intb[]){b[0]=*a+6;
main(){inta,b[5];
a=0;
b[0]=3;
func(&
a,b);
printf(“%d\n”,b[0]);
A)6B)7C)8D)9
61、有以下程序:
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],b;
b=p[5];
b中的值是_D__。
A)5B)6C)8D)9
62、以下不能正确定义二维数组的选项是_D__。
A)inta[2][2]={{1},{2}}B)inta[][2]={1,2,3,4}
C)inta[2][2]={{1},2,3}D)inta[2][]={{1,2},{3,4}}
63、有以下程序:
main(){intm[][3]={1,4,7,2,5,8,3,6,9};
inti,j,k=2;
3;
i++)printf(“%d”,m[k][i]);
程序运行后的输出结果是_C__。
A)456B)258C)369D)789
二、填空题
1、以下sum函数的功能是计算下列级数之和。
,请给函数中的各变量正确赋初值。
doublesum(doublex,intn)
{inti;
doublea,b,s;
_________s=1.0;
a=1;
b=1;
=n;
i++)
{a=a*x;
b=b*i;
s=s+a/b;
}
returns;
2、若有语句:
inti=-19,j=i%4;
printf(“%d\n”,j);
则输出结果是__-3___。
(注:
%运算结果的符号与%前面数据的符号相同)
3、若有定义:
inta=10,b=9,c=8;
接着顺序执行下列语句后,变量b中的值是__3__。
c=(a-=(b-5));
c=(a%11)+(b=3);
4、设有以下变量定义,并已赋确定的值,charw;
intx;
floaty;
doublez;
则表达式:
w*x+z-y年求得的数据类型为__double或双精度型。
5、有以下语句段:
intn1=10,n2=20;
printf(“_____”,n1,n2);
\nn1=%d\nn2=%d
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
6、若有以下程序:
main(){inti,j;
scanf(“i=%d,j=%d”,&
i,&
j);
printf(“i=%d,j=%d\n”,i,j);
要求给i赋值10,给j赋值20,则应该从键盘输入_i=10,j=20<
____。
7、若想通过以下输入语句使得a=5.0,b=4,c=3,则输入数据的形式应该是_5.0,4,c=3<
或5,4,c=3<
_。
…….
intb,c;
floata;
scanf(“%f,%d,c=%d”,&
a,&
b,&
c);
……..
8、有4条语句:
x++;
、++x;
、x=x+1;
、x=1+x;
,执行后都使变量x中的值增1,写出一条同一功能的赋值语句(不得与列举的相同)__x+=1;
__。
9、以下程序的输出的结果是_261__。
main(){inta=177;
printf(“%o\n”,a);
10、以下程序的输出结果是_2,1___。
main(){inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf(“%d,%d\n”,a,b);
11、有以下程序:
main(){intn=0,m=1,x=2;
if(!
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf(“%d\n”,x);
执行后输出结果是_-4___。
12、以下程序运行后的输出结果是__3__。
main(){intp=30;
printf(“%d\n”,(p/3>
0?
p/10:
p%3));
13、以下程序运行后的输出结果是__yes__。
main(){inta=1,b=3,c=5;
if(c=a+b)printf(“yes\n”);
elseprintf(“no\n”);
14、有以下程序:
main(){intp,a=5;
if(p=a!
=0)printf(“%d”,p);
elseprintf(“%d\n”,p+2);
执行后输出结果是_1___。
15、下面程序的功能是:
输出100以内能被3整除且个位数为6的所有整数,请将程序补充完整,使之能完成需要的功能。
10或i<
=9j%3!
=0或j%3或j/3*3!
=j
for(i=0;
_____;
i++){
j=i*10+6;
if(___)continue;
printf(“%d”,j);
16、下面的if语句与y=(x>
=10)?
3*x-11:
(x<
1)?
x:
2*x-1;
的功能相同,请补充程序,使之能完成要求的功能。
1、x<
102、x>
=1
if(_1_)
if(_2__)y=2*x-1;
elsey=x;
elsey=3*x-11;
17、若x为int类型,请以最简单的形式写出与逻辑表达式!
x等价的C语言关系表达式__。
x==0
18、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是___。
x>
5||x<
-5
19、有以下程序:
main(){intt=1,i=5;
for(;
i>
=0;
i--)t*=i;
printf(“%d\n”,t);
执行后输出的结果是___。
0注意此题的技巧
20、执行以下程序后,输出’#’号的个数是___。
6
#include<
5;
for(j=2;
j<
=i;
j++)putchar(‘#’);
21、要使以下程序段输出10个整数,请填入一个整数。
=_____;
printf(“%d\n”,i+=2));
18或19
22、函数pi的功能是根据以下公式求π的近似值。
(π*π)/6=1+1/(2*2)+1/(3*3)+1/(n*n)
请在下面的函数中填空,完成求π的功能。
math.h>
doublepi(longn){
doubles=0.0;
longi;
for(i=1;
i++)s=s+____;
1.0/(i*i)
return(sqrt(6*s));
23、若输入字符串:
abcde<
,则以下while循环执行__0__次。
while((ch=getchar())==’e’)printf(“*”);
24、下面程序的功能是:
计算1~10之间奇数之和及偶数之和,请填空。
main(){inta,b,c,i;
a=c=0;
=10;
i+=2){a+=i;
______;
}c=c+i+1;
printf(“偶数之和=%d\n”,a);
printf(“奇数之和=%d\n”,c);
25、已知字符’A’的ASCII码值是65,以下语句的输出结果是____。
B66
charch=’B’;
printf(“%c%d\n”,ch,ch);
26、有以下程序:
main(){charch1,ch2;
intn1,n2;
ch1=getchar();
ch2=getchar();
n1=ch1-‘0’;
n2=n1*10+(ch2-‘0’);
printf(“%d\n”,n2);
程序运行时输入:
12<
,执行后输出结果是____。
12
27、以下程序运行后的输出结果是____。
b
main(){charm;
m=’B’+32;
printf(“%c\n”,m);
28、有以下程序:
main(){chara;
a=’H’-‘A’+’
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言复习题及参考答案处理 语言 复习题 参考答案 处理