《C语言程序设计教程(第二版)》习题答案.docx





《《C语言程序设计教程(第二版)》习题答案.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计教程(第二版)》习题答案.docx(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 【C语言】C语言程序设计教程(第二版)习题答案 说 明 1. 本文所指的C语言程序设计教程(第二版)是李凤霞主编、北京理 工大学出版社出版的,绿皮。 2 第1章 程序设计基础知识 一、单项选择题(第23页) 1-4.CBBC 5-8.DACA 二、填空题(第24页) 1.判断条件 2.面向过程编程 3.结构化 4.程序 5.面向对象的程序设计语言 7.有穷性 8.直到型循环 9.算法 10.可读性 11.模块化 12.对问题的分析和模块的划分 三、应用题(第24页) 2.源程序: main() int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */ printf(co
2、ck hen chickn); for(i=1;i=20;i+) for(j=1;j=33;j+) for(k=1;k=33;k+) if (i+j+k*3=100&i*5+j*3+k=100) printf( %d %d %dn,i,j,k*3); 执行结果: cock hen chick 4 18 78 8 11 81 12 4 84 3.现计算斐波那契数列的前20项。 递推法 源程序: main() long a,b;int i; a=b=1; for(i=1;i=10;i+) /*要计算前30项,把10改为15。*/ printf(%8ld%8ld,a,b); a=a+b;b=b+a;
3、 递归法 源程序: main() int i; for(i=0;i=19;i+) printf(%8d,fib(i); fib(int i) return(i1e-12); printf(%.10fn,x); 执行结果: 1. 5.源程序略。(分子、分母均构成斐波那契数列) 结果是32. 6.源程序: main() int a,b,c,m; printf(Please input a,b and c:); scanf(%d %d %d,&a,&b,&c); if(ab)m=a;a=b;b=m; if(ac)m=a;a=c;c=m; if(bc)m=b;b=c;c=m; printf(%d %d
4、 %dn,a,b,c); 执行结果: Please input a,b and c:123 456 789 789 456 123 7.源程序: main() int a; scanf(%d,&a); printf(a%21=0?Yes:No); 执行结果: 42 Yes 3 第2章 C语言概述 一、单项选择题(第34页) 1-4.BDCB 5-8.AABC 二、填空题(第35页) 1.主 2.C编译系统 3.函数 函数 4.输入输出 5.头 6. .OBJ 7.库函数 8.文本 三、应用题(第36页) 5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、
5、SIN90、x1234、until、cos2x、s_3是标识符。 8.源程序: main() int a,b,c; scanf(%d %d,&a,&b); c=a;a=b;b=c; printf(%d %d,a,b); 执行结果: 12 34 34 12 4 第3章 数据类型与运算规则 一、单项选择题(第75页) 1-5.DBACC 6-10.DBDBC 11-15.ADCCC 16-20.CBCCD 21-25.ADDBC 26-27.AB 二、填空题(第77页) 1.补码 2.(10-30810308) 3.int(整数) 4.单目 自右相左 5.函数调用 6.a或b 7.1 8.65,8
6、9 三、应用题(第78页) 1.10 9 2.执行结果: 11 0 0 12 1 5 第4章 顺序结构程序设计 一、单项选择题(第90页) 1-5.DCDAD 6-10.BACBB 二、填空题(第91页) 1.一 ;2. 5. 3.(1)- (2)I=-200,j=2500 (3)i=-200 j=2500 4.a=98,b=765.,c=4321. 5.略 6.0,0,3 7.3 8.scanf(%lf%lf%lf,&a,&b,&c); 9. 13 13.,13. 10.a=ac;c=ca;a=ac;(这种算法不破坏b的值,也不用定义中间变量。) 三、编程题(第92页) 1.仿照教材第27页
7、例2-1。 2.源程序: main() int h,m; scanf(%d:%d,&h,&m); printf(%dn,h*60+m); 执行结果: 9:23 563 3.源程序: main() int a=-10,0,15,34,i; for(i=0;ic&a+cb&b+ca) double s=(a+b+c)/2; printf(SS=%.10lfn,sqrt(s*(s-a)*(s-b)*(s-c); else printf(Data error!); 执行结果: 4 5 6 SS=9. 6.源程序: main() int a=3,b=4,c=5;float d=1.2,e=2.23,f=
8、-43.56; printf(a=%3d,b=%-4d,c=*%dnd=%gne=%6.2fnf=%-10.4f*n,a,b,c,d,e,f); 7.源程序: main() int a,b,c,m; scanf(%d %d %d,&a,&b,&c); m=a;a=b;b=c;c=m; printf(%d %d %dn,a,b,c); 执行结果: 5 6 7 6 7 5 8.源程序: main() int a,b,c; scanf(%d %d %d,&a,&b,&c); printf(average of %d,%d and %d is %.2fn,a,b,c,(a+b+c)/3.); 执行结果
9、: 6 7 9 average of 6,7 and 9 is 7.33 9.不能。修改后的源程序如下: main() int a,b,c,x,y; scanf(%d %d %d,&a,&b,&c); x=a*b;y=x*c; printf(a=%d,b=%d,c=%dn,a,b,c); printf(x=%d,y=%dn,x,y); 6 第5章 选择结构程序设计 一、单项选择题(第113页) 1-4.DCBB 5-8.DABD 二、填空题(第115页) 1.非0 0 2.k=0 3.if (abs(x)4) printf(%d,x);else printf(error!); 4.if(x=1
10、&x=200&xb?bc?c:b:ac?c:a); 2.源程序: main() unsigned long a; scanf(%ld,&a); for(;a;printf(%d,a%10),a/=10); 执行结果: 12345 54321 3.(1)源程序: main() int x,y; scanf(%d,&x); if (x-5&x=0&x=5&x10)y=x+1; printf(%dn,y); (2)源程序: main() int x,y; scanf(%d,&x); if(x-5) if(x=0) if(x=5)y=x+1; else y=x-1; else y=x; printf(
11、%dn,y); (3)源程序: main() int x,y; scanf(%d,&x); if(x=5)y=x+1; else if(x=0)y=x-1; else if(x-5)y=x; printf(%dn,y); (4)源程序: main() int x,y; scanf(%d,&x); switch(x/5) case -1:if(x!=-5)y=x;break; case 0:y=x-1;break; case 1:y=x+1; printf(%dn,y); 4.本题为了避免考虑每月的天数及闰年等问题,故采用面向对象的程序设计。 现给出Delphi源程序和C+ Builder源程序
12、。 Delphi源程序: procedure TForm1.Button1Click(Sender: TObject); begin edit3.Text:=format(%.0f天,strtodate(edit2.text) -strtodate(edit1.text); end; procedure TForm1.FormCreate(Sender: TObject); begin Edit2.Text:=datetostr(now); button1click(form1) end; C+ Builder源程序: void _fastcall TForm1:Button1Click(TO
13、bject *Sender) Edit3-Text=IntToStr(StrToDate(Edit2-Text)-StrToDate(Edit1-Text)+天; void _fastcall TForm1:FormCreate(TObject *Sender) Edit2-Text=DateToStr(Now(); Button1Click(Form1); 执行结果:(运行于Windows下) 5.源程序: main() unsigned a,b,c; printf(请输入三个整数:); scanf(%d %d %d,&a,&b,&c); if(a&b&c&a=b&a=c)printf(构成
14、等边三角形n); else if(a+bc&a+cb&b+ca) if(a=b|a=c|b=c)printf(构成等腰三角形n); else printf(构成一般三角形n); else printf(不能构成三角形n); 执行结果: 请输入三个整数:5 6 5 构成等腰三角形 6.源程序: main() int x,y; scanf(%d,&x); if(x20)y=1; else switch(x/60) case 0:y=x/10;break; default:y=6; printf(x=%d,y=%dn,x,y); 7.源程序: main() unsigned m;float n; s
15、canf(%d,&m); if(m600)n=0.06; else n=(m/100+0.5)/100; printf(%d %.2f %.2fn,m,m*(1-n),m*n); 执行结果: 450 450 429.75 20.25 8. 2171天(起始日期和终止日期均算在内) 本题可利用第4小题编好的程序进行计算。把起始日期和终止日期分别打入“生日”和“今日”栏内,单击“实足年龄”按钮,将所得到的天数再加上1天即可。 9.源程序: #include math.h; main() unsigned long i; scanf(%ld,&i); printf(%ld %dn,i%10,(int
16、)log10(i)+1); 执行结果: 99887 7 5 10.源程序: main() unsigned long i;unsigned j10,m=0; scanf(%ld,&i); for(;i;)jm+=(i+2)%10;i/=10; for(;m;m-)i=i*10+jm-1; printf(%ldn,i); 执行结果: 6987 8109 (注:要加密的数值不能是0或以0开头。如果要以0开头需用字符串而不能是整数。) 7 第6章 循环结构程序设计 一、单项选择题(第142页) 1-4.BCCB 5-8.CBCA 二、填空题(第143页) 1.原题可能有误。如无误,是死循环 2.原题
17、有误。如果把b=1后面的逗号改为分号,则结果是8。 3.20 4.11 5. 2. 6.*#*#*#$ 7.8 5 2 8.d=1.0 +k k=0 xamin 三、编程题(第145页) 1. 源程序: main() int i=1,sum=i; while(i101)sum+=i=-i-2;sum+=i=-i+2; printf(%dn,sum); 执行结果: 51 2.源程序: main() double p=0,n=0,f;int i; for(i=1;i0)p+=f; else n+=f; printf(%lf %lf %lfn,p,n,p+n); 3.源程序: main() unsi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程第二版 语言程序设计 教程 第二 习题 答案

限制150内