C语言程序设计课后习题答案.doc
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课后习题答案.doc》由用户(吉庆会)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课后 习题 答案
- 资源描述:
-
1、C+语言程序设计(清华大学郑莉)课后习题答案第 一 章 概述1-1 简述计算机程序设计语言的发展历程。解: 迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C+语言是一种面向对象的编程语言,也属于高级语言。1-2 面向对象的编程语言有哪些特点解: 面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得
2、软件风格统一。因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。C+语言是目前应用最广的面向对象的编程语言。1-3 什么是结构化程序设计方法这种方法有哪些优点和缺点解: 结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和
3、处理的子任务,便于开发和维护。 虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。 1-4 什么是对象什么是面向对象方法这种方法有哪些特点解: 从一般意义上讲,对象是现实世界中一个实际存在的事物,它可以是有形的,也可
4、以是无形的。对象是构成世界的一个独立单位,它具有自己的静态特征和动态特征。面向对象方法中的对象,是系统中用来描述客观事物的一个实体,它是用来构成系统的一个基本单位,由一组属性和一组行为构成。面向对象的方法将数据及对数据的操作方法放在一起,作为一个相互依存、不可分离的整体-对象。对同类型对象抽象出其共性,形成类。类中的大多数数据,只能用本类的方法进行处理。类通过一个简单的外部接口,与外界发生关系,对象与对象之间通过消息进行通讯。这样,程序模块间的关系更为简单,程序模块的独立性、数据的安全性就有了良好的保障。通过实现继承与多态性,还可以大大提高程序的可重用性,使得软件的开发和维护都更为方便。面向对
5、象方法所强调的基本原则,就是直接面对客观存在的事物来进行软件开发,将人们在日常生活中习惯的思维方式和表达方式应用在软件开发中,使软件开发从过分专业化的方法、规则和技巧中回到客观世界,回到人们通常的思维。1-5 什么叫做封装解: 封装是面向对象方法的一个重要原则,就是把对象的属性和服务结合成一个独立的系统单位,并尽可能隐蔽对象的内部细节。1-6 面向对象的软件工程包括哪些主要内容解: 面向对象的软件工程是面向对象方法在软件工程领域的全面应用,它包括面向对象的分析(OOA)、面向对象的设计(OOD)、面向对象的编程(OOP)、面向对象的测试(OOT)和面向对象的软件维护(OOSM)等主要内容。1-
6、7 简述计算机内部的信息可分为几类解: 计算机内部的信息可以分成控制信息和数据信息二大类;控制信息可分为指令和控制字两类;数据信息可分为数值信息和非数值信息两类。 1-8 什么叫二进制使用二进制有何优点和缺点解: 二进制是基数为2,每位的权是以2 为底的幂的进制,遵循逢二进一原则,基本符号为0和1。采用二进制码表示信息,有如下几个优点:1.易于物理实现;2.二进制数运算简单;3.机器可靠性高;4.通用性强。其缺点是它表示数的容量较小,表示同一个数,二进制较其他进制需要更多的位数。1-9 请将以下十进制数值转换为二进制和十六进制补码:(1)2 (2)9 (3)93 (4)-32 (5)65535
7、 (6)-1 解: (1) (2)10 = (10)2 = (2)16(2) (9)10 = (1001)2 = (9)16(3) (93)10 = (1011101)2 = (5D)16(4) (-32)10 = ()2 = (E0)16(5) (65535)10 = ( )2 = (FFFF)16(6) (-1)10 = ( )2 = (FFFF)161-10 请将以下数值转换为十进制:(1)(1010)2 (2)()2 (3)(01011111 )2 (4)(7F)16 (5)(2D3E)16 (6)(F10E)16解: (1)(1010)2 = (10)10(2)()2 = (143)
8、10(3)(01011111 )2 = (24515)10(4)(7F)16 = (127)10(5)(2D3E)16 = (11582)10(6)(F10E)16 = (61710)101-11 简要比较原码、反码、补码等几种编码方法。解: 原码:将符号位数字化为 0 或 1,数的绝对值与符号一起编码,即所谓符号绝对值表示的编码。正数的反码和补码与原码表示相同。负数的反码与原码有如下关系:符号位相同(仍用1表示),其余各位取反(0变1,1变0)。补码由该数反码的最末位加1求得。 第 二 章 C+简单程序设计2-1 C+语言有那些主要特点和优点解: C+语言的主要特点表现在两个方面,一是全面兼
9、容C,二是支持面向对象的方法。C+是一个更好的C,它保持了C的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对C的类型系统进行了改革和扩充,因此C+比C更安全,C+的编译系统能检查出更多的类型错误。 C+语言最重要的特点是支持面向对象。2-2 下列标识符哪些是合法的Program, -page, _lock, test2, 3in1, mail, A_B_C_D解: Program, _lock, test2, A_B_C_D是合法的标识符,其它的不是。2-3 例中每条语句的作用是什么#include void main(void)coutHello!n;coutWelcome
10、to c+!n;解: #include 201 / 42. 201 % 43. 201 / 解: 1 502 13 2-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的值为1002-13 写一条for语句,
11、计数条件为n从100到200,步长为2;然后用while和dowhile语句完成同样的循环。解: for循环:for (int n = 100; n = 200; n += 2); while循环:int x = 100;while (n = 200)n += 2; dowhile循环:int n = 100;don += 2; while(n y)x = y;else n;cout The size of a short int is:t sizeof(short) bytes.n;cout The size of a long int is:t sizeof(long) bytes.n;c
12、out The size of a char is:tt sizeof(char) bytes.n;cout The size of a float is:tt sizeof(float) bytes.n;cout The size of a double 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
13、bytes.The size of a float is: 4 bytes.The size of a double is: 8 bytes.2-20 打印ASCII码为32127的字符。解: #include int main()for (int i = 32; i128; i+)cout (char) i;return 0;程序运行输出:!#$%G()*+,./09:;ABCDEFGHIJKLMNOP_QRSTUVWXYZabcdefghijklmnopqrstuvwxyzs2-21 运行下面的程序,观察其输出,与你的设想是否相同#include int main()unsigned in
14、t x;unsigned int y = 100;unsigned int z = 50;x= y - z;cout Difference is: x;x = z - y;cout nNow difference is: x endl;return 0;解: 程序运行输出:Difference is: 50Now difference is: 46注意,第二行的输出并非 -50,注意x、y、z的数据类型。2-22 运行下面的程序,观察其输出,体会i+与+i的差别。#include int main()int myAge = 39; n;cout You are: yourAge years o
15、ldn;myAge+; .n;cout I am: myAge years old.n;cout You are: yourAge years oldn;cout Another year passesn;cout I am: myAge+ years old.n;cout You are: +yourAge years oldn;cout Lets print it again.n;cout I am: myAge years old.n;cout You are: yourAge years oldn;return 0;解: 程序运行输出:I am 39 years oldYou are
16、39 years oldOne year passesI am 40 years oldYou are 40 years oldAnother year passesI am 40 years oldYou are 41 years oldLets print it againI am 41 years oldYou are 41 years old2-23 什么叫常量什么叫变量解: 所谓常量是指在程序运行的整个过程中其值始终不可改变的量,除了用文字表示常量外,也可以为常量命名,这就是符号常量;在程序的执行过程中其值可以变化的量称为变量,变量是需要用名字来标识的。2-24 变量有哪几种存储类型
17、解: 变量有以下几种存储类型:auto存储类型:采用堆栈方式分配内存空间,属于一时性存储,其存储空间可以被若干变量多次覆盖使用; register存储类型:存放在通用寄存器中;extern存储类型:在所有函数和程序段中都可引用;static存储类型:在内存中是以固定地址存放的,在整个程序运行期间都有效。2-25 写出下列表达式的值:1. 2 3 & 6 92. ! ( 4 5) | (6 2解: 1 12 -13 04 02-28 编写一个完整的程序,实现功能:向用户提问现在正在下雨吗,提示用户输入Y或N。若输入为Y,显示现在正在下雨。; 若输入为N,显示现在没有下雨。;否则继续提问现在正在下
18、雨吗解: 源程序:#include #include void main()char flag;while(1)cout flag;if ( toupper(flag) = Y)cout 现在正在下雨。;break;if ( toupper(flag) = N)cout 现在没有下雨。;break;程序运行输出:现在正在下雨吗(Yes or No):x现在正在下雨吗(Yes or No):l现在正在下雨吗(Yes or No):q现在正在下雨吗(Yes or No):n现在没有下雨。或:现在正在下雨吗(Yes or No):y现在正在下雨。2-29 编写一个完整的程序,运行时向用户提问你考试考
展开阅读全文