C++程序设计试卷

C++程序设计试卷,第1张

C++程序设计试卷

一、单项选择题(总分 21)

1. (分值:1.0 分)下列语句中错误的是( )。

A: if (a>b) cout<

B: if (&&) ; a=m;

C: if (1) a=m;

else a=n;

D: if (a>0) ;

else a=n;

序号:155 难度:1 考查点:程序控制结构

2. (分值:1.0 分)当需要打开A 盘上的xxk.dat 文件用于输入时,则定义文件流对象的语

句为( )。

A: fstream fin(R A:\xxk.datR );

B: ofstream fin(R A:\xxk.datR );

C: ifstream fin(R A:\xxk.datR ,ios::app);

D: ifstream fin(R A:\xxk.datR ,ios::nocreate);

序号:253 难度:1 考查点:输入输出流

3. (分值:1.0 分)运行下列程序结果为( )。

#include

int main( )

{

cout.width(6);

cout.fill('*');

cout << 'a'<<1 << endl;

return 0;

}

A: *****a*****1

B: *****a1

C: a*****1*****

D: a*****1

序号:258 难度:1 考查点:输入输出流

4. (分值:1.0 分)n 目运算符的含义是______。

A: 对n 个数据进行 *** 作

B: 对n 个数据进行加法

C: 对n 个类型进行整合

D: 对3 个类型进行转换

序号:322 难度:1 考查点:C++基础知识

5. (分值:1.0 分)与delete 最相关的关键字是( )。

A: namespace

B: new

C: enum

D: struct

序号:334 难度:1 考查点:指针

6. (分值:1.0 分)下列标识符正确的是________。

A: 1asd

B: _swe

C: R swe

D: @aws

序号:343 难度:1 考查点:C++基础知识

7. (分值:1.0 分)有以下类定义:

class A

{

private:

int x;

protected:

int y;

public :

int z;

};

类B 是类A 的公有派生类,在类B 中不能正确使

用的语句是( )。

A: x=5;

B: y=6;

C: z=7;

D: 都不能

序号:355 难度:1 考查点:继承与派生

8. (分值:1.0 分)下面正确的说法是________。

A: 关键字virtual 只能用来声明虚函数

B: 声明虚函数时,才使用关键字virtual

C: 关键字virtual 不能用来声明虚基类

D: 关键字virtual 能用来声明虚基类

序号:389 难度:1 考查点:多态性与虚函数

9. (分值:1.0 分)一个函数为 void f(int, char ch='a'),另一个函数为 void f( int ),则它们

( )。

A: 不能在同一程序中定义

B: 可以在同一程序中定义并可重载

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

D: 其他三种说法均不正确

序号:428 难度:1 考查点:重载

10. (分值:1.0 分)有以下类定义:

class A

{

public:

virtual void

f1(){ cout<<1; };

void f2(){ cout<<2; };

};

class B : public

A

{

public:

void f1(){ cout<<3;}

void f2(){ cout<<4;}

};

若b

为B 类对象,p 为A 类指针,则下列选项正确的是( )。

A: 执行:p=&b; p->f1();语句,输出3

B: 执行:p=&b; p->f2();语句,输出4

C: 执行:p=&b; p->f1();语句,输出2

D: 执行:p=&b; p->f2();语句,输出1

序号:435 难度:1 考查点:多态性与虚函数

11. (分值:1.0 分)在C++中,运算对象必须为整型数的运算符是( )。

A: %

B: /

C: *

D: %和*

序号:441 难度:1 考查点:C++基础知识

12. (分值:1.0 分)下列变量定义中合法的是( )。

A: short _a=1-.le-1;

B: double b=1+5e2.5;

C: long do=0xfdaL;

D: float 2_and=1-e-3;

序号:444 难度:1 考查点:C++基础知识

13. (分值:1.0 分)已知教师记录的描述为:

struct teacher

{

int id;

char name[20];

struct { int y; int m; int d;} birth;

}t;

将变量t 中的d 成员赋

值为 12 的语句为( )。

A: d=12

B: birth.d=12

C: t.d=12

D: t.birth.d=12

序号:461 难度:1 考查点:自定义数据类型

14. (分值:1.0 分)在面向对象程序设计中,实现信息隐蔽是靠( )。

A: 对象的继承

