C++课后习题答案2-习题及其解答(第3版)

合集下载

c语言程序设计教程(第三版)课后习题参考答案张敏霞版

c语言程序设计教程(第三版)课后习题参考答案张敏霞版

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

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

计算机算法的表达工具通常采用以下几种方法:①用自然语言表示算法;②用流程图表示算法;③用伪代码表示算法;④用程序设计语言表示算法。

3.略4.略5.略1.3 编程题1.答:#include "stdio.h"main(){ float a=10, b=20, h=5, s;s=(a+b)*h/2;printf("s=%f " , s );}2.答:#include "stdio.h"main(){ printf("******************************");printf("* hello world *");printf("******************************");}习题 22.1 单选题DBDCA DCABB CA2.2 填空题1.2.0000002.1;0.5000003.9;24.65.100;d6.(1)20 (2)0 (3)60 7.(1)10;6;4 (2)6;9;15 (3)3;60;83 8.55或'7'9.x=4;y=6;z=3;m=4632.3 改错题(略)习题 33.1 单选题BDABC ADCAC BBA3.2 填空题1.32.2613.104.2, 1;互换a,b的值5.6.66.0037.78.5.0,4,c=3<Enter>9.i=10,j=20<Enter>10.(1)65(2)65,A(3)3.14,123.46(4)3.141600e+000,1.234560e+002(5)8765.432100(6)8.765432e+00311.a=2b=5x=8.8y=76.34c1=65c2=9712.%d/%d;%d/%d=%.2f\n3.3 改错题(略)3.4 编程题1.答:#include "stdio.h"main(){int x,y;scanf("%d%d",&x,&y);printf("\t\tx\ty\n");printf("十进制数\t%d\t%d\n",x,y);printf("八进制数\t%o\t%o\n",x,y);printf("十六进制数\t%X\t%x\n",x,y);}2.答:#include "stdio.h"main(){char ch;printf("请输入一个大写英文字母");scanf("%c",&ch);printf("大写英文字母是%c\n",ch);printf("它的前导字符是%c\n",ch-1);printf("它的后续字符是%c\n",ch+1);}3.答:#include "stdio.h"main(){int x,a,b,c,y;printf("请输入一个三位整数\n");scanf("%d",&x);a=x/100;b=(x-a*100)/10;c=x%10;y=c*100+b*10+a;printf("反向输出该整数:%d\n",y);}}4.答:#include "stdio.h"main(){ int hour;double salary, salaryday;scanf("%d,%lf", &hour, &salaryday );salary=hour*salaryday- hour*salaryday*0.1;printf("%8.2lf\n", salary);}5.答:#include "stdio.h"main(){int a,b,c,t;printf("请输入三个整数\n");scanf("%d%d%d",&a,&b,&c);printf("交换前a=%d,b=%d,c=%d\n",a,b,c);t=a;a=c;c=b;b=t;printf("交换后a=%d,b=%d,c=%d\n",a,b,c);}习题44.1 单选题BADDD ACBBB BA4.2 填空题1.12.(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<c 3.(1)0 (2)1 (3)1 (4)0 (5)14.c=15. 46.17.5, 0, 38.59.12310.( cvb= ='y'||cvb= ='Y')&&(work>=3||college=='y'|| college=='Y')&&age<=35 4.3 改错题(略)4.4 编程题1.答#include "stdio.h"#include "math.h"main(){double a,b,c,p,area;scanf("%lf%lf%lf",&a,&b,&c);printf("三角形的三边为:%.llf,%.1lf,%.1lf\n",a,b,c);if (a+b>c&&a+c>b&&b+c>a){p=(a+b+c)/2;area=sqrt(p*(p-a)*(p-b)*(p-c));printf("三角形的面积为%.2lf\n",area);}elseprintf("不能构成三角形\n");}2.答:#include "stdio.h"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.答:#include "stdio.h"#include "math.h"main(){ double x,y;scanf("%lf",&x);if(x<-2)y=x*x-sin(x);else if (x<=2)y=pow(2,x)+x;elsey=sqrt(x*x+x+1);printf("x=%.2lf y=%.2lf\n",x,y);}4.答:#include "stdio.h"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");}5.答:#include "stdio.h"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);}6.答:#include "stdio.h"main(){ int year,money;char x;printf("是否是本公司产品(y/n):");scanf("%c",&x);if(x=='y'||x=='Y'){printf("产品使用的年限:");scanf("%d",&year);if(year<=1) money=0;else if(year<8) money=50;else money=100;printf("产品保修额是:%d\n",money);}else{ money=200;printf("不是本公司产品,产品保修额是:%d\n",money);}}7.答:#include "stdio.h"main(){ int money,num1,num2;printf("请输入取款额(≤2000):");scanf("%d",&money);if(money>2000) printf("请输入取款额数≤2000!\n");elseif(money%50==0){ num1=money/100;num2=(money-num1*100)/50;printf("需支付100元:%d张\n",num1);printf("需支付50元:%d张\n",num2);}elseprintf("输入钱数必须是50的倍数!\n");}习题 55.1 单选题CDABA ABDDB DBCB5.2 填空题1.2 02.3333.(1)i<10 或i<=9 (2)j%3!=04.(1)flag*(float)k/(k+1) 或1.0*flag*k/(k+1) (2)flag=-flag 5.(1)max=x (2)x!=-1 (3)scanf("%d", &x) 6.(1)x<=9或x<10 (2)y=9-x5.3 改错题(略)5.4 编程题1.答:(1)for循环,其他略#include "stdio.h"main(){ int i,s=0;for(i=1;i<=100;i++)s+=i*i;printf("%d\n",s);}(2)for循环,其他略#include "stdio.h"main(){ int i=1,p=1;double s=1;do{s+=1.0/p;p*=++i;}while(1.0/p>1e-6);printf("%lf",s);}2.答:#include "stdio.h"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",n);}3.答:#include "stdio.h"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.答:#include "stdio.h"main(){ int x,y,z;for( x=1 ; x<20 ;x++)for( y=1 ;y<33 ;y++){ z=100-x-y ;if ((z%3)==0 &&(5*x+3*y+z/3)==100)printf("x=%d,y=%d,z=%d\n",x,y,z) ;}}5.答:(a)#include "stdio.h"main(){ int j,k ;for( j=1 ;j<=4 ;j++){ for(k=1;k<=4-j;k++)printf(" ");printf("****") ;printf("\n") ;}}(b)#include "stdio.h"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") ;}}6.答:程序分析:利用for循环控制在100~999之间,对每个数分解出个位、十位、百位。

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

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

