C++程序设计复习题及参考答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计》课程复习资料
一、单项选择题:
1.下列字符串中可以用作C++标识符的是[ ]
-ld
2.定义变量int a=6,则a++的值是[ ]
.6 C
3.已知字母A的ASCII码为65,则表示字符常量A 错误的是[ ]
A. '\101'
B. '\x41'
C. 65
D.“A”
4.结构化程序由三种基本结构组成,不包括[ ]
A.顺序结构
B.选择结构
C.控制结构
D.循环结构
5.己知有定义:
const int D 5;
int i=1;
double f=;
char c=15;
则下列选项错误的是[ ]
A.++i;
B. D--;
C. c++;
D. --f;
6.若有定义为“int *r =new int [10];”,则释放指针所指内存空间的操作是[ ]
A. delete [ ]r;
B. delete *r
C. delete r;
D. delete r[ ];
7.下列哪个是C++语言的不正确的标识符[ ]
B. Ab1
C. bgc
D. int
8.下列哪个是C++语言的合法的字符常量[ ]
A. ”\0”
B. '054'
C. '\x89'
D. '\092'
9.定义整型变量x,y,z并赋初始值6的正确语句是[ ]
A. int x=y=z=6;
B. int x=6,y=6,z=6;
C. x=y=z=6;
D. int x,y,z=6;
10.用C++语言编写的代码程序[ ]
A.可立即执行
B.是一个源程序
C.经过编译即可执行
D.经过解释才能执行
11.将两个字符串连接起来组成一个字符串时,选用的函数是[ ]
A. strlen ()
B. strcpy ()
C. strcat ()
D. strcmp ()
12.在程序中,预处理命令开头的字符都是[ ]
A. *
B. #
C. &
D. @
13.在C++语言中,表示一条语句结束的符号是[ ]
A. “#”
B. “;”
C. “}”
D. “下面的循环语句中循环体执行的次数为
[ ]
for(int i=0; i if (i>n/2) break; 2 2+1 C.n/2-1 15.在下面的一维数组定义中,有语法错误的语句是[ ] A. int a[ ]={1,2,3}; B. int a[10]={0}; C. int a[ ]; D. int a[5]; 16.下面的保留字中,不能作为函数的返回类型[ ] A. void B. int C. new D. long 17.下面的函数声明中,“void BC(int a, int b);”的重载函数是[ ] A. int BC(int x, int y); B. void BC(int a, char b); C. float BC(int a, int b, int c=0); D. int BC(int a, int b=0); 18.假定AB为一个类,则该类的复制构造函数的声明语句为[ ] A. AB&(AB x); B. AB(AB x); C. AB(AB* x); D. AB(AB&); 19.表达式(1,2,3,4)的结果是[ ] A. 1 B. 2 C. 3 D. 4 20.在函数中如果不说明变量的存储类型,则默认的存储类型是[ ] A. auto B. static C. extern D. register 21.下面字符序列中,合法的C++常量是[ ] B.5L D.'AB' a声明的自动型变量a在没有赋值的情况下,其值为[ ] B.-1 C.1 D.随机数 23.设“int f(int);”和“int g(int);”是函数f和g的原形,以下将f作为语句调用的是[ ] A. g(f(3)) B. f(g(3)) C. g(f(3)+2) D. p=f(g(3)+1) 24.下面对构造函数和析构函数正确定义的项是[ ] A. X::X(参数), X::~X() B. void X::X(), void X::~X() C. X::X(参数), X::~X(参数) D. void X::X(参数), void X::~X(参数) 25.变量生存期是指[ ] A.变量定义 B.变量在内存中分配存储单元到被释放期间 C.程序的运行 D.可执行代码的生存期 26.以下选项中C++表达式不能正确表示的数学关系a<x≤b为[ ] A. a B. x<=b && a C. !(a>=x) && !(x>b) D. a 27.下列定义中,定义指向数组的指针p 的是[ ] A. int *p[5] B. int (*p)[5] C. (int *)p[5] D. int *p[ ]; 28.设有以下定义: void f1(int * m, long & n); int a; long b; 则以下调用合法的是[ ] (a,b) (&a,b) (a,&b) (&a,&b) 29.下列各类变量中,不是局部变量的是[ ] int x; f(int w) z; int y;(定义在函数外) 30.已知p是一个指向类A数据成员m的指针,A1是类A的一个对象。如果要给m赋值为5, ( )正确的语句。[ ] >p=5 C.A.*p=5 D.*=5 31.以下选项中,决定函数的返回值的类型是[ ] A.调用该函数的主调函数类型语句中的表达式类型 C.定义函数时所指定的返回值类型 D.调用函数时临时决定 32.下面for语句的循环次数为[ ] for(int i=0,x=0; !x && i<=5; i++); A.无穷次.5 C 33.在下面的字符数组定义中,有语法错误的语句是[ ] a[20]="abcdefg" a[ ]="x+y=55" a[15]={ '1', '2'} a[10]= '5' 34.若用数组名作为函数调用的实参,传递给形参的是[ ] A.数组的首地址 B.数组中第一个元素的值 C.数组全部元素的值 D.数组元素的个数 35.假定AB为一个类,则执行“AB a(4),b[5],*p[2];”语句时,自动调用该类构造函数的次数为[ ] A. 6 B. 7 C. 9 D. 11