admin 管理员组文章数量: 1086019
2024年4月26日发(作者:嵌入式系统开发基础第五版课后答案)
单选题
1、若定义a=3,b=4,执行printf(“%d, %d”,(a,b),(b,a));的输出结果为().
A.3,4
B。4,3
C。3,3
D.4,4
2、如果要求在if后的判断条件是a不等于0,则下列选项中能正确表达这一关系的是()。
A.a<>0
B。!a
C.a=0
D.a
3、为了避免嵌套的if—else语句的二义性,C语言规定else总是与()组成配对关系.
A.缩排位置相同的if
B.在其之前未配对的if
C。在其之前尚未配对的最近的if
D。同一行上的if
4、有定义int t = 0;则有循环while(t=1){…},则下列关于while循环语句的描述中正确的是()。
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式的值不合法
D.以上说法都不对
5、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i〈= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是( )
A.最多执行10次
B。最多执行9次
C。是无限循环
D。循环体一次也不执行
6、关于下面的for循环语句
int i,k;
for(i = 0,k = -1;k = 1;i++,k++) printf(“*****");
下列选项中,描述正确的是( )
A。判断循环结束的条件非法
B。是无限循环
C.只循环一次
D.一次也不循环
7、C语言程序的三种基本结构是( )。
A。顺序结构,选择结构,循环结构
B.递归结构,循环结构,转移结构
C。嵌套结构,递归结构,顺序结构
D.循环结构,转移结构,顺序结构
8、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为
( )。
A.a<>0
B。!a
C。a=0
D.a
9、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是( )。
void main()
{
int x;
scanf(”%d",&x);
if (x++ > 5)
printf(”%d",x);
else
printf("%dn”,x-—);
}
A。7和5
B.6和3
C.7和4
D。6和4
10、运行以下程序后,如果从键盘上输入china#,那么输出结果为(
#include〈stdio.h>
void main()
{
int v1=0,v2=0;
char ch;
while ((ch=getchar())!='#')
switch (ch)
{
case 'a':
case ’h':
default:
v1++;
case '0':
v2++;
}
printf("%d,%dn",v1,v2);
}
A。2,0
B。5,0
C.5,5
D.2,5
11、有如下程序:
void main()
. )
{
int x=1,a=0,b=0;
switch(x)
{
case 0:
}
b++;
case 1:
a++;
case 2:
a++;
b++;
printf("a=%d,b=%dn”,a,b);
}
该程序的输出结果是( ).
A。a=2,b=1
B。a=1,b=1
C。a=1,b=0
D。a=2,b=2
12、下面程序的输出是( )。
void main()
{
char *a="12134211”;
int v1=0,v2=0,v3=0,v4=0,k;
for (k=0;s[k];k++)
switch (s[k])
{
default:
v4++;
case ’1':
v1++;
case ’3’:
v3++;
case '2':
v2++;
}
printf(”v1=%d,v2=%d,v3=%d,v4=%dn",v1,v2,v3,v4);
}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=8,v2=8,v3=8,v4=8
13、下列程序段的输出结果为( )。
int y=1;
while(y-—);
printf("y=%dn”,y);
A.y=-1
B.y=0
C。死循环
D。y=9
14、当输入数据:27 63 时,下面程序的运行结果是( )。
#include〈stdio。h>
int gbs(int a, int b)
{
int c;
a=a>0?a:-a;
b=b>0?b:-b;
c=a*b;
if (c==0)
return 0;
while (a!=b)
if (a〉b)
a—=b;
else
b-=a;
return c/a;
}
int gys(int a, int b)
{
if (a*b==0)
return 0;
a=a>0?a:-a;
b=b〉0?b:—b;
while (a!=b)
if (a〉b)
a-=b;
else
b—=a;
return a;
}
void main()
{
int a,b,c,d;
scanf("%d%d”,&a,&b);
c=gbs(a,b);
d=gys(a,b);
printf(”a=%d b=%d gbs=%d gys=%dn",a,b,c,d);
}
A.a=30 b=63 gbs=189 gys=9
B.a=27 b=63 gbs=190 gys=10
C。a=27 b=63 gbs=189 gys=9
D.a=27 b=63 gbs=188 gys=10
15、假设有程序段:int k=0; while(k=1) k++; while语句的循环次数是( ).
A。无限次
B.有语法错,不能执行
C.一次也不执行
D.执行1次
16、执行下面程序片段的结果是( )。
int x=23;
do
{
printf("%2d",x—-);
} while (!x);
A。打印出321
B。打印出23
C.不打印任何内容
D。陷入死循环
17、在C语言程序中,若希望结束循环,则do—while语句构成的循环中的条件为(
A.0
B.1
D。非
18、以下描述中正确的是( )。
A。do—while语句构成的循环不能用其它语句构成的循环来代替
B。do-while语句构成的循环只能用break语句退出
C。用do—while语句构成的循环,在while后的表达式为非零时结束循环
D。用do—while语句构成的循环,在while后的表达式为零时结束循环
19、以下循环体的执行次数是( )。
void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j-—)
printf("%dn",i);
}
A。3
B.2
C.1
D.0
20、有如下程序:
void main()
{
int i,sum;
)。
}
for(i=1;i〈=3;sum++)
sum+=i;
printf("%dn”,sum);
该程序的执行结果是( )。
A.6
B.3
C。死循环
D.0
21、以下程序的输出结果是( ).
void main()
{
int x=10, y=10, i;
for (i=0; x>8; y=++i)
printf("%d %d ", x--, y);
}
A.10 1 9 2
B.9 8 7 6
C。10 9 9 0
D。10 10 9 1
22、下列说法中正确的是( )。
A.在switch语句中一定要使用break语句
B。在switch语句中不一定要使用break语句
C。break语句是switch语句的一部分
D。break只能用于switch语句中
23、执行下面的程序后,a的值为( )。
void main()
{
int a,b;
for (a=1,b=1; a<=100; a++)
{
if (b>=20)
}
}
A。7
B。8
C。9
break;
if (b%3==1)
{
b+=3;
continue;
}
b-=5;
D。10
24、若有以下程序段,w和k都是整型变量:
w=k;
LB:
LE:
if (w==0)
go to LE;
w-—;
printf("*”);
goto LB;
那么不能与上面程序段等价的循环语句是( )。
(w=k; w!=0; w--) printf(”*”);
(w=k; w; -—w) printf(”*”);
C。w=k; while (w—— != 0) printf(”*"); w++;
D.w=k; do { w--; printf("*"); } while (w!=0);
多选题
1、C语言的程序结构语句包括()。
A.顺序结构语句
B.循环结构语句
C.选择结构语句
D。逻辑结构语句
2下列语句哪些属于循环语句()。
A。for语句
B。do—while语句
语句
D。switch语句
判断题
1、break是跳出当前循环,接着执行循环后面的代码。
2、continue只能用于循环语句。
3、break语句只能在循环语句中使用。
4、在C语言中,跳转语句有break语句、goto语句和continue语句。
简答题
1、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,
请写出运行结果。
void main()
{
int a,b,d=241;
a=d/100%9;
b=(—1)&&(-1);
printf(“%d,%d",a,b);
}
2、请阅读下面的程序,在空白处填写正确的代码,要求输出m和n的值,且每行从头开始。
void main()
{
int m = 10, n = 20;
printf( ,m);
printf( ,n);
}
3、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果
能,请写出运行结果。
void main
{
int x = 1,y = 1, z = 10;
if(z<0)
if(y〉0) x = 3;
else x = 5;
printf(“%dt",x);
if(z = y 〈 0) x = 3;
else if(y==0) x = 5;
else x = 7;
printf(“%dt”,x);
printf(“%dt”,z);
}
4、请阅读下面的程序,在空白处填写正确的代码,实现分段函数:
x < 0 y = 2x + 3;
x = 0 y = 0;
x > 0 y = (x+7)/3;
输入x,计算y值,输出y。
void main()
{
int x, y;
scanf(“%d”,&x);
if(x 〈 0) y = 2*x + 3;
y = 0;
if(x > 0) y = (x + 7) / 3;
printf(“%d”,y);
}
5、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,
请写出运行结果。
void main()
{
char ch = ‘B';
switch(ch)
{
case ‘A’:printf(“it is An”);
case ‘B':printf(“it is Bn”);
case ‘C’:printf(“it is Cn”);
default: printf(“othern”);
}
}
6、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:
投票表决器:
-输入Y,y,打印agree
—输入N,n,打印disagree
—输入其他, 打印lose
void main()
{
char ch;
scanf(“%c”,&ch);
{
case ‘Y’:
case ‘y’: printf(“agree”); ;
case ‘N’:
case ‘n’; printf(“disagree"); ;
; printf(“loser”);
}
}
7、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:
查询学生身高的分布状况:
H 175-200cm 30%
M 160—175cm 40%
L 150-160cm 30%
void main()
{
char ch;
scanf(“%d”,&ch);
{
: printf(“175—200cm身高的学生占30%n”); ;
: printf(“160-175cm身高的学生占40%n”); ;
: printf(“160-175cm身高的学生占40%n"); ;
default: printf(“输入有误,请重新输入!n");
}
8、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果能,
请写出运行结果.
void main()
{
int num = 0;
while(num 〈= 2)
{
num++;
printf(“%dn”,num);
}
}
9、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:
输出1-100之间的偶数数:
void main()
{
int num = 1, sum = 0;
while (num 〈= 100)
{
if ( )
sum += num;
;
}
printf(”sum = %dn”, sum);
}
10、请阅读下面的程序,分析程序是否能编绎通过并正确运行,如果不能,说明原因;如果
能,请写出运行结果.
void main()
{
int num = 0;
do
{
num++;
printf(“%dn”,num);
}
while(num 〈= 2);
}
11、请阅读下面的程序,在空白处填写正确的代码,实现下列功能:
输出1—100之间的偶数数:
void main()
{
int num = 1, sum = 0;
do
{
if ( )
sum += num;
;
版权声明:本文标题:C语言程序设计教程第三章练习题题目 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1714139622a667055.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论