C语言程序设计教程书后作业参考答案2013

2020-03-27 19:44

重要提醒:请同学们认真复习,为后续课程打好基础,祝取得好成绩! 五种题型:填空、选择、阅读程序写结果,程序填空,编程题 每章基本概念要熟练掌握(教材中填空和选择有可能认真做一遍) 常用算法一定要掌握:

顺序结构:定义,赋值(输入),处理,输出 分支结构:能够读懂各种结构程序 循环结构:读程序,填空

最大公约数,最小公倍数,求和,阶乘,水仙花数,回文数,完数,同构数,素数

判断,哥德巴赫猜想,孪生素数等。

数组:一维数组排序,查找(顺序,折半),找最大小值,求平均值等 二维数组;输入和输出二维数组,杨辉三角形

函数:能将上述循环、数组部分用函数实现,并正确调用 指针:掌握相关概念,能够阅读程序写结果 预处理:基本概念,阅读程序

自定义数据类型、文件中的基本概念(填空,选择)

附书后作业的选择和填空题的全部答案及部分编程题的参考答案

练习题1参考答案

一、选择题

序号 参考答案 1 A 2 C 3 A 4 D 5 C 6 C 7 C 8 A

二、填空题

1.程序设计语言主要分为以下三类:机器语言、 汇编语言 和 高级语言 。 2.在C语言中,一个函数一般由两个部分组成,它们是函数首部 和 函数体 。 3.C程序开发过程的一般步骤为:源程序的编辑、 编译 、 连接 和运行。 4. C程序源文件的扩展名为 .c ,编译成功后产生的文件扩展名为 .obj ,连接成功后产生文件扩展名为 .exe 。

三、应用题 略

练习题2参考答案

一、选择题

序号 参考答案 序号 参考答案 1 B 11 A 2 A 12 B 3 C 13 C 4 C 14 A 5 B 15 C 6 A 7 B 8 B 9 D 10 C 二、填空题

1.通常一个字节包含 8 个二进制位。在一个字节中能存放的最大(十进制)整

数是 255(无符号),127(带符号) ,最小(十进制)整数是 -128 ,它的二进制数的形式是 10000000 。

2.在C语言中,十进制数30的八进制数表示形式是 036 ,十六进制数表示形式是 0x1e ,在内存中它的二进制数表示形式是 0000000000011110 。

3.条件“2020&&x<30||x<-100 。

4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,a值为 6 ,b值为 4 ,c值为 2 。

5.已知int y; float x=-3; ,执行语句y=x%2; 后,变量y的值为 语句出错 。 6.字符串\ab\\034\\\\\\x79\的长度为 5 。 7.在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为 4 ;一个double型数据在内存中所占的字节数为 8 。

8.若s是int型变量,且s=6,则s%2+(s+1)%2表达式的值为 1 。 9.表达式pow(2.8,sqrt(double(x)))值的数据类型为 double 。 10.若a是int型变量,则表达式(a=4*5, a*2), a+6的值为 26 。 11.若a是int型变量,则执行表达式a=25/3%3后a的值为 2 。

12.若i为int整型变量且赋值为6,则运算i++后表达式的值是 6 ,变量i的值是 7 。

13.若x为int型变量,执行语句:x=10;x+=x-=x-x;则x的值为 20 。 14.若x和y为double型变量,则表达式x=1,y=x+3/2的值是 2.000000 。 15.(-b+sqrt(b*b-4*a*c))/(2*a)的数学式子是 [-b+√(b^2-4ac)]/2a

16.sqrt(p*(p-a)*(p-b)*(p-c))的数学式子是 √[p*(p-a)*(p-b)*(p-c)] 。 17.判断某一年份是否为闰年的表达式是(year%4==0||year0==0) && year@0!=0)。 18.用随机函数rand()产生一个在[-20,20]两位整数的表达式是 x=rand()A-20。 三、阅读分析下列程序。

1. 写出下列程序的输出结果。

18

2. 已知字母B的ASCII码为66,写出下列程序的输出结果。 67,E

3. 写出下列程序的输出结果。 a=4,b=3

练习题3参考答案

一、选择题

序号 参考答案 1 D 2 B 3 D 4 D 5 C 6 D 7 D 8 B 9 B 10 A 二、填空题

1.C语句句尾用 分号 结束。

2.若有变量定义:int a=1,b=2,c=3,d=4,x=5,y=6;则表达式(x=a>b)&&(y=c>d) 的值为 0 。

3.使用强制转换方法将正整数转换成字符。本题程序如下: 本程序的执行结果为 输入一个正整数(小于255):97 a的ASCII码为97 。 4.下面程序的输出是 -100,50

i=-100,j=50

i=-100 j=50。