C语言程序设计第三版谭浩强课后习题答案完整版在C语言程序设计学习过程中,谭浩强的《C语言程序设计第三版》是一本经典教材,对于提高学生的编程能力和理解C语言的应用具有重要的作用。

然而,学习过程中遇到的习题往往让学生感到困惑,因此,本文将为大家提供C语言程序设计第三版谭浩强课后习题的完整答案,帮助大家更好地理解和掌握C语言的编程技巧。

第一章习题1-1:```c#include <stdio.h>int main(){printf("Hello, World!\n");return 0;}```习题1-2:```c#include <stdio.h>int main(){printf("天\n地\n人\n"); return 0;}```习题1-3:```c#include <stdio.h>int main(){printf(" *\n");printf(" * *\n");printf(" * *\n");printf(" * *\n");printf(" * *\n");printf("***\n");return 0;}```习题1-4:```c#include <stdio.h>int main(){int height, width, area;height = 8;width = 10;area = height * width;printf("长方形的面积为:%d\n", area); return 0;}```第二章习题2-1:```c#include <stdio.h>int main(){int radius;float pi = 3.14159;printf("请输入半径:");scanf("%d", &radius);float area = pi * radius * radius;printf("圆的面积为:%f\n", area); return 0;}```习题2-2:```c#include <stdio.h>int main(){int length, width, area;printf("请输入长方形的长度:"); scanf("%d", &length);printf("请输入长方形的宽度:");scanf("%d", &width);area = length * width;printf("长方形的面积为:%d\n", area);return 0;}```习题2-3:```c#include <stdio.h>int main(){int num1, num2, num3, sum;printf("请输入三个整数,用空格隔开:"); scanf("%d %d %d", &num1, &num2, &num3); sum = num1 + num2 + num3;printf("三个整数的和为:%d\n", sum);return 0;}习题2-4:```c#include <stdio.h>int main(){int high, price;printf("请输入身高(厘米):"); scanf("%d", &high);price = (high - 100) * 0.9;printf("标准体重为:%d\n", price); return 0;}```第三章习题3-1:```c#include <stdio.h>int main()int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++){printf("%d*%d=%2d ", j, i, i * j); }printf("\n");}return 0;}```习题3-2:```c#include <stdio.h>int main(){int n, sum = 0, i;printf("请输入一个整数:");scanf("%d", &n);for (i = 1; i <= n; i++){sum += i;}printf("1到%d的和为:%d\n", n, sum); return 0;}```习题3-3:```c#include <stdio.h>int main(){int n, i;printf("请输入一个整数:");scanf("%d", &n);for (i = 2; i < n; i++){if (n % i == 0){break;}}if (i == n){printf("%d是素数。

