面向对象程序设计(C++)自我测试练习参考答案 联系客服

发布时间 : 星期一 文章面向对象程序设计(C++)自我测试练习参考答案更新完毕开始阅读6d699ec07cd184254a353549

《面向对象程序设计(C++)(第二版)》自我测试练习参考答案

(主编:王明福)

第1章 初识C语言

一、简答题

1. 面向对象方法是如何产生和发展的。

2. C++语言有何特点,它对C语言有哪些发展。

3. C++程序中的注释有什么作用?如何使用C++中的两种注释方法?

二、填空题

1.C++语言程序的三大区域从上到下分别是(声明部分)、(主函数部分)和(函数定义部分)。

2.每一条执行语句都是以( 分号“;” )结尾。 3.引用头文件使用(#include)指令。

三、编程题

1. 请用Visual C++6.0开发工具,在工程“HelloWorld”中,添加一个C++程序,输出以下信息。

*********************************************

Hello,World!

********************************************* #include void main() { cout<<\ cout<<\ cout<<\}

2. 在工程“HelloWorld”中(见题1),编制一个名为MyFirst的程序,该程序在计算机显示器上输出以下文字:

① 喂,你好!

② 你真聪明,你已经会用VC++编写程序了! #include void main() {

cout<<\喂,你好!\\n\

cout<<\你真聪明,你已经会用VC++编写程序了!\\n\}

3.在工程“HelloWorld”中(见题1),编制一个名为MyAdd的程序,该程序要求由用户输入2个整数,然后将和数输出。

第2章 数据类型、运算符和表达式

一、单选题

1.下列合法的标识符是( D ) 。

A. char B. a$ C. a-9 D. x_y 2. C++语言规定,程序中用到的变量一定要( A )。

A. 先定义后使用 B. 先使用后定义 C. 使用时再定义 D. 前面3种都行 3.下列字符串中,合法的字符常量是( B )。

A. n B. ‘\\n’ C. 110 D. “n” 4. C++程序中,运算对象必须为整数的运算符是( C )。

A. * B. / C. % D. ++ 5. int k = x>y?(x>z?x:z):(y>z?y:z)语句的目的是( A )。 A. 求x,y,z最大值 B. 求x,y,z最小值 C. 求x,y,z中间值 D. 求x,y,z平均值

二、填空题

1. 写出下面各表达式的值(假设a=1,b=2,c=3,x=4,y=3)。

(1) !a

(2) a||1+‘a’&&b&&‘c’ ( 1 )

2.写出下面程序的运行结果是( aabb abc )。 #include

main()

{ char c1=‘a',c2=‘b',c3=‘c',c4=‘\\101',c5=‘\\116';

printf(\printf(\}

3. 写出下面程序的运行结果是( x=11,y=21,m=10,n=21

x=10,y=20,m=11,n=20)。

#include void main() {

int x = 10, y = 20 ,m,n;

m = x++; n = ++y;

cout<<\m = x--; n = --y;

cout<<\}

4. 假设 a=12,表达式a%=(5%2)中a的运算结果是( 0 )。

三、编程题

1. 编程求C语言表达式4a+5b的值,假设a = 3,b=1.5。 #include \void main()

2

3

{

int a = 3; double b=1.5;

cout<<4*a*a+5*b*b*b<

2. 假设 a=10, 编程求表达式a+=a-=a*=a中a的运算结果。 #include void main() {

int a=10; a+=a-=a*=a;

cout<<\}

3.计算表达式的值

int x=1,y=2,z=-2;

(1) (x+3)>4 (2) x&&y>=z (3) x+y||z (4) x||y>z #include \void main() {

int x=1,y=2,z=-2; int a,b,c,d; a = (x+3)>4; b = x&&y>=z; c = x+y||z; d = x||y>z;

cout<<\ cout<<\ cout<<\ cout<<\}

4. 从键盘输入三角形的三个边长a,b,c,求出三角形的面积。求三角形的面积用公式:area= sqrt(s*(s-a)*(s-b)*(s-c)),其中s=1/2(a+b+c)。 #include #include void main() {

double a,b,c,area,s; cout<<\请输入三个边长a,b,c:\ cin>>a>>b>>c; s=(a+b+c)/2.0; area= sqrt(s*(s-a)*(s-b)*(s-c)); cout<<\

}

第3章 控制结构

一、单选题

1. 下面程序段运行结果是( C )。 int iNum = 0; while( iNum <= 2) cout<

A. 2 B. 3 C. 死循环,无限个0 D. 有语法错误 2. 以下是if语句的基本形式: if (表达式)语句; 其中“表达式”( D )。

A.必须是逻辑表达式 B. 必须是关系表达式

C. 必须是逻辑表达式或关系表达式 D. 可以是任意合法的表达式 3. 以下循环语句执行次数是( C )。 int i = 1;

for( ; i == 0; )cout<

A. 2次 B. 1次 C. 0次 D. 无限次 4. 以下正确的描述是( B )。

A. continue语句的作用是结束整个循环的执行

B. 只能在循环体内和switch语句体内使用break语句 C. 在循环体内使用break语句或continue语句的作用相同 D. 从多层循环嵌套中退出时,只能使用goto语句 5. 与while( E )不等价的是( C )。

A. while( !E == 0) B. while(E>0 || E<0 ) C. while( E == 0) D. while(E != 0)

二、填空题

1. 以下程序的功能是计算s = 1+12+123+1234+12345,请填空。 void main() {

int t = 0,iSum = 0,i; for(i =1;i<6;i++) {

t = i+ ( t*10 ); iSum = iSum + t; }

( cout<

2. 以下程序的功能是输出100以内能被3整除且个位数为6的所有整数,请填空。 void main() {

int i,j;

for(i=0;i<10;i++)