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

合集下载

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语言是一种结构化编程语言,具有以下特点:1. 简洁、紧凑、贴近硬件。

2. 丰富的运算符和数据类型。

3. 具有结构化控制语句。

4. 支持模块化程序设计。

5. 可移植性好。

习题2:为什么说C语言具有“高级语言”的特点?答案: C语言被称为高级语言,因为它:1. 抽象了机器语言的复杂性。

2. 允许使用变量名代替内存地址。

3. 提供了丰富的控制结构和数据类型。

4. 支持高级的编程概念,如函数、数组和指针。

# 第二章:数据类型、运算符和表达式习题3:写出C语言中的基本数据类型。

答案: C语言中的基本数据类型包括:- 整型:`int`- 浮点型:`float` 和 `double`- 字符型:`char`习题4:解释赋值运算符的右结合性。

答案:赋值运算符的右结合性意味着当多个赋值运算符出现在同一个表达式中时,它们将从右向左进行计算。

例如,在表达式 `a = b = c;` 中,首先计算 `b = c`,然后将结果赋值给 `a`。

# 第三章:控制语句习题5:描述if语句的基本用法。

答案: if语句用于基于条件执行代码块。

基本语法如下:```cif (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}```其中条件是一个表达式,如果其值为真(非零),则执行if块中的代码;如果为假(零),则执行else块中的代码。

习题6:举例说明for循环的使用。

答案: for循环用于重复执行一段代码,直到给定条件不再满足。

基本语法如下:```cfor (初始化表达式;条件表达式;更新表达式) {// 循环体}```例如,打印0到9的数字:```cfor (int i = 0; i < 10; i++) {printf("%d ", i);}```以上是部分习题及答案的示例。

《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语言版)第三版习题解答

void verge(seqlist *L)
{int t,i,j; i=0; j=L->length-1; while (i<j) { t=L->data[i]; L->data[i++]=L->data[j]; L->data[j--]=t; }
}
2.5已知一个顺序表中的各结点值是从小到大有序的,设计一个算法,插入一个值为x的结点,
3
第2章 线性表及其顺序存储
2.1 选择题 (1)表长为n的顺序存储的线性表,当在任何位置上插入或删除一个元素的概率相等时,
插入一个元素所需移动元素的平均个数为( E ),删除一个元素所需移动元素的平均个数 为( A )。
A.(n− 1)/2 B.n C.n+1 D.n− 1 E.n/2 F.(n+1)/2 G.(n− 2)/2 (2)设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5和e6依次通过栈S, 一个元素出栈后即进入队列Q,若6个元素出队的序列为e2、e4、e3、e6、e5和e1,则栈S 的容量至少应该为( C )。 A.6 B.4 C.3 D.2 (3)设栈的输入序列为1、2、3… n,若输出序列的第一个元素为n,则第i个输出的元素为 ( B )。
表1-1常用的渐进函数 函数 名称
1 常数 logn 对数
n 线性 nlogn n个logn
n2 平方 n3 立方 2n 指数 n! 阶乘 1.9 算法的空间复杂度指的是什么?如何表示? 【答】:算法的空间复杂度是指算法在执行过程中占用的额外的辅助空间的个数。可以将它表 示为问题规模的函数,并通过大写O符号表示空间复杂度。 1.10 对于下面的程序段,分析带下划线的语句的执行次数,并给出它们的时间复杂度T(n)。 (1) i++; (2) for(i=0;i<n;i++) if (a[i]<x) x=a[i]; (3)for(i=0;i<n;i++) for(j=0;j<n;j++) printf(“%d”,i+j); (4)for (i=1;i<=n-1;i++) { k=i; for(j=i+1;j<=n;j++) if(a[j]>a[j+1]) k=j; t=a[k]; a[k]=a[i]; a[i]=t; } (5)for(i=0;i<n;i++) for(j=0;j<n;j++) {++x;s=s+x;} 【答】:(1)O(1);(2)O(n);(3)O(n2);(4)O(n2);(5)O(n2)

c 第三版课后习题答案

c  第三版课后习题答案

c 第三版课后习题答案
C 第三版课后习题答案
在学习C编程语言的过程中,课后习题是非常重要的一部分。

它们可以帮助我
们巩固所学的知识,加深对编程语言的理解,并提高我们的编程能力。

而C 第
三版课后习题答案则是我们学习的重要参考资料。

C编程语言是一门非常经典的编程语言,它被广泛应用于系统编程和应用程序
开发。

