语言程序设计教程(第二版 第二版)》 《C 语言程序设计教程 第二版 》习题答案 我想应该有用 2009-03-09 12:27
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("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 34 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
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、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 二、填空题(第 77 页) 1.补码 2.±(10^-308~10^308) 6.数字,小写或大写字母 三、应用题(第 78 页) 1.10 9 2.执行结果: 11 0 0 12 1 7.1 16-20.BBCCD 21-25.ADD(DA)D 26-27.AB
3.int(整数)
4.单目 自右相左
5.函数调用
8.65,89
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 的值,也不用定义中间变量。) 三、编程题(第 92 页) 1.仿照教材第 27 页例 2-1。 2.源程序: main() {int h,m; scanf("%d:%d",&;h,&;m); printf("%d\n",h*60+m);} 执行结果: 9:23 563 3.源程序: main() {int a[]={-10,0,15,34},i; for(i=0;i<=3;i++) printf("%d\370C=%g\370F\t",a[i],a[i]*1.8+32);} 执行结果: -10℃=14°F 0℃=32°F 15℃=59°F 34℃=93.2°F 4.源程序: main() {double pi=3.14,r=5; printf("r=%lg A=%.10lf S=%.10lf\n",r,2*pi*r,pi*pi*r);} 执行结果: r=5 A=31.4159265359 S=49.3480220054 5.源程序: #include "math.h"; main() {double a,b,c; scanf("%lf%lf%lf",&;a,&;b,&;c); if (a+b>c&;&;a+c>b&;&;b+c>a) {double s=(a+b+c)/2; printf(