C程序设计习题答案第3版.doc

C程序设计习题答案第3版.doc

C程序设计习题答案第3版111111111111111111111111习题答案第一章1. 5# inelude <stdio.h>void main (){printf (〃* * * * * * * * *\n Very good! \n* ******* *\n〃); }1.6(法一)#inelude <stdio.h>main (){int a, b, c, max;scanf (〃%d, %d, %d〃,&a, &b, &c);max=(a>b) ?a:b;ma.x= (max>c) ?ma.x: c;printf (z/max=%d\n z,, max);}(法二)main () int a, b, c, max;scanf (〃%d, %d, %d〃,&a, &b, &c); if (a>b&&a>c) ma.x=a.;else if (b>c)ma.x=b;elsemax二c;printf (,,max=%d\n,z, max);}(法三)# include <stdio.h>void main(){int max(int x,int y, int z);int a, b, c, d;scanf (〃%d, %d, %d〃,&a, &b, &c);d=max (a, b, c);printf (,,max=%d\n,z, d);}int max(int x,int y, int z){int A, B;if(x>y) A二x;else A二y;if(z>A) B=z;else B二A;return(B);}第三章3.3(1)(10) 10= (12) 8= (a) 16(2)(32)10=(40)8=(20)16(3)(75) 10=(113)8= (4b)16(4)(-617)10=(176627)8= (fd97)16(5)(-111)10二(177621)8二(ff91)16(6)(2483) 10二(4663)8二(963) 16(7)(-28654) 10=(110022)8=(9012) 16(8)(21003) 10= (51013)8=(520b)163.6aabb (8)cc (8)abc(7) AN3.7main (){char cl二'C‘, c2二,h,, c3二'i , c4二,n , c5二'a'; cl+二4, c2+=4, c3+=4, c4+=4, c5+=4;printf (〃%c%c%c%c%c\rT, cl, c2, c3, c4, c5);}3.8main(){int cl,c2;cl二97;c2二98;printf (,z%c %c〃, cl, c2);}3.9=2. 5=3. 51""Lo亠 m 4 i・ a •避X—s 3■ , ■(g n r+i 4 nb3i a An c+ybyUycy •n3■1oggooofloatx, y fcharcl 》c2-aH3-b"4-CH5-X H 1・ 2・y H 2・4・Z H I 3・6.UH51274mH128765・ c H y 巴-C2—b 》-printf(、丿rr)-printf(、、au%2dbQ2dc*2dxrr“ p b“ c)-printf (、、X Q 8・6f 》y 28・6f 』Z 29・6f-rr,><y,z)八printf(、、x +y u %5・2fy+ZH%5・2fZ+XH%5・2fxn 、「x+y “y+z,z+x)-printf(、、UH%61dn=%91d\n 、「u,n)-printf (、、c l !l手cJ r手d(ASCII)cl 》cl)八printf(、、C 2''手c 》or手d(ASCII)\n 、、,c2,C2)-5 767. 856400, -789. 12396267.856400, -789. 12396267. 86-789. 12, 67. 856400, -789. 123962, 67. 856400, -789. 1239626. 785640e+001,-7. 89e+002A, 65, 101,411234567, 4553207,d68765535, 177777, ffff,-lCOMPUTER, COM4.6a=3 b二7/x二& 5 y二71.82/cl二A c2=a/4.710 20Aal.5 -3. 75 +1.4,67.8/(空3)10(空3)20Aal.5(空1)-3. 75(空1)(随意输入一个数),67.8 回车4.8main(){float pi, h, r, 1, s, sq, sv, sz;pi二3.1415926;printf (z,input r, h\n〃);scanf (〃%f, %f&r, &h);1二2*pi*r;s二t*r*pi;sq二4*pi*r*r;sv=4.0/3. 0*pi*r*r*r;sz=pi*r*r^h;printf (z,l=%6. 2f\rT, 1); printf (,z s=%6・ 2f\rT, s);printf(〃sq=%6・ 2f\rT, sq) printf (z,vq=%6・ 2f\n〃, sv) printf (,z vz=%6・ 2f\n", sz) }4.9ma.in(){float c, f;scanf &f);c=(5. 0/9. 0) * (f-32); printf(〃c=%5・ 2f\n〃,c);}4.10ttinclude^stdio. h" ma.in(){char cl,c2;scanf (〃%c, %c〃, &cl, &c2); putchar (cl);putchar (c2);printf(〃\rT);printf (〃%c%c\n〃, cl, c2);第五章5.3(DO (2)1 (3)1 (4)0 (5)15.4main (){int a, b, c;scanf (〃%d, %d, %d〃,&a, &b, &c); if (a<b) if (b<c)printf(〃max=%d\rT,c);elseprintf ("max^d'rT, b); else if(a<c)printf (z,max=%d\n〃, c);elseprintf (,,max=%d\n,z, a);}main (){int a, b, c, temp, max;scanf (〃%d, %d, %d〃,&a, &b, &c); temp二(a>b)?a:b; max二(c>temp)?c:temp; printf(〃max=%d〃,max);}5.5ma.in(){int x, y;scanf&x);if (x<l) y二x;else if (x〈10) y二2*xT ;else y二3*xTl;printf(〃y=%d〃,y);(case 9-g r a d e 'l >breakscasep ?g r a d e ''》-break-case7-g r a d e 'l a breakscase6-grade'lIy-break-case5-case4-case3-case2-case r rcase5?grade 1!E V -printf 弋score"手d 》gradeH%c 、「score 》grade)-5・6)main((inb score,templogic-char grade-logical-while(logic)(scanf(、gd、、,Kscore)-if(score〉H0&&score〈H100)logic"。

