C++程序设计 王育坚 清华大学 课后答案
- 格式:doc
- 大小:105.00 KB
- 文档页数:19
C语言程序设计教程课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2C语言程序的基本结构是怎样的?举一个例子说明。
答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。
3C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。
4★指出合法与不合法的标识符命名。
答AB12--√ leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--×XYZ43K2--√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。
答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序)Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。
6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。
①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main(){ int a,b,c,t;printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。
VisualC面向对象编程教程第2版(王育坚)清华大学出版社课后答案2-45编写一个程序,输入三角形的三条边的边长,求三角形的面积。
2-45#include#includeintmain(){inta,b,c;int,S;cin>>a>>b>>c;=(a+b+ c)/2;S=powl(某(-a)某(-b)某(-c),0.5);if(S==0)cout<2-46从键盘输入一个大写字母,然后改用小写字母在屏幕输出。
2-46#includeintmain(){charch;inta;cout<>ch;if(ch>=65&&ch<=91){ch =ch+32;//a=(int)ch;cout<2-47用户输入两个整数,编程输出稍大于第一个整数而又是第2个整数的倍数的数。
计算公式是:valuel+value2-value1%value2.2-47#includeintmain(){intvalue1,value2;intreult;cin>>value1>>val ue2;reult=value1+value2-value1%value2;cout<2-48华氏温度转换为摄氏温度的公式是:C=(F-32)某5/9.。
编写一个程序,输入一个华氏温度,程序输出相应的摄氏温度。
请将32和5/9用cont型变量表示。
2-48#includeintmain(){contfloati=32.0;contfloatj=5.0/9.0;floatde gFahr;floatdegCel;cin>>degFahr;//for(degFahr=0;degFahr<=300;degFahr+=10)//{degCel=j某(degFahr-i);cout<2-49从键盘输入20个整数,检查100是否存在于这些整数中,若是的话,求出他是第几个被输入的。
最新C++语言程序答案第四版清华大学汇总C++语言程序答案第四版清华大学第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
c语言程序设计课后习题及答案C语言程序设计是计算机科学与技术专业的核心课程之一,它不仅教授了编程语言的基本知识,还培养了学生的逻辑思维能力和问题解决能力。
课后习题是巩固课堂学习内容的重要手段,以下是一些C语言程序设计的典型课后习题及答案。
习题1:基本数据类型编写一个程序,输入一个整数和一个浮点数,然后输出它们的和。
```c#include <stdio.h>int main() {int a;float b, sum;printf("请输入一个整数:");scanf("%d", &a);printf("请输入一个浮点数:");scanf("%f", &b);sum = a + b;printf("它们的和是:%f\n", sum);return 0;}```习题2:条件语句编写一个程序,根据输入的成绩判断学生的等级。
```c#include <stdio.h>int main() {float score;printf("请输入学生的成绩:");scanf("%f", &score);if (score >= 90) {printf("等级:A\n");} else if (score >= 80) {printf("等级:B\n");} else if (score >= 70) {printf("等级:C\n");} else if (score >= 60) {printf("等级:D\n");} else {printf("等级:F\n");}return 0;}```习题3:循环结构编写一个程序,计算1到100的整数之和。
习题 9一.选择题1. A2. A3. A4. A5.B6.C二编程题9.2 编写一函数,判断N×N矩阵是否为上三角阵。
上三角阵是指不含主对角线,下半三角都是0的矩阵。
#include <stdio.h>int fun(int x[][3],int n){int flag=1,i,j;for(i=1;i<n;i++)for(j=0;j<i;j++)if(x[i][j]!=0){flag=0;break;}return flag;}void main(){int a[3][3]={{1,4,5},{0,2,6},{0,0,3}};int result=fun(a,3);if(result==1)printf("此矩阵是上三角矩阵!\n");elseprintf("此矩阵不是上三角矩阵!\n");}9.3 有一个字符串,包含n个字符,将字符串从第i 个字符到第j个字符间的字符逆置。
程序代码:#include <stdio.h>#include <string.h>void invertsub(char *str,int i,int j){char *p,*q,c;int n=0;p=q=str;if(str==NULL)printf("str is NULL!\n");else if(i<=0||j>strlen(str))printf("i and j value error!\n");else {while(*p!='\0'&&n!=i-1){ p++;n++; }q=p;while(*q!='\0'&&n!=j-1){q++;n++;while(p<q){c=*p;*p++=*q;*q--=c;}}}void main(){char str[]="abcdefg";printf("%s\n",str);invertsub(str,2,5);printf("%s\n",str);}9.4 题目:有n个整数,使其前面各数顺序向后移m个位置,最后m个数变成最前面的m个数.程序源代码:main(){int number[20],n,m,i;printf("the total numbers is:");scanf("%d",&n);printf("back m:");scanf("%d",&m);for(i=0;i<n-1;i++)scanf("%d,",&number[i]);scanf("%d",&number[n-1]);move(number,n,m);for(i=0;i<n-1;i++)printf("%d,",number[i]);printf("%d",number[n-1]);}move(array,n,m)int n,m,array[20];{int *p,array_end;array_end=*(array+n-1);for(p=array+n-1;p>array;p--)*p=*(p-1);*array=array_end;m--;if(m>0) move(array,n,m);}9.5 输入n个整数,将最小数与第一个数对换,把最大数与最后一个数对换程序源代码:main(){int number[10];input(number);max_min(number);output(number);}input(number)int number[10];{int i;for(i=0;i<9;i++)scanf("%d,",&number[i]);scanf("%d",&number[9]);}max_min(array)int array[10];{int *max,*min,k,l;int *p,*arr_end;arr_end=array+10;max=min=array;for(p=array+1;p<arr_end;p++)if(*p>*max) max=p;else if(*p<*min) min=p;k=*max;l=*min;*p=array[0];array[0]=l;l=*p;*p=array[9];array[9]=k;k=*p;return;}output(array)int array[10];{ int *p;for(p=array;p<array+9;p++)printf("%d,",*p);printf("%d\n",array[9]);}9.6 输入n个字符串,按由小到大顺序输出。
第1章C++及其开发环境概述一、问答题1.结构化程序设计主要有哪些劣势?【答案】(1)程序的开发效率低下(2)程序的可重用性差(3)程序的维护成本高(4)无法适应信息的快速膨胀和多样化2.面向对象的程序设计有哪些优点?【答案】(1)程序的开发效率高(2)程序代码的可重用性高(3)程序易于维护3.C++的发展经历了哪些阶段?【答案】C++语言起源于C语言。
1980年初期,美国贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种过程性与对象性相结合的程序设计语言,最初称为“带类的C”,1983年正式取名为C++。
后来,Stroustrup和他的同事陆续将运算符重载、继承、虚函数等特性引入C++,1989年后推出AT&T C++ 2.0版,并经过多次改进和完善,发展成为现在的C++。
4.C++主要有哪些特点?【答案】(1)C++可以被看成C语言的一个超集,是对C的增强和扩展。
因此,许多C代码可以不经修改即可为C++所用。
自然,也可以利用C++开发环境来开发C程序。
(2)C++几乎支持所有面向对象的程序设计特征,因此,利用C++不仅可以进行传统的结构化程序设计,而且可以较好地进行面向对象的程序开发。
(3)C++很好地保持了C的简洁、高效、灵活和接近汇编语言的特点,因此,C++程序的执行效率也很高。
5.一个C++程序一般由哪几部分构成?【答案】①预处理命令。
C++提供了三种预处理命令,即宏定义命令、文件包含命令和条件编译命令。
②全局声明部分。
此部分内容通常会给出用户自定义的数据类型声明,以及程序中所涉及变量的定义,例如类的声明。
数据结构③函数。
一个程序中可包含一个或多个函数,它们是执行用户指定操作的主要部分。
6.使用Visual C++ 开发C++程序时一般要经过哪几个步骤?每个步骤的作用是什么?相应地产生哪些文件?【答案】(1)编写程序C++是一种高级语言,所以用其编写的程序称为“源程序”,以.cpp做为后缀。
c程序设计第四版课后习题答案由于我无法提供具体的《C程序设计》第四版课后习题答案,因为这些答案可能受版权保护,并且我也无法访问到书籍的具体内容。
但我可以提供一些通用的解题策略和建议,帮助学生更好地理解和解决C语言编程问题。
在解决C程序设计习题时,可以遵循以下步骤:1. 理解题目要求:仔细阅读题目,明确题目要求你做什么,需要实现哪些功能。
2. 分析问题:将问题分解成更小的部分,考虑每个部分如何实现。
3. 设计算法:根据问题的分析结果,设计一个算法来解决问题。
这可能包括选择数据结构、确定循环和条件语句的使用等。
4. 编写代码:根据设计的算法,开始编写代码。
在编写过程中,注意代码的可读性和效率。
5. 测试和调试:编写完代码后,进行测试以确保代码能够正确运行并解决题目。
如果发现错误,使用调试工具或打印语句来找出问题所在并修正。
6. 优化代码:在确保代码能够正确运行的基础上,考虑代码的优化,比如减少内存使用、提高运行速度等。
7. 复习和总结:完成习题后,回顾解题过程,总结学到的知识点和技巧。
解决C语言编程问题时,以下几点建议可能会有所帮助:- 熟悉C语言的基本语法:了解变量声明、数据类型、运算符、控制结构等基础知识。
- 掌握数组和指针的使用:数组和指针是C语言中非常重要的概念,理解它们对于解决许多编程问题至关重要。
- 学习使用标准库函数:C语言提供了丰富的标准库函数,合理使用这些函数可以简化编程任务。
- 练习编写函数:将代码分解成函数有助于提高代码的可读性和可维护性。
- 注意内存管理:在C语言中,程序员需要手动管理内存,因此了解如何正确分配和释放内存是非常重要的。
最后,不断练习和实践是提高编程能力的关键。
通过解决各种类型的编程问题,你可以加深对C语言的理解,并提高解决问题的能力。
希望这些建议能够帮助你更好地学习和掌握C程序设计。
如果你有具体的编程问题或需要帮助,请随时提问。
2-45编写一个程序,输入三角形的三条边的边长,求三角形的面积。
2-45#include<iostream.h>#include<math.h>int main(){int a,b,c;int s,S;cin>>a>>b>>c;s=(a+b+c)/2;S=powl(s*(s-a)*(s-b)*(s-c),0.5);if(S==0)cout<<"此三边不能构成三角形!"<<endl;else{cout<<"面积:"<<endl;cout<<S<<endl;}return 0;}2-46从键盘输入一个大写字母,然后改用小写字母在屏幕输出。
2-46#include<iostream.h>int main(){char ch;int a;cout<<"输入一个大写字母:"<<endl;cin>>ch;if(ch>=65 && ch<=91){ch=ch+32;// a=(int)ch;cout<<ch<<endl;}else cout<<"该字母不是字母或不是字母大写!"<<endl; return 0;}2-47用户输入两个整数,编程输出稍大于第一个整数而又是第2个整数的倍数的数。
计算公式是:valuel+value2-value1%value2.2-47#include<iostream.h>int main(){int value1,value2;int result;cin>>value1>>value2;result=value1+value2-value1%value2;cout<<"该整数为:"<<result<<endl;return 0;}2-48华氏温度转换为摄氏温度的公式是:C=(F-32)*5/9.。