第一章 习题
一、 选择填空
1
2
3
4
5
6
7
8
9
10
C
B
D
A
D
A
D
D
A
C
1. 下列各种高级语言中,()是面向对象的程序设计语言。
A.BASIC;        B.PASCAL;        C.C++    D.Ada
2. 下列各种高级语言中,()是最早提出了对象的概念。
A.Algol60;        B.Simula67;        C.Smalltalk;        D.C++
3. 下述面向对象抽象的原理中,()是不对的。
A.数据抽象;    B.行为共享;    C.进化;    D.兼容;
4. ()不是面向对象系统所包含的要数。
A.重载;    B.对象;    C.;    D.继承;
5. 关于C++C语言的关系的描述中,()是错误的。
A.C语言是C++的一个子集;    B.C语言与C++是兼容的;   
C.C++C语言进行了一些改进;    D.C++C语言都是面向对象的;
6. 下面关于对象概念的描述中,()是错误的。
A.对象就是C语言中的结构变量;    B.对象代表着正在创建的系统中的一个实体;   
C.对象是一个状态和操作(或方法)的封装体;    D.对象之间的信息传递是通过消息进行的;
7. 下面关于类概念的描述中,()是错误的。
A.类是抽象数据类型的实现;B.类是具有共同行为的若干对象的统一描述体;
C.类是创建对象的样板;    D.类就是C语言中的结构类型;
8. C++C语言作了很多改进,下列描述中()使得C语言发生了质变,即从面向过程变成为面向对象。
A.增加了一些新的运算符;                B.允许函数重载,并允许设置缺省参数;   
C.规定函数说明必须用原型;            D.引进了类和对象的概念;
9. 按照标识符的要求,()符号不能组成标识符。
A.连接符;    B.下划线;    C.大小写字母;    D.数字字符;
10. 下列符号中,()不可作为分隔符。
A.;    B.;C.;    D.;
二、判断下列描述的正确性,对者划√,错者划×。
1
2
3
4
5
6
7
8
9
10
11
12
×
×
×
×
×
×
1. C++引进了引用的概念,对编程带来了很多方便。Y
2. C++允许使用友元,但是友元会破坏封装性。Y
3. C++中使用了新的注释符(//),C语言中注释符(/*…*/)不能在C++中使用。X
4. C++中为了减轻使用者的负担,与C语言相比较C++中减少了一些运算符。X
5. C++程序中,每条语句结束时都加一个分号(;)。Y
6. C++中标识符内的大小写字母是没有区别的。X
7. C++中不允许使用宏定义的方法定义符号常量,只能用关键字const来定义符号常量。X
8. 在编写C++程序时,一定要注意采用人们习惯使用的书写格式,否则将会降低其可读性。Y
9. C++是一种以编译方式实现的高级语言。Y
10. C++编译过程中,包含预处理过程、编译过程和连接过程,并且这三个过程的顺序是不能改变的。Y
11. 预处理过程是一般编译过程之后连接过程之前进行的。X
12. 源程序在编译过程中可能会出现一些错误信息,但在连接过程中将不会出现错误信息。X
三、分析下列程序的输出结果
1. BeiJjingShangHai
TianJing
2. Inputa,b:85
a=8,b=5
a-b=3
3. d=5:c=m
1#include<iostream.h>
voidmain()
{
cout<<"BeiJing"<<"";
cout<<"ShangHai"<<"\n";
cout<<"TianJing"<<endl;
}
2. #include<iostream.h>
voidmain()
{
inta,b;
cout<<"inputa,b:";
cin>>a>>b;
cout<<"a="<<a<<","<<"b="<<b<<endl;
cout<<"a-b="<<a-b<<"\n";
}
假定,输入如下两个数据:85
3#include<iostream.h>
voidmain()
{
charc=’m’;
intd=5;
cout<<"d="<<d<<":";
cout<<"c="<<c<<"\n";
}
四、编译下列程序,改正所出现的各种错误信息,并分析输出结果:
1、 #include<iostream>
voidmain()
{
cout<<"Thisisastring!";
}
Thisisastring!
2、 #include<iostream.h>
voidmain()
{intx;
cin>>x;
intp=x*x;
cout<<"p=字符串常量实质上是一个指向该字符串首字符的指针常量吗<<p<<\n";
}
3、 #include<iostream.h>
voidmain()
{ inti,j;
i=5;
j=0;
intk=i+j;
cout<<"i+j="<<k<<"\n";
}
i+j=5
五、通过对第四题中三个程序的所出现问题的修改,回答下列问题:
1. 从对第四题1题的修改中,总结出编程时应注意哪三个问题?
2. C++程序中所出现的变量是否都必须先说明才能引用?
3. 使用cout和运算符<<输出字符串时应注意什么问题?
4. 有些变量虽然说明了但是没有赋值,这时能否使用?
5. 一个程序编译通过了并且运行后得到了输出结果,这个结果是否一定是正确的?
第二章 习题
一、 选择填空
1
2
3
4
5
6
7
8
9
10
A
D
C
A
C
A
C
C
A
11
12
13
14
15
16
17
18
19
20
D
D
D
A
A
A
D
B
A
C
21
22
23
24
D
D
A
D
1、 16位机中,int型字宽为()字节。
A2B4C6D8
2、 类型修饰符unsigned修饰()类型是错误的。
Achar;B.int;C.longint;Dfloat
3、 下列十六进制的整型数常数表示中,()是错误的。
A0xafB.0X1b;C.2fx;D.0xAE
4、下列double型常量表示中,()是错误的。
AE15B..35C.3E5;D.3E-5
5、下列字符常量表示中,()是错误的。
A.‘\105’;B.‘*’;C.‘\4f’;D.‘\a’
6、下列字符串常量表示中,()是错误的。
A."\"yes\"or\"No\"";B."\’OK!\’";C."abcd\n";D."ABC\0"
7、下列变量名中,()是合法的。
A.CHINA;B.byte-size;C.double;D.A+a
8、在inta[5]={1,3,5};中,数组元素a[1]的值是()。
A.1;B.0;C.6;D.2
9、在intb[][3]={{1},{3,2},{4,5,6},{0}};b[2][2]的值是()。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。