《C语言程序设计教程(第二版)》习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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("cock hen chick\n");
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 %d\n",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;}}
递归法源程序:
main()
{int i;
for(i=0;i<=19;i++)
printf("%8d",fib(i));}
fib(int i)
{return(i<=1?1:fib(i-1)+fib(i-2));}
执行结果:
1 1
2
3 5 8 13 21 3
4 55
89 144 233 377 610 987 1597 2584 4181 6765
4.源程序:
#include "math.h";
main()
{double x,x0,deltax;
x=1.5;
do {x0=pow(x+1,1./3);
deltax=fabs(x0-x);
x=x0;
}while(deltax>1e-12);
printf("%.10f\n",x);}
执行结果:
1.3247179572
5.源程序略。(分子、分母均构成斐波那契数列)
结果是32.66026079864
6.源程序:
main()
{int a,b,c,m;
printf("Please input a,b and c:");
scanf("%d %d %d",&a,&b,&c);
if(a
if(a if(b printf("%d %d %d\n",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.文本 5.sizeof是关键字,stru、_aoto、file、m_i_n、hello、ABC、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^-308~10^308) 3.int(整数) 4.单目自右相左 5.函数调用 6.a或b 7.1 8.65,89 三、应用题(第78页) 1.10 9 2.执行结果: 11 12 1 5 第4章顺序结构程序设计 一、单项选择题(第90页) 1-5.DCDAD 6-10.BACBB 二、填空题(第91页) 1.一; 2. 5.169000 3.(1)-2002500 (2)I=-200,j=2500 (3)i=-200 j=2500 4.a=98,b=765.000000,c=4321.000000 5.略6.0,0,3 7.3 8.scanf("%lf%lf%lf",&a,&b,&c); 9. 13 13.000000,13.000000 10.a=a^c;c=c^a;a=a^c;(这种算法不破坏b的值,也不用定义中间变量。)