B: 对象的封装

C: 对象的分类

D: 对象的多态

序号:493 难度:1 考查点:类与对象

15. (分值:1.0 分)关于C++和C 语言的描述中,错误的是( )。

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

B: C 语言和C++是兼容的

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

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

序号:511 难度:1 考查点:C++基础知识

16. (分值:1.0 分)下述静态数据成员的特征中,( )是错误的。

A: 说明静态数据成员时前边要加修饰符static

B: 静态数据成员要在类体外进行初始化

C: 引用静态数据成员时,要在静态数据成员名前加<类名>和作用域运算符

D: 静态数据成员不是所有对象所共用的

序号:533 难度:1 考查点:类与对象

17. (分值:1.0 分)以下各组选项中,均能正确定义二维实型数组a的选项是( )。

A: float a[3][4];

float a[][4];

float a[3][]={{1},{0}};

B: float a(3,4);

float a[3][4];

float a[][]={{0},{0}};

C: float a[3][4];

float a[][4]={{0},{0}};

float a[][4]={{0},{0},{0}};

D: float a[3][4];

float a[3][];

float a[][4];

序号:562 难度:1 考查点:数组

18. (分值:1.0 分)如果类A 继承了类B,则类A 称为( )。

A: 基类

B: 派生类

C: 虚基类

D: 没有关系

序号:573 难度:1 考查点:继承与派生

19. (分值:1.0 分)( )使一个函数可以定义成对许多不同数据类型完成同一个任务。

A: 函数模板

B: 重载函数

C: 递归函数

D: 模板函数

序号:591 难度:1 考查点:模板

20. (分值:1.0 分)以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是

( )。

A: char s[10]="abcdefg";

B: char t[10]="abcdefg", *s=t;

C: char s[10]; s="abcdefg";

D: char s[10]; strcpy(s, "abcdefg");

序号:657 难度:1 考查点:数组

21. (分值:1.0 分)以下程序段的结果是( )。

int m=0, n=0;

if ( ++m || ++n )

cout << m << "," << n << endl;

A: 0,0

B: 1,1

C: 1,0

D: 0,1

序号:681 难度:1 考查点:C++基础知识

二、填空题(总分 44)

1.(分值:2.0)有如下循环语句:

for(int i=50; i>20; i-=2) cout<

运行时循环体的执行次数是15 次。

序号:12 难度:1 考查点:C++基础知识

2. ( 分值: 6.0 ) 求出满足不等式

src="../picturefile/30af43d6-9ecf-482e-893b-6e919858c90f/image003.jpg">

的最小n 值。

#include

using namespace std;

int main()

{

int i=0;

double s=0;

while ( s<5 或 5>s )

s+=double(1)/ ++i ;

cout<<"n="<}

序号:142 难度:2 考查点:程序控制结构

3.(分值:2.0)当一个对象的生命周期结束时,C++编译系统自动调用析构函数撤销该对象

并进行清理工作。

序号:199 难度:1 考查点:类与对象

4.(分值:2.0)若有定义int a[3][4]={{1,2},{3},{4,6,8,10}},则a[1][2]的值为0。

序号:234 难度:1 考查点:数组

5.(分值:6.0)根据输入的年、月,判断该月的天数。例如,2008 年2 月的天数为29 天,2010

年5 月为31 天。完成以下程序:

#include

void main( )

{

int

year,month,days;

cout<<"请输入年, 月:";

cin>>year>>month;

switch ( month )

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12: days=31; break; 或 break

case 4:

case 6:

case 9:

case 11: days=30; break;

case 2:

if (!(year%400) || !(year%4) && year%100) days=29 或 days=29;; else

days=28;

}

cout<

}

序号:29 难度:2 考查点:程序控制结构

6.(分值:2.0)对于派生类的构造函数,在定义对象时构造函数的执行顺序为:先执行调用

基类的构造函数,再执行调用对象成员的构造函数,最后执行派生类的构造函数体中的内容。

序号:290 难度:1 考查点:继承与派生

7.(分值:2.0)定义一个函数名为fun,返回值为int,没有参数的纯虚函数的定义是virtual

int fun()=0 或 virtual int fun()=0;。

序号:294 难度:1 考查点:多态性与虚函数

