C++程序设计基础(第三版)周霭如 习题及其解答(第3版)
- 格式:doc
- 大小:6.00 MB
- 文档页数:63
C语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。
4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图或N-S流程图表示求解以下问题的算法。
1. 从键盘输入10个整数,求出其中的最小数并输出。
2. 求1+2+3+…+100的值。
3. 求10~50的所有素数之和。
4. 求下列分段函数的值。
四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。
**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。
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语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。
它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。
1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。
其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。
1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。
每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。
1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。
通过运算符和表达式可以进行各种数值计算和逻辑判断。
第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。
整型数据类型可以表示整数值,并具有不同的取值范围。
2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。
浮点型数据可以表示较大或较小的数值,并具有一定的精度。
2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。
字符型数据可以用于表示各种字符(包括字母、数字、符号等)。
2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。
C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。
请编程序。
#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f ”__,&r);scanf(”%d ”,__&h _);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。
公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。
#include <stdio.h>main(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。
#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x -10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于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语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。
2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。
3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。
4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。
5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。
三、用传统流程图或N-S流程图表示求解以下问题的算法。
1. 从键盘输入10个整数,求出其中的最小数并输出。
2. 求1+2+3+…+100的值。
3. 求10~50的所有素数之和。
4. 求下列分段函数的值。
四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。
**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。
c程序设计第三版习题参考解答(全) C程序设计第三版习题参考解答本文为《C程序设计第三版习题参考解答》的全文内容。
为了更好地适应题目要求,文章将按照解答问题的方式进行分段,每个问题对应一个小节。
以下是各个问题的解答:第一章:C概述和程序设计基本原则1. 什么是计算机程序?计算机程序是一系列指令的集合,用于告诉计算机执行特定的任务。
它由一系列语句组成,每条语句都包含了计算机可以理解和执行的命令。
2. C语言的起源和发展历程是什么?C语言是由贝尔实验室的Dennis Ritchie于20世纪70年代初开发的一种通用高级编程语言。
C语言基于早期的B语言进行了扩展和改进,成为了应用广泛且高效的编程语言。
3. 编译和解释有什么区别?编译是将源代码一次性转换为机器语言的过程。
它将整个源代码文件编译成可执行文件,然后可以直接在计算机上运行。
解释是逐行解析源代码并立即执行的过程。
解释器逐行读取源代码并将其转换为机器代码,然后立即执行转换后的代码。
4. C程序的一般结构是什么样的?C程序的一般结构包括预处理指令、函数声明、全局变量声明、main函数以及其他函数的定义。
预处理指令用于包含头文件、定义宏等。
函数声明用于声明函数的名称和参数。
全局变量声明用于声明全局变量。
main函数是C程序的入口点,也是程序执行的起始位置。
第二章:C基本语法和数据类型1. C中的注释有哪些类型?在C中,注释分为单行注释和多行注释。
单行注释以"//"开头,多行注释以/*开头,以*/结尾。
2. 什么是变量?变量是在程序中用来存储数据的存储区域。
每个变量都有一个名称和一个数据类型,可以通过变量名来引用它所存储的数据。
3. C语言中的常量有哪些类型?C语言中的常量分为整型常量、实型常量、字符常量和字符串常量。
整型常量表示整数值,实型常量表示实数值,字符常量表示单个字符,字符串常量表示一串字符。
4. C语言中的运算符有哪些类型?C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、自增自减运算符等。
《C语言程序设计》第三版课后答案第一章:C语言基础知识1.1 C语言的历史和特点C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的一种高级计算机编程语言。
C语言具有简洁、高效、可移植性强等特点,成为了编写系统软件和应用软件的首选语言。
1.2 C语言的开发环境为了编写和运行C语言程序,我们需要安装并配置相应的开发环境。
常用的开发环境包括Code::Blocks、Dev-C++和Eclipse等。
这些开发环境提供了编辑器、编译器和调试器等工具,方便我们进行程序开发和调试。
1.3 C语言的基本语法C语言的基本语法包括关键字、标识符、数据类型、变量、常量、运算符和控制语句等。
关键字是C语言预先定义的词汇,如int、if、for等。
标识符是程序中自定义的名称,用于标识变量、函数等。
数据类型包括整型、浮点型、字符型和指针型等。
变量是存储数据的位置,常量是不可修改的数据。
运算符用于进行数学和逻辑运算。
控制语句包括条件语句和循环语句,用于控制程序的执行流程。
第二章:C语言基本程序设计2.1 程序的结构C语言程序由多个函数组成,其中main函数是程序的入口,是程序执行的起点。
在main函数中,我们可以调用其他函数来完成具体的任务。
一个基本的C语言程序结构包括包含头文件、定义变量、执行语句和返回值等部分。
2.2 输入和输出输入和输出是C语言程序中常见的操作。
标准库提供了一系列函数,如printf和scanf,用于输出和输入数据。
其中printf函数用于格式化输出数据,scanf函数用于接收用户的输入。
2.3 运算和赋值C语言支持多种运算符,如算术运算符、关系运算符、逻辑运算符和位运算符等。
这些运算符可以用于数值计算和条件判断。
赋值运算符用于给变量赋值。
2.4 条件语句条件语句根据条件的成立与否来决定程序的执行路径。
C语言提供了if语句和switch语句来实现条件控制。
if语句根据条件的真假来执行不同的代码块。
习题1及其解答1.1选择题1.一个最简单的C++程序,可以只有一个( c )。
(a) 库函数(b) 自定义函数(c) main函数(d) 空函数2.用C++语言编制的源程序要变为目标程序必须要经过( d )。
(a) 解释(b) 汇编(c) 编辑(d) 编译3. C++程序中的简单语句必须以( b )结束。
(a) 冒号(b) 分号(c) 空格(d)花括号4.有说明 int a=0; double x=5.16; 以下语句中,( c )属于编译错误。
(a) x=a/x; (b) x=x/a; (c) a=a%x; (d) x=x*a;5. 执行C++程序时出现的“溢出”错误属于( c )错误。
(a) 编译(b) 连接(c) 运行(d) 逻辑6.下列选项中,全部都是C++关键字的选项为( c )。
(a) while IF Static (b) break char go(c) sizeof case extern (d) switch float integer7. 按C++标识符的语法规定,合法的标识符是( a )。
(a) _abc (b) new (c) π(d) “age“8.C++语句中,两个标识符之间( a )不能..作为C++的分隔符。
(a) 数字(b) ; (c) : (d) +9.下列正确的八进制整型常量表示是( b )。
(a) 0a0 (b) 015 (c) 080 (d) 0x1010.下列错误的十六进制整型常量表示是( c )。
(a) 0x11 (b) 0xaf (c) 0xg (d) 0x1f11.在下列选项中,全部都合法的浮点型数据的选项为( b )。
(a) -1e3.5 15. 2e-4 (b) 12.34 -1e+5 0.1E-12(c) 0.2e-2 -12345. e-5 (d) 5.0e(1+4) 0.1 8e+212.下列正确的字符常量为( d )。
(a) “a”(b) ‘name’(c) a (d) ‘\101’13.下列选项中,( d )不能..交换变量a和b的值。