完整C语言上机题库百科园第3章南信大.docx
- 文档编号:13519465
- 上传时间:2023-06-14
- 格式:DOCX
- 页数:69
- 大小:60.20KB
完整C语言上机题库百科园第3章南信大.docx
《完整C语言上机题库百科园第3章南信大.docx》由会员分享,可在线阅读,更多相关《完整C语言上机题库百科园第3章南信大.docx(69页珍藏版)》请在冰点文库上搜索。
完整C语言上机题库百科园第3章南信大
第三章
1。
为表示关系x≥y≥z,应使用的表达式是
A。
(x〉=y)&&(y〉=z)
B。
(x〉=y>=z)
C。
(x>=y)AND(y〉=z)
D.(x>=y)&(y〉=z)
2.有以下程序
main()
{inti;
for(i=0;i<3;i++)
switch(i)
{case1:
printf("%d”,i);
case2:
printf(”%d",i);
default:
printf("%d",i);
}
}
执行后输出结果是
A.011122
B.120
C.012020
D.012
3。
对for(表达式1;;表达式3)可理解为()。
A.for(表达式1;1;表达式3)
B.for(表达式1;0;表达式3)
C.for(表达式1;表达式1;表达式3)
D.for(表达式1;表达式3;表达式3)
4。
若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf(”%d",i——);
A。
0次
B.1次
C。
无限次
D.2次
5.有以下程序段
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
6.有以下程序段
intn=0,p;
do
{
scanf("%d”,&p);
n++;
}while(p!
=12345&&n<3);
以下描述中正确的是()。
A.do—while循环中,根据情况可以省略while
B。
由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句
C。
do-while循环由do开始,用while结束,在while(表达式)后面不能写分号
D。
在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作
7.执行语句for(i=1;i++〈4;);后变量i的值是()。
A。
不定
B.3
C.4
D。
5
8。
有以下程序
main()
{
inta=5,b=4,c=3,d=2;
if(a〉b>c)
printf(”%d\n”,d);
elseif((c—1〉=d)==1)
printf(”%d\n”,d+1);
elseprintf(”%d\n”,d+2);
}
执行后输出结果是
A。
2
B。
4
C。
编译时出错
D.3
main()
{intx=1,a=0,b=0;
switch(x)
{case0:
b++;
case1:
a++;
case2:
a++;b++;}printf(”a=%d,b=%d",a,b);
}该程序的输出结果是()
A。
2,2
B。
2,1
C。
1,1
D.1,0
10.以下程序的功能是:
按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main()
{intn,k;
floatscore,sum,ave;
sum=0。
0;
for(n=1;n〈=10;n++)
{
for(k=1;k<=4;k++)
{
scanf("%f",&score);
sum+=score;
}
ave=sum/4.0;
printf(”NO%d:
%f\n",n,ave);
}
}
上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。
这条语句是
A。
ave=sum/4.0
B.sum=0。
0;
C.sum+=score;
D.printf(”NO%d:
%f\n",n,ave);
11。
运行以下程序后,输出的结果是
main()
{intk=—3;
if(k〈=0)
printf("****\n");
elseprintf("&&&&\n");
}
A.****
B.有语法错误不能通过编译
C.&&&&
D.****&&&&
12。
下面的程序片断所表示的数学函数关系是
y=—1;
if(x!
=0)y=1;
if(x>0)y=1;
elsey=0;
A。
B.
C。
D。
13。
以下程序的输出结果是
main()
{intx,i;
for(i=1;i〈=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d“,x);
}
printf(“\n”);
}
A.2870
B。
3981
C。
4284
D。
2668
14。
以下程序段中,与语句:
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=1;
elseif(b〉c)k=1;
elsek=0;
D.if(a<=b)k=0;
elseif(b<=c)k=1;
15。
为了避免在嵌套的条件语句if—else中产生二义性,C语言规定:
else子句总是与()配对.
A.其之后最近的if
B。
其之前最近的if
C。
缩排位置相同的if
D。
同一行上的if
16。
t为int类型,进人下面的循环之前,t的值为0
while(t=1)
{……}
则以下叙述中正确的是______。
A。
以上说法都不对
B。
循环控制表达式的值为1
C.循环控制表达式的值为0
D.循环控制表达式不合法
17。
以下程序段的输出结果是
intk,j,s;
for(k=2;k〈6;k++,k++)
{s=1;
for(j=k;j<6;j++)
s+=j;
}
printf(“%d\n”,s);
A。
15
B.10
C.24
D。
9
18。
语句while(!
E);中的表达式!
E等价于().
A.E!
=1
B。
E==0
C.E==1
D.E!
=0
19。
以下程序段的输出结果是
intx=3;
do
{pritnf(“%3d”,x—=2);
}while(!
(——x));
A.死循环
B。
1—2
C.30
D.1
20.以下程序的运行结果是()。
main()
{
inti=1,sum=0;
while(i<10)sum=sum+1;i++;
printf(”i=%d,sum=%d",i,sum);
}
A.i=10,sum=9
B。
运行出现错误
C。
i=2,sum=1
D.i=9,sum=9
21。
设有定义:
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;
22。
以下程序中,while循环的循环次数是______
main()
{
inti=0;
while(i<10)
{
if(i〈1)continue;
if(i==5)break;
i++;
}
}
A.死循环,不能确定次数
B.6
C.4
D.1
23。
选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。
哪个数作为逻辑“假”值()。
A.—1
B。
非零的数
C。
1
D.0
24。
inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。
A.1
B.不一定
C。
3
D.2
25。
有以下程序,若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()
#include〈stdio.h>
intmain()
{
intm,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
printf(”%d%d%d\n",m,n,p);
return0;
}
A.m=123n=456p=789
B.m=123n=456p=789
C.123456789
D。
m=123,n=456,p=789
26.有以下程序
main()
{
inti=1,j=1,k=2;
if((j++||k++)&&i++)
printf(”%d,%d,%d\n”,i,j,k);
}
执行后输出结果是
A。
2,2,2
B。
2,2,3
C。
1,1,2
D.2,2,1
27。
以下程序段的输出结果为().for(i=4;i〉1;i--)for(j=1;j
A.######
B。
无
C。
#
D。
###
28.有如下程序
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.500000
B.0.250000
C.1。
000000
D.0.000000
29.判断两个字符串是否相等,正确的表达方式是
A.while(s1=s2)
B.while(s1==s2)
C.while(strcmp(s1,s2)=0)
D。
while(strcmp(s1,s2)==0)
30。
若x是int类型变量,以下程序段的输出结果是
for(x=3;x<6;x++)
printf((x%2)?
(“**%d"):
(“##%d\n”),x);
A.
B.
C.
D.
31.C语言中,switch后的括号内表达式的值可以是
A.只能为整型和字符型
B.只能为整型
C。
任何类型
D.只能为整型,字符型,枚举型
32。
设j和k都是int类型,则下面的for循环语句().
for(j=0,k=0;j<=9&&k!
=876;j++)scanf(”%d”,&k);
A.最多执行9次
B。
循环体一次也不执行
C。
最多执行10次
D.是无限循环
33.inta=3,b=2,c=1;if(a>b〉c)a=b;elsea=c;则a的值为()。
A.2
B。
3
C。
1
D.0
34。
为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:
else总与()配对
A.同一行上的if
B。
其之后最近的if
C。
其之前最近的未配对的if
D。
缩排位置相同的if
35。
以下不正确的if语句形式是()。
A。
if(x B。 if(x〉y&&x! =y); C。 if(x==y)x+=y; D.if(x! =y)scanf("%d",&x)elsescanf(”%d",&y); 36。 结构化程序设计所规定的三种基本控制结构是(). A。 树形、网形、环形 B。 输入、处理、输出 C.主程序、子程序、函数 D。 顺序、选择、循环 37.以下程序的输出结果是 main() {inty=10 for(;y>0;y—-) if(y%3==0) {pritnf(“%d",—-y); continue; } } A.741 B.963 C.875421 D.852 38。 以下程序的执行结果是main() {intx=0,s=0; while(! x! =0)s+=++x; printf(”%d",s);} A。 。 无限循环 B.0 C.1 D。 语法错误 39。 inta=1,b=2,c=3;if(a>c)b=a;a=c;c=b;则c的值为()。 A。 3 B。 2 C。 不一定 D。 1 40.以下叙述正确的是()。 A。 do-while语句构成的循环不能用其它语句构成的循环来代替. B.用do-while语句构成的循环,在while后的表达式为零时结束循环 C.用do—while语句构成的循环,在while后的表达式为非零时结束循环. D.do—while语句构成的循环只能用break语句退出. 41。 假定所有变量均已正确定义,下列程序段运行后x的值是(). k1=1; k2=2; k3=3; x=15; if(! k1)x——; elseif(k2)x=4; elsex=3; A。 15 B。 14 C.3 D。 4 42。 有以下程序,程序运行后的输出结果是() #include h> intmain() { inti,j,m=1; for(i=1;i〈3;i++) {for(j=3;j>0;j——) {if(i*j>3)break; m*=i*j; } } printf(“m=%d\n”,m); return0; } A。 m=2 B。 m=6 C.m=4 D.m=5 43.以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x〈4);x++);()。 A。 4次 B。 是无限循环 C.3次 D。 循环次数不定 44.下列程序的输出结果是(). main() { intx=1,y=0,a=0,b=0; switch(x) { case1: switch(y) { case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++;break; } printf("a=%d,b=%d\n",a,b); } A.a=2,b=1 B.a=2,b=2 C.a=1,b=0\ D.a=1,b=1 45.有以下程序,当执行程序时,按下列方式输入数据(从第1列开始, 回车也是一个字符) 12〈CR〉 34〈CR〉 则输出结果是(B) #include〈stdio。 h> intmain() { chara,b,c,d; scanf(”%c%c",&a,&b); c=getchar();d=getchar(); printf(”%c%c%c%c\n”,a,b,c,d); return0; } A.12 34 B。 1234 C。 12 3 D.12 46。 以下程序的运行结果是(). main() {intn; for(n=1;n〈=10;n++) { if(n%3==0)continue; printf(”%d",n); } } A。 12 B.12457810 C。 1234567890 D.369 47.C语言中while和do-while循环的主要区别是()。 A.while的循环控制条件比do-while的循环控制条件更严格 B.do—while的循环体至少无条件执行一次 C。 do—while的循环体不能是复合语句 D。 do—while允许从外部转到循环体内 48。 以下不是无限循环的语句为()。 A.for(;;x++=i); B.while (1){x++;} C。 for(y=0,x=1;x>++y;x=i++)i=x; D。 for(i=10;;i--)sum+=i; 49。 从循环体内某一层跳出,继续执行循环外的语句是 A。 break语句 B.return语句 C.continue语句 D。 空语句 50。 下列程序的输出为()。 main() {inty=10; while(y—-); printf("y=%d\n”,y); } A.while构成无限循环 B.y=0 C.y=—1 D.y=1 51。 有以下程序,程序运行后的输出结果是() #include intmain() { inta=1,b=2; while(a<6){b+=a;a+=2;b%=10;} printf(“%d,%d\n”,a,b); return0; } A。 5,11 B.6,1 C.7,11 D.7,1 52。 在以下给出的表达式中,与do—-while(E)语句中的(E)不等价的 表达式是()。 A。 (E==0) B。 (E〉0||E〈0) C。 (! E==0) D.(E! =0) 53.以下程序段的输出结果是 inti,j,m=0; for(i=1;i<=15;i+=4) for(j=3;j<=19;j+=4) m++; printf(“%d\n”,m); A。 15 B.12 C.20 D。 25 54。 执行下列语句后的输出为(). intj=-1; if(j〈=1)printf(”****\n”); elseprintf(”%%%%\n"); A.%%%%c B。 有错,执行不正确 C。 **** D。 %%%% 55。 以下程序的执行结果是_______。 main() {intnum=0; while(num<=2){num++;printf(”%d,",num);}} A。 1,2,3, B.1,2,3,4, C。 1,2, D.0,1,2 56。 下面程序的运行结果是 #include〈stdio。 h〉 main() { inty=10; do{y--;}while(—-y); printf("%d\n”,y—-); } A.0 B.1 C.8 D。 —1 57。 若有定义语句inta,b;doublex;则下列选项中没有错误是() A。 switch((int)(x)%2) {case0.0: a++;break; case1。 0: b++;break; default: a++;b++; } B。 switch((int)x%2) {case0: a++;break; case1: b++;break; default: a++;b++; } C。 switch(x%2) {case0: a++;break; case1: b++;break; default: a++;b++; } D.switch((int)x%2。 0) {case0: a++;break; case1: b++;break; default: a++;b++; 58。 设a、b和c都是int变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是 A.a||b+c&&b—c B。 a〈=b C。 ! ((a〈b)&&! c||1) D。 a&&b 59。 C语言程序的三种基本结构是顺序结构、选择结构和______结构. A.递归 B。 转移 C.嵌套 D.循环 60。 在下述程序中,判断i〉j共执行了多少次 #include〈stdio。 h〉 main() { inti=0,j=10,k=2,s=0; for(;;) { i+=k; if(i〉j) { printf(“%d\n”,s); break; } s+=i; } } A.4 B。 8 C。 6 D。 7 61.while(fabs(t)〈1e—5)if(! s/10)break;循环结束的条件是(). A.fabs(t)<1e—5&&! s/10 B.fabs(t)〈1e—5 C。 t〉=1e—5&&t〈=—1e-5&&s〉—10&&s<10 D。 s/10==0 62.以下叙述正确的是: A.用do-while构成循环时,只有在while后的表达式为非零时结束循环 B。 do—while语句构成的循环不能用其它语句构成的循环来代替. C.用do—while构成循环时,只有在while后的表达式为零时结束循环 D.do—while语句构成的循环只能用break语句退出。 63。 以下程序的输出结果是 main() {inti,sum; for(i=1;i<6;i++) sum+=i; printf(“%d\n”sum); } A。 15 B.不确定 C。 16 D.0 64.有以下程序,程序运行后的输出结果是() #include〈stdio。 h> intmain() { charb,c;inti; b='a’;c=’A’; for(i=0;i〈6;i++) { if(i%2)putchar(i+b); elseputchar(i+c); } printf("\n"); return0; } A。 ABCDEF B.aBcDeF C。 abcdef D.AbCdEf 65.有如下程序 main() { intx=1,a=0,b=0; switch(x) { case0: b++; case1: a++; case2: a++;b++; } printf(”a=%d,b=%d\n”,a,b); } 该程序的输出结果是 A。 a=1,b=1 B。 a=2,b=1 C.a=1,b=0 D。 a=2,b=2 66.以下程序段中,能够正确地执行循环的是()。 A。 staticinta;while(a) B。 ints=6;dos—=2;while(s); C.for(i=1;i〉10;i++) D.ints=6;m: if(s<100)exit(0);elses-=2;gotom: 判断char型变量c是否为大写字母的C的表达式是 A。 ‘A’<=c<=’Z’ B.(‘A'<=c)AND(‘Z’>=c) C。 (c>='A’)&&(c〈=’Z’) D.(c>=’A')&(c〈=’Z’) 下列程序的输出结果是()。 main() {intx=1,y=0,a=0,b=0; switch(x) { case1: switch(y) { case0: a++;break; case1: b++;break; } case2: a++;b++;break; case3: a++;b++;break; } printf(”a=%d,b=%d\n”,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 语言 上机 题库 百科 章南信大