8.(分值:6.0)若一个3 位整数的各位数字的立方和等于1099,则称该数为A 数,求全部

A 数之和。

#include

class number

{

private:

int a, b;

//存放三位数的范围

public:

void mn(int m, int n) { a=m; b=n; } //为数

据成员赋值

void print()

{

int m1 = 0, m2 = 0, m3 = 0, m = 0,

sum=0;

for ( m = a; m <= b; m++ ) { m1 = m%10 或

m-m/10*10 ; //求三位数的个位 m2 = (m / 10) % 10; //求三位数

的十位

m3 = m/100; //求三位数的百位

if

( m1*m1*m1 + m2*m2*m2+ m3*m3*m3 == 1099 ) sum+=m;

}

cout<void main()

{

number ob;

ob.mn(100,999); ob.print();

}

序号:311 难度:3 考查点:类与对象

9.(分值:2.0)模板声明中的第一个符号总是关键字template。

序号:319 难度:1 考查点:模板

10.(分值:2.0)while(!x!=0){...}循环结构中的循环条件的含义是x==0。

序号:361 难度:1 考查点:程序控制结构

11.(分值:2.0)有以下程序:

#include

#define ADD(x) (x)+(x)

void

main()

{

int a=4,b=6,c=7,d=ADD(a+b)*c;

cout<}

程序执行

后输出的结果是80。

序号:502 难度:1 考查点:函数

12.(分值:6.0)下面程序的功能是将字符串s 的所有字符传送到字符串t 中,要求每传递

三个字符后再存放一个空格,例如字符串s 为"abcdefg",则字符串t 为"abc def g",请选择填

空。

#include

using namespace std;

void main( )

{

int j,

k=0;

char s[60]="abcdefg", t[100], *p;

p=s;

while(*p)

{

for (j=1; j<=3 && *p; j++, k++, p++ 或 p=p+1 或 ++p 或 p+=1)

t[k]=*p;

if ( j==4 或 4==j ) { t[k]=32; k++; } //32 为空格的ASCII

码值

}

t[k]=0;

cout<}

序号:527 难度:2 考查点:指针

13. ( 分值: 2.0 ) 有下面的程序段:

int a, b, k=4, m=6, *p=&k,

*q=&m;

a=p==&m;

b=(-*p)/(*q)+7;

cout<则输出的结果是07。

序号:528 难度:1 考查点:指针

14.(分值:2.0)若有定义:

struct AA

{

int a;

char b;

double c;

}x;

则x 占用空间大小为13 字节。

序号:543 难度:1 考查点:自定义数据类型

三、问答题(总分 25)

1.(分值:5.0 分)阅读程序,写出运行结果。

#include

int a=2;

void

fun()

{

int a=5;

a++;

cout<}

void main()

{

cout< fun();

int a=10;

a++;

cout<}

参考答案:

2611

序号:102 难度:1 考查点:函数

2.(分值:5.0 分)写出以下程序的输出结果:

#include

using namespace

std;

char cchar(char ch)

{

if (ch>=′A′ && ch<=′Z′) ch=ch-′A′+′

a′;

return ch;

}

void main()

{

char s[]="AB+bc=deEF",

*p=s;

while ( *p )

{

*p=cchar(*p);

p++;

}

cout<}

参考答案:

ab+bc=deef

序号:144 难度:1 考查点:指针

3.(分值:5.0 分)阅读以下程序:

#include

using namespace std;

class

A

{

int a,b;

public:

A( );

A(int i, int j);

void

print( );

};

A::A( ) { a=5; b=10; }

A::A(int i, int j) { a=i,b=j; }

void A::print( )

{ cout<<"a="{

A a1, a2(15, 18);

a1.print( );

a2.print( );

}

写出程序运行后a1.a 与a2.b 的值。(答案格式:a1.a

空格a2.b,例如:3 5)

参考答案:

5 18

序号:17 难度:1 考查点:类与对象

4.(分值:5.0 分)写出运算结果:

#include

void main()

{ int a,b,c,s;

a=10;b=2;c=11;

s=a+b>c;

cout<

}

参考答案:

1

序号:53 难度:2 考查点:程序控制结构

5.(分值:5.0 分)请写出下面程序运行的结果。

#include

using namespace std;

void main()

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

for(k=0;k<3;k++)

cout<

cout<

}

参考答案:

3 5 7

序号:71 难度:2 考查点:数组

四、编程题(总分 10)

1.( 分值: 10.0 分) 编写函数f() :

求m =

src="../picturefile/bd66508c-16f9-4ffc-a5b2-c1c9fb898e15/image017.jpg">的值(例如,81=

src="../picturefile/bd66508c-16f9-4ffc-a5b2-c1c9fb898e15/image008.jpg">),其中a 和n 的值在

主函数中给定,m 值由函数f 返回给主函数。请根据要求完成程序代码。

long f(int a, int

n);

void main()

{

int a, n;

cin>>a>>n;

cout<}

参考答案:

序号:59 难度:1 考查点:指针

31以下叙述中不正确的是_____。
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形式参数是局部变量
C.在一个函数内定义的变量只在本函数范围内有效
D.在一个函数内的复合语句中定义的变量在本函数范围内有效

参考答案

D

32 C++语言中函数返回值的类型决定于
A.return语句中的表达式类型
B.调用函数的主调函数类型
C.调用函数时变量的类型
D.定义函数时所指定的函数类型

参考答案

D

33使用值传递方式将实参传给形参,下列说法正确的是
A.形参是实参的备份
B.实参是形参的备份
C.形参和实参是同一对象
D.形参和实参无联系

参考答案

A

34若有如下的函数定义:

int sum( int a, float b)

{ return a+(int)b; }

则下列函数原型不正确的是( )。


A.int sum( int, float );
B.int sum( int x, float y );
C.int sum( int b, float a );
D.int sum( int a=10, float b );

参考答案

D

35在下面的函数声明中,存在着语法错误的是


A.

void bc(int a, int) ;
B.void bc(int, int);
C.void bc (int, int x=5) ;
D.void bc(int x; int y);

参考答案

D

36下列叙述中错误的是(  )。
A.一个函数中可以有多条return语句
B.调用函数必须在一条独立的语句中完成
C.函数中通过return语句使函数值返回
D.主函数名main也可以带形参

参考答案

B

以下语句的输出结果是________

enum weekday {sun, mon=3, tue, wed, thu};

weekday workday;

workday=wed;

cout< A.3
B.5
C.1
D.4

参考答案

B

37不能放在声明区的语句是__________。
A.if语句
B.变量定义语句
C.函数声明语句
D.类定义语句

参考答案

A

38在函数内部或复合语句内部定义的变量称为____________。
A.内部变量
B.外部变量
C.局部变量
D.全局变量

参考答案

C

39下列函数中,正确的递归函数是(  )。
A.

int Fun(int n){

if(n<1)

return 1;

else

return n*Fun(n+1);

}


B.

int Fun(int n){

if (abs(n)<1)

return 1;

else

return n*Fun(n/2);

}
C.

int Fun(int n){

if(n>1)

return 1;

else

return n*Fun(n*2);

}
D.

int Fun(int n){

if(n>1)

return 1;

else

return n*Fun(n-1);

}

参考答案

B

40当一个函数返回值类型为int时,定义时函数的类型应该为( )。


A.任意
B.void
C.int
D.无

参考答案

C

41下列描述正确的是()
A.不是每个C++程序都必须包含预处理命令#include
B.C++程序必须包含return语句。
C.C++程序中的变量必须定义在主函数的内部。
D.C++程序中的符号变量可以不进行定义。

参考答案

A

42考虑函数原型void test(int a, int b=7, char z=2),下面的函数调用中,属于不合法调用的是。
A.test(5)
B.test(5, 8)
C.test(5,6,7)
D.test( )

参考答案

D

43在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序的执行速度,则应该选用( )。
A.

内联函数


B.

重载函数


C.

递归调用


D.嵌套调用

参考答案

A

44以下有关函数存储类别的说明不正确的是( )。
A.静态函数用static定义
B.必须加extern关键字定义外部函数
C.内部函数不能在被定义文件外调用
D.定义文件外调用外部函数,必须用extern声明

参考答案

B

45在不同文件中,对全局变量的引用要加()关键字先行声明。
A.auto
B.register
C.static
D.extern

参考答案

D

46inline关键字的含义是_______。
A.外联
B.内联
C.宏定义
D.调用函数定义

参考答案

B

47关于作用域与生存周期,说法错误的是( )。
A.局部变量只在定义它的函数体中有效
B.全局变量的作用域是整个程序
C.局部变量在定义它的函数第1次被调用时初始化,以后可以直接使用
D.全局变量只初始化1次

参考答案

C

48关于内联函数,以下说法正确的是。( )
A.内联函数不需要经过编译
B.内联函数适用于函数体比较复杂的情况
C.内联函数不能提高程序的执行效率
D.声明内联函数只需要在函数声明前加inline关键字

参考答案

D

49使用sin(x)库函数,必须包括的头文件正确形式为()。
A.iostream.h
B.math.h
C.stdlib.h
D.string.h

参考答案

B

50下列关于实参和形参说法错误的是( )。
A.实参可以是变量、常量、或表达式。
B.实参与形参的类型必须一致,否则会发生“类型不匹配”的错误。
C.实参对形参的数据传递是单向传递,调用结束后,实参单元被释放。
D.形参必须是变量 。

参考答案

C

51关于内联函数说法错误的是( )。
A.不是任何一个函数都可定义成内联函数。
B.内联函数的函数体内不能含有复杂的结构控制语句。
C.递归函数可以被用来作为内联函数。
D.内联函数一般适合于只有几行语句的小函数。

参考答案

C

52在C++中,关于下列设置参数默认的描述中,( )是正确的。
A.不允许设置参数的默认值。
B.设置参数默认值只能在定义函数时设置。
C.设置参数默认值时,应该是先设置右边的再设置左边的。
D.设置参数默认值时,应该全部参数都设置。

参考答案

C

53下列存储类标识符中,( )的可见性与存在性不一致。
A.extern
B.auto
C.内部static;
D.register

参考答案

C

54以下对C++语言函数的描述中,正确的是


A.C++程序由一个或一个以上的函数组成
B.C++函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C++程序中调用关系的所有函数必须放在同一个程序文件中

参考答案

A

55 C++中规定,程序中各函数之间_____。
A.既允许直接递归调用也允许间接递归调用
B.不允许直接递归调用也不允许间接递归调用
C.允许直接递归调用不允许间接递归调用
D.不允许直接递归调用允许间接递归调用

参考答案

A

56引入内联函数的目的是为了( )。
A.节省空间
B.提高函数调用的效率
C.方便变量的使用
D.扩大局部变量的使用范围

参考答案

B

57下列说法不正确的是____。
A.函数必须有返回值
B. 函数的返回值是通过return语句返回到主调函数的。
C.return语句后的括号可要可不要
D.有函数值的函数,它返回的函数值的类型是确定的

参考答案

A

58以下正确的函数定义形式是_____。
A.double fun(int x,int y){}
B.double fun(int x; int y) {}
C.double fun(int x, int y); {}
D.double fun(int x,y); {}

参考答案

A

59简单变量做实参时,它和对应形参之间的数据传递方式为_____。
A.地址传递
B.单向值传递
C.由实参传给形参,再由形参传回给实参
D.由用户指定传递方式

参考答案

B

60函数原型是指下面哪种格式______。
A. 函数名([参数1类型][,参数2类型][…])
B.函数类型关键字 函数名([参数1类型][,参数2类型][…]);
C.函数类型关键字 函数名(标识符1][,标识符2][…]);
D. 函数名(参数1类型,标识符1][ ,参数2类型,标识符2][…]);

