|
一、单选题(共 20 道试题,共 100 分。) V 1. 变量s的定义为“char *s=”Hello world!”;”,要使变量p指向s所指向的同一个字符串,则应选取( )。
A. char*p=s
B. char*p=&s
C. char*p;p=*s
D. char*p;p=&s
2. 题面见图片
A.
B.
C.
D.
3. 关于消息,下列说法中不正确的是( )。
A. 发送消息的对象请求服务,接受消息的对象提供服务
B. 消息的发送者必须了解消息的接收者如何相应消息
C. 在C++中,消息的发送具体体现为对接收消息的对象的某个函数的调用
D. 每个对象只能接收某些特定格式的消息
4. 要使语句“p=new int[10][20];”能够正常执行,p应被事先定义为( )。
A. int*p
B. int**p
C. int*p[20]
D. int(*p)[20]
5. 软件产品可被全部或部分地再用于新的应用的能力叫做软件的( )。
A. 可维护性
B. 可复用性
C. 兼容性
D. 正确性
6. 题面见图片
A.
B.
C.
D.
7. 整型变量中,八进制数的数字前面需要加数字()
A. 8
B. 0X
C. 不需要
D. 0
8. 题面见图片
A.
B.
C.
D.
9. 题面见图片
A.
B.
C.
D.
10. 题面见图片
A.
B.
C.
D.
11. 假定有“struct BOOK{char title[40]; float price;}; BOOK *book;”,则不正确的语句为( )。
A. BOOK*x=newbook
B. BOOKx={"C++Programming",27.0}
C. BOOK*x=newBOOK
D. BOOK*x=book
12. 关于void 指针,下列说法正确的是( )。
A. void指针就是未指向任何数据的指针
B. void指针就是已定义而未初始化的指针
C. 指向任何类型数据的指针可直接赋值给一个void指针
D. void指针值可直接赋给一个非void指针
13. 软件产品在需求发生变化、运行环境发生变化或发现软件产品本身的错误或不足时进行相应的软件更新的难易程度叫做软件的( )。
A. 可维护性
B. 可复用性
C. 兼容性
D. 正确性
14. 题面见图片
A.
B.
C.
D.
15. 假定变量a和pa定义为“double a[10], *pa=a;”,要将12.35赋值给a中的下标为5的元素,不正确的语句是( )。
A. pa[5]=12.35
B. a[5]=12.35
C. *(pa+5)=12.35
D. *(a[0]+5)=12.35
16. 假定p指向的字符串为”string”,若要输出这个字符串的地址值,则使用( )。
A. cout<<*p
B. cout<<p
C. cout<<&p
D. cout<<(void*)p
17. 关于封装,下列说法中不正确的是( )。
A. 通过封装,对象的全部属性和操作结合在一起,形成一个整体
B. 通过封装,一个对象的实现细节被尽可能地隐藏起来(不可见)
C. 通过封装,每个对象都成为相对独立的实体
D. 通过封装,对象的属性都是不可见的
18. 假定k是一个double类型的变量,则关于变量p的正确定义语句为( )。
A. doublep=&k
B. int*p=&k
C. double&p=*k
D. char*p=”Thankyou!”
19. 假定变量b和pb定义为“int b[10], *pb=b;”,要将24赋值给b[1]元素中,不正确的语句是( )。
A. *(pb+1)=24
B. *(b+1)=24
C. *++b=24
D. *++pb=24
20. 下列对引用的陈述中不正确的是( )。
A. 每一个引用都是其所引用对象的别名,因此必须初始化
B. 形式上针对引用的操作实际上作用于它所引用的对象
C. 一旦定义了引用,一切针对其所引用对象的操作只能通过该引用间接进行
D. 不需要单独为引用分配存储空间
|
|