发布时间 : 星期一 文章C++课本习题答案1-5更新完毕开始阅读db1df18702d276a200292e31
《面向对象程序设计(C++版)》习题答案
董正言
本文档中包含书中所有习题的答案,其中的程序都在VC++6.0系统中通过编译,并可以正确运行。
第一章
1.1 面向对象程序设计方法有哪些基本特征?
答:面向对象程序设计方法的基本特征有:抽象、封装、继承、多态。
1.2 从着手开始编写一个程序,到形成一个可执行文件,通常需要经过哪几个步骤? 答:一个由高级语言编写的程序从开始编码到可以运行需要经过编辑、编译和链接几步。 1.3 C++程序的入口点是什么?
答:C++程序的入口点是main函数。
第二章
2.1 在C++程序中,以下_C_是合法的标识符。 A、Cat.100 B、321day C、_100num D、int
2.2 在基于32位系统的VC++6.0编译器中,以下数据类型各占多少个字节? A、char B、int C、float D、long E、double
答:在基于32位系统的VC++6.0编译器中,char型数据为1个字节,int型数据为4个字节,float型数据为4个字节,long型数据为4个字节,double型数据为8个字节。 2.3 C++系统采用什么编码存储字符数据,该编码的长度是多少? 答:C++系统采用ASCII码存储字符数据,该编码的长度是1个字节。 2.4 写出定义以下变量的程序语句: 1、ASCII码值为65的字符型变量 2、值为10000的无符号整型变量 3、一个双精度浮点型变量 解:1: char ch=65;
2: unsigned int i=10000; 3: double f;
2.5、在程序中经常出现的标识符cout和cin是什么?它们有什么功能?
答:cout是C++系统预定义的标准输出流对象,代表标准输出设备---显示器,在控制台应用程序中可以利用它向显示器输出字符串。cin是C++系统预定义的标准输入流对象,代表标准输入设备---键盘,在控制台应用程序中可以利用它从键盘输入数据。 2.6 程序中可能出现各种形式的数值常量,请写出以下语句的输出结果: 1、cout<<0144; 2、cout<<0x64;
3、cout<<0xB3L; 4、cout<<1234E-2; 5、cout<<(char)65;
解:几条语句的输出结果如下:
1、100 2、100 3、179 4、12.34 5、A
2.7 C++中如何定义符号常量,和C语言定义符号常量的方法有什么不同?
答:C++使用关键字const定义符号常量,而C语言使用预编译指令#define定义符号常量。由关键字const定义的符号常量具有数据类型,在程序运行期间占据存储空间;而由预编译指令#define定义的符号常量没有数据类型,在程序运行期间也不占据存储空间。 2.8 假设var1和var2都是整型写出以下C++表达式的值。 1、11/3 2、11%3
3、var1=(var2=10)+5 4、var1=(var2=10)++ 解:上面表达式的值分别是: 1、3 2、2 3、15 4、10
2.9 写出下面语句段的输出结果。 int i=5,j=10; i*= --j; cout<<\解:上面程序段的输出为:i=45
2.10 假设i,j,k是整型变量,而且i=5,j=10,k=20,写出下列表达式的值。 1、 i
4、 !(i>j)&&(j>k)
解:上面表达式的值分别是: 1、0(或false) 2、1(或true) 3、0(或false) 4、0(或false)
2.11 假设i和j是整型变量,i的值为10,j的值为3。请写出下列语句的输出结果。
1、 cout<<(i & j) ; 2、 cout<<(i | j) ; 3、 cout<<(i ^ j) ; 4、 cout<<(i << j) ; 5、 cout<<(i >> j) ;
6、 cout<<(~i | i) ;
解:上面语句的输出分别为: 1、2 2、11 3、9 4、80 5、1 6、-1
2.12 请写出下列语句的输出结果。
cout<<\解:上面语句的输出为:Welcome to C++!
2.13 假设i和j是整型变量,执行下列语句后,i的值是多少? i =(j = 10, j * 3) ;
解:执行上面的语句后,i的值为30。
2.14 假设i和j是整型变量,j的值为10,则执行下列语句后,i的值是多少? i=j<10?1:2 ;
解:执行上面的语句后,i的值为2。 2.15 下面表达式的结果是什么类型? 1、(10L+20)*0.5 2、(10L+20)*(1/2)
3、static_cast
第三章
3.1 编写一段程序,提示用户输入一个英文字母,使用if语句判断用户输入的字母是大写字母还是小写字母,然后输出相关信息。 解:程序代码如下: #include
3.2 以下程序段输出若干行字符串“How are you!”,行数由用户的输入的整数决定,如
果
用户输入0,则输出一行字符串“Hello!”,请找出下面程序中存在的语法错误。 int n; cout<<\请输入一个整数:\ cin>>n; if(n=0) cout<<\ else for(int i=0;i 解:上面程序段中共有2处语法错误。第一处是语句if(n=0)应改为if(n==0);第二处是循环控制语句for后面不应该有分号。 3.3 编写一段程序,连续输入若干个学生的考试成绩,根据成绩判断其所在的等级,并输出 相关信息。判断成绩等级的规则如下: A级 90≤分数≤100 B级 80≤分数<90 等级= C级 70≤分数<80 D级 60≤分数<70 E级 分数<60 例如,如果第3个学生的成绩为82分,则应输出一行字符串“学生3的成绩为B等”。 要求使用while循环和switch选择语句。 解:程序代码如下: #include