参考答案

B

61在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则______。
A.称为函数的直接递归调用
B.称为函数的间接递归调用
C.称为函数的循环调用
D.C++中不允许这样的递归调用

参考答案

B

62以下有关函数参数的叙述不正确的是_____。
A.函数的形参命名可以任意,只要符合标识符规则。
B.实参只能是常数
C.形参的值与实参的值不一定时刻保持一致。
D.函数参数的值也可以是内存单元地址

参考答案

B

63在一个被调用函数中,关于return语句使用的描述,( )是错误的。
A.被调用函数中可以不用 return语句。
B.被调用函数中可以使用多个return语句。
C.被调用函数中,如果有返回值,就一定要有return语句。
D.被调用函数中,一个return语句可返回多个值给调用函数。

参考答案

D

64以下哪些情况适合使用内联函数( )。
A.函数体含有循环语句
B.函数体含有递归语句
C.函数代码少、频繁调用
D.函数代码多、不常调用

参考答案

C

65在C++中,关于下列设置参数默认值的描述中,( )是正确的。


A.不允许设置参数的默认值
B.设置参数默认值可以在定义函数时设置
C.设置参数默认值时,应该是先设置左边的再设置右边的
D.设置参数默认值时,应该全部参数都设置

参考答案

B

66已知函数f(int a ,int b),则以下函数调用正确的是( )。
A.f(int 1 ,int 2)
B.f(1,2)
C.f(1)
D.f(int a, int b)

