2010吉林省计算机等级考试试题 二级C试题一点通科目一
- 格式:pdf
- 大小:81.49 KB
- 文档页数:2
全国计算机等级考试二级笔试试卷公共基础知识及C++语言程序设计考试时间90分钟,满分100分一、选择题1~35每小题2分,共70分下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分;1 下面叙述正确的是A算法的执行效率与数据的存储结构无关B算法的空间复杂度是指算法程序中指令或语句的条数C算法的有穷性是指算法必须能在执行有限个步骤之后终止D以上三种描述都不对2以下数据结构中不属于线性数据结构的是A队列 B线性表 C二叉树 D栈3在一棵二叉树上第5层的结点数最多是A8 B16 C32 D154下面描述中,符合结构化程序设计风格的是A使用顺序、选择和重复循环三种基本控制结构表示程序的控制逻辑B模块只有一个入口,可以有多个出口C注重提高程序的执行效率D不使用goto语句5下面概念中,不属于面向对象方法的是A对象 B继承 C类 D过程调用6在结构化方法中,用数据流程图DFD作为描述工具的软件开发阶段是A可行性分析 B需求分析 C详细设计 D程序编码7在软件开发中,下面任务不属于设计阶段的是A数据结构设计 B给出系统模块结构C定义模块算法 D定义需求并建立系统模型8数据库系统的核心是A数据模型 C软件工具B数据库管理系统 D数据库9下列叙述中正确的是A数据库系统是一个独立的系统,不需要操作系统的支持B数据库设计是指设计数据库管理系统C数据库技术的根本目标是要解决数据共享的问题D数据库系统中,数据的物理结构必须与逻辑结构一致10下列模式中,能够给出数据库物理存储结构与物理存取方法的是A内模式 B外模式 C概念模式 D逻辑模式11关于面向对象的程序设计方法,下列说法正确的是A“封装性”指的是将不同类型的相关数据组合在一起,作为一个整体进行处理B“多态性”指的是对象的状态会根据运行时要求自动变化C基类的私有成员在派生类的对象中不可访问,也不占内存空间D在面向对象的程序设计中,结构化程序设计方法仍有着重要作用12判断字符型变量ch是否为大写英文字母,应使用表达式A ch>='A' & ch<='Z'B ch<='A' ||ch>='Z'C 'A'<=ch<='Z'D ch>='A' && ch<='Z' 13已知下列语句中的x和y都是int型变量,其中错误的语句A x=y++;B x=++y;C x+y++;D ++x=y;14执行语句序列int n;cin >> n;switchn{ case 1:case 2: cout << '1';case 3:case 4: cout << '2'; break;default: cout << '3';}时,若键盘输入1,则屏幕显示A1 B2 C3 D1215下列程序的输出结果是include <iostream>using namespace std;int main{char a = "Hello, World";char ptr = a;while ptr{if ptr >= 'a' && ptr <= 'z'cout << charptr + 'A' -'a';else cout << ptr;ptr++;}return 0;}A HELLO, WORLDB Hello, WorldC hELLO, wORLD D hello, world16已知:int m=10;在下列定义引用的语句中,正确的是A int &x=m;B int y=&m;C int &z;D int &t=&m;17下列函数原型声明中错误的是A void Funint x=0, int y=0;B void Funint x, int y;C void Funint x, int y=0;D void Funint x=0, int y;18已知程序中已经定义了函数test,其原型是int testint, int, int;,则下列重载形式中正确的是A char testint,int,int;B double testint,int,double;C int testint,int,int=0;D float testint,int,float=3.5F;19有以下程序include<iostream>int i = 0;void fun{ {static int i = 1;std::cout<<i++<<',';}std::cout<<i<<',';}int main{fun; fun;return 0;}程序执行后的输出结果是A1,2,1,2, B1,2,2,3, C2,0,3,0, D1,0,2,0,20已知函数f的原型是:void fint a, long &b; 变量v1、v2的定义是:int v1;long v2;,正确的调用语句是A fv1, &v2; B fv1, v2;C f&v1, v2;D f&v1, &v2;21有以下类定义class MyClass{public:MyClass{cout<<1;}};则执行语句MyClass a, b2, p2;后,程序的输出结果是A11 B111 C1111 D1111122关于友元,下列说法错误的是A如果类A是类B的友元,那么类B也是类A的友元B如果函数fun被说明为类A的友元,那么在fun中可以访问类A的私有成员C友元关系不能被继承D如果类A是类B的友元,那么类A的所有成员函数都是类B的友元23关于动态存储分配,下列说法正确的是Anew和delete是C++语言中专门用于动态内存分配和释放的函数B动态分配的内存空间也可以被初始化C当系统内存不够时,会自动回收不再使用的内存单元,因此程序中不必用delete释放内存空间D当动态分配内存失败时,系统会立刻崩溃,因此一定要慎用new24有以下程序include<iostream>using namespace std;class MyClass{public:MyClassint n{number = n;}//拷贝构造函数MyClassMyClass &other{ number=other.number;}~MyClass{}private:int number;};MyClass funMyClass p{MyClass tempp;return temp;}int main{MyClass obj110, obj20;MyClass obj3obj1;obj2=funobj3;return 0;}程序执行时,MyClass类的拷贝构造函数被调用的次数是A5 B4 C3 D225在公有派生的情况下,派生类中定义的成员函数只能访问原基类的A公有成员和私有成员 B私有成员和保护成员C公有成员和保护成员 D私有成员、保护成员和公有成员26在C++中用来实现运行时多态性的是A重载函数 B析构函数C构造函数 D虚函数27一个类可以同时继承多个类,称为多继承;下列关于多继承和虚基类的表述中,错误的是A每个派生类的构造函数都要为虚基类构造函数提供实参B多继承时有可能出现对基类成员访问的二义性问题C使用虚基类可以解决二义性问题并实现运行时的多态性D建立最派生类对象时,虚基类的构造函数会首先被调用28在一个类体的下列声明中,正确的纯虚函数声明是A virtual void vf=0;B void vfint=0;C virtual int vfint;D virtual void vfint { }29在下面的运算符重载函数的原型中,错误的是A Volume operator - double, double;B double Volume::operator- double;C Volume Volume: :operator - Volume;D Volume operator - Volume, Volume;30下列是模板声明的开始部分,其中正确的是A template<T>B template<class T1,T2>C template<class T1, class T2>D template<class T1;class T2>31执行语句序列ofstream outfile"DATA.DAT";if... cout << "OK"; else cout << "FAIL";后,如果文件打开成功显示“OK”,否则就显示“F厶n;”;由此可知,上面if语句的...处的表达式应是A outfile.fail 或 outfileB outfile.good 或outfileC outfile.good 或outfileD outfile.fail 或outfile32C++流中重载的运算符>>是一个A用于输出操作的非成员函数 B用于输入操作的非成员函数C用于输出操作的成员函数 D用于输入操作的成员函数33有以下类定义class Point {public:Pointint x = 0, int y = 0 { _.x = x; _.y = y; } void Moveint xOff, int yOff{ _x += xOff; _.y += yOff; }void Print const{ cout << '' << _x << ',' << _y << '' << endl; } private:int _x, _y;};下列语句中会发生编译错误的是A Point pt; pt.Print;B const Point pt; pt.Print;C Point pt; pt.Movel, 2;D const Point pt; pt.Movel, 2; 34有以下类定义class MyClass{private:int id;char gender,char phone;public:MyClass:id0,gender'',phoneNULL { }MyClassint no, char ge='', char ph= NULl. { id=no;gende=ge;phone=ph; }};下列类对象定义语句中错误的是A MyClass myObj;BMyClassmyObj11,"133****1155";C MyClass myObj12, 'm';D MyClass myObj12;35有以下程序include <iostream>using namespace std;class Complex{public:Complexdouble r =0, double i =0:rer, imi { } double real const { return re; }double imag const { return im;}Complex operator +Complex c const{ return Complexre+c.re, im+c.im; } private:double re, im;};int main{Complex a = Complexl, 1 + Complex5;cout << a.real << '+' << a.imag <<'i' << endl; return 0;}程序执行后的输出结果是A 6+6iB 6+1iC 1+6iD 1+1i二、填空题每空2分,共30分请将每一个空的正确答案写在答题卡1-15序号的横线上,答在试卷上不得分;注意:以命令关键字填空的必须拼写完整;1算法的复杂度主要包括 1 复杂度和空间复杂度;2数据的逻辑结构在计算机存储空间中的存放形式称为数据的 2 ;3若按功能划分,软件测试的方法通常分为白盒测试方法和 3 测试方法;4如果一个工人可管理多个设备,而一个设备只被一个工人管理,则实体“工人”与实体“设备”之间存在4 的联系;5关系数据库管理系统能实现的专门关系运算包括选择、连接和 5 ;6设有定义语句:int a=12;,则表达式a=2+3的运算结果是 6 ;7从实现的角度划分,C++所支持的两种多态性分别是7 时的多态性和运行时的多态性;8将—个函数声明为一个类的友元函数必须使用关键字8 ;9请按下面注释的提示,将类B的构造函数定义补充完整;class A{int a;public:Aint aa=0 { a=aa; }};class B: public A {int b;A c;public://用aa初始化基类A,用aa+1初始化类对象成员c Bint aa: 9 { b=aa+2; }};10下列程序的输出结果是 10 ;include <iostream>using namespace std;int main{int i = 5;int &r = i; r = 7;cout << i << endl;return 0;}11下列程序的输出结果是 11 ;include <iostream>using namespace std;class Test {public:Test { cnt++; }~Test {cnt--; }static int Count { return cnt;}private:static int cnt;};int Test::cnt = 0;int main{ cout << Test::Count0 <<' ';Test tl, t2;Test pT3 = new Test;Test pT4 = new Test;cout << Test::Count0 <<' ';delete pT4;delete pT3;cout << Test::Count << endl;return 0;}12下面是用来计算n的阶乘的递归函数,请将该函数的定义补充完整;注:阶乘的定义是n=nn-1 (21)unsigned factunsigned n{if n<= 1return 1;return 12 ;}13下列程序的输出结果是 13 ;include <iostream>using namespace std;template<tytename T>T funT a, T b { return a<=b :b;}int main{cout << fun3, 6 << ',' << fun 3.14F, 6.28F << endl;return 0;}14与成员访问表达式p->name等价的表达式是 14 ; 15下列程序的输出结果是 15 ;include <iostream>using namespace std;class base {public:int n;baseint x { n = x;}virtual void setint m { n = m; cout << n <<' ';}};class deriveA:public base {public:deriveAint x:basex { }void setmt m { n += m; cout << n <<' ';} };class deriveB:public basepublic:deriveBint x:basex { }void setint m { n +=m; cout <<n << ' ';}};int main{deriveA dl1;deriveB d23;base pbase;pbase = &dl;pbase->aet1;pbase = &d2;pbase->set2;return 0;}2004年9月全国计算机等级考试二级笔试试卷公共基础知识及C++语言程序设计答案及评分标准选择题1—35每小题2分,共70分1 C2 C3 B4 A5 D6 B7 D8 B9 C 10A11D 12D 13C 14D 15A16A 17D 18B 19D 20C21B 22A 23B 24B 25C26D 27C 28A 29A 30C31C 32B 33D 34B 35B二、填空题每空2分,共30分11 时间22 存储结构或物理结构或物理存储结构33 黑盒或黑箱44 一对多或 1对多或 I:M 或 I:N其中M、N大小写均可55 投影66 6077 编译88 friend99 Aaa,caa+1 或 caa+1,Aaa1010 71111 0421212 nfactn-11313 3,3.141414 1515 252010年3月计算机等级考试二级C++笔试试题一、选择题每小题2分,共70分下列各题A、B、C、D四个选项中,只有一个选项是正确的;请将正确选项填涂在答题卡相应位置上,答在试卷上不得分;1下列叙述中正确的是A对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为n/2C对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为log2nD对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为n log2n2算法的时间复杂度是指A算法的执行时间B算法所处理的数据量C算法程序中的语句或指令条数D算法在执行过程中所需要的基本运算次数3软件按功能可以分为:应用软件、系统软件和支撑软件或工具软件;下面属于系统软件的是A编辑软件B操作系统C教务管理系统D浏览器4软件程序调试的任务是A诊断和改正程序中的错误B尽可能多地发现程序中的错误C发现并改正程序中的所有错误D确定程序中错误的性质5数据流程图DFD图是A软件概要设计的工具B软件详细设计的工具C结构化方法的需求分析工具D面向对象方法的需求分析工具6软件生命周期可分为定义阶段,开发阶段和维护阶段;详细设计属于A定义阶段B开发阶段C维护阶段D上述三个阶段7数据库管理系统中负责数据模式定义的语言是A数据定义语言B数据管理语言C数据操纵语言D数据控制语言8在学生管理的关系数据库中,存取一个学生信息的数据单位是A文件B数据库C字段D记录9数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A需求分析阶段B逻辑设计阶段C概念设计阶段D物理设计阶段10有两个关系R和T如下:则由关系R得到关系T的操作是A选择B投影C交D并11下列关于函数的描述中,错误的是A函数可以没有返回值B函数可以没有参数C函数可以是一个类的成员D函数不能被定义为模板12若MyClass是一个类名,且有如下语句序列MyClass c1,c2;MyClass c3=new MyClass;MyClass &c4=c1;上面的语句序列所定义的类对象的个数是A1B2C3D413下列关于继承方式的描述中,错误的是A如果不显式地指定继承方式,缺省的继承方式是私有privateB采用公有继承方式时,基类中的公有成员在派生类中仍然是公有成员C采用保护继承方式时,基类中的保护成员在派生类中仍然是保护成员D采用私有继承方式时,基类中的私有成员在派生类中仍然是私有成员14将前缀运算符“--”重载为非成员函数,下列原型中,能正确用于类中说明的是ADecr& operator --int;BDecr operator -- Decr&,int;Cfriend Decr& operator --Decr&;Dfrlend Decr operator --Decr&,int;15若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempp2;MyTempp32;编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是A1B2C3D016在C++中,cin是个A类B对象C模板D函数17在下列字符中,不允许作为C++标识符的是AbBBC_D218下列叙述中,错误的是Afalse是一个逻辑型常量B"b"是一个字符型常量C365是一个int常量D3.1415926是一个double常量19若x和y是程序中的两个整型变量,则下列if语句中正确的是Aifx==0 y=1; else y=2;Bifx==0 then y=1 else y=2;Cifx==0 y=1 else y=2;Dif x==0 y=1; else y=2;20要定义整型数组x,使之包括初值为O的三个元素,下列语句中错误的是Aint x3={0,0,0};Bint x={0};Cstatic int x3={0};Dint x={0,0,0};21关于函数中的<返回类型>,下列表述中错误的是A<返回类型>中有可能包含关键字intB<返回类型>中有可能包含自定义标识符C<返回类型>中有可能包含字符D<返回类型>中可能包含22要定义一个引用变量p,使之引用类MyClass的一个对象,正确的定义语句是AMyClass p=MyClass;BMyClass p=new MyClass;CMyClass &p=new MyClass;D MyClass a,&p=a;23有如下两个类定义class XX{private:double x1;protected:double x2;public:double x3;};class YY:protected XX{private:double y1;protected:double y2;public:double y3;};在类YY中保护成员变量的个数是A1B2C3D424下列关于运算符重载的描述中,错误的是A可以通过运算符重载在C++中创建新的运算符B赋值运算符只能重载为成员函数C运算符函数重载为类的成员函数时,第一操作数是该类对象D重载类型转换运算符时不需要声明返回类型25下列关于类模板的描述中,错误的是A类模板的成员函数都是模板函数B可以为类模板参数设置默认值C类模板描述了一组类D类模板中只允许有一个类型参数26下列控制格式输入输出的操作符中,能够设置浮点数精度的是AsetprecisionBsetwCsetfillDshowpoint27下列程序段中包含4个函数,其中具有隐含this指针的是int fun1;class Test{public:int fun2;friend int fun3;static int fun4;};Afun1Bfun2Cfun3Dfun428有如下程序includeusing namespace std;class Test{public:Test{ }Testconst Test &t {cout<<1;}};Test funTest &u {Test t=u; return t;}int main{Test x,y; x=funy; return 0;}运行这个程序的输出结果是A无输出B1C11D11129有如下程序includeusing namespace std;class A{public:Aint i=0:r1i { }void print {cout<<'E’<<R1<<'-';}< p>void print const {cout<<'C'<<R1R1<<'-';}< p> void printint x {cout <<'P'<<R1R1R1<<'-';}< p> private:int r1;};int main {A a1;const A a24;a1.print2;a1.print;return 0;}运行时的输出结果是AP8-E4BP8-C16-CP0-E4-DP0-C16-30下列代码声明了3个类class Person{};class Student:public Person{};class Undergraduate:Student{};下列关于这些类之间关系的描述中,错误的是A类Person是类Undergraduate的基类B类Undergraduate从类Student公有继承C类Student是类Person的派生类D类Undergraduate是类Person的派生类31有如下程序includeusing namespace std;Class Base{public:Baseint x=0:valBx {cout<<VALB;}< p>~Base {cout<<VALB;}< p>private:int valB;};class Derived:public Base{public:Derivedint x=0,int y=0:Basex,valDy{cout<<VALD;}< p>~Derived {cout<<VALD;}< p>private:int valD;};int main{Derived obj122,3;retuen 0;}运行时的输出结果是A2332B2323C3232D322332下面是类Shape的定义:class Shape{public:virtual void Draw=0;};下列关于Shape类的描述中,正确的是A类Shape是虚基类B类Shape是抽象类C类Shape中的Draw函数声明有误D语句“Shape s;”能够建立Shape的一个对象s33将运算符“+”重载为非成员函数,下列原型声明中,错误的是AMyClock operator + MyClock,long;BMyClock operator + MyClock,MyClock;CMyClock operator + long,long;DMyClock operator + long,MyClock;34打开文件时可单独或组合使用下列文件打开模式①ios_base::app ②ios_base::binary③ios_base::in ④ios_base::out若要以二进制读方式打开一个文件,需使用的文件打开模式为A①③B①④C②③D②④35有如下程序:includeusing namespace std;Class B{public:Bint xx:xxx {++cout; x+=10;}virtual void show const{cout<<COUNT<<'_'<<X<<ENDL;}< p>protected:static int count;private:int x;};class D:public B{public:Dint xx,int yy:Bxx,yyy {++count; y+=100;}virtual void show const{cout<<COUNT<<'_'<<Y<<ENDL;}< p>private:int y;};int B::count=0;int main{B ptr=new D10,20;ptr->show;delete ptr;return 0;}运行时的输出结果是A1_120B2_120C1_20D2_20二、填空题每空2分,共30分请将每一个空的正确答案写在答题卡l~15序号的横线上,答在试卷上不得分;1一个队列的初始状态为空;现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 1 ;2设某循环队列的容量为50,如果头指针front=45指向队头元素的前一位置,尾指针rear=10指向队尾元素,则该循环队列中共有 2 个元素;3设二叉树如下:对该二叉树进行后序遍历的结果为 3 ;4软件是 4 、数据和文档的集合;5有一个学生选课的关系,其中学生的关系模式为:学生学号,姓名,班级,年龄,课程的关系模式为:课程课号,课程名,学时,其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课学号, 5 ,成绩;6若x和y是两个整形变量,在执行了语句序列x=5; y=6; y+=x--;后,x+y的值为 6 ;7在执行语句序列int i=0; do i++; whileii<10;时,do后面的循环体语句i++被执行的次数为 7 ;8有如下的函数定义:int Xfunint a, int n{int x=a;forint pa=a+1; pa<>ifpa>x x=pa;return x;}若执行了语句int x5={23,46,78,55,16};后,通过表达式Xfunx,5调用该函数,则得到的返回值为 8 ;9有如下的函数定义:int Xfunint x{int y=x;{int x=10; y+=x;}return x+y;}通过表达式Xfun5调用该函数,则得到的返回值为9 ;10假定Xcs是一个类,该类中一个成员函数的原型为“Xcs abc;”,则在类外定义时对应的函数头为 10 ;11请将下面的类Date的定义补充完整,使得由语句Date FirstDay;定义的对象FirstDay的值为2010年1月1日;class Date{public:Date 11 :yeary,monthm,dayd{ }private:int year,month,day; //依次表示年、月、日};12请将下面的程序补充完整,使得程序输出“飘是张娜的书”;includeusing namespace std;class Book{public:Bookchar str {strcpytitle,str;}12 void PrintInfo {cout<<TITLE<<ENDL;}< p>protected:char title50;};class MyBook:public Book{public:MyBookchar s1,char s2="张娜":13 {strcpyowner,s2;}virtual void PrintInfo {cout<<TITLE<<"是"OWNER<<"的书"<<ENDL;}< p>private:char owner10;};int main{Book prt=new MyBook"飘";prt->PrintInfo;return 0;}13在有理数类Rational中重载插入运算符<<,以便按a/q形式输出;请将<<运算符函数的定义补充完整;class Rational{public:Rationalint aa, int :aaa,q{ }friend 14 operator<<ostream &out, Rational &x {return out<<X.A<<' p <<x.q;<>}private:int a,q;};14下面的函数定义是某函数模板能够生成的函数实例int squareint n {return nn;}double squaredouble n {return nn;}由此可知,该函数模板的定义是 15 ;2007年4月计算机等级考试C++考试及答案一、选择题每小题2分,共70分下列各题A、B、C、D四个选项中,只有一个选项是正确的;请将正确选项涂写在答题卡相应位置上,答在试卷上不得分;1下列叙述中正确的是 ;A算法的效率只与问题的规模有关,而与数据的存储结构无关.B算法的时间复杂度是指执行算法所需要的计算工作量C数据的逻辑结构与存储结构是一一对应的.D算法的时间复杂度与空间复杂度一定相关.2在结构化程序设计中,模块划分的原则是 ;A 各模块应包括尽量多的功能B 各模块的规模应尽量大C各模块之间的联系应尽量紧密D 模块内具有高内聚度,模块间具有低耦合度3下列叙述中正确的是 ;A软件测试的主要目的是发现程序中的错误.B软件测试的主要目的是确定程序中错误的位置.C为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D软件测试是证明软件没有错误4 下面选项中不属于面向对象程序设计特征的是 ;A继承性 B多态性 C类比性 D封装性5 下列对列的叙述正确的是 ;A 队列属于非线性表B 队列按”先进后出”的原则组织数据C队列在队尾删除数据D 队列按“先进先出”原则组织数据6对下列二叉树ADYBEAFCZX BYDEBFZXCA CABDYECFXZ DABCDEFXYZ7某二叉树中有n个度为2的结点则该二叉树中的叶子结点数为An+1 B n-1 C2n Dn/28在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是 ;A井 B交 C投影 D笛卡儿乘积9在E-R图中,用来表示实体之间是联系的图形是 ;A 矩形 B椭圆形 C菱形 D平行四边形10下列叙述中错误的是 ;A 在数据库系统中,数据的物理结构必须与逻辑结构一致.B数据库技术的根本目标是要解决数据的共享问题C数据库设计是指在已有数据库管理系统的基础上建立数据库D数据库系统需要操作系统的支持11为了取代C中带参数的宏,在C++中使用A重载函数 B内联函数 C递归函数 D友元函数12下列关于类定义的说法中,正确的是A类定义中包括数据成员和函数成员的声明B类成员的缺省访问权限是保护的C 数据成员必须被声明为私有的D成员函数只能在类体外进行定义13下列关于派生类构造函数和析构函数的说法中,错误的是A派生类的构造函数会隐含调用基类的构造函数B如果基类中没有缺省构造函数,那么派生类必须定义构造函数C在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数D在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数14通过运算符重载,可以改变运算符原有的A操作数类型 B操作数个数 C优先级 D结合性15有如下函数模板:template <class T> T souareT x retumx x ;基中T是A函数形参 B函数实参 C模板形参 D模板实参16使用输入输出操作符setw,可以控制A输出精度 B输出宽度 C对齐方式 D填充字符17下列字符串中,不可以用作C++标识符的是Ay_2006 B____TEST__H CRetum Dswitch18字面常量42、4.2、42L的数据类型分别是Along、double int Blong、float、intCint、double、long Dint、float、long19执行下列语句段后,输出字符“”的个数是forint i =50;I>1;—i cout<<””A48 B49 C50 D5120有如下程序段inti =0, j=1;int&r=i ; // ①r =j; //②intp=&i ; //③p=&r ; //④基中会产生编译错误的语句是A④ B③ C② D ①21有如下函数定义:void func int a,int&b {a++; b++;}若执行代码段:intx=0 ,y=1funcx,y;则变量x和y值分别是A0和1 B1和1 C0和2 D1和222有如下程序:include<iostream>using namespace std;class A{publicstatic int a;void init{a=1;}Aint a=2 {init;a++;}};int A:;a=0A obj;Int main{cout<<obj.a;retum0;}运行时输出的结果是A0 B1 C2 D323下列有关继承和派生的叙述中,正确的是A 派生类不能访问基类的保护成员B作为虚基类的类不能被实例化C派生类应当向基类的构造函数传递参数D虚函数必须在派生类中重新实现24下列运算符中,不能被重载的是A&& B= C. D++25下列函数模板的定义中,合法的是A template<typename T> TabsT x {return x <0 – x: x;}Btemplate class <T>TabsTx{retumx<0 -x;x;} Ctemplate T<class T.>absT x{retum x<0 -x;x;} Dtemplate T absT x{returm x<0 -x;x;}26在语句cin>>data;中,cin是AC++的关键字 B类名C对象名 D函数名27有如下程序:include<iostream>using namespace std;class test {private:int a;public:test{cout<<”constructor”<<endl;}testint a{cout<<a<<endl;}testconst test&_test{a=_testa;cout<<”copy constructor”<<endl;}test{cout<<”destructor”<<endl;}};int main}test A3return0;运行时输出的结果是A3 BconstructordestruclorCcopy constructorD3dstructor destruclor28若有如下类声明class My Class {public:MyClass {cout<<1;}};执行下列语句MyClass a,b2,P2;以后,程序的输出结果是A11 B111 C1111 D1111129有如下程序:include<iostream>using namespace std;class point {public:static int number;public:point{number++;~point{number-;}};imt point::number=0;void main{pointptr;printA,B;{pointptr_point=new point{3};ptr=ptr_point;}pointC;cout<<point::number<<endl;deleteptr;}运行时输出的结果是A3 B4 C6 D730如果不使用多态机制,那么通过基类的指针虽然可以指向派生类对象,但是只能访问从基类继承的成员,有如下程序,没有使用多态机制;include<iostream>using namespace std;class Base{int a,b;public:Baceint x ,int y { a=x; b=y;}Void show{ cout<<a<<’,’<<b<<endl;}}clsaa Derived:public Base {int c ,d;public:Derivedint x,int y,int z,int m:Basex,y{c=z; d=m;} Void show{ cout<<c<<’,’d<<endl;}};int main{Base B150,50,pb;Derived DI10,20,30,40;Pb=&D1;Pb->show;Return 0;}运行时输出的结果是A10,20 B30,40 C20,30 D50,5031有如下程序:include<iostream>using namespace std;class A{public;Aint i {x= i ;}Void sispa{cout<<x<<’,’;}Private:int x ;};class B;publicA{public;Bint i:Ai +10 {x =i ;}voud dispb {dispa;cout<<x<,endl;}Private:Int x;};int main{B b2;b.dispbretum 0:}运行时输出的结果是A10,2 B12,10 C12,2 D2,232虚函数支持多态调用,一个基类的指针可以指向派生类的对象,而且通过这样的指针调用虚函数时,,被调用的是指针所指的实际对象的虚函数,而非虚函数不支持多态调用;有如下程序:include<iostream>using namespace std; class Base{public:virtual void f{cout<<”f0+”;}void g {cout<<”g0+”;}};class Derived:public Base{public:void f {cout<<”f+”;}void g {cout<<”g+”;}};int main{Derived d;Basep=&d;p->f; p->g;return 0:}运行时输出的结果是Af+g+ Bf0+g+ Cf+g0+ Df0+g0+33下面程序中对一维坐标点类Point进行运算符重载include<iostream>using namespace std;class point {public:point int vaI {x=val;}point& operator++{x++;retumthis;}print operator++int {point old=this,++this;retum old;}int GetX const {retum x;}private:int x;};int main{point a10;cout<<++a.GetX;cout<<a++.GetX;retum;}编译和运行情况是A运行时输出1011B运行时输出1111C运行时输出1112D编译有错34有如下程序:include<iostream>using namespace std;int main{char str100,p;cout<<”please input a string:”;cin>>str;p=str;forint i =0;p=”\0”;p++, i ++;cout<< i <<endl;retum 0;}运行这个程序时,若输入字符串为abcdefg abcd则输出结果是A7 B12 C13 D10035有如下程序::include<iostream>using namespace std:class Sample{friend long fun Sample s;public:Sample long a {x=a;}Private:long x;};long fun Sample s{ifs.x<2retum 1;retum s.xfunSamples.x-a;}int main{int sum=0forint i =0; i <6; i ++ { sum+=funSample i ; } cout<<sum;retum 0;}运行时输出的结果是A120 B16 C154 D34二、填空题每空2分,共30分请将每一个空的正确答案写在答题卡1~15序号的横线上,答在试卷上不得分;1在深度为7的满二叉树中,度为2的结点个数为 1 ; 2软件测试分为白箱盒测试和黑箱盒测试,等价类划分法属于 2 测试;3在数据库系统中,实现各种数据管理体制功能的核心软件称为 3 ;4软件生命周期可分为多个阶段,一般分为定义阶段、开发和维护阶段;编码和测试属于 4 阶段; 5在结构化分析使用的数据流图DFD中,利用 5 对其中的图形元素进行确切解释;6C++中只有两个逻辑常量:true和 6 ;7若要访问指针变量p所指向的数据,应使用表达式 7 ; 8已知一个函数的原型是:int fndouble x;若要以5.27为实参调用该函数,应使用表达式 8 ;9有如下定义:class MA{int value;public:MAint n=0:valutn{}};MAta,tb;其中MA类的对象名标识符是 9 ;10如下类定义中包含了构造函数和拷贝数的原型声明请在横线处写正确的内容,使拷贝构造函数的声明完整;Class my Class{Private:Int data:Public:MyClassint value; //构造函数MyClassconst 10 another Object; //拷贝构造函数}11用来派生新类的称为 11 ,而派生出的新类称为它的子类或派生类;12有如下程序:include<iostream>using namespace std;clsaa CA{public:CAD{cout<<A’;}};class CB ;private CA{public;CB{cout<<B’;}};int main{cout<<B’;}};int main{CA a;CB b;retum0;}这个程序的输出结果是 12 ;13若将一个二元运算符重载为类的成员函数,其形参个数应该是 13 个;14有如下程序:。
2010 年9 月全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x—y)B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1。
1.填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
2010年3月计算机等级考试二级C笔试试题(文字版)一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间 B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件 B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误 C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具 B)软件详细设计的工具C)结构化方法的需求分析工具 D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段 C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言 B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段 B)逻辑设计一阶段 C)概念设计阶段 D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择 B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致 D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1 B)AaBc C)a_b D)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++; B)i=(a+k)<=(i+k); C)i=a;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型 D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1 B)0 C)2 D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (a< p>if(a< p>else k=c;elseif(b else k=c;以下选项中与上述if语句等价的语句是A)k=(a< p>B)k=(ac)?b:c);C)k=(a< p>D)k=(a< p>(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#include计算机二级C 语言第 3 页 共 80 页void fun(char *c,int d) {*c=*c+1;d=d+1; printf("%c,%c,",*c,d); main(){char b='a',a='A';fun(&b,a);printf("%e,%e\n",b ,a); }程序运行后的输出结果是 A)b ,B ,b ,A B)b ,B ,B ,A C)a ,B ,B ,a D)a ,B ,a ,B(27)若有定义int(*Pt)[3];,则下列说法正确的是 A)定义了基类型为int 的三个指针变量B)定义了基类型为int 的具有三个元素的指针数组pt C)定义了一个名为*pt 、具有三个元素的整型数组D)定义了一个名为pt 的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是 A)(*s)[3] B)*(s+3) C)*s[3] D)*s+3 (29)有以下程序 #include(stdio.h) main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0; for(i=0;i<5;i++) s=s+a[b[i]]); printf("%d\n", s); }程序运行后的输出结果是 A)6 B)10 C)11 D)15(30)有以下程序 #includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1; for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]]; printf("%d\n",t); }程序运行后的输出结果是 A)1 B)3C)4 D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\"; printf("%d %d\n", strlen(s1),strlen(s2)); 则输出结果是 A)5 5 B)10 5 C)10 7D)5 8(32)有以下程序 #include#define N 8void fun(int *x,int i) {*x=*(x+i);} main(){int a[N]={1,2,3,4,5,6,7,8},i; fun(a,2); for(i=O;i<>{printf("%d",a[i]);} printf("\n"); }程序运行后的输出结果是 A)1313 B)2234 C)3234 D)1234 (33)有以下程序 #includeint f(int t[],int n); main{ int a[4]={1,2,3,4},s; s=f(a,4); printf("%d\n",s); }int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0; }程序运行后的输出结果是 A)4 B)1O C)14 D)6(34)有以下程序 #includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%d\n",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);} void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;} s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28计算机二级C 语言第 5 页 共 80 页D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。
第二部分笔试试卷试卷1试题一、基础知识选择题(每小题1分,共6分)1.通常计算机系统是指(C)A.硬件系统B.系统软件和应用软件C.硬件系统和软件系统D.软件系统2.所谓媒体是指(A)A.衣示和传播信息的载体B.各种信息的编码C.计算机的输入输岀信息D计算机屏幕显示的信息3.(C)是内存储器中的一部分,CPU对它们只能读不能写。
A.RAMB.随机存储器C. ROMD.键盘4.在表示存储器的容量时,M的准确含义是(B)A. 1 米B. 1024KC. 1024 字节D. 10245.计算机用(B)方式管理程序和数据。
A.二进制代码B.文件C.存储单元D. 口录区和数据区6.计算机与运算器的主要功能是进行(A)运算。
A.算术与逻辑B.逻辑C.算术D.数值试题二、Windows选择题(每小题1分,共6分)1.将运行中的应用程序窗口最小化以后,应用程序(A)A.在后台运行B.停止运行C.暂时挂起來D.出错2.磁盘碎片整理工具不能实现的功能是(D)A.整理文件碎片B.整理磁盘上的空闲空间C.同时整理文件碎片和空闲碎片D.修复错误的文件碎片3.在Windows中,按下Ctrl键并用鼠标左键,在同一•驱动器的不同文件夹么间拖动某一对象,结果是(C)。
A.移动该对象B.无任何结果C.复制该对象D.删除该对象4.关于"回收站〃叙述正确的是(A)。
A.暂存所冇被删除的对彖B."回收站〃中的内容不能恢复C.清空"回收站"后,仍可用命令方式恢复D."回收站"的内容不占硬盘空间5.对话框中的文木框可以(D)A.显示文本信息B.输入文本信息C.编辑文本信息D.显示、输入、编辑文本信息6.Windows下,不正确的删除文件操作是(D)A.选屮文件后,按DEL键B.将文件拖到回收站C.选中文件后,用菜单中的删除命令项D.选中文件后,用菜单中的剪切命令项试题三、Office选择题(每小题1分,共6分)1.如果想打印某张工作表中的一部分区域,则可以(A)A.将此区域设究为打印区域B.将此区域设置为标题行C.将此区域设置为标题列0.在分贝预览小将此区域调制到白色区域以外2.八1单元格中的内容是〃信息化〃,B1单元格中的内容为"办公“,要在C1单元格放入〃信息化办公",表达式正确的是(B)A. =A1+B1B. =A1&B1C. =SUM(A1&B1)D. =SUM(A1:B1)3.PowerPoint软件的主要功能是(A)A.制作幻灯片演示文档B.数据处理C.图像处理D.网络应用4.如果在Word中主窗口中显示常用工具栏按钮,应使用菜单(A)A.〃工具"菜单B. 〃视图〃菜单C・"格式"菜单D."窗口"菜单5.在一篇300页的Word文档中,将光标快速移到第40页的方法是(OA.利用鼠标拖动乖玄滚动条上滑块B.利用键盘上的Page Down键C.利川编辑菜单中的定位命令D.利用快捷键Ctrl+Page Down6.在Word中,冇关标尺中〃左缩进标记〃和〃悬挂缩进标记〃的说法,正确的是(A)A."左缩进标记"对光标所在的段屮各行起作用B."悬挂缩进标记"对光标所在的段屮各行起作用C."左缩进标记〃对光标所在的段中各行不起作用D.〃悬挂缩进标记〃对光标所在的段中各行不起作用试题四、综合选择题(每小题1分,共6分)1.多媒体信息不包括(0)A.景彖、动画B.文字、图形C.音频、视频D.声卡、光盘2.计算机病毒是指(C)A.带细菌的磁盘B.已损坏的磁盘C.貝有破坏性的特制程序D.被破坏了的程序3.负责管理整个网络各种资源、协调各种操作的软件叫做(D)A.网络应用软件B.通信协议软件C. 0S1D.网络操作系统4.为了保证全网的正确通信‘Internet为联网的每个网络和每台主机都配置了唯一的地址,该地址由纯数字并用小数点分隔,将它称为(B)A. TCP地址B. IP地址C. WWW服务器地址D. WWW客户机地址5.在局域网屮的各个节点,计算机都应在主机扩展槽屮插冇网卡,网卡的正式名称是(0)A.集线器B. T型接头(连接器)C.终端匹配器D.网络适配器6.为网络提供共亨资源并对这些资源进行管理的计算机被称为(B)A.网卡B.服务器C.工作站D.网桥试题五、判断题(每小题1分,共6分)1.在桌而上任何一点用鼠标右击,会弹出快捷菜单。
一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分。
共70分)(1) 下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2) C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D) 对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n log2n)(2) 算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数(3) 软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B操作系统C)教务管理系统D)浏览器(4) 软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5) 数据流程图(DFD图)是A)软件概要设计的工具printf("%c%c%c%c\n",a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一个字符)12<CR>34<CR>则输出结果是:A、1234B、12C、12D、123 3416、以下关于C语言数据类型使用的叙述中错误的是:A、若要准确无误的表示自然数,应使用整数类型。
B、若要保存带有多位小数的数据,应使用双精度类型。
C、若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型。
D、若只处理"真"和"假"两种逻辑值,应使用逻辑类型。
17、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A、1B、0C、2D、不知道a的值,不能确定18、以下选项中与if(a==1) a=b;else a++;语句功能不同的switch语句是:A、switch(a){ case 1:a=b;break;default : a++;}B、switch(a==1){case 0 : a=b;break;case 1 : a++;}C,switch(a){default: a++;break;Case 1: a=b;}D、switch(a==1){case 1 : a=b;break;case 0 : a++;}19、有如下嵌套的if语句 Cif(a<b)if(a<c) k=a;else k=c;elseif(b<c) k=b;else k=c;以下选项中与上述if语句等价的语句是A、k=(a<b)?a:b;k=(b<c)?b:c;B、k=(a<b)?((b<c)?a:b):((b<c)?b:c);C、k=(a<b)?((a<c)?a:c):((b<c)?b:c);D、k=(a<b)?a:b;k=(a<c)?a;c(20)有以下程序#include <stdio.h>main(){ int i,j,m=1;for(i=1;i<3;i++) { for(j=3;j>0;j--){ if(i*j>3) break;m*=i*j;}}printf("m=%d\n",m)}程序运行后的输出结果是(A) m=6 (B)m=2 (C)m=4 (D)m=5(21)有以下程序#include <stdio.h>main(){ int a=1,b=2;for(;a<8;a++) {b+=a; a+=2;}printf ("%d,%d\n",a,b);}程序运行后的输出结果是(A)9,18 (B)8,11 (C)7,11 (D)10,14(22)有以下程序,其中k的初值为八进制数#include <stdio.h>main(){ int k=011;printf("%d\n",k++);}程序运行后的输出结果是(A)12 (B)11(C)10 (D)9(23)下列语句中,正确的是A) char *s ; s="Olympic";B) char s[7] ; s="Olympic";C) char *s ; s={"Olympic"};D) char s[7] ; s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B) 一个自定义函数中可以根据不同情况设置多条return语句C)定义成viod类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能够正确定义数组的语句是A)int num[0..2008]; B) int num[];C) int N=2008; int num[];D)#define N 2008int num[N];(26)有以下程序#include<stdio.h>void fun (char*c,int d){ *c=*c+1;d=d+1;printf("%c,%c,",*c,d);}main(){ char b=’a’,a=’A’;fun(&b,a); printf("%c,%c\n",b,a);}程序运行后的输出结果是A)b,B,b,A B)b,B,B,A C)a,B,B,aD)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组pt。
1 第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。
例如,输入圆的半径值:19.527,输出为:s=598.949991。
注意:部分源程序给出如下。
请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h> double fun( double r) { return 3.14159*【1】/2.0; }void main() { double x; printf("Enter x: "); scanf("%lf",【2】); printf("s=%lf\n",fun(【3】)); }【参考答案】 (1)r*r (2)&x (3)x 【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。
【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。
填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。
填空3:函数的实际参数是圆的半径x 。
下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。
例如,当n 为5时,函数值应为10.407143。
计算机二级c试题及答案1. 概述计算机二级C语言考试是一种评估个人在C编程方面能力的标准化测试。
本文将提供一套计算机二级C试题及答案,帮助读者更好地了解和准备这一考试。
2. 基础知识考试的第一部分将涉及C语言的基础知识。
以下是一些常见的试题及其答案:题目1:下面哪个选项是正确的C语言注释格式?A. // 这是一个注释B. # 这是一个注释C. <!-- 这是一个注释 -->D. /* 这是一个注释 */答案:D. /* 这是一个注释 */题目2:以下哪行代码能够将变量x的值加1?A. x++;B. ++x;C. x = x + 1;D. x += 1;答案:A. x++;3. 控制语句考试的第二部分将涉及控制语句的使用。
以下是一些常见的试题及其答案:题目3:以下哪个选项可用于在循环中跳出整个循环体?A. breakB. continueC. returnD. exit答案:A. break题目4:以下哪个选项可以实现条件判断并设置多个可能的执行路径?A. if语句B. switch语句C. for循环D. while循环答案:B. switch语句4. 函数和数组考试的第三部分将涉及函数和数组的使用。
以下是一些常见的试题及其答案:题目5:以下哪个选项用于定义一个无返回值的函数?A. voidB. intC. charD. float答案:A. void题目6:以下哪个选项可以用于声明一个包含10个整数的数组?A. int array[10];B. int array[9];C. int array[11];D. int array[];答案:A. int array[10];5. 文件处理考试的最后一部分将涉及文件的读写操作。
以下是一些常见的试题及其答案:题目7:以下哪个函数用于打开一个文件以供读取?A. fopen()B. fclose()C. fwrite()D. fread()答案:A. fopen()题目8:以下哪个选项用于从文件中读取一行字符串?A. fgets()B. printf()C. scanf()D. strcpy()答案:A. fgets()6. 总结本文提供了一套计算机二级C试题及答案,涵盖了C语言的基础知识、控制语句、函数和数组、文件处理等方面的内容。
全国计算机等级考试《二级C语言程序设计》历年真题与模拟试题详解最新资料,WORD格式,可编辑修改!目录第一部分历年真题及详解 (5)2016年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (5)2015年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (18)2015年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (33)2014年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (48)2014年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (62)2013年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (76)2013年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (91)2012年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (106)2012年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (121)2011年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (135)2011年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (149)2010年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (165)2010年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (180)2009年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (195)2009年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (209)2008年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (224)第二部分模拟试题及详解 (239)全国计算机等级考试《二级C语言程序设计》模拟试题及详解(一) (239)全国计算机等级考试《二级C语言程序设计》模拟试题及详解(二) (255)第一部分历年真题及详解2016年3月全国计算机等级考试《二级C语言程序设计》真题及详解(考试时间120分钟满分100分)一、选择题(每题1分,共40分)1.有以下定义:struct data{ int i;char c;double d;}x;以下叙述中错误的是()。
1.填空给定程序的功能是调用fun函数建立班级通讯录。
通讯录中记录每位学生的编号,姓名和电话号码。
班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。
请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.c中不得增行或删行,也不得更改程序的结构!void check();/**********found**********/int fun(___1___ *std){/**********found**********/___2___ *fp; int i;if((fp=fopen("myfile5.dat","wb"))==NULL)return(0);printf("\nOutput data to file !\n");for(i=0; i<N; i++)/**********found**********/fwrite(&std[i], sizeof(STYPE), 1, ___3___);fclose(fp);return (1);}修改给定程序MODI1.C中函数fun的功能是:先将在字符串s中的字符按正序存放到t串中,然后把s中的字符按逆序连接到t串后面。
例如:当s中的字符串为:“ABCDE”时,则他中的字符串应为:“ABCDEEDCBA”。
请改正程序中的错误,使他能得出正确的结果。
注意:不要改动main函数,不能增行或删行,也不得更改程序的结构!void fun (char *s, char *t){ int i, sl;sl = strlen(s);/************found************/for( i=0; i<=s1; i ++)t[i] = s[i];for (i=0; i<sl; i++)t[sl+i] = s[sl-i-1];/************found************/t[sl] = '\0';}程序函数fun的功能是:将两个两位数的正整数a,b合并成一个整数放在c中。
吉林计算机二级试题及答案一、单项选择题1.计算机内部的主要工作是进行:A.程序设计B.数据输入C.数据处理D.数据输出答案:C2.二进制数1111的十进制表示为:A.10B.15C.16D.17答案:B3.以下哪个不是计算机的辅助设备?A.键盘B.鼠标C.显示器D.扫描仪答案:D4.计算机*运算的结果是:A.乘法运算B.除法运算C.取余运算D.无意义操作答案:B5.页面的刷新是:A.冷启动B.热启动C.软启动D.无启动答案:D二、简答题1.什么是操作系统?请简要说明其作用。
答案:操作系统是计算机系统中起控制作用的系统软件。
它管理计算机的硬件和软件资源,为用户和程序提供一个方便、高效的运行环境。
操作系统的作用包括资源管理、任务管理、文件管理、用户接口等。
2.简述计算机网络的优点和缺点。
答案:计算机网络的优点包括提供了方便快捷的信息交流方式,使得人们可以在全球范围内进行实时的通信和协作;提供了共享资源的机会,减少了资源的浪费;提高了工作效率,促进了信息化进程等。
缺点包括网络安全问题,容易受到黑客攻击和病毒侵扰;依赖网络的不稳定性,网络故障时可能导致业务中断;信息泄露和隐私泄露的风险等。
三、编程题```python# 请写一个Python程序,实现以下功能:输入一个整数n(n>0),输出1到n的所有奇数的和。
n = int(input("请输入一个整数:"))odd_sum = 0for i in range(1, n+1):if i % 2 != 0:odd_sum += iprint("1到{}的所有奇数的和为:{}".format(n, odd_sum))```以上是吉林计算机二级试题的部分题目及答案,希望能对您有所帮助。
如需获取完整试题及详细答案,请参考相关教材或咨询相关机构。
二级c上机考试题库
在二级C上机考试中,备考过程中积累了大量的题目是非常必要的。
为了帮助考生更好地备考,以下是一份涵盖各个知识点的二级C上机
考试题库,希望对考生们有所帮助。
1. 编写一个程序,实现输入一个整数n后,计算并输出n的阶乘。
2. 编写一个程序,实现输入一个整数n后,计算并输出n的平方根。
3. 编写一个程序,实现输入两个整数a和b后,求出a和b的最大
公约数。
4. 编写一个程序,实现输入一个字符串后,统计并输出字符串中大
写字母、小写字母、数字和其他字符的个数。
5. 编写一个程序,实现输入一个整数n后,输出n行杨辉三角形的
前n行。
6. 编写一个程序,实现输入一个集合A和一个集合B,输出A和B
的并集。
7. 编写一个程序,实现输入一个字符串s和一个子字符串sub,统
计并输出字符串s中子字符串sub的出现次数。
8. 编写一个程序,实现输入一个整数n后,输出n以内的所有素数。
9. 编写一个程序,实现输入一个整数n后,输出n的所有因子。
10. 编写一个程序,实现输入一个整数n后,输出n的二进制表示。
以上是二级C上机考试题库的部分题目,考生们可以根据自己的情况选择相关题目进行练习。
希望考生们在备考过程中能够认真对待每一道题目,相信通过努力和实践一定能够取得优异的成绩。
祝各位考生考试顺利,取得理想的成绩!。
2012年3月全国计算机等级考试二级C语言真题一.选择题1.下列叙述中正确的是:A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一直逻辑结构2.下列叙述中正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.以上三种说法都不对3.一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为A.4 B.6 C.10 D.164.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5.在满足实体完整性约束的条件下A.一个关系中可以没有候选关键词B.一个关系中只能有一个候选关键词C.一个关系中必须有多个候选关键词D.一个关系中应该有一个或者多个候选关键词6.有三个关系R.S和T如下:SA B Ca 1 2b 2 1RA B Ca 1 2b 2 1c 3 1TA B Ca 2 1b 3 1则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7.软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8.下面不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的系统的系能需求B.制定软件集成测试计划D.需求规格说明书审评9.在黑盒测试方式中,设计测试用例的主要根据是A.程序外部功能B.程序内部逻辑C.程序数据结构D.程序流程图10.在软件设计中不使用的工具是A.系统结构图B.程序流程图C.PAD图D.数据流图(DFD图)11.针对简单程序设计,以下叙述的实施步骤正确的是A.确定算法和数据结构.编码.调试.整理文档B.编码.确定算法和数据结构.调试.整理文档C.整理文档.确定算法和数据结构.编码.调试D.确定算法和数据结构.调试.编码.整理文档12.关于C语言中数的表示,以下叙述正确的是A.只有整型数在允许范围内能精确无误的表示,实型数会有误差B.只要在在允许范围内整型和实型都能精确表示C.只有实型数在允许范围内能精确无误的表示,整型数会有误差D.只有八进制表示的数在不会有误差13.以下关于算法叙述错误的是A.算法可以用伪代码.流程图等多种形式来描述B.一个正确的算法必须有输入C.一个正确的算法必须有输出D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码14.以下叙述错误的是A.一个C程序可以包含多个不同名的函数B.一个C程序只能有一个主函数C.C程序在书写时,有严格的缩进要求,否则不能编译通过D.C程序的主函数必须用main作为函数名15.设有以下语句Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A.A和B之间用逗号间隔B.A和B之间不能有任何间隔符C.A和B之间可以用回车间隔D.A和B之间用空格间隔16.以下选项中非法的字符常量是A.’\102’ B.’\65’ C.’\xff’ D.’\019’17.有以下程序#include <sthio.h>Main(){Int A=0,B=0,C=0;C=(A-=A-5);(A=B,B+=4);Printf(“%d, %d, %d\n”,A,B,C)}程序运行后输出的结果是A 0,4,5B 4,4,5C 4,4,4D 0,0,018.设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是A.x++; printf((“%d\n”,x); B.n=++x; printf((“%d\n”,n);C.++x; printf((“%d\n”,x); D.n=x++; printf((“%d\n”,n);19.以下选项中,能表示逻辑值“假”的是A 1B 0.000001C 0D 100.0 20.有以下程序#include <sthio.h>Main(){ int a;Scanf(“%d”,&a);If(a++<9) printf((“%d\n”,a);Else printf((“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结构是A.10 B 11 C 9 D 821.有以下程序#include <sthio.h>Main(){int s=0,n;For (n=0;n<3;n<++){switch(s){ case 0;Case 1;s+=1;Case 2;s+=2;break;Case 3;s+3;Case 4;s+=4;}printf((“%d\n”,s);}}程序运行后的结果是A 1,2,4B 1,3,6C 3,10,14D 3,6,1022.若k是int类型变量,且有以下for语句For(k=-1;k<0;k++)printf(****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23.有以下程序#include <sthio.h>Main(){char A,B,C;B=’1’;C=’A’For(A=0;A<6;A++){if(A%2) putchar(B+A);Else putchar(C+A);}}程序运行后输出的结果是A 1B3D5FB ABCDFEC A2C4E6D 12345624.设有如下定义语句Int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A *(k+2)B k+2C *k+2D *k+=225.fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
2012年3月全国计算机等级考试二级C语言真题一、选择题1、下列叙述中正确的是:A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一直逻辑结构(1)【答案】A【解析】为了充分利用存储空间,可以把顺序队列看成一个环状空间,即把顺序队列的头尾指针相连,这样的队列称之为循环队列。
它是对顺序队列的改进,故循环队列是队列的一种顺序存储结构2、下列叙述中正确的是A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对(2)【D】【解析】栈是一种后进先出的线性表,队列是一种先进先出的线性表,二者均是线性结构,故选项A)、B)、C)均不对,答案为选项D)。
3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为(3)【D】【解析】由二叉树的性质n0=n2+1可知,度为0的结点数(即叶子结点数)=度为2的结点数+1,根据题意得知,度为2的结点数为4个,那么25-5-4=16即为度为1的结点数,选项D)正确A、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A、内模式B、外模式C、概念模式D、逻辑模式(4)、【答案】A【解析】内模式也称存储模式,它是数据物理结构和存储方式的描述,是数据在数据库内部的表示方式,对应于物理级,它是数据库中全体数据的内部表示或底层描述,是数据库最低一级的逻辑描述。
所以选项A)正确。
5、在满足实体完整性约束的条件下A、一个关系中可以没有候选关键词B、一个关系中只能有一个候选关键词C、一个关系中必须有多个候选关键词D、一个关系中应该有一个或者多个候选关键词(5)【答案】D【解析】在关系R中如记录完全函数依赖于属性(组)X,则称X为关系R中的一个候选关键字。
在一个关系中,候选关键字可以有多个且在任何关系中至少有一个关键字。
所以在满足数据完整性约束的条件下,一个关系应该有一个或多个候选关键字,所以选项D)正确。
笔试部分一、选择题1.树是结点的集合,它的根结点数目是( )A. 有且只有1B.1或多于1C. 0或1D.至少2【参考答案】A2.在设计程序时,应采纳的原则之一( )A. 不限制goto语句的使用B.减少或取消注解行C. 程序越短越好D.程序结构应有助于读者理【参考答案】D3.下列叙述中,不属于软件需求规格说明书的作用的是( )A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D.便于开发人员进行需求分析【参考答案】D4.单个用户使用的数据视图的描述称为( )A. 外模式B.概念模式C. 内模式D.存储模式【参考答案】A5.SQL语言又称为( )A. 结构化定义语言B.结构化控制语言C. 结构化查询语言D.结构化操纵语言【参考答案】C6.若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )A. bdgcefhaB.gdbecfhaC. bdgaechfD.gdbehfca【参考答案】D7.软件工程的理论和技术性研究的内容主要包括软件开发技术和( )A. 消除软件危机B.软件工程管理C. 程序设计自动化D.实现软件可重用【参考答案】B8.在软件测试设计中,软件测试的主要目的是( )A. 实验性运行软件B.证明软件正确C. 找出软件中全部错误D.发现软件错误而执行程序【参考答案】D9.索引属于( )A. 模式B.内模式C. 外模式D.概念模式【参考答案】B10.数据库系统的核心是( )A. 数据库B.数据库管理系统C. 模拟模型D.软件工程【参考答案】B来源:考试大-计算机二级考试11.下面关于类和对象的描述中,错误的是( )A.类就是C语言中的结构体类型,对象就是C语言中的结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为工的若干对象的统一描述体【参考答案】A12.设int a=10,b=11,c=12;,表达式(a+b)<c&&b==c的值是( )<="" p=""></c&&b==c的值是(>A.2B.0C.-2D.1【参考答案】B13.下列语句中不是死循环的是( )A.int i=10;B.for(int i=1;i<10;i++)C.int i=0;D.int i=1;while(1) { do{ for(;;){ i--; i++; i=i+1;i--; } }while(i>=0);if(i==1)break;}【参考答案】A14.下面关于数组的描述错误的是( )A.在C++语言中数组的名字就是指向该数组第一个元素的指针B.长度为n的数组,下标的范围是0~n-1C.数组的大小必须在编译时确定D.数组只能通过值参数和引用参数两种方式传递给函数【参考答案】D15.下面的哪个选项不能作为函数的返回类型?( )A.voidB.intC.newD.long【参考答案】C16.下列程序的输出结果为( )#includeint func(int n){if(n<1) return 1;else return n+func(n-1);return 0;}void main(){cout<<func(5)<<endl;}< p=""></func(5)<<endl;}<>A.0B.10C.15D.16【参考答案】D来源:考试大-计算机二级考试17.以下程序中,错误的行为( )1.#include2.class A3.{4.public:5.int n=2;6.A(int val) {cout<<val<<endl;}< p=""></val<<endl;}<>7.~A(){ }8.{;9.void main()10{11.A a(0);12.}A.5B.6C.7D. 11【参考答案】A18.下面程序的运行结果为( )#includeclass A{int num;public:A(int i){num=i;}A(A &a){num=a.num++;}void print(){cout<<num;}< p=""></num;}<>};void main(){A a(1),b(a);a.print();b.print();}A.11B.12C.21D.22【参考答案】C来源:考试大-计算机二级考试19.如果类A被说明成类B的友元,则( )A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元【参考答案】D20.建立派生类对象时,3种构造函数分别是a(基类的构造函数)、b(成员对象的构造函数)、c(派生类的构造函数)这3种构造函数的调用顺序为( )A.abcB.acbC.cabD.cba【参考答案】A21.下面关于模板的描述,错误的是( )A.函数模板和类模板的参数可以是任意的数据类型B.类模板不能直接使用,必须先实例化为相应的模板类,然后定义了模板类的对象后才能使用C.函数模板不能直接使用,需要实例化为模板函数后才使用D.类模板的成员函数都是模板函数【参考答案】A22.下面程序的运行结果是( )#includevoid main(){int num=1;int &ref=num;ref=ref+2;cout<<num;< p=""></num;<>num=num+3;cout<<ref<<endl;< p=""></ref<<endl;<>}A.13B.16C.36D.33【参考答案】C23.下列程序的运行结果为( )#includeint i=0;class A{public:A(){i++;}};void main(){A a,b[3],*c;c=b;cout<<i<<endl;}< p=""></i<<endl;}<>A.2B.3C.4D.5【参考答案】C来源:考试大-计算机二级考试24.下列字符串中可以用C++语言标识符的是()A._1234B.foo~~barC.virtuaD.34var【参考答案】A25.下列语句的输出结果( )cout<<strlen(″\t\″\065\xff\n″);< p=""></strlen(″\t\″\065\xff\n″);<>A.5B.14C.8D.输出项不合法,无正常输出【参考答案】A26.若有如下语句( )#includevoid main(){int x=3;do{x=x-2;cout<<x;< p=""></x;<>}while(!(--x));}则上面程序段A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环【参考答案】B27.以下程序中调用cin函数给变量a输入数值的方法是错误的,其错误原因是( )#includevoid main(){ int *p,*q,a,b;p=&a;cout<<″input a:″;cin>>p;}A.*p表示的是指针变量P的地址B.p表示的是变量a的地址,而不是变量a的值C.*p表示的是指针变量p的值D.*p只能用来说明p是一个指针变量【参考答案】B来源:考试大-计算机二级考试28.有以下程序#includevoid 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;}< p=""></x<<′,′<<y<<′,′<<z<<endl;}<>输出结果是( )A.30,20,10B.10,20,30C.456,567,678D.678,567,456【参考答案】B29.下列定义中p指向的地址可更改,但*p不能够更改的是( )A.const int *PB.int * const p;C.const int *const p;D.int *p;【参考答案】A30.下面程序的结果是( )#includeclass A{int a;public:A():a(1){ }void showa(){cout<<a;}< p=""></a;}<>};class B{int a;public:B():a(2){ }void showa(){cout<<a;}< p=""></a;}<>};class C:public A,public B{int a;public:C():a(3){ }void showa(){cout<<a;}< p=""></a;}<>};void main(){C c;c.showa();}A.1B.2C.3D.程序有错误【参考答案】C来源:考试大-计算机二级考试31.如果表达式x*y+z中,“*”是作为友元函数重载的,“+”是作为友元函数重载的,则该表达式还可为( )A.operator+(operator*(x,y),z)B.x.operator+(operator*(x,y),z)C.y.operator*(operator+(x,y),z)D.x.operator+(operator*(x,y))【参考答案】A32.对于语句cout<<setfill(′*′)<<setw(10)<<1<<setfill(′*′)<<se tw(2)<<="" p=""></setfill(′*′)<<setw(10)<<1<<setfill(′*′)<<setw(2)<A.*********1*2B.********12C.*******1*2D.12********【参考答案】A33.有如下程序#includeint func(int a,int b){return(a+b);}void main(){int x=2,y=5,z=8,r;r=func(func(x,y),z);cout<<r;}< p=""></r;}<>该程序的输出的结果是( )A.12B.13C.14D.15【参考答案】D34.下列描述中,抽象类的特性是( )A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象【参考答案】D35.下列程序的运行结果是( )#includevoid fun(int *a,int *b){ int *k;k=a;a=b;b=k;}void main(){ int a=3,b=6,*x=&a,*y=&b;fun(x,y);cout<<a<<<b;<=""></a<}A.6 3B.3 6C.编译出错D.0 0【参考答案】B来源:考试大-计算机二级考试二、填空题1.在面向对象方法中,类之间共享属性和操作的机制称为【1】。
1、信息隐蔽的概念与下述哪一种概念直接相关(B)
A.软件结构定义
B. 模块独立性
C. 模块类型划分
D. 模拟耦合度
2、设一棵完全二叉树共有699个结点,则在该二叉树中的叶子结点数为(B) 注:利用公式n=n0+n1+n2、n0=n2+1和完全二叉数的特点可求出
A. 349
B. 350
C. 255
D. 351
3、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
4、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
5、将E-R图转换到关系模式时,实体与联系都可以表示成(B)
A. 属性
B. 关系
C. 键
D. 域
6、算法的时间复杂度是指(C)
A. 执行算法程序所需要的时间
B. 算法程序的长度
C. 算法执行过程中所需要的基本运算次数
D. 算法程序中的指令条数
7、算法的空间复杂度是指(D)
A. 算法程序的长度
B. 算法程序中的指令条数
C. 算法程序所占的存储空间
D. 算法执行过程中所需要的存储空间
8、信息隐蔽的概念与下述哪一种概念直接相关(B)
A.软件结构定义
B. 模块独立性
C. 模块类型划分
D. 模拟耦合度
9、按条件f对关系R进行选择,其关系代数表达式为(C)
A. R|X|R
B. R|X|Rf
C. бf(R)
D. ∏f(R)
10、在结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是(B)
A. 可行性分析
B. 需求分析
C. 详细设计
D. 程序编码
11、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是(C)
A. 模拟现实世界中不同事物之间的联系
B. 强调模拟现实世界中的算法而不强调概念
C. 使用现实世界的概念抽象地思考问题从而自然地解决问题
D. 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考
12、在关系数据库中,用来表示实体之间联系的是(D)
A. 树结构
B. 网结构
C. 线性表
D. 二维表
13、下面不属于软件工程的3个要素的是(D)
A. 工具
B. 过程
C. 方法
D. 环境
14、索引属于(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
15、下述关于数据库系统的叙述中正确的是(A)
A. 数据库系统减少了数据冗余
B. 数据库系统避免了一切冗余
C. 数据库系统中数据的一致性是指数据类型的一致
D. 数据库系统比文件系统能管理更多的数据
16、关系数据库管理系统能实现的专门关系运算包括(B)
A. 排序、索引、统计
B. 选择、投影、连接
C. 关联、更新、排序
D. 显示、打印、制表。