C++程序设计(第2版)-习题解答C++程序设计(第2版普通高等教育“十一五”国家级规划教材习题答案作者邓振杰C++程序设计习题解答.docx
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_1.gif)
![资源得分’ title=](/images/score_05.gif)
《C++程序设计(第2版)-习题解答C++程序设计(第2版普通高等教育“十一五”国家级规划教材习题答案作者邓振杰C++程序设计习题解答.docx》由会员分享,可在线阅读,更多相关《C++程序设计(第2版)-习题解答C++程序设计(第2版普通高等教育“十一五”国家级规划教材习题答案作者邓振杰C++程序设计习题解答.docx(104页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C+程序设计习题解答第1章C+概述1 .填空题(1)在面向对象程序设计中,对象是由 和 封装在起构成的实体。(2)在面向对象程序设计中,类是具有 和 的对象的集合,它是对类对象的抽象描述。(3)面向对象程序设计最突出的特点就是 和 (4) C+语言包含头文件的格式有两种,即 和=(5) C源程序要经过 和 四个环节,才能在屏幕上显示结果。(6)每个C+程序都从 函数开始执行。(7)每个函数体都以 开始,以 结束。(8) C+程序中的每条语句以 结束。(9) C+程序的头文件和源程序的扩展名分别为 和,目标程序的扩展名为,可执行程序的扩展名为 (10)在C+程序中使用基本输入/输出语句需包含的头
2、文件是,应放 在程序的。(11)在C+程序中注释语句有 和 两种格式。(12) C-程序的续行符为。(13)如果从键盘输入语句给变量X,则输入函数的形式为;如果再将变 量X的值显示在屏幕上,其输出函数的形式为。(14) C+程序中的“endl”在输出语句中起 作用参考答案:(1)对象名,组属性数据,组操作(2)相同属性数据,操作(3)封装性,继承性,多态性(4) #include文件名.扩展名,include”文件名.扩展名”(5)编辑,编译,连接,运行(6)主函数(8)分号;(9) .h, .cpp, .obj, .exe(10) #include,开始部分(11) /* */, /(12)
3、 (13) cinX coutX(14)换行并清空流2.选择题(1)面向对象程序设计把数据和()封装在起。A.数据隐藏B.信息 C.数据抽象D.对数据的操作(2) C+源程序的扩展名是()。A. cB. exeD. pchC. cpp(3)把高级语言程序转换为目标程序需使用()A.编辑程序 B.编译程序C,调试程序D.运行程序(4) C+语言与C语言相比最大的改进是()=A.安全性 B.复用性 C.面向对象 D.面向过程(5)以下叙述不正确的是()A. C+程序的基本単位是函数B. 一 GH程序可由一个或多个函数组成C. 一个C+程序有且只有一个主函数D. C+程序的注释只能由现在语句的后面参
4、考答案:(1) D (2) C (3) B (4) C (5) D3 .简答题(1)试比较面向对象程序设计、结构化程序设计和模块化程序设计。(2)解释以下概念:类对象封装数据抽象继承多态(3)简述C+语言有哪些特点。参考答案:(1)结构化程序设计强调从程序结构和风格上研究程序设计。结构化程序设计的程序代 码是按顺序执行的,有一套完整的控制结构,函数之间的参数按一定规则传递,不提倡使用 全局变量,程序设计的首要问题是“设计过程模块化程序设计将软件划分成若干个可单独命名和编址的部分,称之为“模块”。模块化 程序设计的设计思路是“自顶向下,逐步求精”,其程序结构是按功能划分成若干个基本模块, 各模块
5、之间的关系尽可能简单,在功能上相对独立。模块和模块之间隔离,不能访问模块内 部信息,即这些信息对模块外部是不透明的,只能通过严格定义的接口对模块进行访问。模 块化程序设计将数据结构和相应算法集中在个模块中,提出了“数据结构+算法=程序设计” 的程序设计思想。模块化能够有效地管理和维护软件研发,能够有效地分解和处理复杂问题。 但它仍是种面向过程的程序设计方法,程序员必须时刻考虑所要处理数据的格式,对不同 格式的数据做相同处理或对相同数据格式做不同处理都要用新编程,代码可重用性不好。面向对象程序设计面对的是一个个对象,用种操作调用组数据。把数据和有关操作 封装成一个对象。各个对象的操作完成了,总的
6、任务也就完成了。他适用于编写大型程序。 结构化程序设计和模块化程序设计适用于比较小的程序,他要求细致的描写程序设计的每个 细节。(2)类:在面向对象程序设计中,类是具有相同属性数据和操作数据的函数的封装,它 是对类对象的抽象描述。对象:在面向对象程序设计中,对象是由对象名、组属性数据和一组操作封装在起 构成的实体。其中属性数据是对象固有特征的描述,操作是对这些属性数据施加的动态行为, 是系列的实现步骤,通常称之为方法。封装:封装是种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操 作集中在起形成类,将类的一部分属性和操作隐藏起来,不让用户访问,另一部分作为类 的外部接口,用户可以访
7、问。数据抽象:抽象的作用是表示同类事物的本质,C+中的数据类型就是对批具体的数 的抽象。类是对象的抽象,对象是类的特例。继承:在面向对象程序设计中,继承是指新建的类从已有的类那里获得已有的属性和操 作。多态:在面向対象程序设计中,多态性是指相同的函数名可以有多个不同的函数体,即 个函数名可以对应多个不同的实现部分。(3)面向对象程序设计最突出的特点就是封装性、继承性和多态性。封装性封装是种数据隐藏技术,在面向对象程序设计中可以把数据和与数据有关的操作集中 在起形成类,将类的一部分属性和操作隐藏起来,不让用户访问,另一部分作为类的外部 接口,用户可以访问。类通过接口与外部发生联系,用户只能通过类
8、的外部接口使用类提供 的服务,而内部的具体实现细节则被隐藏起来,对外是不可见的。继承性在面向对象程序设计中,继承是指新建的类从已有的类那里获得已有的属性和操作。已 有的类称为基类或父类,继承基类而产生的新建类称为基类的子类或派生类。由父类产生子 类的过程称为类的派生。通过继承,程序可以在现有类的基础上声明新类,即新类是从原有 类的基础上派生出来的,新类将共享原有类的属性,并且还可以添加新的属性。继承有效地 实现了软件代码的重用,增强了系统的可扩充性。多态性在面向对象程序设计中,多态性是指相同的函数名可以有多个不同的函数体,即个函 数名可以对应多个不同的实现部分。在调用同一函数时,由于环境的不同
9、,可能引发不同的 行为,导致不同的动作,这种功能称为多态。它使得类中具有相似功能的不同函数可以使用 同一个函数名。多态既表达了人类的思维方式,又减少了程序中标识符的个数,方便了程序 员编写程序。多态是面向对象程序设计的重要机制。4 .编程题编写程序在屏幕上显示字符串“欢迎大家学习C+语言! ”,并按照书中介绍练习C+语 言的上机实现过程。参考答案:#includevoid main()cout”欢迎大家学习GH语言”endl;第2章 C+程序设计基础1.填空题(1) Visual C+中如果一个变量为int型,它所占的内存空间是 字节,位。(2) short int型变量占用的内存空间是 字节
10、,long int型变量占用的内存空间是 字节,char型变量占用的内存空间是 字节,float型变量占用的内存空间是 字节,double型变量占用的内存空间是 字节。(3) bool类型数据的值为非时会自动转换成 ,如果等于。会自动转换成(4) C+程序中的关系运算符满足条件时返回,不满足条件时返回(5)表达式x&y=z是 类型的表达式;表达式x+y|z是 类型的表达式。6)表达式K3&5V7的值是,表达式!(58)|26的值是。(7)表达式a+bb?max=a:max=by=x*-y(x-y)= =(x-z)y=xA2x*=y+l(9)以下程序的功能是:从键盘输入个字符,判断其是否是字母,
11、并输出相应信息, 请填空。#includevoid main()(char c;cinc;if(c=aT c=Ac=Z)cout”接收的是个字母endl;elsecout ”接收的不是个字母endl;(10)以下程序的输出结果是。#includevoid main()(int i=0j=0;while(i15)Ij+;i+=+j;couti Mjendl;(11)以下程序的功能是:在屏幕上同一行显示19的平方的值,请填空。#includevoid main()unsigned int i;forcouti * i;cout endl;)(12)以下程序的功能是:求一组(10个)正数中的最大数,
12、当输入为负数时提前结束 程序,请填空。#includevoid main()const int N=10;int x,max=0;cout ”Please input data:endl;for(int i=l;iv=N;i+)cinx;if()(max=x;continue;)else f( _)coutmax=max endl;(13)以下程序的输出结果是.#includevoid main()int i=0;while(-H-i)if(i=10) break;ifii%3!=l) continue; coutiendl;(14)以下程序的输出结果是 #include void main(
13、)int x=5; do |switch(x%2) ( case 1 :x;break; case 0:x+;break; x-; coutxendl; wbile(x0); 参考答案: (1)4, 32 (2) 2, 4, 1, 4, 8 (3) true, false (4) 1, 0 (5)逻辑,逻辑 (6) 1, 1 (7) + v = = &(8)戸xvb?max=a:max=b的含义:若ab贝将a的值赋值给max,否则将b的值赋值给max y=x*-y的含义:现将负y的值乘以x,再将结果值赋值给y (x-y)= =(xz)的含义:比较xy和x-z是否相等 产x2的含义:将x和2按位
14、异或的值赋值给y x*=y+l的含义:将x乘以(y+1),再将结果值赋值给x(9) &,|,&(10) 20 8(11) i=l;i0&maxx, x0, break;(13) 14 7(14) 31 -12.选择题(1)下列四组标识符中不属于Visual C+关键字的是( )A. witchB. breakC. mainD. continuefloatcharcincase(2)下列四组变量命名,不符合Visual C+变量命名规则的是()。A. cc B. 6xC. wlD. ye_78avercharyear78woB. unsigned short a;signed int b;D.i
15、nt a;signed int b;oB,只能是关系表达式和逻辑表达式D.可以是任意表达式)C.tl=falseD. tl=lt2=truet2=0t3=falset3=l)ed=6 d=6 d=6 d=6(3)假设有两个变量a=65432和b=a*2,在保证数据正确存储的前提下,以下变量类型定义错误的是( )A.int a;int b;C.unsigncd short a; unsigned short b; (4)在if语句中的表达式(A,只能是关系表达式C,只能是逻辑表达式(5)以下程序的输出结果为(A.tl=trueB.tl=8t2=falset2=0t3=truet3=-l#incl
16、ude void main() ( bool tl=8; bool t2=0;bool t3=-l;couttl =tlendl;couttl= t2endl; couttl= t3endl;(6)以下程序的输出结果为(A. a=13b=4c=3B. a=13b=8c=4C.a=13b=4c=4D. a=13b=8c=3#includevoid main()int x=8,y=5;int a,b,c,d;a=x+y-;b=x/y2;c=xy+;d=x%y*2;coutM a=aH b=Hb;coutM c=,c d=,dendl;参考答案:(1) A (2) B (3) C (4) D (5)
17、 D (6) B3.简答题(1)字符常量和字符串常量有什么区别?(2)定义符号常量的方法有哪些?它们有什么区别?。(3) while与do-while语句的主要区别是什么?参考答案:(1)在C+语言中,字符串常量和字符常量是不同的。字符串常量是用对双引号括 起来的字符序列。例如,a、123、hello等都是字符串常量。一般字符常量是用一对单 引号括起来的一个字符,其值为ASCII码值。例如,豆、,、$、5等都是合法的字符常量。(2) C+语言提供了两种定义符号常量的方法:用const语句定义符号常量这种方法是C+语言中广泛采用的定义符号常量的方法,其一般格式为:const数据类型符号常量=表达
18、式; 用#define语句定义符号常量这是C语言中定义符号常量的方法,其中#define是预处理指令。其缺点是不能显示声 明常量的类型。其一般格式为:#define常量名常量值(3) while把循环条件判断放在循环体执行前,而do-while循环条件判断放在循环体 执行后,不管循环条件是否成立,它都至少执行一次循环体。(4) 程题(1)求100以内的自然数中奇数之和。(2)求100以内能被13整除的最大自然数。(3)有一个函数如下所示:x (xl)y= x+5(lx10)从键盘输入个x,求出相应的y值。(4)输入3个整型数,按由大到小的顺序输出显示。(5)根据从键盘输入的表示星期几的数字,输
19、出它对应的英文名称。(6)从键盘输入个整数,求其阶乘。(7)编写个简易计算器程序,根据用户输入的运算符做两个数的加I、减、乘或除运 算。(8)编写程序在屏幕上打印如下图案。* * *参考答案:(1) #includevoid main()int sum=0;fbr(int i=l;i=100;)(sum=sum+i;i=i+2;coutH 100 以内奇数之和为:vvsumwendl;)(2) #includevoid main()int max=0;int i=13;while(i=100)(iRi% 13=0&maxi)max=i;i=i+13;continue;)coutH100以内能被
20、13整除的最大自然数为:“wmaxvvendl; (3) #includevoid main()float x,y;cinx;if(x=l&x=10) y=x+5;else y=x-5;coutyendl;)(4) #includevoid main()int inta,intb,intc;cinintaintbintc;if(intaintb)ifiintbintc) coutintc ,intbM ninta;else coutintbM ”;if(intaintc) coutintc Minta;elsecoutintaM nintc;else if(intaintc) coutintc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 程序设计 习题 解答 普通 高等教育 十一 国家级 规划 教材 答案 作者 邓振杰
![提示](https://www.taowenge.com/images/bang_tan.gif)
链接地址:https://www.taowenge.com/p-68311110.html
限制150内