参考答案

B

67下列程序运行结果为:#include #define P 3 #define S(a) P*a*a void main(){ int ar;ar=S(3+5);cout<<" "< A.192
B.29
C.27
D.25

参考答案

B

68为了提高程序的运行速度,在函数中对于整型的变量可以使用()型.
A.auto
B.register
C.static
D.extern

参考答案

B

69对于void类型函数,调用时不可作为().
A.自定义函数体中的语句
B.循环体里的语句
C.if语句的成分语句
D.表达式

参考答案

D

70关于建立函数的目的,以下正确的说法是().
A.提高程序的执行效率
B.提高程序的编程效率
C.减少程序的执行时间
D.减少程序文件的个数

参考答案

B

71以下对C++语言函数的描述中,正确的是().
A.C++程序必须由一个或一个以上的函数组成
B.C函数既可以嵌套定义又可以递归调用
C.函数必须有返回值,否则不能使用函数
D.C++程序中有调用关系的所有函数必须放在同一个程序文件中

参考答案

A

72决定C++语言中函数的返回值类型的是__________。
A.return语句中的表达式类型
B.调用该函数时系统随机产生的类型
C.调用该函数时的主调用函数类型
D.在定义该函数时所指定的数据类型

参考答案

D

73关于return语句,下列正确的说法是().
A.在主函数和其他任何函数中均可出现
B.必须在每个函数中出现
C.可以在同一个函数中出现多次
D.只能在除主函数之外的函数中出现一次

