C++程序设计自考题-5
(总分100, 做题时间90分钟)
一、单项选择题
(在每小题列出的四个备选项中只有一个是符合题目要求的。)
(在每小题列出的四个备选项中只有一个是符合题目要求的。)
1.
C++源文件的扩展名为( )
A..cpp B..c
C..txt D..exe
A..cpp B..c
C..txt D..exe
A B C D
分值: 1
答案:A
2.
下列标识符中正确的是( )
A.abc B.3ab
C.int D.+ab
A.abc B.3ab
C.int D.+ab
A B C D
分值: 1
答案:A
[解析] 本题主要考查的知识点为C++的标识符。
[要点透析] C++的标识符由字母、下划线和数字组成,而且第一个字符不能为数字,故B、D错误。int为关键字,标识符不能与关键字同名,故C错。本题正确答案为A。
[要点透析] C++的标识符由字母、下划线和数字组成,而且第一个字符不能为数字,故B、D错误。int为关键字,标识符不能与关键字同名,故C错。本题正确答案为A。
3.
下列表达式中不可能作为左值(赋值运算符左侧)的是( )
A.a=b B.*p
C.f(a,b) D.&a
A.a=b B.*p
C.f(a,b) D.&a
A B C D
分值: 1
答案:D
[解析] 本题主要考查的知识点为左值。
[要点透析] &a为取变量的地址,不能被修改,故不能作为左值。
[要点透析] &a为取变量的地址,不能被修改,故不能作为左值。
4.
在C++中使用流进行输入输出,其中用于键盘输入的对象是( )
A.cerr B.cin
C.cout D.cfile
A.cerr B.cin
C.cout D.cfile
A B C D
分值: 1
答案:B
[解析] 本题主要考查的知识点为预定义流对象。
[要点透析] cin为标准输入,即键盘输入;cout为标准输出,即屏幕输出。
[要点透析] cin为标准输入,即键盘输入;cout为标准输出,即屏幕输出。
5.
释放关键字new所开辟的动态存储空间必须使用( )
A.create B.free
A.create B.free
C.release D.clelete
A B C D
分值: 1
答案:D
[解析] 本题主要考查的知识点为动态分配内存。
[要点透析] C++程序中由new分配的动态内存空间必须通过delete释放。
[要点透析] C++程序中由new分配的动态内存空间必须通过delete释放。
6.
下列关于类和对象的说法不正确的是( )
A.对象是类的一个实例 B.一个类只能有一个对象
C.一个类只能有一个名字 D.类和对象的关系与数据类型和变量的关系相似
A.对象是类的一个实例 B.一个类只能有一个对象
C.一个类只能有一个名字 D.类和对象的关系与数据类型和变量的关系相似
A B C D
分值: 1
答案:B
7.
C++的合法注释是( )
A./*This is a C program/* B.//This is a C program
C.“This is a C program” D.//This is a C program//
A./*This is a C program/* B.//This is a C program
C.“This is a C program” D.//This is a C program//
A B C D
分值: 1
答案:B
[解析] 本题主要考查的知识点为C++的注释方式。
[要点透析] C++有两种注释方式:一种是从“/*”开始,直到“*/”结束;另一种是“//”,注释的有效范围从“//”至本行结束。
[要点透析] C++有两种注释方式:一种是从“/*”开始,直到“*/”结束;另一种是“//”,注释的有效范围从“//”至本行结束。
8.
C++程序的执行总是从( )开始的。
A.main函数 B.第一行
C.头文件 D.函数注释
A.main函数 B.第一行
C.头文件 D.函数注释
A B C D
分值: 1
答案:A
9.
已定义了一个类A并有语句A*pa=new A(5);,那么下列说法正确的是( )
A.该语句会创建A类的一个对象,并将此对象的地址赋给指针pa
B.该语句会创建A类的5个对象,且它们的地址是连续的
C.当指针变量pa超出其作用域时,pa和为对象分配的空间都将被自动释放
D.类A中一定有一个显式定义的构造函数和一个显式定义的虚析构函数
A.该语句会创建A类的一个对象,并将此对象的地址赋给指针pa
B.该语句会创建A类的5个对象,且它们的地址是连续的
C.当指针变量pa超出其作用域时,pa和为对象分配的空间都将被自动释放
D.类A中一定有一个显式定义的构造函数和一个显式定义的虚析构函数
A B C D 请写出至少5个字符串函数
分值: 1
答案:A
[解析] 本题主要考查的知识点为动态分配内存。
[要点透析] 本题是通过使用new调用构造函数创建一个对象,并将此对象的地址赋值给指针pa。要注意与A*pa=new A[5];进行区别,A*pa=new A[5];是创建5个对象。
[要点透析] 本题是通过使用new调用构造函数创建一个对象,并将此对象的地址赋值给指针pa。要注意与A*pa=new A[5];进行区别,A*pa=new A[5];是创建5个对象。
10.
设存在函数int sum(int,int)返回两个参数的和,若求20、45、100三个数的和,下列表达式不正确的是( )
A.int m=sum(20,45,100); B.int m=sum(sum(20,45),100);
C.int m=sum(20,sum(45,100)); D.int m=sum(45,sum(20,100));
A.int m=sum(20,45,100); B.int m=sum(sum(20,45),100);
C.int m=sum(20,sum(45,100)); D.int m=sum(45,sum(20,100));
A B C D
分值: 1
答案:A
[解析] 本题主要考查的知识点为函数返回值作为函数的参数。
[要点透析] 函数返回值作为函数的参数,该返回值类型必须与参数的类型一致,B、C、D项正确;sum函数只有两个参数,而A选项有三个参数,参数个数不同,故A项错误。
[要点透析] 函数返回值作为函数的参数,该返回值类型必须与参数的类型一致,B、C、D项正确;sum函数只有两个参数,而A选项有三个参数,参数个数不同,故A项错误。
11.
使用输入输出操控符setw,可以控制( )
A.输出精度 B.输出宽度
C.对齐方式 D.填充字符
A.输出精度 B.输出宽度
C.对齐方式 D.填充字符
A B C D
分值: 1
答案:B
[解析] 本题主要考查的知识点为操控符。
[要点透析] setw设置输出宽度,setfill设置填充字符,setprecision设置输出精度,setiosflags设置指定的标志位。
[要点透析] setw设置输出宽度,setfill设置填充字符,setprecision设置输出精度,setiosflags设置指定的标志位。
12.
下列数组的定义中,错误的是( )
A.char ca1[]='c','m','n'; B.char ca2[6]="name";
C.char ca3[4]="your";D.int array[]=1,2,3,4;
C.char ca3[4]="your";D.int array[]=1,2,3,4;
A B C D
分值: 1
答案:C
[解析] 本题主要考查的知识点为数组。
[要点透析] 字符数组不能超过数组长度,双引号括起来的字符串,最后有一个结束标志'\0',也占一个字符空间,所以C选项错误。
[要点透析] 字符数组不能超过数组长度,双引号括起来的字符串,最后有一个结束标志'\0',也占一个字符空间,所以C选项错误。
13.
在C++中,数据封装要解决的问题是( )
A.实现规范化 B.防止书写错误
A.实现规范化 B.防止书写错误
C.防止非法访问 D.实现类型转换
A B C D
分值: 1
答案:C
[解析] 本题主要考查的知识点为封装。
[要点透析] 封装把成员函数和数据成员设定不同权限,外界只能通过该对象的公有成员函数访问其成员,使得成员安全。
[要点透析] 封装把成员函数和数据成员设定不同权限,外界只能通过该对象的公有成员函数访问其成员,使得成员安全。
14.
下列有关设置函数参数值的描述中,正确的是( )
A.设置了默认值的参数右边允许出现没有指定默认值的参数
B.参数默认值的设置顺序从参数表的左端开始
A.设置了默认值的参数右边允许出现没有指定默认值的参数
B.参数默认值的设置顺序从参数表的左端开始
C.参数默认值要设置在定义语句中,不能设置在声明语句中
D.参数默认值可以是数值也可以是表达式
D.参数默认值可以是数值也可以是表达式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论