国家二级(C++)机试模拟试卷279
选择题
1.时间复杂度和空间复杂度均属于( )。(A)
A. 算法复杂度
B. 编程复杂度
C. 公式复杂度
D. 数据复杂度
解析:算法复杂度主要包括时间复杂度和空间复杂度。
2.下面程序段的正确输出是( )。
int w=4,x=3,y=2,Z=1; cout<<(w<x?w:z<y?z:x)<<endl;(B)
A. 0
B. 1
C. 2
D. 3
解析:本题考查表达式作为变量进行输出,且表达式为两个三目表达式的嵌套,其中,第1个三目表达式z<y?z:x的值为1,接着计算第2个三同表达式w<x?w:l,值为1。
3.有如下程序:
#include
using namespace std;
class AA{
int n;
public:
AA(int k):n(k){}
int get(){return n;}
int get()const{return n+1;}
};
int main()
{
AA a(5);
const AA b(6);
cout<<a.get()<<b.get();
return 0:
}
执行后的输出结果是( )。(B)
A. 55
B. 57
C. 75
D. 77
解析:语句AA a(5)调用的是AA(int k):n(k){),a.get()调用int get(){return;},结果会输出5;而常对象constAAb(6),b.get()调用的是intget()const{returnn+1;},会输出结果7。
4.函数Min的功能是返回具有n个元素的数组array中的最小值,要使程序的输出结果为1.24,横线处应填( )。
#include
using namespace std;
template
T Min(T*array,int n){
T min=array[0];
for(int i=1;;i++)
if(array[i]<min)min=array[i];
return min;
}
int main(){
double arr[8]={5.2,48.45,41.01,42,51,2,1.24,14,12,42};
tout<<__________;
return 0;
}(C)
A. int i=1
B. array[i]<min
C. Min(arr,8)
D. array[i]
解析:考查了模板函数的用法,第1个参数是数组名称,第2参数是数组元素个数。
5.下列数据结构中,能够按照\\(B)
A. 循环队列
B. 栈
C. 队列
D. 二叉树
解析:栈是按先进后出的原则组织数据的。队列是先进先出的原则组织数据。
6.对C++编译器区分重载函数无任何意义的信息是( )。(C)
A. 参数类型
B. 参数个数
C. 返回值类型
D. 常成员函数关键字const
解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为C。
7.已知数组arr的定义如下:
int arr[5]={1,2,3,4,5};
下列语句中输出结果不是2的是( )。(D)
A. cout<<*arr+1<<end1;
B. cout<<*(artq-1)<<end1;
C. cout<<arr[1]<<end1;
D. cout<<*arr<<end1;
解析:本题主要考查指针的特殊含义。例*px+1指取px所指对.象内容加1,*(px+1)指px指针加1,并取结果指针内容而*px则指px的首元素。
8.下列关于C++函数的说明中,正确的是( )。(C)
A. 内联函数就是定义在另一个函数体内部的函数
B. 函数体的最后一条语句必须是return语句
C. 标准C++要求在调用一个函数之前,必须先声明其原型
D. 编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式
解析:此题考查的是有关函数的概念。内联函数是在函数定义之前加关键字inline来声明的函数,而不是定义在另一个函数体内部的函数,故选项A)错误;无返回值的函数在执行完最后一条语句后,会自动返回而不必加入retum语句,故选项B)错误;如果函数只是返回值类型不同,而其他完全相同,则不能作为函数重载来使用。
9.有如下语句序列:
char str[10];cin>>str;
当从键盘输入\\(D)
A. ”I love this game”
B. ”I love thi”
C. ”I love”
D. ”I”
解析:cin是C++预定义的标准输入流对象,cin用来接收字符串时,遇“空格”、“TAB”、“回车”时都会结束。所以本题答案为D。
10.下列语句中错误的是(C)
A. constint*p=0;
B. constinty=99;
C. constintx;
D. constint*p=newint(100);
解析:const是一个C++语言的关键字,它限定一个变量http://baike.baidu.com/view/296689.htm>不允许被改变,C++定义const类型变量时必须初始化,否则编译不通过。所以C选项错误。
11.有以下程序:
#include
void fun(int a,int b,int c)
{a=456,b=567,c=678;}
void main()
{
int x=10,y=20,z=30;
fun(x,y,z);
cout<<x<<’,’<<y<<’,’<<z<<endl;
}
输出结果是( )。(B)
A. 30,20,10
B. 10,20,30
C. 456,567,678
D. 678,567,456
解析:本题考查函数中变量
本文档预览:3600字符,共15051字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载