《C++程序设计教程第2版》第2次印刷勘误(XXXX1029)

合集下载

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。

#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

C语言程序设计(第2版)

C语言程序设计(第2版)
该教材实例选用做到“科学性、趣味性、应用性和易学性”的统一,并按照不同的学习功能进行分类设置。 一类是简单明了的演示性例题,重点说明C语言的语法知识,实现基本概念、基本语法的即时应用;另一类是培养 程序设计能力的设计性例题。该教材通过设置“思考题”“观察与思考”“拓展知识”等栏目,运用启发式教学 方法。运用任务驱动、案例教学、启发式教学等教学方法,对C语言程序设计的语言知识和程序设计的方法过程进 行了介绍。该教材组织结构清晰,突出程序设计,重视方法教学,理论实际 。
该教材分为12个章节,主要包括程序设计概述,数据及其运算,简单程序设计,分支结构程序设计,循环结 构程序设计,组数,函数,指针,结构体,文件,共用体、枚举和位运算,C++程序设计基础。每一章的开始设 置有“本章导读”和“主要知识点”栏目。“本章导读”既对该章教学内容进行引入,又对该章教学内容进行简 介;“主要知识点”则对该章知识逐项进行罗列说明。每一章节后还设有本章小结与习题等栏目。此外,还包括C 语言的保留字、C语言的运算符两个附录的内容。
成书过程
成书过程
作者秉承“建设精品教材,培养优秀人才”的教育理念,听取和采纳了任课教师的意见,吸收、借鉴其他教 材的长处,融入教学实践经验和教学研究成果,在结构和内容两个方面对第1版进行了全面的调整优化,编写完成 了该教材 。
《C语言程序设计(第2版)》由张磊任主编,冯伟昌、黄忠义、张元国任副主编,魏建国、王桂东、魏军、 高永存、薛莹、徐英娟、徐思杰、潘振昌、王金才、王涛、张文、彭玉忠、马明祥、滕秀荣、李竹健、王凤丽、 曲立杰、刘福香参加了该教材编写工作,全书由张磊统稿和定稿。该教材的编写和出版也得到了相关人员的支 持。
2009年8月22日,该教材由高等教育出版社出版 。
内容简介

c 程序设计第二版课后习题答案

c  程序设计第二版课后习题答案

c 程序设计第二版课后习题答案C程序设计第二版课后习题答案C程序设计是计算机科学与技术专业中一门重要的课程,它涉及到了计算机程序设计的基本概念、语法和技巧。

而《C程序设计第二版》是一本经典的教材,它通过丰富的例子和习题,帮助学生巩固和扩展他们的编程知识。

在学习这门课程时,课后习题是非常重要的一部分。

通过解答习题,我们可以更好地理解和掌握所学的知识,并且提高我们的编程能力。

然而,有时候我们可能会遇到一些困难,无法找到正确的答案。

因此,本文将为大家提供一些C程序设计第二版课后习题的答案,希望能对大家的学习有所帮助。

1. 第一章习题第一章主要介绍了C语言的基本概念和语法。

在习题中,我们需要编写一些简单的程序来练习基本的输入输出操作。

以下是一些可能的答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);printf("您输入的整数是:%d\n", num);return 0;}```2. 第二章习题第二章主要介绍了C语言的数据类型和运算符。

在习题中,我们需要编写一些程序来练习不同数据类型的使用和运算符的操作。

以下是一些可能的答案:```c#include <stdio.h>int main() {int a = 10;float b = 3.14;char c = 'A';printf("a + b = %f\n", a + b);printf("a * b = %f\n", a * b);printf("a / b = %f\n", a / b);printf("c + 1 = %c\n", c + 1);return 0;}```3. 第三章习题第三章主要介绍了C语言的控制结构,包括条件语句和循环语句。

C 程序设计教程(第2版)

C  程序设计教程(第2版)

C++程序设计教程(第2版) 勘误表位置: 11页 第2行原文:...的编译程序也被移植到IBM 360/370、Honeywell 11 以及VAX-11/780等多种计算机上。

更正:...的编译程序也被移植到IBM 360/370、Honeywell 635 以及VAX-11/780等多种计算机上。

