C++语言程序设计答案.docx
《C++语言程序设计答案.docx》由会员分享,可在线阅读,更多相关《C++语言程序设计答案.docx(157页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章概述1-1简述计算机程序设计语言的发展历程。解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C+语 言是一种面向对象的编程语言,也属于髙级语言。1-2面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接 的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具 有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征), 形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使 得软件风格统。因此,面向对象的编程语言使程序能够
2、比较直接地反问题域的本来面目, 软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C+语言是目 前应用最广的面向对象的编程语言。1-3什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模 块;各模块之间的关系尽可能简単,在功能上相对独立;每模块内部均是由顺序、选择和 循环三种基本结构组成:其模块化实现的具体方法是使用子程序。结构化程序设计由于采用 了模块分解与功能抽象,白顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统 设计任务分解成许多易于控制和处理的子任务,便于开发和维护。虽然结构
3、化程序设计方法具有很多的优点,但它仍是种面向过程的程序设计方法,它把数 据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要 进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。 由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越 方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过 程的方法来开发和维护都将非常困难。1-4什么是对象?什么是面向对象方法?这种方法有哪些特点?解:从般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可以是无形 的。对象是构成世界的一个
4、独立单位,它具有自己的静态特征和动态特征。面向对象方法中 的对象,是系统中用来描述客观事物的个实体,它是用来构成系统的个基本单位,由 组属性和一组行为构成。面向对象的方法将数据及对数据的操作方法放在起,作为一个相互依存、不可分离的整体 对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行 处理。类通过个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。 这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。 通过实现继承与多态性,还可以大大提高程序的可看用性,使得软件的开发和维护都更为方 便。面向对象方法所强调的基本原则,就是直
5、接面对客观存在的事物来进行软件开发,将人们在 日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方 法、规则和技巧中回到客观世界,回到人们通常的思维。1-5什么叫做封装?解:封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单 位,并尽可能隐蔽对象的内部细节。1-6面向对象的软件工程包括哪些主要内容?解:面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析 (00A)、面向对象的设计(00D)、面向对象的编程(OOP)、面向对象的测试(00T)和面向对象的软件维护(OOSM)等主要内容。1-7简述计算机内部的信息可分
6、为几类?解:计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两 类;数据信息可分为数值信息和非数值信息两类。1-8什么叫二进制?使用二进制有何优点和缺点?解:二进制是基数为2,每位的权是以2为底的基的进制,遵循逢二进一原则,基本符号为0 和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现:2.二进制数运算简单;3.机器可靠性髙;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其 他进制需要更多的位数。1-9请将以下十进制数值转换为二进制和十六进制补码:(1) 2 (2) 9 (3) 93(4) -32 (5) 65535 (6) -1解:(
7、1) (2) 10 = (10) 2 = (2) 16(2) (9) 10 = (1001) 2 = (9) 16(3) (93) 10 = (1011101) 2 = (5D) 16(4) (-32) 10 = (11100000) 2 = (E0) 16(5) (65535) 10 = (11111111 11111111) 2 = (FFFF) 16(6) (-1) 10 = (11111111 11111111) 2 = (FFFF) 161-10请将以下数值转换为十进制:(1) (1010) 2 (2) (10001111) 2 (3) (01011111 11000011) 2(4
8、) (7F) 16 (5) (2D3E) 16 (6) (F10E) 16解:(1) (1010) 2 = (10) 10(2) (10001111) 2 = (143) 10(3) (01011111 11000011) 2 = (24515) 10(4) (7F) 16 = (127) 10(5) (2D3E) 16 = (11582) 10(6) (F10E) 16 = (61710) 101-11简要比较原码、反码、补码等几种编码方法。解:原码:将符号位数字化为或1,数的绝对值与符号起编码,即所谓符号绝对值表 示”的编码。正数的反码和补码与原码表示相同。负数的反码与原码有如下关系:符号
9、位相同(仍用1表示),其余各位取反(0变1, 1变)。补码由该数反码的最末位加1求得。第二章C+简单程序设计2-1 C+语言有那些主要特点和优点?解:C+语言的主要特点表现在两个方面,一是全面兼容C,二是支持面向对象的方法。C+是 个更好的C,它保持了 C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特 点,对C的类型系统进行了改革和扩充,因此C+比C更安全,C+的编译系统能检查出更 多的类型错误。C+语言最重要的特点是支持面向对象。2-2下列标识符哪些是合法的?Program, -page, _lock, test2, 3inl, mai1, A_B_C_D解:Program, _
10、lock, test2, A_B_C_D是合法的标识符,其它的不是。2-3例2. 1中每条语句的作用是什么?ttinclude void main(void) coutHello!n;coutWelcome to c+!n;解:ttinclude 指示编译器将文件iostream, h中的代码嵌入到该程序中该指令所在的地方void main() 主函数名,void表示函数没有返回值函数体标志coutHello!n; 输出字符串Hello!到标准输出设备(显示器)上。 coutWelcome to c+!ni 输出字符串 Welcome to c+!在屏幕输出如下:Hello!Welcome t
11、o c+!2-4使用关键字const而不是#define语句的好处有哪些?解:const定义的常量是有类型的,所以在使用它们时编译器可以查错;而且,这些变量在调试 时仍然是可见的。2-5请写出C+语句声明一个常量PI,值为3. 1416;再声明一个浮点型变量a,把PI的值 赋给a。解:const float PI = 3. 1416;float a = PI;2-6在下面的枚举类型中,Blue的值是多少?enum COLOR WHITE, BLACK = 100, RED, BLUE, GREEN = 300 ;解:Blue = 1022-7注释有什么作用? C+中有哪几种注释的方法?他们之间
12、有什么区别?解:注释在程序中的作用是对程序进行注解和说明,以便于阅读。编译系统在对源程序进行编译 时不理会注释部分,因此注释对于程序的功能实现不起任何作用。而且由于编译时忽略注释 部分,所以注释内容不会增加最终产生的可执行程序的大小。适当地使用注释,能够提高程 序的可读性。在C+中,有两种给出注释的方法:种是延用C语言方法,使用/*和*/ 括起注释文字。另种方法是使用/,从开始,直到它所在行的行尾,所有字符都被 作为注释处理。2-8什么叫做表达式? x = 5 + 7是一个表达式吗?它的值是多少?解:任何个用于计算值的公式都可称为表达式。x = 5 + 7是一个表达式,它的值为12。2-9下列
13、表达式的值是多少?1. 201 / 42. 201 % 43. 201 / 4. 0解:1. 502. 13. 50.252-10执行完下列语句后,a、b、c三个变量的值为多少?a = 30;b = a+;c = +a;解:a: 32 ; b: 30 ; c: 32;2-11在个for循环中,可以初始化多个变量吗?如何实现?解:在for循环设置条件的第一个;”前,用,分隔不同的赋值表达式。例如:for (x = 0, y = 10; x 100; x+, y+)2-12执行完下列语句后,n的值为多少?int n;for (n = 0; n 100; n+)解:n的值为!002-13写一条for
14、语句,计数条件为n从100到200,步长为2;然后用while和dwhile 语句完成同样的循环。解:for循环:for (int n = 100; n = 200; n += 2);while循环:int x = 100;while (n = 200)n += 2;dwhile循环: int n = 100;do ( n += 2; while(n y) x = y;else / y x |I y = x y = x;2-17修改下面这个程序中的错误,改正后它的运行结果是什么? ttinclude void mainO int i int j;i = 10; /给i赋值 j = 20; /
15、给 j 赋值 / cout *i + j = i + j; / 输出结果 / return 0;解; 改正:include int main() ( int i; int j;i = 10; /Z给i赋值j = 20; / 给 j 赋值 /cout i + j = i + j; / 输出结果 /return 0;程序运行输出:i + j = 302-18编写个程序,运行时提示输入个数字,再把这个数字显示出来。解:源程序:#include int main()(int i;cout 请输入个数字:;cin i;cout 您输入个数字是 i endl;return 0;)程序运行输出:请输入个数字
16、:5您输入个数字是52-19 C+有哪几种数据类型?简述其值域。编程显示你使用的计算机中的各种数据类型的 字节数。解:源程序:#include int main()(cout The size of an int is:tt sizeof (int) “ bytes. n*;cout Fhe size of a short int is:t sizeof (short) “ bytes. n*;cout Thesizeofalong int is:t sizeof (long)“bytes.n;cout Thesizeofachar is:tt sizeof(char) bytes. n;co
17、ut Thesizeofafloat is:tt sizeof (float)”bytes.n;cout Thesizeofadouble is:t sizeof (double)“bytes.n;return 0;)程序运行输出:The size of an int is: 4 bytes.The size of a short int is: 2 bytes.The size of a long int is: 4 bytes.The size of a char is:1 bytes.The size of a float is: 4 bytes.The size of a double
18、 is: 8 bytes.2-20打印ASCII码为32127的字符。解:#include int main()(for (int i = 32; i128; i+) cout (char) i;return 0;程序运行输出:()*+, . /0123456789:;?ABCDEFGHIJKLMNOP QRSTUVWXYZabcdefghijklmnop qrstuvwxyz|s2-21运行下面的程序,观察其输出,与你的设想是否相同?#include int main() |unsigned int x;unsigned int y = 100;unsigned int z = 50;x=
19、y - z; cout Difference is: “ x;x = z - y;cout nNow difference is: x endl;return 0;)解:程序运行输出: Difference is: 50 Now difference is: 4294967246注意,第二行的输出并非-50,注意x、y、z的数据类型。2-22运行下面的程序,观察其输出,体会i+与+i的差别。#include int main()int myAge = 39; / initialize two integersint yourAge = 39;cout I am: “ myAge ” years
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 语言程序设计 答案
限制150内