C语言书本练习答案docWord格式文档下载.docx
- 文档编号:14953106
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:14
- 大小:37.93KB
C语言书本练习答案docWord格式文档下载.docx
《C语言书本练习答案docWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言书本练习答案docWord格式文档下载.docx(14页珍藏版)》请在冰豆网上搜索。
=aZ?
)
C)(ch>
=A)&
(chv=Z)D)(Av=ch)AND(Z>
=ch)
8.已知ch是字符型变量,下面正确的赋值语句是C。
A)ch='
a+b'
;
B)ch='
\0'
C)ch='
7'
+9;
D)ch=5+9;
9.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式旦;
如果字符串长度小于5,则输出按方式C。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出
C)右对齐输出该字符串,左补空格D)输出错误信息
二、计算下列表达式的值。
(设a=3,b=6,c=9)
1.a/b0
2.(a+b)%c0
3.a+b,a・c,a=b/c,a+b+c15
4.c=a++3
5.(int)a+(float)a/b3
6.(a=a+b)-(--c)1
三、分析程序,写出结果。
以下程序段的输出结果是_x=l尸2*sun・*=3
10Squaredis:
100.
main()
{intx=l,y=2;
printf("
x=%dy=%d*sum*=%d\n"
x,y,x+y);
%d\n"
10*10);
}
四、编程。
1.编程完成从键盘上输入三角形的底和高,输出三角形面积的C语言程序。
#includenstdio.h"
{floats,a,b;
printf(”请输入直角三角形的底和高\n”);
scanf(”%f%f'
&
a,&
b);
s=a*b/2.0;
printfC^f^s);
2,从键盘输入本学期所有课程的成绩,输出课程成绩、总成绩和平均成绩。
如下显示:
课程:
C程序设计大学英语高数计应基础体育
成绩:
98.067.070.088.065.0
总成绩:
329.0
平均成绩:
65.8
#includeHstdio.hn
{
floatavg,s,a,b,c,d,e;
scanf(n%f%f%f%f%f'
b,&
c,&
d,&
e);
s=a+b+c+d+e;
avg=s/5.0;
printf(”C程序设计大学英语高数计应基础体育\n”);
printf(n%-.2f\t%-.2f%4f%-.2f%-.2f\n”,a,b,c,d,e);
print町总成绩:
%.2f\n”,s);
printf(”平均成绩:
%.2f\n”,avg);
模块3
一、选择题
1.以下不正确的if语句是C。
A)if(x>
y&
x!
=z);
B)if(x!
=y)x+=y;
C)if(x!
=y)(x++;
y++;
D)if(x==y)sacnf(”%d,%d”,&
x,&
y);
2.变量定义为intx=l,y=2,z=3;
以下语句执行后x、y、z的值是旦。
if(x>
y)
z=x;
x=y;
y=z;
A)x=l,y=2,z=3
B)x=2,y=3,z=3
C)x=2,y=3,z=]
D)x=2,y=3,z=2
3.以下程序的运行结果是旦。
intm=5;
if(m++>
5)printf(“%d\n”,m);
elseprintf("
%d\n"
m--);
A)4B)5C)6D)7
4.有一分段函数如下表:
X的范围
y和x的关系
x<
y=x-l
x=0
y=x
x>
x+1
下面程序段中能正确表示上面关系的是Do
A)y=x+1;
B)y=x-l;
C)if(x<
=0)
D)y=x;
=0)if(x!
=0)if(x<
0)
if(xv=0)
if(x==0)if(x>
0)y=x-1;
if(x<
0)
y=x;
y=x+1;
elsey=x;
y=x—1;
elsey=x-1;
elsey=x+1;
elsey=x+1;
5.为了避免在嵌套的if-else语句中产生歧义,C语言规定:
else子句总是与B配对。
A)缩排位置相同的ifB)其之前最近的if
C)其之后最近的ifD)同一行上的if
二、填空题
1.输入三个整数,按从大到小的顺序进行输出。
intmain()
{intnl,n2,n3,temp;
scanf(“%d%d%d”,&
nl,&
n2,&
n3);
if(n2<
n3)〃希望n2存放的数比n3大
{temp=n2;
n2=n3;
n3=temp;
}
if(nl<
n3)〃希望nl存放的数比n3大
{temp=nl;
nl=n3;
n3=temp;
if(nlvn2)〃希望nl存放的数比n2大
nl=n2;
n2=temp;
printf("
%d,%d,%d"
numl,num2,num3);
2.输入一个字符,如果它是一个大写字母,则把它变成小写字母;
如果它是一个小写字母,则把它变成大写字母;
其它字符不变。
{charch;
scanf("
%c“,&
ch);
if(ch>
=Z&
chv=Z)ch=ch+32;
elseif(ch>
='
a'
&
chv='
z'
)ch=ch-32;
printf("
%c"
ch);
1.编写一个程序,要求用户从终端上键入两个整数数值。
检测这两个数,判定第一个数能否被第二个数整除,并在终端上显示相应的信息(要求绘制流程图)。
#include”stdio.h”
mainQ
{inta,b;
printff'
pleaseinputtwonumbers:
\nH);
scanf("
%d%d”,&
if(a%b==O)
printf(n%d%可以被%d整除”,a,b);
else
printf(H%d不能被%(1整除”,a,b);
2.从键盘输入a、b、c三个整数,输出其中最大的数。
inta,b,c,t;
scanf(”%d%d%d”,&
c);
if(a>
b)
t=a;
t=b;
if(t>
c);
t=c;
printf(”%d”,t);
i
3.商场进行打折促销活动,消费金额(P)越高,折扣(d)越大,标准如下:
消费金额
折扣
P<
100
0%
100<
200
5%
200<
P<
500
10%
500<
1000
15%
P>
20%
编写程序,从键盘输入消费金额,输出折扣率和实付金额(f),分别用if语句和switch语句来实现(要求绘制流程图)。
1.#includeHstdio.hn
(
floatp,fd;
%f'
p);
if(p<
100)
d=0.;
elseif(p<
200)
d=0.05;
500)
d=0.1;
1000)
d=0.15;
d=0.2;
f=p*(l-d);
printf(”d=%d%%a%.2f\n”,(int)(d*100),f);
2.#include”stdio.h”
floatp,f>
d;
intc;
c=p/100;
switch(c)
{case0:
break;
casel:
case2:
case3:
case4:
case5:
case6
case7
case8
case9
default:
printf(nd=%d%%>
%.2f\nH,(int)(d*100),f);
模块4
1.单选题
(1)C语言中while与do-while语句的主要区别是(A)
A)do-while的循环体至少无条件执行一次
B)do-while允许从外部转到循环体内
C)do-while的循环体不能是复合语句
D)while的循环控制条件比do-while的循环控制条件严格
(2)假定a和b为int型变量,则执行以下语句后b的值为(B)
a二1;
b二10;
do
{b-=a;
a++;
while(b一<0);
A)9B)-2C)-1D)8
(3)以下程序段(A)
x二T;
(X=x*x;
while(!
x);
A)是死循环B)循环执行两次C)循环执行一次D)有语法错误
(4)下面程序的运行结果是(
ftinclude<
stdio.h>
intmain()(inty=10;
do{y—;
while(一y);
return0:
(5)对for(表达式1;
表达式3)可理解为(B)
(6)若i、j均为整型变量,则以下循环for(i=0,j=T;
j=l;
i++,j++)
%d,%d\n"
i,j);
⑺以下的for循环(B)
for(x=0,y=0;
(y!
=123)&
(x<
4);
x++);
(8)设j为int型变量,则下面for循环语句的执行结果是(
for(j=10;
j〉3;
j—)
—j;
—J;
printfj);
2.根据要求完成程序填空
(1)下面的程序片段从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
intn=0,c;
c=getchar();
while(C!
二'
\n'
c!
='
\o'
)
{if(c=〉'
O'
c〈='
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 书本 练习 答案 doc