位置: 43页 倒数第9行 公式原文:|)cos(||)||sin(|y x y x ++更正: |)||cos(||)||sin(|y x y x ++位置: 47页 倒数第3行原文:在用C++编写程序时,实现顺序结构的方法非常简单:只需将两个语句顺序排列即可。

更正:在用C++编写程序时,实现顺序结构的方法非常简单:只需将相关语句顺序排列即可。

位置: 53页第3行开始原文:e = 1.0; n = 1; u = 1.0;while (通项u 大于等于10-7) {计算新的通项值 u = u/n;将新通项值加到结果近似值上;准备处理下一项 n = n+1;}程序// Example 3-3:计算常数e 的值#include <iostream>using namespace std;int main(){double e = 1.0;double u = 1.0;int n = 1;while(u >= 1.0E-7){u = u/n;e = e+u;n = n+1;}cout << "e = " << e << " ( n = " << n << " )" << endl;return 0;}输出 e = 2.71828 ( n = 12 )分析根据计算结果同时打印出的项数n,表明该级数收敛相当快,仅计算到前12项其误差便已小于10-7。

更正:e = 1.0; n = 0; u = 1.0;while (通项u大于等于10-7){当前项序号n = n+1;计算新的通项值u = u/n;将新通项值加到结果近似值上;}程序// Example 3-3:计算常数e的值#include <iostream>using namespace std;int main(){double e = 1.0;double u = 1.0;int n = 0;while(u >= 1.0E-7){n = n+1;u = u/n;e = e+u;}cout << "e = " << e << " ( n = " << n << " )" << endl;return 0;}输出 e = 2.71828 ( n = 11 )分析根据计算结果同时打印出的项数n,表明该级数收敛相当快,仅计算到前11项其误差便已小于10-7。

c程序设计(第二版)课后习题答案

c程序设计(第二版)课后习题答案
2
C 语言程序设计(第二版) 课后习题参考答案
putchar(c2);//将变量 c2 的值输出 printf("\n"); printf("%c%c\n",c1,c2);//用 printf 输出 c1、c2 的值 printf("%d,%d\n",c1,c2);//输出 c1,c2 的 ASCII 码 } 第四章 【习题 4.5】 /*有三个整数 a,b,c,由键盘输入,输出其中最大的数,请编程序。*/ /*变量:三个整数 a、b、c,中间变量 t,最大值 max*/ #include<stdio.h> void main() { int a,b,c,t,max; printf("please input a,b,c:\n"); scanf("%d,%d,%d",&a,&b,&c); t=a>b?a:b;//比较 a 与 b 的大小,将大者赋给中间变量 t max=t>c?t:c;//比较 t 与 c 的大小,将大者赋给最大值 max printf("the max is:\n"); printf("%d\n",max); } 【习题 4.6】 /*给出一百分制成绩,要求输出成绩等级'A'、'B'、'C'、'D'、'E'。90 分以上为'A',80~89 分为 'B',70~79 分为'C',60~69 分为'D',60 分以下为'E'。*/ #include<stdio.h> void main() { int score; printf("please input the score:(0-100)\n"); scanf("%d",&score); if(score>=90&&score<=100) printf("A");//如果成绩大于 90 分,输出 A else if(score>=80&&score<=89) printf("B");//如果成绩在 80~89 之间,输出 B else if(score>=70&&score<=79) printf("C");//如果成绩在 70~79 之间,输出 C else if(score>=60&&score<=69) printf("D");//如果成绩在 60~69 之间,输出 D else printf("E");//成绩小于 60 分时,输出 E printf("\n"); } 【习题 4.7】 /*给一个不多于 5 位的正整数,要求:(1)求出它是几位数;(2)分别输出每一个数字;(3)按 逆顺序输出各位数字,例如原数为 321,应输出 123.*/ /*变量:正整数 x、万位数 a、千位位数 b、百位数 c、十位数 d、个位数 e*/ #include <stdio.h>

C语言程序设计教程(第二版)电子工业出版社,黄皮书课后答案

C语言程序设计教程(第二版)电子工业出版社,黄皮书课后答案

习题11-1 填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{, }6./*, */7.顺序结构,选择结构,循环结构8..c, .obj, .exe1-2 思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

顺序结构,选择结构,循环结构2.算法是对具体问题求解步骤的一种描述。

计算机算法的表达工具通常采用以下几种方法:(1)用自然语言表示算(2)用流程图表示算法(3)用伪代码表示算法(4)用程序设计语言表示算法3.语言简洁、紧凑,使用方便、灵活; 支持结构化程序设计;运算符丰富;数据类型丰富;较强的编译预处理功能;C语言的可移植性好;C语言本身既有一般高级语言的优点,又有低级(汇编)语言的特点;语法限制不太严格,程序设计自由度大。

4. 略5. 略1-3 编程题1.main(){ float a=3, b=4, c=5, s, area;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));p rintf(“area=%f ” , area );}2.main(){ printf(“******************************”);printf(“* hello world *”);printf(“******************************”);}习题22-1 单选题1~5 DBDCA 6~10 DCABA 11~14 BCA A2-2 思考题1.2.000002.1,0.53.9,24.65.100,d6.(1)20 (2)0 (3)607. (1)10,6,4 (2)6,9,15 (3)3,60,838. 559.70习题33-1单选题1-5BBDAB 6-10DDBDC 11-15AADCA 16-20CBACC 21-25ABDBB 3-2填空题1. 32.02613.0x104.05. 2, 1 互换a,b的值6. 6.67.–038.79. 5.0,4,c=3<Enter>10.i=10,j=20<Enter>11.(1) 65(2) 65,A(3) 56.123400,123.456001(4) 3.141600(5) 8765.432(6) 5.86400e+02(7) 3.14160e+00(8) 3.1416(9) 8765(10) 3.1416,8765.4312.a=2 b=5x=8.8 y=76.34c1=65 c2=97 3-3 编程题1.main(){ int x, y ;scanf(“%d%d” , &x, &y);printf(“x y\n”);printf(“%4d%4d\n”, x, y );printf(“%4o%4o\n”, x, y );printf(“%4x%4x\n”, x, y );}2.main(){ float a, b, h, s;scanf(“%f%f%f”, &a, &b, &h );s=(a+b)*h/2 ;printf(“%8.1f\n”, s);}3.main(){ char c;scanf(“%c”, &c );printf(“%c, %c, %c\n”, c-1, c, c+1 ); }4.main(){ int a, a1, a2, a3;scanf(“%d”, &a );a1=a%10 ; a=a/10;a2=a%10; a=a/10;a3=a%10;printf(“%d%d%d\n”, a1, a2, a3);}5.main(){ double a, b, c, ave;scanf(“%lf%lf%lf”, &a, &b, &c );ave=(a+b+c)/3 ;printf(“%8.2f\n”, ave);}6.main(){ int a, b, c, t;scanf(“%d%d%d”, &a, &b, &c );t=a; a=c; c=b ; b=t ;printf(“a=%d, b=%d, c=%d\n”, a, b, c );}习题44-1单选题1~5 BADAC 6~10 DDACD 11~15 BBBAB4-2填空题1.12.if(x>0) y=1else if (x==0) y=0else y=-13.(1) a>0 || b>0 (2) x>0 && x<=10(3) a==1.5 && b==1.5 && c==1.5 (4)p<a || p<b || p<c4.(1)0 (2)1 (3)1 (4)0 (5)05. max=(max=a>b?a:b)>c?max:c6.-47.18.5,0,39.85 belongs to B10. (1) (a==0) (2) (b==0) (3) (disc<0)4-3 编程题1.#include “math.h”main(){ float a,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);if (a+b>c && a+c>b && b+c>a){ s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“%f”,area);}}2.main(){ int x,y;scanf(“%d,%d”,&x,&y);if (x*x+y*y>1000)printf(“%d\n”,(x*x+y*y)/100); elseprintf(“%d\n”,x+y);}3.main(){ int x,scanf(“%d”,&x);if(x%3==0 && x%5==0 && x%7==0) printf(“yes\n”);elseprintf(“no\n”);}4.#include “math.h”main(){ float x,y;scanf(“%f”,&x);if(x<-2) y=x*x-sin(x);else if (x<=2) y=pow(2,x)+1;else y=sqrt(x*x+x+1);printf(“%f\n”,y);}5. main( )long a,b,c,d,e,x;scanf("%ld",&x);a=x/10000;/*分解出万位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分解出十位*/e=x%10;/*分解出个位*/if (a!=0) printf("there are 5, %ld %ld %ld %ld %ld\n",e,d,c,b,a); else if (b!=0) printf("there are 4, %ld %ld %ld %ld\n",e,d,c,b);else if (c!=0) printf(" there are 3,%ld %ld %ld\n",e,d,c);else if (d!=0) printf("there are 2, %ld %ld\n",e,d);else if (e!=0) printf(" there are 1,%ld\n",e);}6.1.程序分析:main( ){long ge,shi,qian,wan,x;scanf("%ld",&x);wan=x/10000;qian=x%10000/1000;shi=x%100/10;ge=x%10;if (ge==wan&&shi==qian)/*个位等于万位并且十位等于千位*/ printf("this number is a huiwen\n");elseprintf("this number is not a huiwen\n");}7. main(){float p,w,s,d,f;scanf(“%f,%,%f”,p,s,w);if (s>3000) d=0.15else if( s>=2000) d=0.1;else if(s>=1000) d=0.08;else if(s>=500) d=0.05;else if(s>=250) d=0.02;else d=0f=p*w*s*(1-d);printf(“%f”,f);}习题55-1单选题1~5 CDACB 6~10 DCAAB 11~16 DBDBCB5-2填空题1.2 02.k=5,s=43.3334.How Are You5.2#18#6.(1) i<10 (2) j%3!=07.(1) flag*(float)k/(k+1) (2) flag=-flag8.(1) s=0,t=1; (2) t=t*x/i*pow(-1,i+1); (3) printf(“%f”,s); 9.(1) max=x (2) x!=-1 (3) scanf("%d", &x)10. (1) n=1 (2) s5-3 编程题1. (1) main(){ int i; lont s=0;for(i=1;i<=100;i++)s+=i*i;printf(“%ld”,s);}(2)main(){ int i; lont p=1,s=0;for( i=1;i<=10;i++){p=p*i;s+=p;}printf(“%ld”,s);}(3) main(){ int i=1; lont p=1;float s=0;do{s+=1.0/p;p*=++i;}while(1.0/p>1e-6)printf(“%f”,s);}(4)main(){ int i=1, flag=1,pi=0;do{s+=flag*1.0/(2*i-1);i++;}while(1.0/(2*i-1)>1e-6);pri ntf(”%f”,s);}2.main(){int m,n,t,a,b;scanf(“%d,%d” ,&m,&n) ;if (m<n){ t=m ;m=n ;n=t ;}a=m;b=n;t=m%n ;while(t){ m=n ; n=t ;t=m%n;}printf(”%d,%d”,n,a*b/n);}3. main(){int x,y,s=1;scanf(”%d,%d”,&x,&y) ;for( ;y>0 ;y--)s*=x ;printf(”%d,%d,%d\n ”,s%10,s/10%10,s/100%10); }4.main(){int i=1, k=2, sum=0;do{sum+=k;k=k*2;i++;}while(sum<=100);printf(”total=%f\n”, 0.4*sum/(i-1));}5. main(){ int x,y,z;for( x=1 ; x<20 ;x++)for( y=1 ;y<33 ;y++){ z=100-x-y ;if (z>=0 && (5*x+3*y+z/3)-100<1e-5)printf(”x=%d,y=%d,z=%d\n”,x,y,z) ;}}6. main(){int j,k ;for( j=1 ;j<=4 ;j++){for(k=1;k<=4-j;k++;)printf(” ”);for(k=1 ;k<=2*j-1 ;k++)printf(”*”) ;printf(”\n”) ;}for( j=3;j>=1;j--){ for(k=1;k<=4-j;k++;)printf(””);for(k=1;k<=2*j-1;k++)printf(”*”);printf(”\n”);}}7.分析:其实此问题的解法非常简单。