谭浩强c语言第三版课后习题答案

谭浩强c语言第三版课后习题答案

谭浩强c语言第三版课后习题答案谭浩强教授的《C程序设计》第三版是一本广受欢迎的C语言教材,其课后习题也是很多学习者检验学习成果的重要方式。

以下是部分课后习题的答案,供参考:第一章:C语言概述1. C语言的特点是什么?- C语言具有高级语言的特点,同时具有低级语言的许多功能。

- C语言具有丰富的运算符和数据类型。

- C语言具有结构化编程的特点。

- C语言具有很好的移植性。

2. C语言的主要应用领域有哪些?- 系统软件开发。

- 嵌入式系统开发。

- 应用软件的开发。

第二章:数据类型及其运算1. C语言中的基本数据类型有哪些?- 整型(int)- 浮点型(float, double)- 字符型(char)2. 什么是算术运算符?- 加(+)、减(-)、乘(*)、除(/)、模(%)第三章:简单的输入输出1. C语言中标准输入输出函数有哪些?- `printf()` 用于格式化输出。

- `scanf()` 用于格式化输入。

2. 如何使用`printf()`函数进行输出?- 使用`printf()`函数时,需要在括号内提供格式字符串,格式字符串中可以包含转义序列和格式说明符。

第四章:分支结构1. C语言中的条件语句有哪些?- `if`语句- `if...else`语句- `switch`语句2. 如何使用`if`语句实现分支?- 使用`if`语句时,首先需要一个条件表达式,如果条件为真,则执行`if`语句块内的代码。