因此,掌握C语言是非常重要的,而课后习题则是我们学习过程中的重
要练习材料。

C 第三版课后习题答案包含了对课后习题的详细解答,可以帮助
我们更好地理解和掌握所学的知识。

通过仔细研读C 第三版课后习题答案,我们可以更好地理解C语言的各种语法
规则和编程技巧。

同时,通过对习题的解答,我们还可以提高自己的编程能力,锻炼自己的逻辑思维能力和问题解决能力。

除此之外,C 第三版课后习题答案还可以帮助我们检验自己的学习成果。

通过
对比自己的答案和答案解析,我们可以及时发现自己的不足之处,并加以改进。

这样就可以更快地提高自己的编程水平,为以后的学习和工作打下坚实的基础。

总之,C 第三版课后习题答案对于我们学习C编程语言是非常重要的。

它可以
帮助我们巩固所学的知识,提高编程能力,并且帮助我们检验学习成果。

因此,我们应该认真对待课后习题,并充分利用C 第三版课后习题答案,以便更好地
学习和掌握C编程语言。

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

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

c语言谭浩强第三版课后习题答案《C语言谭浩强第三版课后习题答案》在学习C语言编程过程中,谭浩强的《C语言程序设计》第三版是一本非常经典的教材。

在课后习题方面,这本书也提供了丰富的练习题目,让学习者能够更好地巩固所学知识。

本文将为大家总结一些常见的C语言谭浩强第三版课后习题答案,希望能够帮助大家更好地理解和掌握C语言编程知识。

1. 编写一个C程序,实现输入一个整数,输出该整数的绝对值。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num < 0) {num = -num;}printf("该整数的绝对值为:%d\n", num);return 0;}```2. 编写一个C程序,实现输入两个整数,输出它们的和、差、积、商和余数。

答案:```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);printf("它们的和为:%d\n", num1 + num2);printf("它们的差为:%d\n", num1 - num2);printf("它们的积为:%d\n", num1 * num2);if (num2 != 0) {printf("它们的商为:%d\n", num1 / num2);printf("它们的余数为:%d\n", num1 % num2);} else {printf("除数不能为0\n");}return 0;}```通过以上例子,我们可以看到,C语言编程不仅仅是理论知识的学习,更需要通过实际的练习来巩固和提高。

c程序设计第三版谭浩强课后答案

c程序设计第三版谭浩强课后答案

c程序设计第三版谭浩强课后答案C程序设计第三版是谭浩强教授编写的一本广受欢迎的C语言教材,它详细地介绍了C语言的基础知识和编程技巧。

这本书不仅适合初学者学习,也适合有一定基础的读者深入理解和掌握C语言。

课后答案对于学习者来说是一个重要的参考资源,可以帮助他们检验自己的学习成果和理解程度。

以下是一些C程序设计第三版谭浩强课后答案的示例,这些答案涵盖了书中的部分习题,以供读者参考:1. 习题1.3:编写一个C程序,输入两个整数,输出它们的和。

答案:```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);sum = a + b;printf("它们的和是:%d\n", sum);return 0;}```2. 习题2.4:使用if语句判断一个数是正数、负数还是零。

答案:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num > 0) {printf("这是一个正数。

\n");} else if (num < 0) {printf("这是一个负数。

\n");} else {printf("这是一个零。

\n");}return 0;}```3. 习题3.5:编写一个程序,计算并输出1到100的累加和。

答案:```c#include <stdio.h>int main() {int i, sum = 0;for (i = 1; i <= 100; i++) {sum += i;}printf("1到100的累加和是:%d\n", sum);return 0;}```4. 习题4.7:使用switch语句实现一个简单的计算器程序。

数据结构(c语言版)第三版习题解答

