第一章 习题
一、 选择填空
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型字宽为()字节。
A.2;B。4;C。6;D8
2、 类型修饰符unsigned修饰()类型是错误的。
A.char;B.int;C.longint;D、float
3、 下列十六进制的整型数常数表示中,()是错误的。
A.0xaf;B.0X1b;C.2fx;D.0xAE
4、下列double型常量表示中,()是错误的。
A.E15;B..35;C.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小时内删除。
发表评论