C语言书本练习答案doc.docx
- 文档编号:2034286
- 上传时间:2022-10-26
- 格式:DOCX
- 页数:14
- 大小:37.93KB
C语言书本练习答案doc.docx
《C语言书本练习答案doc.docx》由会员分享,可在线阅读,更多相关《C语言书本练习答案doc.docx(14页珍藏版)》请在冰豆网上搜索。
C语言书本练习答案doc
一、选择正确答案填空。
1.以下叙述不正确的是D。
A)一个C源程序必须包含一个main函数
B)一个C源程序可由一个或多个函数组成
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
2.一个C语言程序是由旦。
A)一个主程序和若干个子程序组成
B)函数组成
C)若干过程组成
D)若干子程序组成
3.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C。
x=(i=4,j=16,k=32)
A)4B)16C)32D)52
4.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=,A,+3后,c2中的值为旦。
A)字符BB)68C)不确定的值D)字符C
5.设有说明:
charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为D。
A)floatB)charC)intD)double
6.设有:
inta=l,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为Bo
A)1B)2C)3D)4
7.判断char型变量ch是否为大写字母的正确表达式是C。
A),A,v=chv=2,B)(ch>=6A?
)&(ch<=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);
printf("10Squaredis:
%d\n",10*10);
}
四、编程。
1.编程完成从键盘上输入三角形的底和高,输出三角形面积的C语言程序。
#includenstdio.h"
main()
{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
main()
{
floatavg,s,a,b,c,d,e;
scanf(n%f%f%f%f%f',&a,&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<0
y=x-l
x=0
y=x
x>0
x+1
下面程序段中能正确表示上面关系的是Do
A)y=x+1;B)y=x-l;C)if(x<=0)
D)y=x;
if(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;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 {temp=n2;n2=n3;n3=temp;} if(nl {temp=nl;nl=n3;n3=temp;} if(nlvn2)〃希望nl存放的数比n2大 {temp=nl;nl=n2;n2=temp;} printf("%d,%d,%d",numl,num2,num3); } 2.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。 intmain() {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”,&a,&b); if(a%b==O) printf(n%d%可以被%d整除”,a,b); else printf(H%d不能被%(1整除”,a,b); } 2.从键盘输入a、b、c三个整数,输出其中最大的数。 #includeHstdio.hn mainQ { inta,b,c,t; scanf(”%d%d%d”,&a,&b,&c); if(a>b) t=a; else t=b; if(t>c); else t=c; printf(”%d”,t); i 3.商场进行打折促销活动,消费金额(P)越高,折扣(d)越大,标准如下: 消费金额 折扣 P<100 0% 100 5% 200 10% 500 15% P>1000 20% 编写程序,从键盘输入消费金额,输出折扣率和实付金额(f),分别用if语句和switch语句来实现(要求绘制流程图)。 1.#includeHstdio.hn main() ( floatp,fd; scanf("%f',&p); if(p<100) d=0.; elseif(p<200) d=0.05; elseif(p<500) d=0.1; elseif(p<1000) d=0.15; else d=0.2; f=p*(l-d); printf(”d=%d%%a%.2f\n”,(int)(d*100),f); } 2.#include”stdio.h” main() ( floatp,f>d; intc; scanf("%f',&p); c=p/100; switch(c) {case0: d=0.;break; casel: d=0.05;break; case2: case3: case4: d=0.1;break; case5: case6 case7 case8 d=0.15;break; case9 default: d=0.2; f=p*(l-d); 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; do (X=x*x;} while(! x); A)是死循环B)循环执行两次C)循环执行一次D)有语法错误 (4)下面程序的运行结果是( ftinclude 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++) printf("%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