首页 > 全部 > 二级C++ > 国家二级C++机试(选择题)模拟试卷381

国家二级C++机试(选择题)模拟试卷381

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

国家二级C++机试(选择题)模拟试卷381

选择题

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

#include<stdio_h>

fun1(char a,char b){char c;c=a;a=b;b=c;}

fun2(char*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=’B’;fun1(a,b);putchar(a);putchar(b);

a=’A’;b=’B’;fun2(&a,b);putchar(a);putchar(b);

a=’A’;b=’B’;fun3(&a,&b);putchar(a);putchar(b);

putchar(’\n’);

}(B)

A. BABBAB

B. ABBBBA

C. ABBABA

D. ABABBA

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

2.下列程序将x、y和z按从小到大的顺序排列,横线处应添加语句( )。

template<class T>

void fun()

{

T a:

if(x>y)

{

a=x;x=y;y=a;

}

if(y>z)

{

a=y;y=z;z=a;

}

if(x>y)

{

a=x;x=y;y=a;

}

}(C)

A. T x,T y,T z

B. T x;y;z

C. T&x,T&y,T&z

D. T&x,&y,&z

解析:函数。fun的类型为void没有任何返回值,函数中变量的改变,即参数的改变应该影响实参。应该是地址传递方式,即把引用型作为函数形参。类T是类的抽象,可以利用模板建立各种数据类型的类。所以补全函数的定义为“T&x,T&v,T&z”。

3.下列叙述中正确的是( )。(C)

A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化

B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化

C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化

D. 上述三种说法都不对

解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则。

4.下列叙述中正确的是( )。(B)

A. 有一个以上根结点的数据结构不一定是非线性结构

B. 只有一个根结点的数据结构不一定是线性结构

C. 循环链表是非线性结构

D. 双向链表是非线性结构

解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。

5.下列关于函数的描述中,错误的是( )。(D)

A. 函数可以没有返回值

B. 函数可以没有参数

C. 函数可以是一个类的成员

D. 函数不能被定义为模板

解析:c++是一种强类型语言,它要求对于每一个实现都要有一个实例,这给程序员带来很多不便性。函数模板提供一种用来自动生成各种类型函数实例的算法,程序员只需要初始化其中部分参数和返同值,或者都不初始化,只需要申明通用的类型,而函数体则不需要改变。

6.若有以下程序:

#include<iostream>

using namespace std;

class TestClass

{

public:

void who(){cout<<’’TestClass’’<<end1;}

};

class TestClass1:public TestClass

{

public:

void who(){cout<<’’TestClass1’’<<end1;}

};

int main()

{

TestClass *p;

TestClass1 obj1;

p=&obj1;

p->who();

return 0;

}

则该程序运行后的输出结果是( )。(B)

A. TeatClassl

B. TestClass

C. 0

D. 无输出

解析:程序中的TestClas1为TestClass的派生类,主函数main中定义TestClass对象*p,TestClass1对象obj1,然后p引用obj1,执行p->who()则是调用基类中的who函数,输出TestClass。

7.程序流程图中带有箭头的线段表示的是( )。(C)

A. 图元关系

B. 数据流

C. 控制流

D. 调用关系

解析:程序流程图是一种传统的、应用广泛的软件过程设计工具,通常也称为程序框图。其中,用带箭头的线段表示控制流,用柜形表示加工步骤,用菱形表示逻辑条件。

8.下列对于软件测试的描述中正确的是( )。(C)

A. 软件测试的目的是证明程序是否正确

B. 软件测试的目的是使程序运行结果正确

C. 软件测试的目的是尽可能多地发现程序中的错误

D. 软件测试的目的是使程序符合结构化原则

解析:软件测试是为了发现错误而执行程序的过程。一个好的测试用例是指很可能找到迄今为止尚未发现的错误的用例;一个成功的测试是发现了至今尚未发现的错误的测试。软件测试的目的要以查找错误为中心,而不是为了演示软件的正确功能。

9.对C++编译器区分重载函数无任何意义的信息是( )。(C)

A. 参数类型

B. 参数个数

C. 返回值类型

D. 常成员函数关键字const

解析:所谓函数重载是指同一个函数名可以对应多个函数的实现。每种实现对应一个函数体,这些函数的名字相同,其参数类型或个数不同,但不能出现函数返回值类型不同而参数类型和个数完全相同的重载。所以本题答案为c。

10.下列给字符数组进行初始化中,正确的是( )。

C

解析:在C++中定义二维数组时并赋值,则数组的行数可以省略不写。选项A)、B)、D)均是字符字符串初始化。。

11.某类中有一个无参且无返回值的常成员函数Show,则正确的Sho

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号