c语言程序设计教程第二版课后习题答案.doc

c语言程序设计教程第二版课后习题答案.doc

c 语言程序设计教程第二版课后习题答案【篇一:c 语言程序设计教程_李含光_郑关胜_清华大学出版社习题答案习题答案[完美打印版]】1.单项选择题(1)a (2)c(3)d (4)c (5)b 2 .填空题(1)函数(2)主函数(main )(3)printf() ,scanf()第2 章习题参考答案1.单项选择题1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题(1)1(2)26 (3)6 ,4 ,2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15)(x0y0)||(x0z0)||(y0||z0) (16)double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b)) (19)sqrt((x*x+y*y)/(a+b))第3 章习题参考答案1.单项选择题1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题(1)用;表示结束(2){ } (3)y=x0?1:x==0?0:-1(4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果(1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11)i=6 ,k=4 (12)1,-2 4 .程序填空(1)x:y ,u :z(2)m=n ,m!=0,m=m/10(3)teps , t*n/(2*n+1) , printf( n”“,%2*l s f)(4)m%5==0 ,printf( “%n d”,k)(5)cx=getchar() , cx!=front , cx(6)double s=0, 1.0/k , %lf (7)s=0 , sgmin, 5 .编程题(1).#include stdio.h int main() {double x,y; scanf(%lf,x); if(x1) y=x;else if(x=1.0x10) y=2*x-11; elsey=3*x-11;printf(%lf\n,y); return 0; } (2). #includestdio.h int main() {double x,y,z,min;scanf(%lf%lf%lf,x,y,z); if(xy) min=y; else min=x; if(minz)min=z;printf(min=%lf\n,min); return 0; } (3). #include stdio.h int main() {int y,m,d,flag,s=0,w,i; scanf(%d%d%d,y,m,d);flag=(y%4==0y%100!=0||y%400==0);w=((y-1)*365+(y-1)/4-(y-1)/100+(y-1)/400)%7;for(i=1;i=m;i++) { switch(i) {case 1:s=d;break; case 2:s=31+d;break; case 3:s=59+d;break; case 4:s=90+d;break; case 5:s=120+d;break; case6:s=151+d;break; case 7:s=181+d;break; case8:s=212+d;break; case 9:s=243+d;break; case10:s=273+d;break; case 11:s=304+d;break; case12:s=334+d;break;} }s=(w+s)%7; if(s==0) printf( 星期日\n); elseprintf( 星期%d\n,s); return 0; }(4).#include stdio.h int main() { float p,r;scanf(%f,p); if(p=10) r=p*0.1;else if(p10p=20) r=10*0.1+(p-10)*0.075; else if(p20p=40)r=10*0.1+10*0.075+(p-20)*0.05; else if(p40p=60)r=10*0.1+10*0.075+20*0.05+(p-40)*0.03;else if(p60p=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(p-60)*0.015; else if(p100)r=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(p-100)*0.01;printf(%f\n,r); return 0; } (5).#include stdio.h int main() { char c;while((c=getchar())!=\n) {if(c=ac=z) c=c-32; putchar(c);}return 0; } (6).#includestdio.h int main() {int m,k=2;printf( 输入一个正整数:\n); scanf(%d,m); while(km) if(m%k==0) { printf(%4d,k); m=m/k; } else k++;printf(%4d\n,m); return 0; } (7).#includestdio.h int main() {int a,n,s=0,p=0,i;scanf(%d %d,n,a); for(i=1;i=n;i++) {p=p*10+a; s=s+p; }printf(%d\n,s); return 0; } (8).#includestdio.h int main(){int i,j,k;for(i=1;i=9;i++) for(j=0;j=9;j++) for(k=0;k=9;k++)printf(%5d,100*i+10*j+k); return 0; }(9).#includestdio.h #includemath.h int main() {float a=-10,b=10,x,f1,f2,f; f1=(((2*a-4)*a+3)*a)-6; f2=(((2*b-4)*b+3)*b)-6; do {x=(a+b)/2;f=(((2*x-4)*x+3)*x)-6; if(f*f10) { b=x; f2=f; } else { a=x;f1=f; }}while(fabs(f)=1e-6); printf(%6.2f\n,x); return 0; }(10).#includestdio.h#includemath.h int main() {int n=2;double eps,t,s=0,x;scanf(%lf %lf,x,eps); t=x; s=t;while(fabs(t)=eps) {t=-t*(2*n-3)*x*x/(2*n-2); s=s+t/(2*n); n++; }printf(%d,%lf\n,n,s); return 0; }(11).#includestdio.h int main() {unsigned long s,t=0,p=1; scanf(%u,s); while(s!=0) {if((s%10)%2!=0) {t=t+(s%10)*p; p=p*10; }s=s/10; } printf(%u\n,t); return 0; }第4 章习题参考答案1.单项选择题1-5 dddbd 6-10 badcd 11-14 bdab 2 .填空题(1)2(2)嵌套,递归(3)全局变量,局部变量,静态变量,动态变量(4)auto , static , register , extern (5)外部变量(6)编译,运行3.阅读程序,指出结果(1)15(2)5(3)5,4,3 (4)i=5 i=2 i=2 i=4 i=2 (5)求水仙花数(6)-5*5*5 (7)30 (8)0 10 1 11 2 124.程序填空(1)float fun(float , float) ,x+y,x-y, z+y,z-y (2)x ,x*x+1(3)s=0 , a=a+b 5 .编程题(1).while(s!=0) #includestdio.h { unsigned int fun(unsigned int);p=p+s%10; int main() s=s/10; { } unsigned int s; return p;scanf(%u,s); } printf(%u\n,fun(s)); (2).return 0;#includestdio.h } #includestdlib.h unsigned int fun(unsignedint s) #includemath.h { void f1(float,float,float,float); unsignedint p=0; void f2(float,float,float,float);【篇二:《c 语言程序设计》课后习题答案(第四版)谭浩强】t>1.1 什么是计算机程序 11.2 什么是计算机语言 11.3c 语言的发展及其特点 31.4 最简单的 c 语言程序 51.4.1 最简单的 c 语言程序举例 61.4.2c 语言程序的结构101.5 运行c 程序的步骤与方法121.6 程序设计的任务141-5 #include stdio.h int main( ){ printf (**************************\n\n);printf( very good!\n\n);printf (**************************\n); return 0;}1-6#include stdio.h int main(){int a,b,c,max;printf(please input a,b,c:\n);scanf(%d,%d,%d,a,b,c); max=a; if (maxb)max=b; if (maxc) max=c;printf(the largest number is %d\n,max); return 0;}第2 章算法——程序的灵魂162.1 什么是算法162.2 简单的算法举例172.3 算法的特性212.4 怎样表示一个算法222.4.1 用自然语言表示算法222.4.2 用流程图表示算法222.4.3 三种基本结构和改进的流程图262.4.4 用n?s 流程图表示算法282.4.5 用伪代码表示算法312.4.6 用计算机语言表示算法322.5 结构化程序设计方法34习题36第章最简单的 c 程序设计——顺序程序设计37 3.1 顺序程序设计举例373.2 数据的表现形式及其运算393.2.1 常量和变量393.2.2 数据类型423.2.3 整型数据443.2.4 字符型数据473.2.5 浮点型数据493.2.6 怎样确定常量的类型513.2.7 运算符和表达式523.3c 语句573.3.1c 语句的作用和分类573.3.2 最基本的语句——赋值语句593.4 数据的输入输出65 3.4.1 输入输出举例653.4.2 有关数据输入输出的概念673.4.3 用printf 函数输出数据683.4.4 用scanf 函数输入数据753.4.5 字符数据的输入输出78 习题823-1 #include stdio.h#include math.hint main() {float p,r,n;r=0.1; n=10;p=pow(1+r,n);printf(p=%f\n,p);return 0;}3-2-1#include stdio.h#include math.hint main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5);// 一次存 5 年期p2=p*(1+2*r2)*(1+3*r3); // 先存2 年期,到期后将本息再存 3 年期p3=p*(1+3*r3)*(1+2*r2); // 先存3 年期,到期后将本息再存 2 年期。

C语言程序设计教程第2版 课后答案_人民邮电出版社_宗大华_陈吉人_百度

C语言程序设计教程第2版 课后答案_人民邮电出版社_宗大华_陈吉人_百度

本文由airalex1982贡献 pdf文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

《C 语言程序设计教程(第 2 版) 》习题解答 第 1 章习题解答 一、填空 1.机器语言即是指计算机本身自带的 指令系统 。

 完成这个翻译工作 2. 将汇编语言编写的程序翻译成机器语言程序的过程称为 汇编 , 的程序称为 汇编程序 。

 3.在C语言程序中,写“\110”和写“\x68” ,分别代表字母 H 和字母 h 。

 4.在用New命令创建新的C源程序时,文件名默认为是 NOMANE.C 。

 5.C语言程序都是从名为 main 的函数它开始执行的。

 二、选择 1.下面给出的命令中, (C)不能保存源程序对应的“.OBJ”文件。

 A.Make EXE File B.Run C.Save D.Compile to OBJ 分析:Compile to OBJ 是文件的编译命令;Make EXE File 是一次完成编译和连接的命 令;在没有编译、连接的前提下,直接使用 Run 命令,就会先完成编译,再进行连接,最 后运行。

所以,这三个命令都会保存由源程序产生出的“.OBJ”文件。

而 Save 命令用于编 辑完源程序后,对源程序的保存,即保存“.C”文件。

因此,本题的答案应该是选择 C。

 2.下面给出的编辑命令中, (B)是用来定义块首标记的。

 A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 3.下面给出的编辑命令中, (A)是用来定义块尾标记的。

 A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 4.以下的(C)是不正确的转义字符。

 A.’\\’ B.’\’’ C.’\81’ D.’\0’ 5.转义字符\x65 对应的字母是(C) 。

 A.A B.a C.e D.E 三、是非判断(√,×) 1.Turbo C 中,只有命令 New 才能创建新的源程序文件。

c程序设计谭浩强(第二版)

c程序设计谭浩强(第二版)

c程序设计谭浩强(第二版)C程序设计是计算机科学领域中一门基础且重要的课程,它不仅教授编程语言的语法和结构,更重要的是培养逻辑思维和问题解决能力。

谭浩强教授所著的《C程序设计》第二版,是一本广受好评的教材,它以通俗易懂的语言和丰富的实例,为初学者提供了学习C语言的宝贵资源。

第一章:C语言概述在这一章中,谭浩强教授介绍了C语言的发展历程和特点。

C语言以其高效性、灵活性和广泛的应用领域而闻名。

它是一种过程式编程语言,支持结构化编程,能够直接操作硬件,因此非常适合底层系统开发。

第二章:C程序的构成本章详细讲解了C程序的基本结构,包括主函数、变量声明、语句和表达式等。

谭教授强调了程序的可读性和可维护性,介绍了良好的编程习惯和注释的重要性。

第三章:数据类型、运算符和表达式数据类型是程序设计中的基础概念,谭教授在这一章中详细解释了C语言中的各种数据类型,如整型、浮点型、字符型等,以及它们在内存中的存储方式。

同时,本章还涵盖了运算符的分类和使用,以及表达式的求值规则。

第四章:控制语句控制语句是程序流程控制的核心。

谭教授在本章中讲解了条件语句(if、switch)、循环语句(for、while、do-while)以及跳转语句(break、continue、goto)。

通过丰富的实例,帮助读者理解如何使用这些语句来控制程序的执行流程。

第五章:数组数组是存储多个相同类型数据的集合。

谭教授在这一章中介绍了一维数组和二维数组的声明、初始化和使用。

同时,还讨论了数组在内存中的存储方式,以及如何通过指针操作数组。

第六章:函数函数是程序模块化的基础。

谭教授在本章中讲解了函数的定义、声明、调用以及参数传递机制。

此外,还介绍了递归函数的概念和应用。

第七章:指针指针是C语言中一个强大的特性,它允许直接访问内存地址。

本章详细介绍了指针的基本概念、指针与数组的关系、指针的运算以及指针在函数中的应用。

第八章:结构体和联合体结构体和联合体是C语言中用于创建复杂数据类型的工具。

《C语言与程序设计方法(第二版)》勘误表_20120604

《C语言与程序设计方法(第二版)》勘误表_20120604

《C语言与程序设计方法(第二版)》勘误表请大家将发现的错误补充进来(请用不同颜色表示你的增加),谢谢!P19例2.1整型常量的表示。

#include <stdio.h>void main() {int a, b, c;a=50; // a为十进制整数50b=-032; // b为八进制整数-32c=0x5b; // c为十六进制整数5bprintf("a=%d, b=%d, c=%d\n", a, b, c); //以十进制整数形式输出a,b,c的值}运行结果如下:a=50, b=-26, c=91P31例2.7整型数据的格式输出。

# include <stdio.h>void main() {int a=-2, b=25;unsigned u=65534, v=28;short c=45;char d='A';printf("a:%d, %u, %o, %x\n", a, a, a, a);printf("u:%d, %u, %o, %x\n", u, u, u, u);printf("b:%d, %u v:%d, %u\n", b, b, v, v);printf("c=%d, d=%d\n", c, d);}运行结果如下:a:-2, 65534, 177776, fffeu:-2, 65534, 177776, fffeb:25, 25 v:28, 28c=45, d=65P33(4) 指定输出宽度。

指定输出宽度和对齐方式需用到附加格式字符m、.n和-。

其中m 为一正整数,用来指定输出宽度(对于f格式符,输出宽度包括整数位、小数点和小数位;对于e 格式符,输出宽度包括尾数部分和指数部分),如果数据的实际宽度比指定输出宽度大,则按实际宽度输出;附加格式符“.n ”的作用是指定输出n 位小数,对于e 格式小数点后仅输出n -1位;附加格式符“-”是用来说明采用左对齐方式,没有“-”时默认是右对齐方式。

C语言程序设计勘误表

C语言程序设计勘误表

C语言程序设计勘误表C语言程序设计勘误表说明:红色为修改后的字符。

1、p16原文:大写字母O的二进制编码依次是:0x1f,0x24,0x42, 0x42, 0x42, 0x42, 0x24, 0x1f。

中国的“中”字的二进制编码的按照从上到下,从左到右顺序依次进行二进制编码,共需要32个字节。

前8个字节的二进制编码是:0x01,0xf0,0x01,0xf0, 0xff,0xff,0xc0,0xf3,其余部分读者可以作为练习将其写出来。

修改为:大写字母O的二进制编码依次是:0x18,0x24,0x42, 0x42, 0x42, 0x42, 0x24, 0x18。

中国的“中”字的二进制编码按照从上到下,从左到右顺序依次进行二进制编码,共需要32个字节。

前8个字节的二进制编码的十六进制表示是:0x01,0x80,0x01,0x80, 0xff,0xff,0xc1,0x83,其余部分读者可以作为练习将其写出来。

2.ASCII码下数5行原文:从0x20到0x7f共95个编码修改为:从0x20到0x7e共95个编码2、p17原文:因此它的国标码是0x5050,而它的区位码是0x3030。

修改为:因此它的国标码是0x5056,而它的区位码是0x3036。

3、p25原文:1.9 求十进制数157和-153的8位、16位原码和8位、16位补码。

修改为:1.9 求十进制数157和-153的16位原码和16位补码。

4、p36例2.4后自然段的第3行原文:'t'、'\11'、'\011'、'\x9'和'\x09'均表示水平制表符。

修改为:'\t'、'\11'、'\011'、'\x9'和'\x09'均表示水平制表符。

5、p43 例2.9原文:!(year%4) && year%400 || !(year%400)上式等价于(!(year%4) && year%100 ) || !(year%400)修改为:!(year%4) && year%400 || !(year%400)上式等价于(!(year%4) && year%100 ) || !(year%4006、p76 例3.16原文:scanf(“%s%1s”, &c1, &c2);修改为:scanf(“%s%1s”, c1, &c2);7、p81例3.27原文:printf("%f/t", atof(” 123.456asdf”));printf("%f/t", atof(”\n-qwer”));printf("%f/t", atof(”\n+qwer”));printf("%f/n", atof(”3COM”));修改为:printf("%d\t", atoi(” 123.456asdf”));printf("%d\t", atoi(” 123456.789”));printf("%d\t", atoi(”\n-qwer”));printf("%d\t", atoi(”\n+qwer”));printf("%d\n", atoi(”3COM”));例3.28原文:printf("%d/t", atoi(” 123.456asdf”));printf("%d/t", atoi(” 123456.789”));printf("%d/t", atoi(”\n-qwer”));printf("%d/t", atoi(”\n+qwer”));printf("%d/n", atoi(”3COM”));修改为:printf("%d\t", atoi(” 123.456asdf”));printf("%d\t", atoi(” 123456.789”));printf("%d\t", atoi(”\n-qwer”));printf("%d\t", atoi(”\n+qwer”));printf("%d\n", atoi(”3COM”));p82 例3.28原文:printf("%ld/t", atol(” 123.456asdf”)); printf("%ld/t", atol(” 123456.789”));printf("%ld/t", atol(”\n-qwer”));printf("%ld/t", atol(”\n+qwer”));printf("%ld/n", atol(”3COM”));修改为:printf("%ld/t", atol(” 123.456asdf”)); printf("%ld\t", atol(” 123456.789”));printf("%ld\t", atol(”\n-qwer”));printf("%ld\t", atol(”\n+qwer”));printf("%ld\n", atol(”3COM”));8、p86 例3.33原文:printf(”input a character:\n”)c = getchar();c >= ’0’&& c <= ’9’? (d = ~(c –’0’) & 0xff, printf(”0x%x\n”, d)) : printf(”%c”, c);修改为:printf(”input a character:\n”);c = getchar();c >= ’0’&& c <= ’9’? (d = ~(c –’0’), printf(”0x%x\n”, d&0xff)) : printf(”%c ”, c);9、 p104 例4.15原文: Char c;修改为:char c;10、 p110 例4.22 修改为:计算 +-+-=!7!5!3)sin(753x x x x x ,11、 p112 倒数第6行原文: d=-(((3*x-4)*x)-5)*x+13/((9*x-8)*x-5)修改为:d=-( (((3*x-4)*x)-5)*x+13)/((9*x-8)*x-5) 12、 p113 第1行原文: d=-(((3*x-4)*x)-5)*x+13/((9*x-8)*x-5)修改为:d=-( (((3*x-4)*x)-5)*x+13)/((9*x-8)*x-5) 13、 p129原文:修改为:14、 p151 例5.11原文: if (n==0||==1) return 1;修改为:if (n==0||n ==1) return 1;15、 p166 第5.11题原文: (2) 若n i 是奇数,则n i+1=3n i +2修改为:(2) 若n i 是奇数,则n i+1=3n i +116、 p186 例7.1原文: initgraph( gdriver,gmode, "d:\\tc\\bgi");修改为:initgraph( &gdriver,&gmode, "d:\\tc\\bgi");17、 p194原文:修改为:18、 p222 倒数第8行开始原文: cout<<a[k]<<" ";<="" p="">cout<<endl;< p="">修改为:printf(“%d ”,a[k]);printf(“\n ”);原文:左边修改为:右边20、p292 第13行原文:while(*s++=*t++) ;修改为:while(*t++=*s++) ;21、p311 从9.11下数4行原文: B W Kernighan 和D M Ritchie修改为:B.W.Kernighan 和D.M.Ritchie22、p326 第10行原文:char num[4];修改为:char num[5];23、p330 倒数第1行原文:scanf("%d% d% %",&a.start.x,&a.start.y);修改为:scanf("%d% d%",&a.start.x,&a.start.y);24、p335 第16行原文:表达式的值是ˊaˊ,修改为:表达式的值是ˊmˊ,25、p367 倒数第3行原文:while(current->data!=n)修改为:while(current->data!=n && current != NULL) 26、p369 第2行原文:while(current->data!=n)修改为:while(current->data!=n && current != NULL) 27、p371 10.26原文:t=p1->next;prior2->next=p1;修改为:prior2->next=p1;t=p1->next;28、p402 倒数第6行原文:fwide函数修改为:fwi nd函数原文:fclose函数返回0,否则返回NULL。

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案

c语言程序设计教程第二版课后习题答案第一章:C语言基础1. 以下为C语言的特点:- C语言是一种结构化编程语言,可以通过模块化的方式构建复杂的程序。

- C语言具有较高的可移植性,可以在不同的操作系统和硬件平台上运行。

- C语言提供了丰富的库函数,方便开发者进行程序开发。

- C语言对指针的支持较好,可以进行底层的内存操作。

2. C语言中的标识符规则:- 标识符由字母、数字和下划线组成,且第一个字符不能是数字。

- 标识符区分大小写,因此变量名"num"和"Num"是不同的。

- 标识符不能与关键字重名,如"if"、 "for"等。

- 标识符长度一般不超过32个字符。

3. 在C语言中,预处理指令的作用是在程序编译之前对代码进行处理,包括宏展开、文件包含等。

预处理指令以"#"开头,常见的预处理指令有:- #include:用于包含头文件,将头文件中的内容插入到当前文件中。

- #define:用于定义宏,将宏名称替换为指定的值或代码片段。

- #ifdef、#ifndef、#endif:用于条件编译,根据条件是否成立来选择性地编译代码。

4. C语言中的数据类型分为基本数据类型和派生数据类型两种。

基本数据类型包括整型、浮点型、字符型和布尔型,派生数据类型包括数组、指针、结构体和共用体。

5. C语言中的运算符主要分为算术运算符、关系运算符、逻辑运算符、位运算符和赋值运算符等。

算术运算符用于执行加减乘除等基本算术操作,关系运算符用于比较两个值的大小关系,逻辑运算符用于组合多个条件的判断结果,位运算符用于对二进制位进行操作,赋值运算符用于将右侧的值赋给左侧的变量。

第二章:C语言程序结构1. C语言程序结构由函数、语句和注释组成。

每个C语言程序至少包含一个main()函数,作为程序的入口。

2. 以下为C语言程序的基本结构:```c#include <stdio.h>int main() {// 程序代码return 0;}```3. C语言中的控制语句包括条件语句和循环语句。

c程序设计(第二版)谭浩强

c程序设计(第二版)谭浩强

c程序设计(第二版)谭浩强C程序设计(第二版)由谭浩强教授编著,是一本广受好评的C语言教材。

这本书以其系统性、实用性和易读性,深受广大计算机专业学生和自学者的欢迎。

以下是对这本书的详细介绍。

书籍概述《C程序设计(第二版)》是一本面向初学者的C语言入门书籍,适合作为高等院校计算机专业或相关专业的教材,也适合作为自学者的参考书籍。

该书在第一版的基础上进行了修订和补充,增加了一些新的知识点和实例,使得内容更加丰富和全面。

作者介绍谭浩强教授是中国著名的计算机科学家和教育家,长期从事计算机科学与技术的教学和研究工作。

他的著作深入浅出,深受读者喜爱。

内容结构这本书的内容主要分为以下几个部分:1. 基础知识:介绍了C语言的基本概念、数据类型、运算符和表达式等基础知识。

2. 控制结构:详细讲解了C语言中的顺序结构、选择结构和循环结构。

3. 函数:介绍了C语言中的函数定义、调用、递归以及变量的作用域和存储类别。

4. 数组:包括一维数组和多维数组的使用,以及字符串处理。

5. 指针:深入讲解了指针的概念、指针与数组的关系、指针的高级应6. 结构体与联合体:介绍了结构体和联合体的定义和使用,以及它们的应用场景。

7. 文件操作:讲解了C语言中的文件打开、读写和关闭等操作。

8. 预处理指令:介绍了宏定义、文件包含、条件编译等预处理指令的使用。

9. 高级主题:包括动态内存分配、位操作等高级主题。

特点- 系统性:书籍内容系统全面,从基础到高级,逐步深入。

- 实用性:书中提供了大量的实例和习题,帮助读者巩固知识点。

- 易读性:语言通俗易懂,逻辑清晰,便于读者理解和学习。

- 更新性:第二版在第一版的基础上进行了更新和补充,更加符合现代编程的需要。

适用人群- 计算机专业学生:作为C语言课程的教材或参考书。

- 自学者:对于想要自学C语言的读者,这本书是一个很好的入门选择。

- 软件开发者:对于需要使用C语言进行开发的软件工程师,这本书可以作为技术提升的参考。

二级C语言程序设计教程课后习题答案(高教版)(优.选)

二级C语言程序设计教程课后习题答案(高教版)(优.选)
【4-20】*#
【4-21】
main()
{ int a,m;
printf("input a: ");
scanf("%d",&a);
switch(a/10)
{ case 0:
case 1:
case 2: m=1 ;break;
case 3: m=2 ;break;
case 4: m=3 ;break;
if (x>0) y=x+1;
printf("\nx is %d , y is %d",x,y);
}
else printf("input x is error ! %c",'\007');
getch();
}
【4-25-3】
main()
{ int x,y;
printf("\ninput x: ");
scanf("%d",&x);
#include <stdio.h>
main() /* main function */
{ float a,b,c,v; /* a,b,c are sides, v is volume of cube */
a=2.0; b=3.0; c=4.0;
v=a*b*c;
printf("%f\n",v);
}
第三章
getch();
}
第四章
【4-1】A【4-2】A【4-3】A【4-4】D【4-5】C【4-6】A【4-7】B【4-8】A
【4-9】D【4-10】A【4-11】非零,零【4-12】<,>,<=,>= ==,!=

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

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

c语⾔程序设计教程(第2版)课后题及模拟题参考答案c语⾔程序设计教程(第2版)课后题及模拟题参考答案习题1 (4)1-1 填空题 (4)1-2 思考题 (4)1-3 编程题 (5)习题2 (6)2-1 单选题 (6)2-2 思考题 (6)习题3 (7)3-1 选择题 (7)3-2 填空题 (7)3-3 编程题 (8)习题4 (11)4-1单选题 (11)4-2填空题 (11)4-3 编程题 (11)习题5 (16)5-1单选题 (16)5-2填空题 (16)5-3 编程题 (16)习题6 (22)6-1单选题 (22)6-2填空题 (22)习题7 (25)7-1单选题 (25)7-2填空题 (25)7-3 编程题 (25)习题8 (26)8-1单选题 (26)8-2填空题 (26)8-3 编程题 (26)习题9 (30)9-1单选题 (30)9-2填空题 (30)9-3 编程题 (30)习题10 (38)10-1单选题 (38)10-2填空题 (38)10-3 编程题 (38)习题11 (41)11-1单选题 (41)11-2填空题 (41)习题12 (42)12-1单选题 (42)12-2 填空题 (42)实验1 熟悉Visual C++6.0可视化集成开发环境 (43)实验2 顺序结构程序设计 (43)实验3 选择结构程序设计 (43)实验4 循环结构程序设计 (44)实验5 函数 (47)实验6 数组 (54)实验7 指针 (58)实验8 结构体和共⽤体 (61)实验9 ⽂件 (63)实验10 综合编程 (64)模拟试卷(⼀)参考答案 (65)模拟试卷(⼆)参考答案 (67)习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数⾸部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有⼀个合理的结构以保证程序正确性⽽规定的⼀套如何进⾏程序设计的原则。

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。

#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

C语言程序设计(第2版)

C语言程序设计(第2版)

作者简介
作者简介
衡军山(1974—),男,河北承德人,承德石油高等专科学校计算机与信息工程系副教授,从事计算机方面 的教学和研究工作。
马晓晨(1968一),男,河北保定人,承德石油高等专科学校计算机与信息工程系教授,博士,主要从事三 维可视化技术研究工作。
谢谢观看
教材目录
教材目录
(注:目录排版顺序为从左列至右列)
教学资源
配套教材
课程资源
配套教材
《C语言程序设计(第2版)》有配套的实践教学参考用书——《C语言程序设计实训指导(第2版)》。
课程资源
《C语言程序设计(第2版)》配有60个微课视频,书同时为国家精品资源共享课“C语言程序设计”的配套教材。
2020年12月28日,《C语言程序设计(第2版)》由高等教育出版社出版发行。
内容简介
内容简介
该书分为基础篇和提高篇两部分,共10个单元,其中,基础篇包括程序设计宏观认识、程序设计基础知识、 顺序结构程序设计、选择结构程序设计和循环结构程序设计5个单元;提高篇包括批量数据的处理、使用函数分工 合作、使用指针访问数据、结构体、共用体与用户自定义类型,以及文件的读写操作5个单元。每个单元都由导学、 本单元学习任务、知识描述、单元总结和知识拓展这5部分组成,同时辅以随堂练习。
《C语言程序设计(第2版)》的其他数字化课程教学资源,还包括课程标准、授课计划、电子教案、教学课 件PPT、学习思维导图、案例源码、习题答案等。
教材特色
教材特色
该书每个单元都设计了“导学”环节,以互动的方式引导学生逐步进入到学习情境之中;设计了单元学习任 务环节,使学生在进入学习前就能明确本单元的学习任务;设计了具有互动特点的“单元总结”环节,使教学总 结不再是教师的独角戏,帮助学生巩固和提升知识和能力,在互动中形成了“再学习”;设计了知识拓展环节, 作为学生必要的知识补充,丰富其知识量,培养和拓展其编程思维,赋予其想象的空间。该书知识与实践高度融 合,在教学过程中,培养学生集掌握知识和提升编程能力为一体,学生学习和教师教学形成互动。

C语言程序设计教程(第2版)

C语言程序设计教程(第2版)

C语言程序设计教程(第2版)本教程对于初学者的重要性对于初学者来说,掌握C语言程序设计的基础知识是研究其他高级编程语言和深入理解计算机科学的关键。

C语言具有简洁、高效、灵活等特点,可以帮助初学者培养良好的编程惯和逻辑思维能力。

通过本教程的研究,初学者将能够了解C语言的语法规则、数据类型、控制结构、函数等基本概念和技巧,为以后的研究打下坚实的基础。

本教程对于初学者的重要性对于初学者来说,掌握C语言程序设计的基础知识是研究其他高级编程语言和深入理解计算机科学的关键。

C语言具有简洁、高效、灵活等特点,可以帮助初学者培养良好的编程惯和逻辑思维能力。

通过本教程的研究,初学者将能够了解C语言的语法规则、数据类型、控制结构、函数等基本概念和技巧,为以后的研究打下坚实的基础。

本教程对于初学者的重要性对于初学者来说,掌握C语言程序设计的基础知识是研究其他高级编程语言和深入理解计算机科学的关键。

C语言具有简洁、高效、灵活等特点,可以帮助初学者培养良好的编程惯和逻辑思维能力。

通过本教程的研究,初学者将能够了解C语言的语法规则、数据类型、控制结构、函数等基本概念和技巧,为以后的研究打下坚实的基础。

本教程对于初学者的重要性对于初学者来说,掌握C语言程序设计的基础知识是研究其他高级编程语言和深入理解计算机科学的关键。

C语言具有简洁、高效、灵活等特点,可以帮助初学者培养良好的编程惯和逻辑思维能力。

通过本教程的研究,初学者将能够了解C语言的语法规则、数据类型、控制结构、函数等基本概念和技巧,为以后的研究打下坚实的基础。

同时,本教程还提供了大量的示例代码和练题,通过实践操作,初学者可以加深对C语言的理解和应用能力。

通过逐步研究和实践,初学者将能够熟练地编写简单的C语言程序,并逐渐掌握解决实际问题的能力。

同时,本教程还提供了大量的示例代码和练题,通过实践操作,初学者可以加深对C语言的理解和应用能力。

通过逐步研究和实践,初学者将能够熟练地编写简单的C语言程序,并逐渐掌握解决实际问题的能力。

《C++程序设计教程 第2版》第2次印刷 勘误(XXXX1029)

《C++程序设计教程 第2版》第2次印刷 勘误(XXXX1029)

《C++程序设计教程第2版》第2次印刷勘误作者:王珊珊臧洌X志航◆P50第1处例4.17 程序中的f1前后多双引号是多余的原描述:#include <iostream.h>#include <iomanip.h>void main( ){int f1, f2;f1=f2=1;for(int i=1; i<=20; i++){cout << setw(12) << "f1" << setw(12) << f2 ;if(i%2==0) cout<<endl; // Af1=f1+f2;f2=f2+f1;}}应修改为:#include <iostream.h>#include <iomanip.h>void main( ){int f1, f2;f1=f2=1;for(int i=1; i<=20; i++){cout << setw(12) << f1 << setw(12) << f2 ;if(i%2==0) cout<<endl;f1=f1+f2;f2=f2+f1;}}◆P94 例7.10中,prime( ) 函数中的第4行原程序:void prime(int a[],int n){int i, j;for(i=1; i<n/2; i++) //a[0]不是素数,因此从a[1]开始判断if( a[i]!=0 )for(j=i+1; j<n; j++)if(a[j]!=0)if(a[j]%a[i]==0) a[j]=0;}应修改为:void prime(int a[],int n){int i, j;for(i=1; i<n/2; i++) //未使用a[0]元素,因此从a[1]开始判断if( a[i]!=0 )for(j=i+1; j<n; j++)if(a[j]!=0)if(a[j]%a[i]==0) a[j]=0;好像多了一个空行(即本行),可删除,不删也可以,看如何方便排版}◆P107 将第2、3行红色字下移到“请读者比较这两个方法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C++程序设计教程第2版》第2次印刷勘误作者:王珊珊臧洌张志航♦P50第1处例4.17程序中的fl前后多双引号是多余的原描述:#include <iostream.h>#include <iomanip.h>void main(){int f1, f2;f1=f2=1;for(int i=1; i<=20; i++){cout << setw(12) << "f1" << setw(12) << f2 ; if(i%2==0) cout«endl; // Af1=f1+f2;f2=f2+f1;}}应修改为:#include <iostream.h>#include <iomanip.h>void main(){int f1, f2;f仁f2=1;for(int i=1; i<=20; i++){cout << setw(12) << f1 << setw(12) << f2 ; if(i%2==0) cout«endl;f1=f1+f2;f2=f2+f1;}}♦P94 例7.10中,prime()函数中的第4行原程序:void prime(int a[],int n){int i, j;for(i=1; i<n/2; i++) 〃a[0]不是素数,因此从a[1]开始判断if( a[i]!=0 )for(j=i+1; j<n; j++)if(a[j]!=0)if(a[j]%a[i]==0) a[j]=0;}应修改为:void prime(int a[],int n){int i, j;for(i=1; i<n/2; i++) //未使用a[0]元素,因此从a[1]开始判断if( a[i]!=0 ) for(j=i+1; j<n; j++) if(a[j]!=0) if(a[j]%a[i]==0) a[j]=0;好像多了一个空行(即本行) ,可删除,不删也可以,看如何方便排版 }♦ P107 将第2、3行红色字下移到“请读者比较这两个方法。

”之前 原描述:例 7.25 输入一行字符,统计其中的单词个数,单词之间用空格隔开本算法中,求单词数的方法为:顺序扫描数组元素,若当前字符是非空格,而其前一个字符是空格, 则单词数加 1 。

红色字应下移#include <iostream.h>#include <string.h>int countwords(char string[ ]){ int i, len, num=0;len=strlen(string);for (i=0; i<len; ){while(string[i]==' ')i++;if (i<len) num++;while(string[i]!=' '&&i<len) i++; }return num;} void main( ){char string[80]; int num;cout<<" 输入一行字符 :" cin.getline(string, 80);num=countwords(string);//滤掉多个连续的空格 //单词数加 1 //跳过一个单词cout«"输入的字符串为:"vvstringvvendl; coutvv"字符串中包含的单词个数为 :"vvnumvvendl; }运行结果如下:输入一行字符 :l am a student. vEnter> 输入的字符串为:l am a student.字符串中包含的单词个数为:4统计单词的函数还可以这样实现:int numwords(char string[]){int i, num;char c=' '; //存放前一字符for (i=num=0; stri ng[i]!='\0: i++ ){if (c==' ' && string[i]!=' ') num++;c=string[i];}return num;}注意:应将上述红色字移至此处请读者比较这两个方法。

应修改为:例7.25输入一行字符,统计其中的单词个数,单词之间用空格隔开#include <iostream.h>#include <string.h>int countwords(char string[]) {int i, len, num=0;len=strlen(string);for (i=0; i<len;) {while(string[i]==' ')i++;if (i<len) num++; while(string[i]!=''&&i<len) i++;} return num; void main(){char string[80]; int num;coutvv"输入一行字符:";cin.getline(string, 80);num=countwords(string);coutvv"输入的字符串为:"vvstringvvendl;coutvv"字符串中包含的单词个数为 :"vvnumvvendl;运行结果如下:输入一行字符 :l am a student. <Enter> 输入的字符串为:l am a student.字符串中包含的单词个数为:4统计单词的函数还可以这样实现://单词数加1〃滤掉多个连续的空格 //单词数加1 //跳过一个单词int numwords(char string[]){int i, num;char c=' '; //存放前一字符for (i=num=0; stri ng[i]!='\0: i++ ){if (c==' ' && string[i]!=' ') num++; // 单词数加1c=string[i];}return num;}本算法中,求单词数的方法为:顺序扫描数组元素,若当前字符是非空格,而其前一个字符是空格, 则单词数加1。

请读者比较这两个方法。

♦P119 例8.5的运行结果,每行前应有7个空格原描述:运行结果如下:1 red yellow blue 原:每行行前无空格2 red yellow white3 red yellow black4 red yellow purple5 red blue yellow6 red blue white115 purple white blue116 purple white black117 purple black red118 purple black yellow119 purple black blue120 purple black white可能的组合数为:120应修改为:运行结果如下:115 purple white blue 116 purple white black117 purple black red118 purple black yellow119 purple black blue120 purple black white可能的组合数为:120应改为a[0]a+1a[1] a[1]+1a[1]+2 a[1]+3 a+2a[2] 图9-16二维数组行指针和元素指针示意每行前加7个空格,每列数据右对齐2 red yellow white3 red yellow black4 red yellow purple 5red blue yellow 6 red blu e! white ♦ P135 图 9-16原描述: 垂直的箭头移动后,箭头上方的文字也应随箭头移动1 red yellow blue♦P225 例13.1对齐方式不对原描述:#include <iostream.h>#include <string.h>class String{int Length;char *Strp;public:String();String(char *s); String(String &s); void Print() //重载构造函数1 //重载构造函数2 //重载构造函数3{coutvv"String="v<Strpvvendl;coutvv"Length="v<Lengthvvendl;}~String( ){ if(Strp) delete [] Strp; } // 析构函数};应修改为:class String{int Length;char *Strp;public:String();String(char *s); String(String &s); //重载构造函数1 //重载构造函数2 //重载构造函数3void Print(){coutvv"String="vvStrpvvendl;coutvv"Length="vvLengthvvendl;}~String( ){ if(Strp) delete [] Strp; }// 析构函数注意:对齐方式,缩进};。

相关文档
最新文档