数据结构(c语言版)第三版习题解答
(8)栈是一种特殊的线性表,具有( B )性质。 A.先进先出 B.先进后出 C.后进后出 D.顺序进出
(9)顺序循环队列中(数组的大小为n),队头指示front指向队列的第1个元素,队尾 指示rear指向队列最后元素的后1个位置,则循环队列中存放了n 1个元素,即循环队列满 的条件为( B )。
A.(rear+1)%n=front− 1 B.(rear+1)%n=front C.(rear)%n=front D.rear+1=front (10)顺序循环队列中(数组的大小为6),队头指示front和队尾指示rear的值分别为3 和0,当从队列中删除1个元素,再插入2个元素后,front和rear的值分别为( D )。 A.5和1 B.2和4 C.1和5 D.4和2 2.2什么是顺序表?什么是栈?什么是队列?
6
实际上就是恢复。
程序代码:(2_8_1.c)
#include <stdio.h> #define MAX 26
typedef struct s{
char a[MAX];
int top;
}Stack;
/*定义一些全局变量*/
Stack S;
/*定义全局性的栈*/
char d[MAX],seq[MAX]; /*d[MAX]用于存储原始入栈序列,seq[MAX]用于存储输出序列*/
L->data[j+1]=x; L->length++; } } 2.6 将下列中缀表达式转换为等价的后缀表达式。 (1) 5+6*7 (2) (5-6)/7 (3) 5-6*7*8 (4) 5*7-8 (5) 5*(7-6)+8/9 (6) 7*(5-6*8)-9 【答】: (7) 5+6*7 后缀表达式:5 6 7*+ (8) (5-6)/7 后缀表达式:5 6-7/ (9) 5-6*7*8 后缀表达式:5 6 7*8*(10) 5*7-8 后缀表达式:5 7* 8(11) 5*(7-6)+8/9 后缀表达式:5 7 6-*8 9/+ (12) 7*(5-6*8)-9 后缀表达式:7 5 6 8*-*92.7 循环队列存储在一个数组中,数组大小为n,队首指针和队尾指针分别为front和rear,请 写出求循环队列中当前结点个数的表达式。 【答】:循环队列中当前结点个数的计算公式是:(n+rear-front)%n 2.8编号为1,2,3,4的四列火车通过一个栈式的列车调度站,可能得到的调度结果有哪些?如果 有n列火车通过调度站,请设计一个算法,输出所有可能的调度结果。 【答】: 方法一: 算法思想:逐次输出所有可能,用回溯法。即: 总体:对原始序列中的每一个元素,总是先入栈,后出栈 1.入栈后的操作:a.该元素出栈;b.下一个元素入栈; 2.出栈后的操作:a.(栈中其他元素)继续出栈;b. (原始序列中)下一个数入栈; 注意:回溯法,关键在于回溯,即在某分支结点X:处理X的一个子分支,再退回分支X, 接着处理X的下一个子分支,若所有X的子分支处理完,再退回上一层分支节点。所谓“退回”,
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1习题 2及其解答2.1选择题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 -- ) ;2.2阅读下列程序,写出执行结果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>2using 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= 15.#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;3int 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= 162.3 思考题1. C++中有什么形式的选择控制语句?归纳它们语法形式、应用场合。

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

【解答】4演示程序:程序(1)//此程序用if输出等级对应的分数段//A->=90,B-(90,80],C-(80,70] ,D-(70,60],,E-<60#include<iostream>using namespace std;int main(){ char gd;cout<<"Enter the grade:";cin>>gd;//直到输入有效等级,否则程序不继续运行while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))){ cout<<"Invalid grade! Please retry:";cin>>gd;}if(gd=='A'||gd=='a') cout<<"\nScored 90-100!\n";else if(gd=='B'||gd=='b') cout<<"\nScored 80-89!\n";else if(gd=='C'||gd=='c') cout<<"\nScored 70-79!\n";else if(gd=='D'||gd=='d') cout<<"\nScored 60-69!\n";else if(gd=='E'||gd=='e') cout<<"\nScore under 60!\n";else cout<<"Unexpect error!\n"; //防止意外错误}程序(2)//此程序用switch输出等级对应的分数段//A->=90,B-(90,80],C-(80,70] ,D-(70,60],,E-<60#include<iostream>using namespace std;int main(){ char gd;cout<<"Enter the grade:";cin>>gd;//直到输入有效等级,否则程序不继续运行5while(!((gd>='A' && gd<='E')||(gd>='a' && gd<='e'))){ cout<<"Invalid grade! Please retry:";cin>>gd;}switch(gd){ case 'A':case 'a': cout<<"\nScored 90-100!\n";break;case 'B':case 'b': cout<<"\nScored 80-89!\n";break;case 'C':case 'c':cout<<"\nScored 70-79!\n";break;case 'D':case 'd':cout<<"\nScored 60-69!\n";break;case 'E':case 'e':cout<<"\nScore under 60!\n";break;default:cout<<"Unexpect error!\n";//防止意外错误}}2. 什么叫循环控制?归纳比较C++中各种循环控制语句的语法、循环条件和循环结束条件的表示形式及执行流程。

相关文档
最新文档