admin 管理员组

文章数量: 1184232


2024年1月17日发(作者:web of service)

C++程序设计考试题库(精简版)

【章节】第1章C++基础知识

【知识点】

1、C++程序的构成与书写形式;

2、基本数据类型,常量、变量和表达式

3、C++的标准输入输出

【单选题】

1、在C++中,源程序变为可执行程序的正确顺序应该是( ) 。

A. 编辑、链接、编译、执行

B. 编辑、编译、链接、执行

C. 编译、编辑、链接、执行

D. 编译、链接、编辑、执行

答案:B

2、要把高级语言编写的源程序转换为目标程序,需要使用( ) 。

A. 编辑程序

B. 驱动程序

C. 调试程序

D. 编译程序

答案:D

3、下列关于C++与C语言的关系描述中,错误的是( ) 。

A. C语言是C++语言的一个子集

B. C++与C语言是兼容的

C. C++对C语言进行了一些改进

D. C++和C语言都是面向对象的

答案:D

4、下面为使用面向对象语言的正确理由是( ) 。

A. 面向对象程序由三种基本结构组成,分别是顺序结构、选择结构和循环结构

B. 程序语句比面向过程语言简单

C. 面向对象程序设计可以设计为自行修改错误

D. 面向对象程序很容易概念化

答案:D

5、以下选项中,合法的用户标识符是( ) 。

A. long

B. _2Test

C. 3Dmax

D.

答案:B

6、下列描述中正确的是( ) 。

A. 不是每个C++程序都必须包含预处理命令#include

B. C++程序必须有return 语句

C. C++程序中的变量必须定义在主程序内部

D. C++程序中所使用的符号常量可以不进行定义

答案:A

7、C++源程序文件的扩展名为( ) 。

B. .C

C. .DLL

D. .EXE

答案:A

8、cout是I0流库预定义的( ) 。

A. 类

B. 对象

C. 包含文件

D. 常量

答案:B

9、C++对C语言作了很多改进,即从面向过程变成为面向对象的主要原因是( ) 。

A. 增加了一些新的运算符

B. 允许函数重载,并允许设置缺省参数

C. 规定函数说明符必须用原型

D. 引进了类和对象的概念

答案:D

10、下列选项中,( ) 是不合法的标识符.

A. Program

B. Obj23

C. double

D. B_C_D

答案:C

11、下列标识符中,不合法的用户标识符为( ) 。

A. a~!

B. _int

C. a_10

D. PAd

答案:A

12、只能向终端输出一个字符的函数是( ) 。

A. pringf函数

B. putchar函数

C. getchar函数

D. scanf函数

答案:B

13、如果有整型量int x = 5,执行情况x += 1.9 后x的值为( ) 。

A. 6

B. 7

C. 结果不确定

D. 表达式非法

答案:A

14、已知a=5,b=3,表达式a+=a*=++b*3的值为( ) 。

A. 40

B. 80

D. 120

答案:D

20、在C++语言中,自定义的标识符( ) 。

A. 能使用关键字并且不区分大小写

B. 不能使用关键字并且不区分大小写

C. 能使用关键字并且区分大小写

D. 不能使用关键字并且区分大小写

答案:D

32、C++语言程序的基本单位是( ) 。

A. 程序行

B. 语句

C. 函数

D. 字符

答案:B

37、C++ 对C语言作了很多改进,即从面向过程变成为面向对象的主要改进是( )

A. 增加了一些新的运算符

B. 允许函数重载,并允许设置缺省参数

C. 规定函数说明符必须用原型

D. 引进了类和对象的概念

答案:D

38、下列符号属于c++语言用户标识符的是()。

A. DO

B. if

C. void

D. switch

答案:A

39、任意一个类,析构函数的个数最多是( )。

A. 不限个数

B. 1

C. 2

D. 3

答案:B

【章节】第3章函数

【知识点】

1、C++函数的相关知识

2、函数定义与函数的调用

3、内联函数与函数重载

【单选题】

1、若有以下函数调用语句,在此函数调用语句中实参的个数是( ) 。

fun(a+b,(y=10,y),fun(n,k,d));

A. 3

B. 4

D. 6

答案:A

2、以下程序的运行结果是( ) 。

int main()

{ int k=4,m=1,p;

p=func(k,m);

cout<

p=func(k,m);

cout<

}

func(int a,int b)