第五章:循环控制1. C语言中的循环语句有哪些?- `for`循环- `while`循环- `do...while`循环2. 如何使用`for`循环?- `for`循环需要三个部分:初始化表达式、条件表达式和迭代表达式。

第六章:数组1. 数组的基本概念是什么?- 数组是一种数据结构,可以存储固定大小的同类型元素集合。

2. 如何声明一个数组?- 使用数组类型和数组名来声明,例如:`int arr[10];`第七章:指针1. 什么是指针?- 指针是一种变量,它存储了另一个变量的内存地址。

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]

第一篇:《C语言程序设计教程》(第三版)课后习题参考答案C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。

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

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

C语言程序设计第三版谭浩强课后习题答案完整版第一章1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

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

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

C语言程序设计第三版谭浩强课后习题答案完整版第一章1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

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

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

C语言程序设计第三版谭浩强课后习题答案完整版第一章1.5请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.6 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:mian(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b)max=b;if(max<c)max=c;printf(“最大数为:“%d”,max);}第三章3.6写出以下程序运行的结果。

main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t\b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN3.7要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

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

习题 2及其解答选择题1.已知 int i=0, x=1, y=0 ; 在下列选项使i 的值变成1的语句是( c )。

(a) if( x&&y ) i++ ; (b) if( x==y ) i++ ; (c) if( x||y ) i++ ; (d) if( !x ) i++ ;2.设有函数关系为y=⎪⎩⎪⎨⎧>=<-010001x x x ,下面选项中能正确表示上述关系为( c )。

(a) y = 1 ; (b) y = -1 ;if( x >= 0 ) if( x != 0 ) if( x == 0 ) y = 0 ; if( x > 0 ) y = 1 ; else y = -1; else y = 0;%(c) if( x <= 0 ) (d) y = -1 ; if( x < 0 ) y = -1 ; if( x <= 0 )else y = 0 ; if( x < 0 ) y = -1 ; else y = 1 ; else y = 1 ; 3.假设i=2,执行下列语句后i 的值为( b )。

switch( i ) { case 1 : i ++ ; case 2 : i -- ; case 3 : ++ i ; break ; case 4 : -- i ;*default : i ++ ; }(a) 1 (b) 2 (c) 3 (d) 44.已知int i=0,x=0; 下面while 语句执行时循环次数为( d )。

while( !x && i< 3 ) { x++ ; i++ ; } (a) 4(b) 3(c) 2(d) 15.已知int i=3;下面do_while 语句执行时循环次数为( b )。

do{ i--; cout<<i<<endl;}while ( i!= 1 ); (a) 1(b) 2(c) 3(d) 无限6.下面for 语句执行时循环次数为( b )。

¥int i;for ( i=0,j=5;i=j; ){ cout << i << j << endl;i++; j--;}(a) 0 (b) 5 (c) 10 (d) 无限7.以下死循环的程序段是(b )。

