c 面对对象程序设计复习题集C++面向对象程序设计复习题集
一、单项选择题
1. C++源程序文件的默认扩展名为( A )。
A. cpp B. exe C. obj D. lik
2. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A. cpp B. exe C. obj D. lik
3. 由C++目标文件连接而成的可执行文件的默认扩展名为( B )。
A. cpp B. exe C. obj D. lik
4. C++程序从上机到得...
C++面向对象程序设计复习题集
一、单项选择题
1. C++源程序文件的默认扩展名为( A )。
A. cpp B. exe C. obj D. lik
2. 由C++源程序文件编译而成的目标文件的默认扩展名为( C )。
A. cpp B. exe C. obj D. lik
3. 由C++目标文件连接而成的可执行文件的默认扩展名为( B )。
A. cpp B. exe C. obj D. lik
4. C++程序从上机到得到结果的几个操作步骤依次是( B )。
A. 编译、编辑、连接、运行
B. 编辑、编译、连接、运行
C. 编译、运行、编辑、连接
D. 编辑、运行、编辑、连接
5. 以下标识符中不全是保留字的是( B )。
A. case for int
B. default then while
C. bool class long
D. goto return char
6. 能作为C++程序的基本单位是( C )。
A. 字符 B. 语句 C. 函数 D. 源程序文件
7. 程序中主函数的名字为( A )。
A. main B. MAIN C. Main D. 任意标识符
8. C++程序的基本模块为( D )。
A.
达式 B. 标识符 C. 语句 D. 函数
9. 可用作C++语言用户标识符的一组标识符是( B )。
A. void define +WORD
B. a3_b3 _123 YN
C. for -abc Case
D. 2a DO sizeof
10. 存储以下数据,占用存储字节最多的是( D )。
A. 0 B. ‘0’ C. “0” D. 0.0
11. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车
12. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12 B. 144 C. 156 D. 288
13. 假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式
的表达式是( D )。
A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c
14. 设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是( D )。
A. 15 B. 26,15 C. 15,26 D. 26
15. 设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为( C )。
A. 1 B. 0 C. 与x值相同 D. 与x值相反
16. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10 B. x<=0 && x>10
C. x<=0 || x<=10 D. x>0 && x>10
17. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5 B. x<=0 && y!=5
C. x>0 || y!=5 D. x>0 && y==5
18.设x和y均为bool量,则x && y为真的条件是( A )。
A. 它们均为真 B. 其中一个为真
C. 它们均为假 D. 其中一个为假
19.设x和y均为bool量,则x || y为假的条件是( C )。
A. 它们均为真 B. 其中一个为真
C. 它们均为假 D. 其中一个为假
20. 字符串”a+b=12\n”的长度为( B )。
A. 6 B. 7 C. 8 D. 9
21. 假定下列x和y均为int型变量,则不正确的赋值为( B )。
A. x+=y++ B. x++=y++ C. x=++y D. ++x=++y
22. 下列的符号常量定义中,错误的定义是( C )。
A. const M=10; B. const int M=20;
C. const char ch; D. const bool mark=true;
23. 循环语句“for(int i=0; in/2) break;
A. n/2 B. n/2+1 C. n/2-1 D. n-1
25. 在下面循环语句中内层循环体S语句的执行总次数为( D )。
for(int i=0; ititle,”Wang Tao”); B. strcpy(book.title,”Wang Tao”);
C. strcpy(*book.title,”Wang Tao”); D. strcpy((*book)->title,”Wang Tao”);
86. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( A )。
A. BOOK *x=new book; B. BOOK x={"C++ Programming",27.0};
C. BOOK *x=new BOOK; D. BOOK *x=book;
87. 假定有“struct BOOK{char title[40]; float price;}book;”,则正确的语句为( B )。
A. BOOK &x= &book; B. BOOK &x=book;
C. BOOK &x=new BOOK; D. BOOK &x=BOOK;
88. 下列对引用的陈述中不正确的是( C )。
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
89. 假定变量a和pa定义为“double a[10], *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( D )。
A. pa[5]=12.35; B. a[5]=12.35;
C. *(pa+5)=12.35; D. *(a[0]+5)=12.35;
90. 假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( C )。
A. *(pb+1)=24; B. *(b+1)=24; C. *++b=24; D. *++pb=24;
91. 假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态内存,应使用语句( A )。
A. delete p; B. delete *p; C. delete &p; D. delete []p;
92. 假定指针变量p定义为“int *p=new int[30];”,要释放p所指向的动态内存,应使用语句( D )。
A. delete p; B. delete *p; C. delete &p; D. delete []p;
93. 假定变量x定义为“int x=5;”,要使rx成为x的引用(别名),rx应定义为( D )。
A. int rx=x; B. int rx=&x; C. int *rx=&x; D. int &rx=x;
94. 关于消息,下列说法中不正确的是( B )。
A. 发送消息的对象请求服务,接受消息的对象提供服务
B. 消息的发送者必须了解消息的接收者如何相应消息
C. 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
D. 每个对象只能接收某些特定格式的消息
95. 关于封装,下列说法中不正确的是( D )。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体
B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C. 通过封装,每个对象都成为相对独立的实体
D. 通过封装,对象的属性都是不可见的
96. 面向对象方法的多态性是指( C )。
A. 一个类可以派生出多个特殊类
B. 一个对象在不同的运行环境中可以有不同的变体
C. 针对一消息,不同的对象可以以适合自身的方式加以响应
D. 一个对象可以是由多个其他对象组合而成的
97. 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( A )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
98. 软件产品可被全部或部分地再用于新的应用的能力叫做软件的( B )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
99. 软件产品与其他软件产品组合成一个整体的难易程度叫做软件的( C )。
A. 可维护性 B. 可复用性 C. 兼容性 D. 正确性
100. 软件产品准确执行软件需求规格