一、单项选择题(总分 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 voidf1(){ cout<<1; };
void f2(){ cout<<2; };};class B : publicA
{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 值。 #includedouble 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 天。完成以下程序:
#includeyear,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; 或 breakcase 4:
case 6: case 9: case 11: days=30; break; case 2: if (!(year%400) || !(year%4) && year%100) days=29 或 days=29;; elsedays=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//存放三位数的范围
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<
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)有以下程序:
#includemain()
{ 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",请选择填
空。
#includek=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 分)阅读程序,写出运行结果。
#includefun()
{ int a=5; a++; cout<}void main(){cout< fun();
int a=10; a++;cout<}
参考答案:
2611
序号:102 难度:1 考查点:函数
2.(分值:5.0 分)写出以下程序的输出结果:
#includestd;
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 分)阅读以下程序:
#includeA
{ int a,b;public: A( ); A(int i, int j); voidprint( );
};A::A( ) { a=5; b=10; }A::A(int i, int j) { a=i,b=j; }void A::print( ){ cout<<"a="
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() : src="../picturefile/bd66508c-16f9-4ffc-a5b2-c1c9fb898e15/image017.jpg">的值(例如,81=
src="../picturefile/bd66508c-16f9-4ffc-a5b2-c1c9fb898e15/image008.jpg">),其中a 和n 的值在 主函数中给定,m 值由函数f 返回给主函数。请根据要求完成程序代码。
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<
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
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
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)