首页 > 全部 > 二级C++ > 国家二级(C++)机试模拟试卷334

国家二级(C++)机试模拟试卷334

本单篇文档共16801字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C++ 模拟试卷 6149人下载
价格: 0.60 原价:¥7.00
收藏

国家二级(C++)机试模拟试卷334

选择题

1.算法的有穷性是指( )。(A)

A. 算法程序的运行时间是有限的

B. 算法程序所处理的数据量是有限的

C. 算法程序的长度是有限的

D. 算法只能被有限的用户使用

解析:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。有穷性是指算法程序的运行时间是有限的。

2.下列程序输出的结果是( )。

#include

funl(char a,char b){char c;c=a;a=.b;b=c;)

fun2(ehar*a,char b){char c;c=*a;*a=b;b=c;)

fun3(char*a,char*b){char c;c=*a;*a=*b;*b=c;)

void main()

{

char a,b;

a=‘A’;b=IB’;funl(a,b);putchar(a);(B )

A. BABBAB

B. ABBBBA

C. ABBABA

D. ABABBA

解析:由程序中的主函数main入手,分别调用funl,fun2,fun3函数,得到输出结果。其中,三个函数都是实现两个形参的交换功能,只是参数传递的方式不同,有的是地址,有的是传值。第一个函数中参数采用的是值传递的方式,形参的变化不影响实参。所以调用funl后,实参a和b并没有交换,仍然是AB。第二个调用中,实参a采用的是地址,即传递的是地址,所以形参a的改变会影响实参a的值,即BB。同理,调用fun3后为BA。

3.给出下面程序输出结果( )。

#includevoid main()

{int*p1;

int**p2=&p1;

int b=20;

p1=&b;

cout<<**p2<<endl;

}(B)

A. 10

B. 20

C. 40

D. 30

解析:p1指向b,而p指向p1的地址。*p2表示p1的地址,p1的地址就是&b,即*p2是&b,所以**p2就是b变量的值。

4.有如下函数模板:templateT square(T x){return x*x;}其中T是( )。(C )

A. 函数形参

B. 函数实参

C. 模板形参

D. 模板实参

解析:此题考查的是函数模板。声明一个函数模板的格式是:template函数声明,{函数体}其中的是由一个或多个“模板形参”组成的,每个“模板形参”可具有以下几种形式:typename参数名;class参数名;类型修饰参数名。

5.假定MyClass为一个类,那么下列的函数说明中,( )为该类的析构函数。(D )

A. void~MyClass();

B. ~MyClass(int n);

C. MyClass();

D. ~MyClass():

解析:C++语言中析构函数为符号“~”加类名,且析构函数没有返回值和参数,故前不加void关键字。所以正确的形式应该是~MyClass()。

6.有如下程序:

#include<iostream>

using namespaee std;

class Obj {

static int i;

public:

obj() {i++;}

-obj() {i--;}

static int getVal() {return i;}

};

int obj∷i=0:

void f() {obj oh2;cout<<ob2.getVal();}

int main() {

obj ob1;

f();

Obj * ob3=new obj;cout<<oh3->getVal();

delete ob3;cout<<obj∷getVal();

return 0;

}

执行这个程序的输出结果是( )。(D)

A. 232

B. 231

C. 222

D. 221

解析:本题考查构造函数和析构函数的调用顺序,调用顺序为先构造的后析构,后构造的先析构。本题中先定义了一个对象ob1,会执行构造函数,那么i就变为了1;再执行函数f后,由于又定义了一个对象ob2,所以再次执行构造函数,i就变为了2,输出了2。函数执行完后执行析构函数,i变为了1,然后又定义了对象指针,i变为了2。释放ob3后,i变为了1,所以答案为D。

7.下列叙述中正确的是( )。(D)

A. 栈是“先进先出”的线性表

B. 队列是“先进后出”的线性表

C. 循环队列是非线性结构

D. 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构

解析:栈是先进后出的线性表,所以A错误;队列是先进先出的线性表,所以B错误;循环队列是线性结构的线性表,所以C错误。

8.软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是( )。(C)

A. 编译程序

B. 操作系统 c)教务管理系统

C. 汇编程序

解析:编译软件、操作系统、汇编程序都属于系统软件,只有C教务管理系统才是应用软件。

9.有以下程序段:

#include

#define MAX(x,y)(x)>(y)?(x):(y)

void main()

{

int i,j,k;

i=10;

j=15;k=MAX(i,j),10;

cout<<k<<endl:

}

程序执行后的输出结果是( )。(C)

A. 15

B. 100

C. 150

D. lO

解析:题目程序中的MAX函数是利用条件运算符为?:求最大值。即(x>y)?(x):(y)是当x大于y时取x,否则取y。当i=10,j=15时,“MAX(i,j)”的值为15,所以“k=MAx(i,j)*10;”答案为:150。

10.下列有关运算符重载的叙述中,正确的是( )。(A)

A. 运算符重载是多态性的一种表现

B. C++中可以通过运算符重载创造新的运算符

C. C++中所有运算符都可以作为非成员函数重载

D. 重载运算符时可以改变其结合性

解析:重载运算符的规则如下:

①C++不允许用户自己定义新的运算符,只能对已有的C++运算符进行重载;

②C++不能重载的运算符只有5个;

③重载不能改变运算符运算对象的个数;

④重载不能改变运算符的优先级和结合性;

⑤重载运算符的函数不能有默认的参

本文档预览:3600字符,共16801字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C++)机试模拟试卷334

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号