{ static int m,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

A. 8,17

B. 8,16

C. 8,20

D. 8,8

答案:A

3.以下函数调用语句中,含有的实参个数是( ). func(rec1,rec2

+1,(rec3,rec4));

A. 3

B. 4

C. 5

D. 有语法错误

[答案] A

4.分析如下程序:

#include

int f(int b[],int n)

{int i,r=1;

for(i=0;i<=n;i++)

r=r*b[i];

return r;

}

void main(){

int x,a[]={2,3,4,5,6,7,8,9};

x=f(a,3);

cout<

}

上面程序的输出结果是( ) 。

A. 720

B. 120

C. 24

D. 6

答案:B

5、下列函数参数默认值定义错误的是( ) 。

A. Fun(int x, int y=0)

B. Fun(int x = 100)

C. Fun(int x = 0, int y)

D. Fun(int x = f( )) (假定函数f()已经定义)

答案:C

6、在函数定义前加上关键字“inline”表示该函数被定义为( ) 。

A. 重载函数

B. 内联函数

C. 成员函数

D. 普通函数

答案:B

7、一个函数功能不太复杂,但要求被频繁调用,选用( ) 。

A. 内联函数

B. 重载函数

C. 递归函数

D. 嵌套函数

答案:A

8、下面有关重载函数的说法中正确的是( ) 。

A. 重载函数必须具有不同的返回值类型

B. 重载函数形参个数必须不同

C. 重载函数必须有不同的形参列表

D. 重载函数名可以不同

答案:C

9、在C++语言中,对函数参数默认值描述正确的是( ) 。

A. 函数参数的默认值只能设定一个

B. 一个函数的参数若有多个,则参数默认值的设定可以不连续

C. 函数必须设定默认值

D. 在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值

答案:D

10、考虑函数原型void test(int a,int b=7,char z='*'),下面的函数调用中,属于不合法调用的是

A. test(5);

B. test(5,8);

C. test(6,'#');

D. test(0,0,'*');

答案:C

11、以下对C++ 函数的有关描述中,正确的是( ) 。

A. C 调用函数时,只能把实参的值传给形参,形参的值不能传递给实参

B. C++函数既可以嵌套定义又可以递归调用

C. 函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一源程序文件中答案:A

12、在C++语言中函数返回值的类型是由( )决定的。

A. 调用该函数时系统临时

B. return语句中的表达式类型

C. 定义该函数时所指定的函数类型

D. 调用该函数时的主调函数类型

答案:C

13、以下程序的输出结果是( ) 。

int func(int a,int b)

{ return a+b;}

int main()

{ int x=6,y=7,z=8,r;

r=func(func(x,y),z--);

cout<

}

A. 15

B. 20

C. 21

D. 31

答案:C

14、以下程序的输出结果是( ) 。

void fun(int a,int b,int c)

{ a=456;b=567;c=678;}

int main( )

{ int x=10,y=20,z=30;

fun(x,y,z);

cout<

}

A. 30,20,10

B. 10,20,30

C. 456,567,678

D. 678,567,456

答案:A

15、C++语言中,形参与实参之间的数据传递方式是( ) 。

A. 只能按值传递

B. 只能按地址传递

C. 既可以按值传递也可以按地址传递

D. 以上说法都不对

答案:C

16、分析以下程序:

#include

void fun(int num){cout<

void fun(char ch){cout<<(ch+1)<

int main(){

fun('A');

return 0;

}

以上程序的输出结果是( ) 。

A. 65

B. 66

C. A

D. B

答案:B

17、一个函数为void f(int x, char y = ‘a’),另一个函数为void f(int),则它们( ) 。

A. 不能在同一程序块中定义

B. 可以在同一个程序块中定义并可重载

C. 可以在同一个程序块中定义,但不可以重载

D. 以上说法均不正确

答案:A

18、函数定义为Fun(int &i),变量定义n = 100,则下面调用正确的是( ) 。

A. Fun(20)

B. Fun(20 + n)

C. Fun(n)

D. Fun(&n)

答案:C

19、当一个函数无返回值时,函数的类型应为( ) 。

A. 任意

B. void

C. int

D. char

答案:B

20、下列带缺省值参数的函数说明中,正确的说明是( ) 。

A. int Fun(int x,int y=2,int z=3);

B. int Fun(int x=1,int y,int z=3);

C. int Fun(int x,int y=2,int z);

D. int Fun(int x=1,int y,int z=3);

答案:A

21、下列函数参数默认值定义错误的是( ) 。

A. Fun(int x, int y=0)

B. Fun(int x = 100)

C. Fun(int x = 0, int y)

D. Fun(int x = f( )) (假定函数f( )已经定义)

答案:C

22、在函数定义前加上关键字“inline”表示该函数被定义为( ) 。

A. 重载函数

B. 内联函数

C. 成员函数

D. 普通函数

答案:B

23、一个函数功能不太复杂,但要求被频繁调用,选用( ) 。

A. 内联函数

B. 重载函数

C. 递归函数

D. 嵌套函数

答案:A

24、下面有关重载函数的说法中正确的是( ) 。

A. 重载函数必须具有不同的返回值类型

B. 重载函数形参个数必须不同

C. 重载函数必须有不同的形参列表

D. 重载函数名可以不同

答案:C

25、在C++语言中,对函数参数默认值描述正确的是( ) 。

A. 函数参数的默认值只能设定一个

B. 一个函数的参数若有多个,则参数默认值的设定可以不连续

C. 函数必须设定默认值

D. 在设定参数的默认值后,该参数后面定义的所有参数都必须设定默认值

答案:D

26、考虑函数原型void test(int a,int b=7,char z='*'),下面的函数调用中,属于不合法调用的是( ) 。

A. test(5);

B. test(5,8);

C. test(6,'#');

D. test(0,0,'*');

答案:C

27、以下对C++ 函数的有关描述中,正确的是( ) 。

A. C 调用函数时,只能把实参的值传给形参,形参的值不能传递给实参

B. C++函数既可以嵌套定义又可以递归调用

C. 函数必须有返回值,否则不能使用函数

D. C++程序中有调用关系的所有函数必须放在同一源程序文件中

答案:A

28、在C++语言中函数返回值的类型是由( )决定的。

A. 调用该函数时系统临时

B. return语句中的表达式类型

C. 定义该函数时所指定的函数类型

D. 调用该函数时的主调函数类型

答案:C

29、以下程序的输出结果是( ) 。

int func(int a,int b)

{ return a+b;}

int main( )

{ int x=6,y=7,z=8,r;


本文标签: 函数 程序 定义 语言 重载