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语言程序设计-第5章-习题 - 答案

C语言程序设计-第5章-习题 - 答案_理学_高等教育_教育专区。C语言程序设计基础习题1、选择题 (1)为了避免在嵌套对 if()?else 中产生歧义,C 语言规定一般 els...


C语言程序设计教程第五章练习题题目

C语言程序设计教程五章练习题题目_IT认证_资格考试/认证_教育专区。单选题 1...C语言程序设计教程课后习... 20页 免费 《C语言程序设计教程》实... 122...


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

C语言程序设计教程习题答案(1~5),答案仅供参考,欢迎各位指正。C语言程序设计教程习题答案(1~5),答案仅供参考,欢迎各位指正。隐藏>> 习题 1.自然语言,专用工具...


C语言程序设计项目教程习题答案

C 语言程序设计项目教程习题答案说明:本文档在“文档结构图”视图方式下应用比较方便。 第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第...


C语言程序设计项目教程习题答案资料

C语言程序设计项目教程习题答案资料 - C 语言程序设计项目教程习题答案 说明:本文档在“文档结构图”视图方式下应用比较方便。 第1章 第2章 第3章 第4章 ...


C语言程序设计基础教程_习题答案

C语言程序设计基础教程_习题答案_其它_高等教育_教育专区。习题答案1章 1....1.1.5 C 语言程序的基本单位或者模块是__函数__。 1.1.6 C 语言程序的...


C语言程序设计实用教程习题答案

C语言程序设计实用教程习题答案 - C 语言程序设计实用教程习题答案 鲍广华 钦明皖 主编 习题 1 习题 2 P19 (略) P49 一、选择题 1-5 ADCCB 二、填空题...


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

C语言程序设计习题答案1--5章 清华大学出版社出版的清华大学出版社出版的隐藏>> 第1章 C 语言程序设计概述一个 C 程序的执行是从 A 。 A.从 main()函数开...


游洪跃的C语言程序设计教程第1章 习题解答

游洪跃的C语言程序设计教程1章 习题解答_计算机软件及应用_IT/计算机_专业资料。游洪跃的C语言程序设计教程1章 习题解答第1 章 习题解答一、选择题 1.以下叙...


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

C语言程序设计课后习题答案(第四版)谭浩强 (1)_理学_高等教育_教育专区。.../*判断该点是否在塔外*/ 第 5 章循环结构程序设计 114 5.1 为什么需要循环...

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