(a) int x; for( int x=0 ; x<3 ; ) { x++ ; } ;(b) int k = 0; do { ++k ; } while( k>=0 ) ;(c) int a=5 ; while( a ) { a-- ; } ;《(d) int i=3 ; for( ; i ; i -- ) ;阅读下列程序,写出执行结果1.#include<iostream>using namespace std;int main(){ int a,b,c,d,x;a = c = 0;b = 1; d = 20;if( a ) d = d-10;else if( !b )》if( !c )x = 15;else x = 25;cout << d << endl;}【解答】202.#include<iostream>using namespace std;@int main(){ int a = 0, b = 1;switch( a ){ case 0: switch( b ){ case 0 : cout<<"a="<<a<<" b="<<b<<endl; break;case 1 : cout<<"a="<<a<<" b="<<b<<endl; break;}case 1: a++; b++; cout<<"a="<<a<<" b="<<b<<endl;}}[【解答】a= 0 b= 1a= 1 b= 23.#include<iostream>using namespace std;int main(){ int i = 1;while( i<=10 )if( ++i % 3 != 1 )#continue;else cout << i << endl;}【解答】47104.#include <iostream>using namespace std;】int main(){ int i = 0 , j = 5;do{ i++; j--;if ( i>3 ) break;} while ( j>0 );cout << "i=" << i << '\t'<< "j=" << j << endl;}【解答】i= 4 j= 1】5.#include<iostream>using namespace std;int main(){ int i,j;for( i=1, j=5; i<j; i++ ){ j--; }cout<<i<<'\t'<<j<<endl;}【解答】¥3 36.#include<iostream>using namespace std;int main(){ int i, s = 0;for( i=0; i<5; i++ )switch( i ){ case 0: s += i; break;case 1: s += i; break; ~case 2: s += i; break;default: s += 2;}cout<<"s="<<s<<endl;}【解答】s= 77.#include<iostream>using namespace std;,int main(){ int i, j, x = 0;for( i=0; i<=3; i++ ){ x++;for( j=0; j<=3; j++ ){ if( j % 2 ) continue;x++;}x++;}》cout << "x=" << x << endl;}【解答】x= 16思考题1. C++中有什么形式的选择控制语句归纳它们语法形式、应用场合。

根据一个实际问题使用不同的条件语句编程。

【解答】语句使用方式使用场合:if语句if(表达式)语句1;else 语句2;需要对给定的条件进行判断,并根据判断的结果选择不同的操作。

适用于复杂的条件表达式判断。

switch 语句switch(表达式){ case 常量表达式1: 语句1;case 常量表达式2: 语句2;……[case 常量表达式n; 语句n;[default : 语句n+1;]}根据整型表达式的不同值决定程序分支的情况。

适用于判断表达式简单,需要多个分支处理的情况。

演示程序:程序(1)什么叫循环控制归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。

【解答】循环控制是在特定的条件下,程序重复执行一些特定动作。

、语句语法执行流程使用场合while语句while(表达式)循环体;循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)、程序中常用于根据条件执行操作而不需关心循环次数的情况。

先判断形式循环,条件不成立时不进入循环体。

do-while语do[程序中常用于根据条件执行句循环体while(表达式);循环条件:表达式值为非0(真)循环结束条件:表达式值为0(假)操作而不需关心循环次数。

后判断形式循环,至少执行1次循环体。

一般情况,while语句和do while语句可以互换使用。

for 语句for([表达式1];[表达式2];[表达式3])循环体;(1)表达式1称为初始化表达式,不是循环体执行部分。

@(2)表达式3称为后置表达式,作为循环体的最后一个执行表达式。

(3)循环条件:表达式2值为非0(真)循环结束条件:表达式2值为0(假)for语句称为步长循环语句,通常用于确定循环次数的情况。

由于语句的3个表达式均可以缺省,也可以用于条件循环,即循环次数不确定的情况。

3. 根据一个实际问题,用不同的循环语句编程,分析其优缺点。

【解答】·略。

4. 用if语句和goto语句组织循环,改写思考题的第3小题编写的程序。

分析在什么情况下可以适当使用goto语句。

【解答】在不破坏程序基本流程控制的情况下,可以适当使用goto语句实现从语句结构内部向外的必要跳转,即按特定条件结束结构语句块的执行。

程序略。

5.有以下程序#include<iostream>using namespace std;int main(){ char c;》cin>>c;if(c=='y'||c=='Y')int a=1;elseint a=0;cout<<"a="<<a<<endl;}编译错误为:error C2065: 'a' : undeclared identifier,指示语句行cout<<"a="<<a<<endl;变量a没有定义。

请分析原因,并做出修改。

|【解答】程序在if和else分支中分别声明了各自的局部变量a,而执行输出语句时,声明的变量a作用域已经结束,所以编译器认为输出语句的a没有定义。

正确的程序是:#include<iostream>using namespace std;int main(){ char c;int a;cin>>c;if(c=='y'||c=='Y')a=1;]elsea=0;cout<<"a="<<a<<endl;}6. 有以下程序,希望判断两个输入的整数是否相等。

相关文档
最新文档