5.执行以下程序时,若从第一列开始输入数据,为使变量a=2,b=8,x=6.5, y=56.62, el='C',c2='b',正确的数据输入形式是 a=2 b=8x=6.5 y=56.62c1=C c2=b 。

三、程序设计题

1.编写程序交换两个变量a,b的值,并输出。如输入时a=3,b=5,输出a=5,b=3。 #include void main() {

int a,b,c;

printf(“输入两个数:a,b”); scanf(“a=%d,b=%d”,&a,&b); c=a; a=b; b=c;

printf(“a=%d,b=%d”,a,b); }

2. 编写程序输入小写字符boy,输出大写字符BOY。 #include void main() {

char c;

printf(“Input:”); scanf(“%c”,&c); c=c-32;

printf(“%c”,c); }

3.已知华氏温度与摄氏温度的转换公式为:C=(F-32)*5/9。编写程序当输入华氏温度F时,输出对应的摄氏温度。

#include void main() {float F;

scanf(“%f”,&F);

printf(“%f”,(F-32)*5/9);}

4.设圆的半径r=1.5,圆柱高h=3,编写程序求圆周长、圆面积、圆球表面积、圆球体积及圆柱体积。用scanf函数输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。

#include int main()

{float h,r,l,s,sq,vq,vz; float pi=3.141592;

printf(“请输入圆半径r,圆柱高h:”); scanf(“%f,%f”,&r,&h); l=2*pi*r;

s=r*r*pi; sq=4*pi*r*r;

vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h;

printf(“圆周长为: l=%6.2f\\n”,l); printf(“圆面积为: s=%6.2f\\n”,s); printf(“圆球表面积为: sq=%6.2f\\n”,sq); printf(“圆球体积为: vq=%6.2f\\n”,vq); printf(“圆柱体积为: vz=%6.2f\\n”,vz); ruturn 0;}

5.编写程序输入梯形的上底a,下底b和高h,输出该梯形的面积。 #include void main() {float a,b,h,s;

printf(“请输入梯形上底,下底和高:\\n”); scanf(“%f%f%f”,&a,&b,&h); s=(a+b)*h/2;

printf(“梯形面积为: %f\\n”,s);}

练习题4参考答案

一、选择题

序号 参考答案 1 C 2 B 3 A 4 A 5 C 6 C 7 B 8 A 9 A 10 B 二、填空题

1.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是 abs(x)>5 && floor(x)==x 。

2.以下程序运行后的输出结果是 20,0 。

3.若从键盘输入58,则以下程序输出的结果是 585858 。 4.以下程序输出的结果是 0 。 5.以下程序的输出结果是 2 。

6.若int i=10; 则行下列程序后,变量i的正确结果是 13 。 三、程序设计题

1.编写程序输入有3个整数a、b、c,并按照从小到大的顺序输出。 #include int main() {int a,b,c,t;

printf(“please input a b c\\n”); scanf(“%d%d%d”,&a,&b,&c); if(a>b)

{t=a;a=b;b=t; } if(a>c)

{t=a;a=c;c=t;} if(b>c)

{t=b;b=c;c=t;}

printf(“%d,%d,%d\\n”,a,b,c); return 0;} 2.有一个函数: ?x?y??2x?1?3x?11?x?11?x?10x?10

编写一个程序,输入x的值,输出y的值。 #include int main() {int x,y;

printf(“输入x:”); scanf(“%d”,&x); if(x<1)

{y=x;

printf(“x=%d, y=x=%d\\n”,x,y);} else if(x<10)

{y=2*x-1;

printf(“x=%d, y=2*x-1=%d\\n”,x,y);} else

{y=3*x-11;

printf(“x=%d, y=3*x-11=%d\\n”,x,y);} return 0;}

3.输入学生的百分制成绩,要求输出学生的成绩、等级以及相应的评语。设用‘A’、‘B’、‘C’、‘D’、‘E’五个等级,且90分以上为等级‘A’,评语为“成绩优秀”,80-89分为等级‘B’,评语为“成绩良好”,70-79分为等级‘C’,评语为“成绩中等”,60-69分为等级‘D’,评语为“成绩及格”,60分以下为等级‘E’,评语为“成绩不及格”。分别用if条件语句和switch开关语句编写程序。

方法一:if条件语句 #include void main() {

int score;

printf(\输入成绩:\ scanf(\

if(score>100 || score<0) printf(\输入错误!\\n\ else if(score>=90)

printf(\成绩为%d,等级为A,成绩优秀\\n\ else if(score>=80)

printf(\成绩为%d,等级为B,成绩良好\\n\ else if(score>=70)

printf(\成绩为%d,等级为C,成绩中等\\n\ else if(score>=60)


C语言程序设计教程书后作业参考答案2013.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《成本会计核算实务》.练习参考答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: