tceic.com
学霸学习网 这下你爽了
赞助商链接
当前位置:首页 >> 工学 >>

C语言程序设计教程1-5章 课后答案


第1章 C 语言概述
一、简答题 1. (1)语言简洁、紧凑,使用方便、灵活; (2)运算符丰富; (3)具有丰富的数据类型; (4)具有结构化的控制语句; (5)语法限制不太严格,程序设计自由度大; (6)C 语言允 许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访 问硬件; (7)生成目标代码质量高,程序执行效率高; (8)用 C 语言写的程序可移植性好, 基本上不作修改就能用于各种型号的计算机和各种操作系统。 2.顺序结构,分支结构,循环结构 3.所谓算法就是为解决一个问题而采取的方法和步骤。 算法的特性:有穷性、确定性、输入、输出、可行性。 表示算法的方式: (1)用自然语言表示; (2)用流程图表示; (3)用 N—S 流程图表示; (4)用伪代码表示; (5)用计算机语言表示。 二、算法 1.瓶子 A 里盛有醋 瓶子 B 里盛有酱油 有一个空瓶 C 将 A 中的醋倒入 C 将 B 中的酱油倒入 A 将 C 中的醋倒入 B 2.输入一个数放在 a 中 max = a 以下步骤重复 9 次: 输入一个数放在 a 中 如果 a>max,max=a 打印 max 的值 3.如果 a<b temp=a a=b b=temp 如果 c>a temp = a a=c c=temp 否则 如果 c>b temp=b b=c c=temp 打印 a,b,c 的值 4.i=1 sum=0 以下程序循环 100 遍: sum=sum+i i=i+1
1

打印 sum 的值 5.如果(n 除以 3 的余数为 0 并且 n 除以 5 的余数为 0) n 能够同时被 3 和 5 整除 否则 n 不能够同时被 3 和 5 整除 6.i=101 以下语句循环 50 遍: j=2 flag=1 当 j<(i 除以 2 的整数部分)时循环以下语句: 如果 i 除以 j 的余数为零 flag=0 退出该循环 如果 flag==1 打印 i 的值 i=i+2 7.如果 m<n temp=m m=n n=temp i=n 做以下循环,直到 m,n 能够被 i 整除: 如果 m 能够被 i 整除并且 n 能够被 i 整除 i 即是 m 和 n 的最大公约数 跳出循环 否则 i=i-1 打印 i 的值 8.data=b*b—4*a*c 如果 data>0

x1 =

(?b + data ) 2a (?b ? data ) 2a

x2 =

否则 如果 data=0 x1=x2=—b/2 否则 无实数解 三、编程题 1.main() { printf(“##############################\n”) ; printf(“ How do you do? \n”) ; printf(“##############################\n”); }
2

2.main() { int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“sum=%d”,a+b+c); } 第二章 数据类型与表达式 一、单项选择题 1. B 2. C 3. A 4. A 5. D 二、写出下列程序的运行结果 1. aabb cc abc AN 2. ab 9798 3. 9,11,9,10

6. B

7.A

8.C

9.D

4. a=2,b=3,c=2 5. s1=2.500000 s2=3 三、编程题 main() { char c1='c',c2='h',c3='i',c4='n',c5='a'; c1=c1+4; c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4; printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5); } 第三章 顺序程序设计

选择题 1) B 2) D D 10)C

3) D 11)D

4) A 12)A

5) A

6) B

7) B

8) A

9)

3

填空题 1)b 编程题

2)261

3)25

21 37

4)abc

5)5.0,4,c=3

6)3

#define PI 3.1415926 main( ) { float h, r, l, sv, sz ; printf(“请输入圆的半径 r,圆柱高 h:\n”) ; scanf(“%f,%f”,&r, &h) ; l=2* PI *r ; s= PI *r*r ; sv=3.0/4.0* PI *r*r*r ; sz= PI *r*r*h ; printf(“圆周长为:l=%6.2f, 圆面积为:s=%6.2f\n”, l, s) ; printf(“求体积为:sv=%6.2f, 圆柱体积为:sz=%6.2f\n”, sv, sz) ; } 2、 main( ) { float c, f ; printf(“请输入一个华氏温度:\n”) ; scanf(“%f”, &f) ; c=5.0/9.0*(f-32) ; printf(“摄氏温度为:%6.2f\n”, c) ; }

第四章

循环程序设计

一、选择题 1.D 2.D 3.D 4.C 5.D 6.A 7.B 8.B 9.A 10.D.11.B 12.A 13.B 14.C 15.C 16.A 17.A 18.B 19.D 20.D 21.A 二、填空题 1.585858 2.0 3.18 4.8921 5.20,0 6.6 7.1,3,2 8.Year%400==0 year%100!=0 count++
4

三、编程题 1. main() { long a; scanf(“%ld”,&a); if (a>=10000&&a<=99999) printf(“这是个五位数”); else if (a>=1000&&a<=9999) printf(“这是个四位数”); else if (a>=100&&a<=999) printf(“这是个三位数”); else if (a>=10&&a<=99) printf(“这是个二位数”); else if (a>=0&&a<=9) printf(“这是个一位数”); else printf(“输入错误”); } 3. main() { int a; int g,s,b;//个位、十位、百位 printf("水仙花数有:\n"); for(a=100;i<=999;a++) {g=a%10; s=a/10%10; b=a/100; if (a==g*g*g+s*s*s+b*b*b) printf("%d ",a); } printf("\n"); } 4、 main() {int i,n; printf("input n:"); scanf("%d",&n); printf("\n%d=",n); for(i=2;i<=n;i++) {while(i!=n) if(n%i==0)
5

{printf("%d*",i);n/=i;} else break; } printf("%d\n",n); } 5、 #include “stdio.h” main() { char c; int w,x,y,z; w=x=y=z=0; while((c=getchar())!=’\n’) { if((c>’a’&&c<’z’)||(c>’A’&&c<’Z’)) w++; else if (c==’ ’) x++; else if (c>’0’&&c<’9’) y++; else z++; } printf(“英文字母个数:%d\n”,w); printf(“空格个数:%d\n”,x); printf(“数字个数:%d\n”,y); printf(“其他字母个数:%d\n”,z); } 6、main() { float h=100,t=100; int j; for(j=1;j<10;j++) { t=t/2; h=h+t*2; } printf(“共经过:%f 米\n”,h); printf(“第十次反弹 %f 米\n”,t/2); }

第五章 数 组 一、单项选择题 1. B 2. A 3. C 4. C

5. D

6. B

7.C
6

8.B

9.C

10. B

二、写出下列程序的运行结果 1.S=368 2. ***** ***** ***** ***** ***** 3.S1=18 S2=10 4.!margorP 5. 数字 0 的出现次数是:3 数字 1 的出现次数是:2 数字 2 的出现次数是:2 数字 3 的出现次数是:2 数字 4 的出现次数是:0 数字 5 的出现次数是:1 数字 6 的出现次数是:1 数字 7 的出现次数是:1 数字 8 的出现次数是:1 数字 9 的出现次数是:1 三、编程题 1.#include "stdio.h" main() {int a[11]; int i,j,t; printf("input 10 number:\n"); for (i=1;i<11;i++) scanf("%d",&a[i]); printf("\n"); for (i=1;i<=9;i++) for (j=1;j<=10-i;j++) if (a[j]<a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} printf("the sorted number is:\n"); for (i=1;i<11;i++) printf("%4d",a[i]); }

7

2.#include "stdio.h" main() {int a[11],i,b; printf("imput 10 sorted number:\n"); for (i=0;i<10;i++) scanf("%d",&a[i]); printf("input an integer:\n"); scanf("%d",&b); for (i=9;i>=0&&a[i]>b;i--) a[i+1]=a[i]; a[i+1]=b; printf("sorted numbers:\n"); for (i=0;i<11;i++) printf("%5d",a[i]); } 3.#include "stdio.h" main() {int a[5],i,j,t; printf("input 5 integer:\n"); for (i=0;i<5;i++) scanf("%d",&a[i]); for (i=0,j=4;i<j;i++,j--) {t=a[i];a[i]=a[j];a[j]=t;} for (i=0;i<5;i++) printf("%5d",a[i]); } 4.#include "stdio.h" main() {int i,j,a[10][10]={{1},{1,1}}; for (i=2;i<10;i++) {a[i][0]=1; for (j=1;j<=i;j++) a[i][j]=a[i-1][j-1]+a[i-1][j]; } for (i=0;i<10;i++) {for (j=0;j<=i;j++) printf("%-5d",a[i][j]); printf("\n"); } } 5.#include "stdio.h"
8

/*输入 5 个整数*/ /*逆序存放*/ /*逆序存放后重新输出*/

/*给二维数组每个元素赋值*/

/*输出二维数组*/

main() {int a[3][4],i,j,max,row,col; printf("input 3*4 matrix:\n"); for (i=0;i<3;i++) /*输入 3*4 矩阵*/ for (j=0;j<4;j++) scanf("%d",&a[i][j]); max=a[0][0]; row=0; col=0; for (i=0;i<3;i++) /*寻找矩阵中的最大值及其行列号*/ for (j=0;j<4;j++) if (max<a[i][j]) {max=a[i][j]; row=i, col=j;} printf("\n 数组中最大的数是%d,其行号是%d,列号是%d\n",max,row,col); } 6.#define N 3 #define M 4 #include "stdio.h" main() {int a[N][M],i,j,k,max,row,col; printf("input %d*%d matrix: \n",N,M); for (i=0;i<N;i++) /*输入二维矩阵*/ for (j=0;j<M;j++) scanf("%d",&a[i][j]); for (i=0;i<N;i++) /*求鞍点*/ {max=a[i][0]; row=i; col=0; for(j=1;j<M;j++) /*求矩阵中每一行的最大值及其所行列号*/ if (max<a[i][j]) {max=a[i][j]; col=j;} for (k=0;k<N;k++) /*判断每一行的最大值在其所在列是否最大*/ if (a[k][col]<max) break; if (k==N) /*得到鞍点*/ {printf("the point is %d,row=%d,col=%d\n",max,row,col);break;} } if (i==N) printf("no point\n"); }

/*没有鞍点*/

7.#include "stdio.h" main() {int num=0,word=0; /*word=0 表示未出现单词,如出现单词就置 word 为 1.num 用来统计单词个数*/
9

char c; printf("please input a string :\n"); while ((c=getchar())!='\n') if (c==' ') word=0; else if (word==0) {word=1; num++;} printf("There are %d words in the line\n",num); } 8.#include "stdio.h" main() {int i,j,uppn,lown,dign,span,othn; /*uppn,lown,dign,span,othn 分别存放英文大写字母、小写字母、数字、空格和其他字符 的个数*/ char text[3][80]; uppn=lown=dign=span=othn=0; for(i=0;i<3;i++) {gets(text[i]); for(j=0;j<80&&text[i][j]!='\0';j++) {if(text[i][j]>='A'&&text[i][j]<='Z') uppn++; else if(text[i][j]>='a'&&text[i][j]<='z') lown++; else if(text[i][j]>='0'&&text[i][j]<='9') dign++; else if(text[i][j]==' ') span++; else othn++; } } for(i=0;i<3;i++) printf("%s\n",text[i]); printf("uppn=%d\n",uppn); printf("lown=%d\n",lown); printf("dign=%d\n",dign); printf("span=%d\n",span); printf("othn=%d\n",othn); } 9.#include "stdio.h" main() {int i,j; char str1[20],str2[20];
10

printf("input two strings:\n"); gets(str1); gets(str2); j=strlen(str1); for (i=0;str2[i]!='\0';i++,j++) str1[j]=str2[i]; str1[j]='\0'; puts(str1); } 10.#include "stdio.h" main() {int i,n; char str1[20],str2[20]; printf("input two strings:(no more than 20 characters)\n"); gets(str1); gets(str2); n=strlen(str1)<strlen(str2)?strlen(str1):strlen(str2); /*n 中存放较短字符串的长度*/ for (i=0;i<n&&str1[i]==str2[i];i++); printf("%d\n",str1[i]-str2[i]); } /*求字符串 1 的长度*/ /*字符串合并*/ /*加上字符串结束标志*/

11


推荐相关:

C语言程序设计教程1-5章 课后答案.doc

C语言程序设计教程1-5章 课后答案 - 第1章 C 语言概述 一、简答题 1.


C语言程序设计教程习题答案(1~5)主审 郭浩志 北京邮电....doc

C语言程序设计教程习题答案(1~5)主审 郭浩志 北京邮电大学出版社_工学_高等教育_教育专区。C语言程序设计教程习题答案(1~5),答案仅供参考,欢迎各位指正。 ...


C语言程序设计教程 课后习题参考答案.doc

C语言程序设计教程 课后习题参考答案 - 《C 语言程序设计教程课后习题参考答案 习题 1 1. (1)编译、链接 .exe (2)函数 主函数(或 main 函数) (3)编辑...


《C语言程序设计教程》课后习题答案-.pdf

C语言程序设计教程课后习题答案- - 1判断题 1.× 2.× 3.√ 4.


C语言程序设计习题答案1--5章.txt

C语言程序设计习题答案1--5章 - 始,直到最后一个语句结束 D.main()函数开始,直到最后一个函数结束 1.2 在C程序中,main()的位置。 A.必须作为第一个函数 ...


C语言程序设计教程 第五章 课后习题参考答案.doc

C语言程序设计教程五章 课后习题参考答案_理学_高等教育_教育专区。C语言程序设计教程 (南京大学出版社) P124 2 古典问题:兔子总数(斐波那契数列) #include<...


C语言程序设计-第5章-习题 - 答案.doc

C语言程序设计-第5章-习题 - 答案 - 习题 1、选择题 (1)为了避免在嵌


C语言程序设计第四版第五章答案 谭浩强.doc

C语言程序设计第四版第五章答案 谭浩强 - 第五章 循环控制 5.3 输入两个正


C语言程序设计教程习题答案(第一章).pdf

C语言程序设计教程习题答案(第一章) - 习题参考答案 第一章 一 选择题 1


《C语言程序设计教程》课后题答案.doc

C语言程序设计教程课后题答案 - 《C 语言程序设计教程课后题答案一章 一选择题 1.A 2.B 3.C 4.D 5.B 6.C 二.填空题 1.程序 2.算法 3....


谭浩强C语言程序设计2007版习题程序答案1-5章.doc

谭浩强C语言程序设计2007版习题程序答案1-5章 - Xt1-5.c Xt1-


《C语言程序设计》课后习题答案(第四版)谭浩强.doc

C语言程序设计课后习题答案(第四版)谭浩强 - 第 1 章程序设计和 C 语言 1 1.1 什么是计算机程序 1 1.2 什么是计算机语言 1 1.3C 语言的发展及其...


C语言程序设计教程(第2版)课后题及模拟题参考答案.pdf

C语言程序设计教程(第2版)课后题及模拟题参考答案 - c 语言程序设计教程(第 2 版)课后题及模拟题参考答案 习题 1......


C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案.pdf

C语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案 - (16)double 第 1 章习题参考答案 1.单项选择题 (1) (3) (5) A (2) D (4) B2.填空题 C...


C语言程序设计(第2版)-- 课后题答案.doc

C语言程序设计(第2版)-- 课后题答案_其它_高等教育_教育专区。《C 语言程序设计能力教程(第二版)》课后作业及实训题 参考答案1 章 进入 C 语言程序世界 ...


《C语言程序设计》第1章 C语言概述练习题答案.doc

《C语言程序设计》第1章 C语言概述练习题答案_信息...C语言程序设计教程一章... 2页 2下载券 《...C语言程序设计教程习题答... 2页 2下载券 《...


C语言程序设计教程第一章练习题题目.pdf

C语言程序设计教程一章练习题题目_电子/电路_工程科技_专业资料。单选题。 1、下列语言中不属于计算机语言的三大类的是( C ) A.机器语言 B.汇编语言 C....


C语言程序设计教程答案 周鸣争.pdf

C语言程序设计教程答案 周鸣争 - c 语言程序设计教 程答案一章 C 语言概述 、简答题 1. (1)语言简洁、紧凑,使用方便、灵活; (2)运算 符丰富; (3)...


C语言程序设计第三版谭浩强课后习题答案完整版.doc

C语言程序设计第三版谭浩强课后习题答案完整版 - C 语言程序设计第三版谭浩强 课后习题答案完整版 第一章 1.5 请参照本章例题,编写个 C 程序,输出以下信息: ...


C语言程序设计教程课后习题答案.doc

C语言程序设计教程课后习题答案 - 第1章 1-3 CAB 4 .c .obj

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com