参考答案

C

74下列说法不正确的是().
A.主函数main中定义的变量在整个文件或程序中有效
B.不同函数中,可以使用相同名字的变量
C.形式参数是局部变量
D.在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效

参考答案

A

75C++程序中的宏展开是在().
A.连接时进行的
B.程序执行时进行的
C.编译前预处理时进行的
D.编辑时进行的

参考答案

C

76C++控制台程序中必须有的函数是().
A.#include
B.main
C.cout
D.cin

参考答案

B

77以下叙述中正确的是().
A.在程序的一行上可以出现多个有效的预处理命令行
B.使用带参的宏时,参数的类型应与宏定义时的一致
C.宏替换不占用运行时间,只占编译时间
D.在定义(#define C R 045)中C R是称为"宏名"的标识符

参考答案

C

78以下叙述不正确的是().
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C++程序的基本组成单位是函数
D.在C++程序中,注释说明只能位于一条语句的后面

参考答案

D

79下列定义不正确的是().
A.#define PI 3.141592
B.#define S 345
C.int max(x,y); int x,y; { }
D.static char c;

参考答案

C

80若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是().
A.函数调用可以作为独立的语句存在
B.函数调用可以作为一个函数的实参
C.函数调用可以出现在表达式中
D.函数调用可以作为一个函数的形参

参考答案

D

81以下正确的说法是().
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准
D.如果形参与实参类型不一致,以实参类型为准

参考答案

C

82通过函数来实现一种不太复杂的功能,并且要求加快执行速度,C++中采用( )。


A.重载函数
B.内联函数
C.递归函数
D.嵌套函数

参考答案

B

83下述关于C++函数的叙述中,正确的是( )。
A.每个函数至少要具有一个参数
B.每个函数都必须返回一个值
C.函数在被调用之前必须先声明
D.函数不能自己调用自己

参考答案

C

84已知:int m=10 ; 下列表示引用的方法中,正确的是( )。


A.int &x=m;
B.int &x=10;
C.int &x;
D.float &t=&m

参考答案

A

85下列程序段的输出结果是().int add(int x=20,int y=10);void main(){ int a(30),b(50); cout< A.40
B.30
C.50
D.10

参考答案

A

86以下叙述中正确的是().
A.全局变量的作用域一定比局部变量的作用域范围大
B.静态(static)类别变量的生存期贯穿于整个程序的运行期间
C.函数的形参都属于全局变量
D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值

参考答案

B

87以下正确的说法是:在C++语言中进行值传递时().
A.实参和与其对应的形参各占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用存储单元
D.形参是虚拟的,不占用存储单元

参考答案

A

88全局变量的定义不可能在().
A.函数内部
B.函数外面
C.文件外面
D.最后一行

参考答案

A

89 C++语言中不可以嵌套的是().
A.函数调用
B.函数定义
C.循环语句
D.选择语句

参考答案

B

90程序中不可以调用的函数是().
A.非整型返回值的
B.本文件外的
C.main函数
D.本函数下面定义的

参考答案

C

91以下正确的函数原型为( )。
A.f1( int x; int y );
B.void f1( x, y );
C.void f1( int x, y );
D.void f1( int, int );

参考答案

D

92有函数原型 void fun2( int ); 下面选项中,不正确的调用是( )。
A.int a = 21; fun2( a );
B.int a = 15; fun2( a*3 );
C.int b = 100; fun2( &b );
D.fun2( 256 );

参考答案

C

93有关C++编译指令,以下叙述正确的是()
A.C++每行可以写多条编译指令
B.#include指令中的文件名可含有路径信息
C.C++的编译指令可以以#或//开始
D.C++中不管#if后的常量表达式是否为真,该部分都需要编译

参考答案

B

94下列选项中,( )的具有文件作用域。
A.语句标号
B.局部变量
C.全局变量
D.静态变量

参考答案

C

95函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为()
A.1
B.2
C.4
D.5

参考答案

B

96在编译指令中,宏定义使用哪个指令()
A.#if
B.#include
C.#define
D.#error

参考答案

C

97在C++中不返回任何类型的函数应该说明为()
A.int
B.char
C.void
D.double

参考答案

C

98一个函数功能不太复杂,但要求被频繁调用,则应把它定义为 ()
A.内联函数
B.重载函数
C.递归函数
D.嵌套函数

参考答案

A

99所有在函数中定义的变量,都是()
A.全局变量
B.局部变量
C.静态变量
D.寄存器变量

参考答案

B

100在什么情况下,可以不用对自定义函数进行声明就可以调用( )。
A.被调用的自定义函数出现在同一文件的主调函数之前
B.主调函数在前,被调函数在后
C.该被调用函数出现在main函数之前
D.不存在这种情况

参考答案

A

101设有一自定义函数的函数头形如:int f( int x, float y)。下列关于该函数的声明语句中,错误的是【 】。
A.int f(int x, float y)
B.int f(int, float);
C.int f(int a, float b);
D.int f(int x, float z);

参考答案

A

102在C++语言中,函数的隐含存储类别是().
A.auto
B.static
C.extern
D.无存储类别

参考答案

A

103必须用一对大括号括起来的程序段是
A.switch 语句中的case标号语句
B.if 语句的分支
C.循环语句的循环体
D.函数的函数体

参考答案

D

104以下正确的说法是().
A.用户若需调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义
C.系统根本不允许用户重新定义标准库函数
D.用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调

参考答案

B

105计算斐波那契数列第n项的函数定义如下:  

int fib(int n)

{

if (n == 0)

return 1;

else if (n == 1)

return 2;

else

return fib(n-1)+fib(n-2);

}

106若执行函数调用表达式fib(2),函数fib被调用的次数是( )。


A.1
B.2
C.3
D.4

参考答案

C

107已知函数FA调用FB,若要把这两个函数定义在同一个文件中,则
A.FA必须定义在FB之前
B.FB必须定义在FA之前
C.若FA定义在FB之后,则FA的原型必须出现在FB的定义之前
D.若FB定义在FA之后,则FB的原型必须出现在FA的定义之前

参考答案

D

108一个最简单的C++程序,可以只有一个( )。
A.库函数
B.自定义函数
C.main函数
D.空函数

参考答案

C

109有如下的函数定义:int Xfun(int x){  int y=x;  {int x=10; y+=x;}  return x+y;  }  通过表达式Xfun(5)调用该函数,则得到的返回值为
A.20
B.10
C.5
D.15

参考答案

A

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5156364.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存