第一部分 面向对象方法与C++概述
1 在下面的一维数组定义中,( )语句有语法错误
喵查答案:正确
int a[ ]={1,2,3};
错误
int a[10]={0};
喵查答案:int a[ ];
int a[5];
2 由C++源程序文件编译而成的目标文件的缺省扩展名为( )
正确
.obj
喵查答案:错误
.lik
.exe
喵查答案:.cpp
3 下列哪个是 C++语言中有效标识符( )
庄园
12345
柱廊园
No.1
喵查答案:文人园
喵查答案: _No1
公共园林
int
4 关于C++语言和C语言的关系的下列描述中,错误的是( )
C语言是C++语言的一个子集
喵查答案:正确
喵查答案:C语言和C++语言都是面向对象的语言
错误
C++语言与C语言兼容
C++语言对C语言做了些改进
5 在C++中,数据封装要解决的问题是( )
数据的规范化
便于数据转换
避免数据丢失
喵查答案:防止不同模块之间数据的非法访问
6 返回类型就是函数返回结果值的数据类型。返回类型可以是( )
除数组和类以外的任意数据类型
除数组和结构类型以外的任意数据类型
喵查答案:
除数组类型以外的任意数据类型
除指针和引用类型以外的任意数据类型
第二部分 过程化编程技术-函数应用
1 关于内联函数的说法不正确的是____
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开
喵查答案:当内联函数被调用时,内联函数将返回结果
2 以下说法中正确的是____
C++语言程序总从第一个的函数开始执行
在C++语言程序中,要调用的函数必须在main( )函数中定义
喵查答案:C++语言程序总是从main( )函数开始执行
C++语言程序中的main( )函数必须放在程序的开始部分
3 决定C++语言中函数的返回值类型的是____
return语句中的表达式类型
调用该函数时系统随机产生的类型
调用该函数时的主调用函数类型
喵查答案:在定义该函数时所指定的数据类型
4 在C++中,函数原型不能标识____
函数的返回类型
函数参数的个数
函数参数类型
喵查答案:函数的功能
5 下列函数的声明正确的是____
float sum(float x,y) {…….}
喵查答案:flaot sum(float,float );
float sum(x,y)
float sum(floatx,floaty) {…….}
6 关于函数的调用下面不正确的是____
一个函数可以自己调用自己
函数的调用可以在任意函数之间进行,只要有需要
喵查答案:由于程序总是从主函数开始,所以函数的调用总是在主函数和其他函数之间进行
函数返回时可以不必带返回值,这时函数在定义时其类型应用void标示
7 下面关于C++语言说法不正确的是____
喵查答案:具有函数式的程序结构,其程序至少由一个函数构成,不论是主函数,还是其他函数
变量的数据类型丰富,而且使用不同的存储类别,以控制函数内外信息的交换
具有编译预处理的功能,为程序的设计与修改、调试、移植带来方便
既是面向结构的程序设计语言,又是面向对象的程序设计语言,使用起来很方便
8
以下函数值的类型是____。fun(float x){ float y; y=3*x-4; return(y);}
喵查答案:int
char
void
float
9 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是____
地址传递
喵查答案:单向值传递
由实参传给形参,再由形参传回实参
传递方式由用户指定
10 关于函数的返回不正确的是____
使程序的执行重新返回到主函数,使程序继续往下执行
释放调用函数时临时分配的存储单元
喵查答案:返回一个值给主调函数
其返回值可为数值、地址,也可没有任何返回值
11 下列关于C++函数的描述中正确的是____。
主函数是程序的入口,它由用户定义的函数调用
喵查答案:函数在调用之前必须先被声明
每个用户定义函数只能被其他函数调用一次
函数是C++中面向对象程序设计框架的基本组成单元
12 下列函数原型声明中错误的是____。
void Fun(int x=0,int y=0);
void Fun(int x,int y);
void Fun(int x,int y=0);
喵查答案:void Fun(int x=0,int y);
1 在编译指令中,宏定义使用哪个指令( )。
#include
喵查答案:#define
#if
#else
2 在C++中使用流进行输入输出,其中用于屏幕输出的对象是( )。
cerr
cin
cfile
喵查答案:cout
3 设存在函数int max(int,int)返回两参数中较大值,若求22,59,70中最大值,下列表达式不正确的是( )。
int m = max(22,max(59,70))
int m = max(max(22,59),70)
喵查答案:int m = max(22,59,70)
int m = max(59,max(22,70))
4 在函数调用时,如某一默认参数要指明一个特定值,则有( )。
喵查答案:
其之前所有参数都必须赋值
其之后所有参数都必须赋值
其前、后所有参数都必须赋值
其前、后所有参数都不必赋值
5 在一个被调用函数中,关于return语句使用的描述,( )是错误的。
被调用函数中可以不用return语句
被调用函数中可以使用多个return语句
被调用函数中,如果有返回值,就一定要有return语句
喵查答案:被调用函数中,一个return语句可以返回多个值给调用函数
6 对于C/C++语言的函数,下列叙述中正确的是( )。
函数的定义可以嵌套,但函数调用不能嵌套
喵查答案:函数的定义不能嵌套,但函数调用可以嵌套
函数的定义和调用都不能嵌套
函数的定义和调用都可以嵌套
7 当一个函数无返回值时,定义它的函数的类型是( )。
int
无
喵查答案:void
long
8 在函数原型说明中, 不是必要的。
喵查答案:函数参数名
9 面向对象的程序设计有四大特征,它们是抽象、 、 继承 、 多态 。
喵查答案:封装
10 下面是一个输入半径,输出其面积和周长的C++程序,在下划线处填上正确的语句。#include using namespace std; const double pi=3.14159; void main( ) { double r; cout<<″r=″; ; double l=2.0*pi*r; double s=pi*r*r; cout<<″\n The long is:″<<l<<endl; cout<<″The area is:″<<s<<endl; }
喵查答案:cin>>r
11 C++语言中可以实现输出一个换行符并刷新流功能的操控符是 。
喵查答案:endl
12 要把一个文件输出流对象myFile与文件“f:\myText.txt相关联,所用的C++语句是 。
喵查答案:myFile.open(“f:\\myText.txt”)
1 下列说法正确的是( )
喵查答案:若“a=5.4,b=4”则执行“(int )(a/b,a++)”后a的值为6
运算符*的优先级要低于sizeof的优先级
已知“a=4,b=5,max=(++a<b++)?a++:++b”则max的值为5
“a=1;b=5;–a&&b++;”执行后b的值为5
2 下列字符常量的写法中,错误的是( )
喵查答案:
’\4f’
’\105′
’*’
’\a’
3 对象的封装就是( )
喵查答案:可进可出,但是外界不能干涉内部的处理过程
与世隔绝
只进不出
封装只是抽象的封装,外界可以直接干预
4 对于函数 put() 的说法不正确的是( )
喵查答案:它的功能是输出字符串并换行
其参数可以是字符常量
其参数可以是字符变量
将字符送入输出流
5 关于getline函数的说法不正确的是( )
喵查答案:该函数是接收字符串的函数
该函数接收的字符串长度是受限的,可以人为设置所接收字符串的长度,它所接收的字符串长度是这一长度值减1
该函数遇到换行符或其他终止符后结束操作
该函数接收从键盘输入的字符串
6 下面程序的输出结果是( )#includeusing std::cout; using std::endl;templatet max (t a,t b){return (a>=b)?a:b;}int main( ){ cout<<max(5,8)<<endl; cout<<max("zhangsan","lisi");}
喵查答案:
8
lisi
8
zhangsan
5
zhangsan
5
lisi
7 关于静态数据成员的说法正确的是( )
喵查答案:静态数据成员是所有同类的对象共享数据,它不能具体地属于哪一个对象
静态数据成员虽然能实现同类的对象共享数据,但破坏了类的封装性
静态数据成员只在类中声明一次即可
若C为一个类,a为它的一个对象,s为类中的一个静态数据成员,则static int a.s 可以说明s为一个静态数据成员
8 关于内联函数的说法不正确的是( )
喵查答案:当内联函数被调用时,内联函数将返回结果
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开
9 下列说法正确的是( )
喵查答案:当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符‘\0’
字符型数组与整型数组可通用
字符型数组与字符串其实没有什么区别
字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别
10 下列一维数组定义正确的是( )
喵查答案:const int x=5;float num[x];
x=5;int num[x];
const float x=5;int num[x];
const int x;x=5;int num[x];
11 下面程序的输出结果是( )#includeusing namespace std;int main( ){ int I,j,m=0,n=0; for(I=0;I<2;I++) for(j=0;j=I) m=1;n++; cout<<m<<endl; cout<<n;}
喵查答案:11
15
16
02
12 下面程序的输出结果是( )#includeusing namespace std;int main(){ int s; for(int k=2;k<6;k+=2){ s=1; for(int j=k;j<6;j++)s+=j; }cout<<s<<endl;}
喵查答案:10
9
1
11
13 下面说法不正确的是( )
喵查答案:数组名作形参时,形参改变不会影响实参值
数组元素作为函数参数属于值传递
数组名作为函数参数属于地址传递,形参、实参共用同一内存空间
数组元素作形参时,形参改变不会影响实参值
14 有定义“int a[2][5];”若a[0][1]的地址为x,则a[0][0]、a[1][3]地址分别为(假设一个整型数据占用两个字节的内存空间)( )
喵查答案:
x-2, x+14
x-1, x+7
x+1, x+7
x-1, x+14
15 下面程序的输出结果是( )#includeusing namespace std;int main( ){ int a,b; for(a=1,b=1;a=10) break; if(b%3==1) {b+=3;continue;} }cout<<a;}
喵查答案:4
5
6
11
16 下列语句段将输出字符’*’的个数为( )int i=100;while(1){ i–; if(i==0)break; cout<<'*'; }
喵查答案:99个
98个
101个
100个
17 下列运算结果正确的是( )
喵查答案:“y=x++;”可以写成“y=x;x=x+1;”,“y=++x;”可以写成“x=x+1;y=x;
“const y;int x=2;y=x++;”执行后值为3
“const y=2;int x=3;x++=y;”执行后,i的值为2
“int x,y;y=(x=5,x++,x+2);”执行后x值为8
18 已知枚举类型定义语句为:enum Token { NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中错误的是( )
喵查答案:
枚举常量NAME的值为1
枚举常量NUMBER的值为1
枚举常量MINUS的值为6
枚举常量PRINT的值为10
19 C++是( )
喵查答案:
既是面向对象的程序设计语言又是结构化程序设计语言
面向对象的程序设计语言
结构化程序设计语言
非结构化程序设计语言
20
下列C++标点符号中表示一条预处理命令开始的是( )
喵查答案:
#
;
//
}
21 下列说法正确的是( )
喵查答案:若“a=5.4,b=4”则执行“(int )(a/b,a++)”后a的值为6
运算符*的优先级要低于sizeof的优先级
已知“a=4,b=5,max=(++a<b++)?a++:++b”则max的值为5
“a=1;b=5;–a&&b++;”执行后b的值为5
22 下列字符常量的写法中,错误的是( )
喵查答案:
’\4f’
’\105′
’*’
’\a’
23 对象的封装就是( )
喵查答案:可进可出,但是外界不能干涉内部的处理过程
与世隔绝
只进不出
封装只是抽象的封装,外界可以直接干预
24 对于函数 put() 的说法不正确的是( )
喵查答案:它的功能是输出字符串并换行
其参数可以是字符常量
其参数可以是字符变量
将字符送入输出流
25 关于getline函数的说法不正确的是( )
喵查答案:该函数是接收字符串的函数
该函数接收的字符串长度是受限的,可以人为设置所接收字符串的长度,它所接收的字符串长度是这一长度值减1
该函数遇到换行符或其他终止符后结束操作
该函数接收从键盘输入的字符串
26 下面程序的输出结果是( )#includeusing std::cout; using std::endl;templatet max (t a,t b){return (a>=b)?a:b;}int main( ){ cout<<max(5,8)<<endl; cout<<max("zhangsan","lisi");}
喵查答案:
8
lisi
8
zhangsan
5
zhangsan
5
lisi
27 关于静态数据成员的说法正确的是( )
喵查答案:静态数据成员是所有同类的对象共享数据,它不能具体地属于哪一个对象
静态数据成员虽然能实现同类的对象共享数据,但破坏了类的封装性
静态数据成员只在类中声明一次即可
若C为一个类,a为它的一个对象,s为类中的一个静态数据成员,则static int a.s 可以说明s为一个静态数据成员
28 关于内联函数的说法不正确的是( )
喵查答案:当内联函数被调用时,内联函数将返回结果
在说明类的同时定义成员函数,则函数隐含为内联函数
也可在类外用inline关键字,对成员函数进行说明,则该函数也为内联函数
当内联函数被调用时,内联函数的代码在调用处被打开
29 下列说法正确的是( )
喵查答案:当字符串放在字符数组中,这时要求字符数组长度比字符串长1个单元,因为要放字符串终结符‘\0’
字符型数组与整型数组可通用
字符型数组与字符串其实没有什么区别
字符串的输出可以用它所存储的数组来输出,也可以字符串的形式整体输出,结果没区别
30 下列一维数组定义正确的是( )
喵查答案:const int x=5;float num[x];
x=5;int num[x];
const float x=5;int num[x];
const int x;x=5;int num[x];
31 下面程序的输出结果是( )#includeusing namespace std;int main( ){ int I,j,m=0,n=0; for(I=0;I<2;I++) for(j=0;j=I) m=1;n++; cout<<m<<endl; cout<<n;}
喵查答案:11
15
16
02
32 下面程序的输出结果是( )#includeusing namespace std;int main(){ int s; for(int k=2;k<6;k+=2){ s=1; for(int j=k;j<6;j++)s+=j; }cout<<s<<endl;}
喵查答案:10
9
1
11
33 下面说法不正确的是( )
喵查答案:数组名作形参时,形参改变不会影响实参值
数组元素作为函数参数属于值传递
数组名作为函数参数属于地址传递,形参、实参共用同一内存空间
数组元素作形参时,形参改变不会影响实参值
34 有定义“int a[2][5];”若a[0][1]的地址为x,则a[0][0]、a[1][3]地址分别为(假设一个整型数据占用两个字节的内存空间)( )
喵查答案:
x-2, x+14
x-1, x+7
x+1, x+7
x-1, x+14
35 下面程序的输出结果是( )#includeusing namespace std;int main( ){ int a,b; for(a=1,b=1;a=10) break; if(b%3==1) {b+=3;continue;} }cout<<a;}
喵查答案:4
5
6
11
36 下列语句段将输出字符’*’的个数为( )int i=100;while(1){ i–; if(i==0)break; cout<<'*'; }
喵查答案:99个
98个
101个
100个
37 下列运算结果正确的是( )
喵查答案:“y=x++;”可以写成“y=x;x=x+1;”,“y=++x;”可以写成“x=x+1;y=x;
“const y;int x=2;y=x++;”执行后值为3
“const y=2;int x=3;x++=y;”执行后,i的值为2
“int x,y;y=(x=5,x++,x+2);”执行后x值为8
38 已知枚举类型定义语句为:enum Token { NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列说法中错误的是( )
喵查答案:
枚举常量NAME的值为1
枚举常量NUMBER的值为1
枚举常量MINUS的值为6
枚举常量PRINT的值为10
39 C++是( )
喵查答案:
既是面向对象的程序设计语言又是结构化程序设计语言
面向对象的程序设计语言
结构化程序设计语言
非结构化程序设计语言
40
下列C++标点符号中表示一条预处理命令开始的是( )
喵查答案:
#
;
//
}
41 以下说法中正确的是( )
喵查答案:C++语言程序总是从main( )函数开始执行
C++语言程序总从第一个的函数开始执行
在C++语言程序中,要调用的函数必须在main( )函数中定义
C++语言程序中的main( )函数必须放在程序的开始部分
42 下列关于函数的调用,不正确的是( )
喵查答案:函数的调用可作为函数形参
如果一个问题的解决要依靠另一个问题的解决,而另一个问题的解决的方法与原问题相同,则此问题可用递归方法来解决
函数的调用可作为函数的实参
函数的调用可出现在执行语句中,也可出现在表达式中
43 形参与实参的说法正确的是( )
喵查答案:形参与实参的个数、类型、顺序都应一一对应
形参与实参的个数可以不必相同,少一个多一个,程序一样执行
形参与实参的类型可以不同,不影响运算结果
形参与实参的类型个数相同,而顺序不同,计算机可以自动进行匹配,所以形参的顺序无所谓,只要各种形参类型的数量与实参相同即可
44 函数软件就是在程序设计中,把功能相对独立、单一的模块用一个函数实现,再由若干个函数组成完整程序的设计方法。其中的函数叫做软件函数,关于软件函数下列说法不正确的是( )
喵查答案:用全局变量能使每个文件中各个函数保持联系,使函数之间的沟通交往十分方便,因而可以多用全局变量,以加强函数之间的联系
软件函数结构独立,功能单一,便于编写和调试、修改,在结构化程序设计中相当重要
可以并行开发,加快软件开发速度,缩短开发周期
函数的重复使用性好,提高开发效率
45 运行下列程序,输出结果是( )#includeusing namespace std;void fun(int i);int main(){ int n=2; fun(n); return 0;}void fun(int i){ static int x=1; int y=1; if(i>0) { ++x; ++y; cout<<x<<' '<<y<<' '; fun(i-1); }}
喵查答案:2 2 3 2
2 2 2 2
2 2 3 3
语法错,不能输出正确结果
46 下面程序的输出结果是( )#includeusing namespace std;int main( ){ int *p, *q,i=8,j=9; p=&i; q=&j; cout<<*p; *q=i; cout<<*q; q=p; cout<<*q; p=q; cout<<*p;}
喵查答案:8888
8889
8989
8899
47 关于普通变量的说法不正确的是( )
喵查答案:语句“cin>>&a;”表示把某个数据存入变量a
普通变量的数据类型不同则所占内存的字节数量不同
普通变量在赋值函数“=”的左边、右边的含义不同,在左边表示要存储的数据的地址,在右边表示一个值
有如下定义“int a;”则&a代表变量a所代表数据在内存中的地址
48 下面说法错误的是( )
喵查答案:数组初始化时,若给定元素个数少于数组元素,多余数组元素自动初始化为最后一个给定元素值
一个数组只允许存储同种类型的变量
数组名称其实是数组在内存中的首地址
当数组名作为参数被传递给某个函数时,原数组中元素的值可能被修改
49
下面程序的输出结果是( )
#include
using namespace std;
int main( )
{ int a=18;
int *p=&a;
cout<<(long)p;}
喵查答案:以十进制输出变量a的地址
以八进制输出变量a的地址
以十进制输出p的地址
以十六进制输出a的地址
50
包含在iostream文件中,有缓冲区,用来处理标准出错信息的输出的是( )
喵查答案:
clog
cout
cerr
out
喵查
查看更多答案