补充练习第三章流程控制Word格式.docx
- 文档编号:17817835
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:17
- 大小:22.60KB
补充练习第三章流程控制Word格式.docx
《补充练习第三章流程控制Word格式.docx》由会员分享,可在线阅读,更多相关《补充练习第三章流程控制Word格式.docx(17页珍藏版)》请在冰豆网上搜索。
。
A.<=
B./
C.!
D.&&
7.假设所有变量均为整型,表达式(a=2,b=5,a>b?
a++:
b++,a+b)的值是:
A.7
B.8
C.9
D.2
8.在C语言中,能代表逻辑值"
真"
的是
A.true
B.大于0的数
C.非0整数
D.非0的数
9.在以下运算符中,优先级最高的运算符是
A.!
B.=
C.+
D.
||
10.逻辑运算符两侧运算对象的数据类型
A.只能是0或1
B.只能是0或非0正数
C.只能是整型或字符型数据
D.可以是任何类型的数据
11.当执行以下程序段时,供选择的答案是___________。
x=-1;
do{
x=x*x;
}
while(!
A.
循环体将执行一次
B.循环体将执行两次
C.循环体将执行无限次
D.系统提示有语法错误
12.执行语句:
for(i=1;
i++<
4;
);
后,变量i的值,供选择的答案是___________。
3
B.4
C.5
D.不定
13.以下for循环是:
for(x=0,y=0;
(y!
=123)&
(x<
4);
x++);
A.
无限循环
B.循环次数不变
C.执行4次
D.执行3次
14.若i,j已定义为int类型,则以下程序段中
for(i=5;
i;
i--)
for(j=0;
j<
j++){…}
内循环体的总的执行次数,供选择的答案是___________。
20
B.24
C.25
D.30
15.执行下列程序段后,变量i的正确结果,供选择的答案是___________。
inti=10,j=0;
do{
switch(i)
{
case9
:
i++;
case10:
case11:
defaut
}while(j);
A.10
B.11
C.12
D.13
16.若a,b均为int型变量,且a=100,则关于循环语句
for(b=100;
a!
=b;
++a,b++)printf(“---“);
的正确说法,供选择的答案是___________。
循环体只执行一次,
B.是死循环,
C.循环体一次也不执行,
D.输出---.
17.以下不正确的描述,供选择的答案是___________。
用while和do-while循环时,循环变量初绐化的操作应在循环语句之前完成;
B.
while循环是先判断表达式,后执行循环语句;
C.
do-while和for循环均是先执行循环体语句,后判断表达式;
D.
for,while和do-while循环中的循环体均可以由空语句构成.
18.C语言中while和do-while循环的主要区别是
A.do-while的循环体至少无条件循环一次.
B.while的循环控制条件比do-while严格.
C.do-while允许从外部转到循环体内.
D.do-while的循环体不能是复合语句.
19.在下列选项中,没有构成死循环的程序段,供选择的答案是___________。
A.int
i=100;
B.for(;
;
);
while
(1)
{i=i%100+1;
if(i>
100)break;
}
C.
int
k=1000;
D.
int
s=36;
do{++k;
}while(k>
=10000);
while(s);
--s;
20.以下程序的输出结果是:
#include
“stdio.h”
{
inti;
for(i=1;
i<
=5;
i++)
{if(i%2)
printf(“*”);
elsecontinue;
printf(“#”);
printf(“$\n”);
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$
21.以下程序执行
次
#include“stdio.h”
#defineN2
#defineMN+1
#defineNUM(M+1)*M/2
{inti,n=0;
=NUM;
i++){n++;
printf(“%d”,n);
printf(“\n”);
A.5
B.6
C.8
D.9
二、填空题:
1.表示条件:
10<
x<
100或x<
0的C语言表达式是
2.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
3.为表示关系x³
y³
z,应使用C语言表达式是
4.表达式:
10!
=9的值是
5.能正确表示a³
10或a£
0的关系表达式是
6.若已知a=10,b=20,则表达式!
b的值为
7.为了避免嵌套的条件语句if-else的二义性,C语言规定:
else与
匹配。
8.C语言用
表示逻辑“真”值。
9.当a=3,b=2,c=1时,表达式f=a>
b>
c的值是
10.设y为int型变量,请写出描述“y是奇数”的表达式
11.设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式
12.已知a=7.5,b=2,c=3.6,表达式a>
b&
c>
a||a<
!
c>
b的值是
13.while(x)表示while(x
)。
14.break语句表示
15.while
(1){…}表示
16.执行for(i=1,s=0;
=100;
i++){s+=i;
}后,s的值为
17.程序:
i=1;
s=0;
do{s=s+i;
i++;
}while(i<
=100);
用for语句改写上面的程序段为
18.程序段:
for(i=1;
i<
=2;
i++)
{scanf(“%d,%d”,&
x,&
y);
if(x>
y){t=x;
x=y;
y=-t;
printf(“%d
%d”,x,y);
执行该程序段时,若键盘输入5,4回车及1,2回车,则输出结果为
19.执行下列语句:
for(i=1,s=0;
i++)
for(j=1;
j<
=3;
j++)
{s=s+i+j;
后,s的值为
20.执行下列语句:
scanf(“%c”,&
ch);
while(ch!
=’#’)
{printf(“%c”,ch+1);
scanf(“%c”,&
要使得输出结果为cdef,则输入为
21.以下程序当键盘输入12345-1<
回车>
时,运行结果是:
intk=0,n;
do{scanf(%d”,&
n);
k+=n;
}while(n!
=-1);
printf(“k=%dn=%d\n”,k,n);
22.下列程序段的运行结果是:
for(i=4;
=1;
for(j=1;
=i;
j++)putchar(‘#’);
23.下列程序段要求从键盘输入字符,当输入字母为Y时,循环停止,填空.
while(_______!
=’Y’){......}
三、判断题:
1.下面程序
{intx=3,y=0,z=0;
if(x=y+z)
printf(“****”);
else
printf(“####”);
执行该程序后输出为####。
(
)
2.若K是int型变量,且有下面的程序段:
k=-3
if(k<
=0)printf(“####”)
printf(“&
”);
上面程序段的输出结果是####。
3.设x和y都是int型变量,则以下语句:
x+=y;
y=x-y;
x-=y;
的功能是交换x和y的值。
4.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>
(n=c>
d)后n的值为0。
5.C语言中无逻辑变量,也无逻辑表达式。
6.do{……}while(0);
程序块至少会执行一次.(
7.语句for(i=0;
i=10;
i++){---};
至多循环10次.(
8.求一批整数中的最大,最小数分别是多少的程序如下:
(
#include
main()
{int
n,i,max,min,p;
scanf(“%d%d”,&
n,&
p);
for(i=1,max=p,min=p;
n;
{scanf(“%d”,&
if(p>
max)
max=p;
if(p<
min)
min=p;
printf(“max=%d,min=%d”,max,min);
9.for(;
;
)表示无限循环.(
10.下面的循环不能正常结束.(
for(s=0,i=1;
=10;
){
s=s+i;
11.continue语句是终止整个循环的执行.(
)
12.对for(表达式1;
表达式3;
)可理解为for(表达式1;
1;
)(
13.下列程序段执行循环二次
x=-1;
do{x=x*x;
}while(!
14.下列程序段能计算s=10!
的值
s=1;
do{s=s*i;
}while(i<
=10);
15.下列程序段将输出3和0
intx=3;
do{printf(“%d\n”,x-=2);
--x));
四、程序阅读题:
1.以下程序输出的结果是
{int
m=5;
if(m++>
printf(“%d\n”,m);
printf(“%d\n”,m--);
2.请读程序:
<
math.h>
stdio.h>
{floatx,y,z;
scanf(“%f%f”,&
z=x/y;
while
(1)
{if(fabs(z)>
1.0)
{x=y;
y=z;
elsebreak;
printf(“%f\n”,y);
若运行时从键盘上输入3.6
2.4<
,则输出结果为
3.以下程序的运行结果是
{intx=1,y=1,z=1;
y=y+z;
x=x+y;
printf(“%d,”,x<
y?
y:
x++:
y++);
printf(“%d,%d”,x,y);
4.以下程序的运行结果是
intx,y,z;
x=3;
y=z=4;
printf(“%d,”,(x>
=y>
=x)?
1:
0);
printf(“%d\n”,z>
=y&
y>
=x);
5.下列程序的输出结果为
ints=7;
do{s-=2;
}while(s==0);
printf(“s=%d\n”,s);
6.下列程序段的输出结果为
ints=0,k;
for(k=7;
k>
=0;
k--)
switch(k)
case1:
case4:
case7:
s++;
break;
case2:
case3:
case6:
case0:
case5:
s+=2;
7.下列程序的输出结果为
inti,j;
i>
for(j=1;
=4-i;
j++)printf(“*”);
printf(“\n”);
8.下列程序的运行结果为
inti,j,sum,m,n=4;
sum=0;
for(i=1;
=n;
m=1;
j++)m=m*j;
sum=sum+m;
printf(“sum=%d\n”,sum);
9.阅读下列程序:
char
ch;
while((ch=getchar())!
=’\n’)
{if(ch>
=’A’&
ch<
=’Z’)
ch=ch+32;
elseif(ch>
=’a’&
=’z’)
ch=ch-32;
printf(“%c”,ch);
执行时,如果从键盘上输入:
ABCdef<
则运行结果是
10.阅读下列程序:
y=10;
do{y--;
}while(--y);
printf(“%d\n”,y--);
该程序的运行结果是
11.阅读下列程序:
i,j,x=0;
for(i=0;
2;
{x++;
for(j=0;
{if(j%2)continue;
x++;
x++;
}
printf(“x=%d\n”,x);
该程序的运行结果是
12.阅读下列程序:
v1=0,v2=0;
while((ch=getchar())!
=’#’)
switch(ch)
{case
‘a’:
case
‘h’:
default:
v1++;
‘o’:
v2++;
printf(“%d,%d\n”,v1,v2);
在执行以上程序时,如果从键盘上输入:
china#<
五、程序填空题:
1.完成下面给出的部分程序,函数所表示的数学函数关系是:
0
(x<
0)
y
=
-1(x=0)
1
(x>
{intx,y;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 补充 练习 第三 流程 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)