1、国家二级(C+)机试模拟试卷 164 及答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.算法的时间复杂度与算法程序中的语句条数成正比B.算法的时间复杂度与计算机的运行速度有关C.算法的时间复杂度与运行算法时特定的输入有关D.算法的时间复杂度与算法程序编制者的水平有关2.下列各排序法中,最坏情况下的时间复杂度最低的是( )。(分数:2.00)A.希尔排序B.快速排序C.堆排序D.冒泡排序3.设栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=50,
2、则栈中的元素个数为( )。(分数:2.00)A.1B.0C.50D.494.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为( )。(分数:2.00)A.不存在这样的二叉树B.200C.198D.1995.结构化程序的三种基本结构是( )。(分数:2.00)A.递归、迭代和回溯B.过程、函数和子程序C.顺序、选择和循环D.调用、返回和选择6.某系统结构图如下图所示(n5) (分数:2.00)A.nB.3C.2D.n+17.软件需求规格说明的内容不包括( )。(分数:2.00)A.运行环境B.软件的主要功能C.软件的性能D.算法详细设计8.在数据库管理
3、技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )。(分数:2.00)A.人工管理阶段B.文件系统阶段C.文件系统阶段和数据库阶段D.人工管理阶段和文件系统阶段9.建立表示学生选修课程活动的实体联系模型,其中的两个实体分别是( )。(分数:2.00)A.课程和课程号B.学生和课程C.学生和学号D.课程和成绩10.定义学生、教师和课程的关系模式 S(S#,Sn,Sd,Dc,SA)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为( )。(分数:2.0
4、0)A.第二范式B.第一范式C.第三范式D.BCNF 范式11.下列语句中,能够进行正确赋值的是( )。(分数:2.00)A.char str=abcde;B.char str=“abcde“;C.char str4:“abode“;D.char str6=“abcde“;12.有如下枚举类型定义:enum DAYSUNMON=10TUE,WED,THU,FRI=20,SAT;执行下列程序段for(int i=0;iTHU;i+)coutaendl;输出字符a的个数是( )。(分数:2.00)A.13B.16C.19D.2213.若对数组进行初始化,下列选项中,错误的是( )。(分数:2.00
5、)A.char name310=“Tracy“,“Lamar“,“McGrady“;B.char team7=“Rockets“;C.double score=256,321,280;D.int matrix33=1,2,3,4,5,6,7,8,9;14.下列有关指针的操作中,正确的是( )。(分数:2.00)A.int a=10;void*ptr=&a;cout*(ptr);B.int*ptr=new int10;delete ptr;C.int Array4;*(Array+3)=10;D.int*ptr=new int*10;15.有如下程序:#includeiostreamusing
6、namespace std;int main()int i=1,s=0;while(s30)s+=i*i:i+;coutsendl:return0;运行后的输出结果是( )。(分数:2.00)A.32B.30C.31D.5516.下列关于函数的叙述中,错误的是( )。(分数:2.00)A.一个函数很可能既调用别的函数又被别的函数调用B.一个函数可以不返回任何值C.C+允许函数定义嵌套D.C+中函数在使用之前要预先声明17.若已经声明了函数原型“void fun(int a,double b=00)”,则下列重载函数声明中正确的是( )。(分数:2.00)A.void fun(int a=90,
7、double b=00);B.int fun(int a,double B);C.void fun(double a,int B);D.bool fun(int a,double b=00);18.下列关于运算符重载的叙述中,错误的是( )。(分数:2.00)A.运算符既可以重载为类成员函数,也可以重载为非成员函数B.C+中运算符重载只能重载已有的运算符C.双目运算符的重载函数的形参必须有两个D.运算符重载不能改变运算符的优先级19.下列选项中不能用于区分重载函数的是( )。(分数:2.00)A.形参的个数B.形参的类型C.函数的返回值类型D.常函数关键字 const20.计算数列第 n 项的
8、函数定义如 F:int fa(int n)if(n=1)return1;else return3*fa(n-1)+2;若执行函数调用表达式 fa(4)时,返回的函数值为( )。(分数:2.00)A.53B.17C.23D.4921.有如下程序:#includeiostreamusing namespace std;int fun(char x,char y)if(xy)return x:return y;int main()int a(9),b(8),c(7);coutfun(fun(a,b),fun(b,c);return0;运行后的输出结果是( )。(分数:2.00)A.8B.9C.7D.
9、函数调用出错22.有如下程序:#includeiostreamusing namespace std;double add(double a,double b,double c=1)return a+b+c:int main()int result=add(2,3);coutresultendl:return0;运行后的输出结果是( )。(分数:2.00)A.3B.5C.6D.编译出错23.有如下程序:#includeiostreamusing namespace std;class clockpublic:clock():seeonds(0);clock&:operator+()this-s
10、econds+:return*this:void display()coutthis-seconds :private:int second8;int main()clock c;+c:cdisplay();(+(+c)display();cdisplay();return0;运行后的输出结果是( )。(分数:2.00)A.1 3 2B.1 3 3C.1 2 3D.1 2 224.下列关于构造函数的叙述中,错误的是( )。(分数:2.00)A.构造函数名与类名相同B.构造函数可以有返回值C.构造函数可以重载D.每个类都有构造函数25.下列关于 this 指针的叙述中,错误的是( )。(分数:2
11、.00)A.this 指针只能在类的非静态成员函数中使用B.this 指针存储着对象的地址C.this 指针不需要显式定义D.在构造函数中不能使用 this 指针26.当一个派生类私有继承一个基类时,基类中的所有公有成员和保护成员成为派生类的( )。(分数:2.00)A.公有成员B.私有成员C.保护成员D.友元27.下列关于 C+类的叙述中,错误的是( )。(分数:2.00)A.类与类之间可以互为友元B.类用于描述事物的属性和对事物的操作C.类与类之间不能有组合关系D.类与类之间可以通过封装而具有相对独立性28.已知类 XX 中声明了如下的公有虚函数:virtual voidf()const;
12、XX 的派生类 YY 重定义了这个虚函数,XX 和 YY 都有默认的构造函数,且有如下定义:YY YY:XX xx,*px=&xx,&rx=Yyy,*pp=&yy;则下列对函数 f 的调用中,属于非多态调用的是( )。(分数:2.00)A.px-f()B.rxf()C.xxf()D.pp-f()29.有如下类定义:class Pianopublic:int GetPrice()const;private:int price;若要在类体外定义常成员函数 GetPrice,下列选项中正确的是( )。(分数:2.00)A.int GetPrice()return price;B.int GetPri
13、ce()constreturn price;C.int Piano:GetPrice()return price;D.int Piano:GetPrice()constreturn price;30.有如下程序:#includeiostreamusing namespace std;class Apartmentpublic:Apartment(int Rum=2):bedroom(num)coutbedroom;private:int bedroom;int main()Apartment Alice,Bill(3),Twins2;return0:运行时的输出结果为( )。(分数:2.00)
14、A.222B.232C.2322D.223231.有如下类定义:class Girl;class Bovpublic:Boy(double h);void Show(const Gid&g);void Print()const;private:double height;class Girlfriend class Boy;friend void Display(coflst Girl&);public:Girl(double h);private:double height;下列叙述中,错误的是( )。(分数:2.00)A.类 Boy 是类 Girl 的友元类B.函数 Display 是类
15、Girl 的友元函数C.类 Boy 的成员函数 Print 是类 Girl 的友元函数D.类 Boy 的成员函数 Show 中不能访问类 Girl 的私有成员 height32.有如下程序:#includeiostream#includestringusing namespace std;class Bedroompublic:Bedroom(int s=12):size(s)coutsize;private:int size;class Apartmentpublic:Apartment(int s1,int s2,int s3):b2(s2),b1(s1),size(s3)coutsize
16、;private:int size;Bedroom b1,b2;int main()Apartment*p=new Apartment(12,18,75);delete p;return0:运行时的输出结果是( )。(分数:2.00)A.121875B.181275C.751218D.75181233.有如下类定义:class Pianopublic:_纯虚函数 Type;下列选项中,能够正确表示纯虚函数 Type 的是( )。(分数:2.00)A.void Type()virtual;B.virtual void Tvpe();C.virtual void Type()=0;D.virtua
17、l void Type()=0;34.有如下程序:#includeiostream#includestringusing namespace std;class Applepublic:Apple()coutA;class IPhone:public Applepublic:IPhone():ver(4)coutI;IPhone(int n):ver(n)coutn;private:int ver;int main()IPhone Ellen(6),Jack;return 0;运行时的输出结果是( )。(分数:2.00)A.6IB.A6IC.AIAID.A6AI35.有如下程序:#includ
18、eiostream#includestringusing namespace std;class Publicationpublic:Publication(string n=“Unknown“):name(n)const string getName()constreturn name;virtual const string getType()constreturn“Unknown“;private:string name;class Book:publicPublicationpublic:Book(string name):Publication(name)virtual const
19、string getType()constreturn“Book“;void showPublication(Publication&p)coutpgetType()“:“PgetName()endl;int main()Book book(“C+“);showPublication(book);return0;运行时的输出结果是( )。(分数:2.00)A.Book:C+B.Book:UnknownC.Unknown:C+D.Unknown:Unknown36.有如下程序:#includeiostream#includecmathusing namespace std;class Power
20、幂类 doutfie base;底数 double expo;指数 public:Power(double v,double p):base(v),expo(p)double getBase()constreturn base;double getExponent()constreturn expo;class Square:public Powerpublic:Square(double x):Power(x,20);class Cubic:public Powerpublic:Cubic(double x):Power(x,30);ostream & operator(ostream&os
21、,cons(Power&p)ospow(_);return os;int main()coutSquare(3)Cubic(5);return0;运行后的输出结果是 9125,则下划线处缺失的部分是( )。(分数:2.00)A.pbase,pexpoB.pexpo,pbaseC.pgetBase(),pgetExponent()D.pgetExponent(),pgetBase()37.下列关于类模板的叙述中,正确的是( )。(分数:2.00)A.类模板实例化时,编译器会根据给出的模板实参生成一个类B.类模板中的成员函数没有返回值C.类模板的主要作用是生成抽象类D.类模板中的数据成员具有同样类
22、型38.下列关于 C+输入输出流的叙述中,错误的是( )。(分数:2.00)A.输入输出流提供了对各种外部设备的抽象B.cout,cerr,clog 默认情况下都会输出到系统的标准输出设备C.C+输入输出流类库中含有一组类模板D.使用输入输出流必须显式用 open 函数打开文件39.下列选项中,只能用于处理文件输入的是( )。(分数:2.00)A.ostreamB.fstreamC.ofstreamD.ifstream40.已知函数模板定义如下:templatetypename TT max(T x,T y)return xy?x:y;下列叙述中,错误的是( )。(分数:2.00)A.此函数模
23、板有一个模板形参B.此馍板实参类型必须可以用运算符比较大小C.此函数模板实例化时,模板实参只能是基本类型D.编泽时遇到对 max 的调用表达式,将生成模板实例二、基本操作题(总题数:1,分数:2.00)41.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj1 下的工程 proj1,该工程中包含程序文件maincpp,其中有类 Door(“门”)和主函数 main 的定义。程序中位于每个“ERROR*found*”之后的一行语句有错误,请加以改正。改正后程序的输出结果应为:打开503 号门门是锁着的,打不开。打开 503 号门的锁锁开了。打开 503 号门门打开了。打开 503 号门门
24、是开着的,无须再开门。锁上 503 号门先关门门锁上了。注意:只修改每个“ERROR*found*”下的那一行,不要改动程序中的其他内容。#includeiostreamusing namespace std;class Doorint num;门号 bool closed;true表示门关着 bool locked;true 表示门锁着 public:Door(int num)ERROR*found*sum=this-num;closed=locked=true;bool isClosed()constreturn closed;门关着时返回 true,否则返回 falsebool isOp
25、ened()constreturn!closed;门开着时返回 true,否则返回 falsebool isLocked()constreturn locked;门锁着时返回 true,否则返回 falsebool isUnlocked()constreturn!locked;门未锁时返回 true,否则返回 falsevoid open()开门 coutendl“打开“num“号门“;ERROR*found*if(closed)cout“门是开着的,无须再开门。“;else if(locked)cout“门是锁着的,打不开。“;elseclosed=false;cout“门打开了。”;voi
26、d close()关门 coutendl“关上“num“号门“;if(closed)cout“门是关着的,无须再关门。“;elseclosed=true;cout“门关上了。“;ERROR*found*void lock()const锁门 coutendl“锁上“hum“号门“;if(locked)cout“门是锁着的,无须再锁门。“;elseif(!closed)cout“先关门“;closed=true;locked=true;cout“门锁上了。“;void unlock()开锁 coutendl“开“Hum“号门的锁“;if(!locked)cout“门没有上锁,无须再开锁。“;els
27、elocked=false;cout“锁开了。“;int main()Door door(503);dooropen();doorunlock();dooropen();dooropen();doorlock():return0;(分数:2.00)_三、简单应用题(总题数:1,分数:2.00)42.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj2 下的工程 proj2,该工程中包含一个程序文件maincpp,其中有坐标点类 point、线段类 Line 和三角形类 Triangle 的定义,还有 main 函数的定义。程序中两点间距离的计算是按公式 d= 实现的,三角形面积的计算是
28、按公式 f= 实现的,其中 s=(分数:2.00)_四、综合应用题(总题数:1,分数:2.00)43.请使用 VC6 或使用【答题】菜单打开考生文件夹 proj3 下的工程 proj3,其中声明的 DataList 类,是一个用于表示数据表的类。DataList 的重载运算符函数 operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:两个数据表:1,2,3,4,5,63,4,5,6,7,8 两个数据表之和:4,6,8,20,12,14 要求:补充编制的内容写在“
29、*333*”与“*666*”之间,不得修改程序的其他部分。注意:程序最后将结果输出到文件outdat 中。输出函数 writeToFile 已经编译为 obj 文件,并且在本程序中调用。DataListh#includeiostreamusing namespace std;class DataList数据表类 int len;double*d;public:DataList(int len,double data=NULL);DataList(DataList &data);int length()constreturn len;double getElement(int i)constre
30、turn di;DataList operator+(const DataList& list)const;两个数据表求和 void show()const;显示数据表;void writeToFile(char*,const DataList&);maincpp#include“DataListh“DataList:DataList(int len,double data):len(len)d=new doublelen;for(int i=0;ilen;i+)di=(data=NULL?00:datai);DataList:DataList(DataList&data):len(datal
31、en)d=new doublelen;for(int i=0;ilen;i+)di=datadi;DataList DataList:operator+(const DataList&list)const两个数据表求和 double*dd=new doublelistlength();*333*666*return DataList(listlength(),dd);void DataList:show()const显示数据表 for(int i=0;ilen-1;i+)coutdi“,“;coutdlen-1endl;int main()double s1=1,2,3,4,5,6;doubl
32、e s2=3,4,5,6,7,8;DataList list1(6,s1),list2(6,s2);定义两个数据表对象 cout“两个数据表:“endl:list1show();list2show();coutendl“两个数据表之和“end!;(list1+list2)show();writeToFile(“ “,list1+list2);return0;(分数:2.00)_国家二级(C+)机试模拟试卷 164 答案解析(总分:86.00,做题时间:90 分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中正确的是( )。(分数:2.00)A.算法的时间复杂度与算法程序中的语句条
33、数成正比B.算法的时间复杂度与计算机的运行速度有关C.算法的时间复杂度与运行算法时特定的输入有关 D.算法的时间复杂度与算法程序编制者的水平有关解析:解析:算法的时间复杂度是指执行算法所需要的计算工作量。为了能够比较客观地反映出一个算法的效率,在度量一个算法的工作量时,不仅应该与所使用的计算机、程序设计语言以及程序编制者无关,而且还应该与算法实现过程中的许多细节无关。为此,可以用算法在执行过程中所需基本运算的执行次数来度量算法的工作量。算法所执行的基本运算次数还与问题的规模有关;对应一个固定的规模,算法所执行的基本运算次数还可能与特定的输入有关。故本题答案为 C 选项。2.下列各排序法中,最坏
34、情况下的时间复杂度最低的是( )。(分数:2.00)A.希尔排序B.快速排序C.堆排序 D.冒泡排序解析:解析:堆排序最坏情况时间下的时间复杂度为 O(nlog 2 n);希尔排序最坏情况时间下的时间复杂度为 O(n 15 );快速排序、冒泡排序最坏情况时间下的时间复杂度为 O(n 2 )。故本题答案为 C 选项。3.设栈的存储空间为 S(1:50),初始状态为 top=51。现经过一系列正常的入栈与退栈操作后,top=50,则栈中的元素个数为( )。(分数:2.00)A.1 B.0C.50D.49解析:解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置
35、插入一个新元素,退栈运算即取出栈顶元素赋予指定变量。栈为空时,栈顶指针 top=0,经过入栈和退栈运算,指针始终指向栈顶元素。初始状态为 top=51。当 top=50 时,则栈中 S(50:51)存储着元素,51-50=1,元素个数为 1。故本题答案为 A 选项。4.某二叉树共有 399 个结点,其中有 199 个度为 2 的结点,则该二叉树中的叶子结点数为( )。(分数:2.00)A.不存在这样的二叉树B.200 C.198D.199解析:解析:根据二叉树的基本性质,对任何一棵二叉树,度为 O 的结点(即叶子结点)总是比度为 2 的结点多一个。题目中度为 2 的结点为 199 个,则叶子结
36、点为 199+l=200。故本题答案为 B 选项。5.结构化程序的三种基本结构是( )。(分数:2.00)A.递归、迭代和回溯B.过程、函数和子程序C.顺序、选择和循环 D.调用、返回和选择解析:解析:仅使用顺序、选择、循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。故本题答案为 C 选项。6.某系统结构图如下图所示(n5) (分数:2.00)A.n B.3C.2D.n+1解析:解析:模块的扇出是指本模块的直属下层模块的个数,或者说是由一个模块直接调用的其他模块数。题干中某系统为一个模块,其扇出数目为 n(n5),功能 2 模块扇出数为 3,功能 n 模块扇出数为 2,则该系统
37、结构图的最大扇出数是 n。故本题答案为 A 选项。7.软件需求规格说明的内容不包括( )。(分数:2.00)A.运行环境B.软件的主要功能C.软件的性能D.算法详细设计 解析:解析:软件需求规格说明应重点描述软件的目标,软件的功能需求、性能需求、外部接口、属性及约束条件等。功能需求是软件需求规格说明,给出软件要执行什么功能的详尽描述。性能需求是指定量的描述软件系统应满足的具体性能需求,即各种软件功能的速度、响应时间、恢复时间。外部接口指软件如何与人、系统的硬件及其他硬件和其他软件进行交互。属性是指与软件有关的质量属性,如正确性、可用性、可靠性、安全性、可维护性等。约束条件包括影响软件实现的各种
38、设计约束,如使用的标准、编程语言、数据库完整性方针、资源限制、运行环境等方面的要求。故本题答案为 D 选项。8.在数据库管理技术发展的三个阶段中,没有专门的软件对数据进行管理的是( )。(分数:2.00)A.人工管理阶段 B.文件系统阶段C.文件系统阶段和数据库阶段D.人工管理阶段和文件系统阶段解析:解析:数据库管理技术的三个阶段是人工管理阶段、文件系统阶段和数据库系统阶段。人工管理阶段没有专门的软件对数据进行管理。故本题答案为 A 选项。9.建立表示学生选修课程活动的实体联系模型,其中的两个实体分别是( )。(分数:2.00)A.课程和课程号B.学生和课程 C.学生和学号D.课程和成绩解析:
39、解析:实体是概念世界中的基本单位,是客观存在并可以相互区别的事物。要建立表示学生选修课程活动的实体联系模型,能互相区别并可以联系起来的实体是学生和课程。故本题答案为 B 选项。10.定义学生、教师和课程的关系模式 S(S#,Sn,Sd,Dc,SA)(其属性分别为学号、姓名、所在系、所在系的系主任、年龄);C(C#,Cn,P#)(其属性分别为课程号、课程名、先修课);SC(S#,C#,G)(其属性分别为学号、课程号和成绩),则该关系为( )。(分数:2.00)A.第二范式 B.第一范式C.第三范式D.BCNF 范式解析:解析:范式是符合某一种级别的关系模式的集合。关系数据库中的关系必须满足一定的
40、要求,满足不同程度要求的为不同范式。目前关系数据库有六种范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、Boyce-Codd 范式(BCNF)、第四范式(4NF)和第五范式(5NF)。满足最低要求的范式是第一范式(1NF)。在第一范式的基础上进一步满足更多要求的称为第二范式(2NF),其余范式以次类推。一般说来,数据库只需满足第三范式(3NF)就行了。 第一范式:主属性(主键)不为空且不重复,字段不可再分(存在非主属性对主属性的部分依赖)。 第二范式:如果关系模式是第一范式,每个非主属性都没有对主键的部分依赖。第三范式:如果关系模式是第二范式,没有非主属性对主键的传递依赖和部
41、分依赖。 BCNF 范式:所有属性都不传递依赖于关系的任何候选键。 题目中关系模式满足第二范式,但在关系模式 s 中,学生所在系依赖于学号(S#Sd),但系本身确定了系主任(sdDc),存在传递依赖,不满足第三范式。故本题答案为 A 选项。11.下列语句中,能够进行正确赋值的是( )。(分数:2.00)A.char str=abcde;B.char str=“abcde“;C.char str4:“abode“;D.char str6=“abcde“; 解析:解析:字符常量是单个字符,单引号 中只能有 1 个字符,选项 A 错误;字符串常量不能赋给字符变量,选项 B 错误;常量字符串“abed
42、e”包含 5 个字符和 1 个空字符0,需要 6 个字节存放,选项C 错误;选项 D 正确。本题答案为 D 选项。12.有如下枚举类型定义:enum DAYSUNMON=10TUE,WED,THU,FRI=20,SAT;执行下列程序段for(int i=0;iTHU;i+)coutaendl;输出字符a的个数是( )。(分数:2.00)A.13 B.16C.19D.22解析:解析:枚举类型中,如果当前枚举成员的值显示初始化,那么后一个枚举成员的值比当前枚举成员的直大 1,所以枚举类型 DAY 中,SUN 的值为 0,MON 的值显示为 10,TUE 的值为 11,WED 的值为 12,THU的
43、值为 13,FRI 的值显示初始化为 20,SAT 的值为 21,所以 for 循环会执行 13 次,输出 13 个字符a。本题答案为 A 选项。13.若对数组进行初始化,下列选项中,错误的是( )。(分数:2.00)A.char name310=“Tracy“,“Lamar“,“McGrady“;B.char team7=“Rockets“; C.double score=256,321,280;D.int matrix33=1,2,3,4,5,6,7,8,9;解析:解析:c 类型字符串的结尾必须有空字符0,所以常量字符串“Rockets”包含 7 个字符和 1 个空字符0,所以需要 8 个
44、字节空间来存放,选项 B 错误。本题答案为 B 选项。14.下列有关指针的操作中,正确的是( )。(分数:2.00)A.int a=10;void*ptr=&a;cout*(ptr);B.int*ptr=new int10;delete ptr;C.int Array4;*(Array+3)=10; D.int*ptr=new int*10;解析:解析:变量 a 是整型,所以地址为整型指针,不能赋给 void*类型,选项 A 错误;使用 new 分配数组空间时,必须使用 delete来释放数组空间,选项 B 错误;new int*10是分配了 lO 个整型指针数组,数组的每个元素都是整型指针,
45、它无法赋给整型指针变量 ptr,选项 D 错误。本题答案为 C 选项。15.有如下程序:#includeiostreamusing namespace std;int main()int i=1,s=0;while(s30)s+=i*i:i+;coutsendl:return0;运行后的输出结果是( )。(分数:2.00)A.32B.30 C.31D.55解析:解析:程序通过 while 循环,将 s 累加为 i 的平方,每次循环后将 i 自增 1,所以 s 的结果为:1*1+2*2+3*3+,直到 s 小于 30,由 1+4+9+16=30,此时 while 循环条件不满足,退出循环,输出
46、s的值为 30。本题答案为 B 选项。16.下列关于函数的叙述中,错误的是( )。(分数:2.00)A.一个函数很可能既调用别的函数又被别的函数调用B.一个函数可以不返回任何值C.C+允许函数定义嵌套 D.C+中函数在使用之前要预先声明解析:解析:C+中,一个函数可以调用其他函数,也可以被其他函数调用,选项 A 正确;返回值为 void类型的函数,不用返回任何值,选项 B 正确;C+函数在使用之前必须要先声明,选项 D 正确;C+中函数不允许嵌套定义,选项 C 错误。本题答案为 C 选项。17.若已经声明了函数原型“void fun(int a,double b=00)”,则下列重载函数声明中正确的是( )。(分数:2.00)A.void fun(int a=90,double b=00);B.int fun(int a,double B);C.vo