全国2013年1月自学考试C加加程序设计试题
Visual C++ 程序设计语言2013第三次月考试卷及答案(张家港校区)

使用前注意保密江苏科技大学(张家港)2012-2013学年下学期Visual C++ 程序设计语言考试试卷说明:1、本试卷为笔试题,含选择、填空、及编程三部分。
2、本试卷满分为100分,考试时间为120分钟。
3、所有答案必须写在答题纸上,否则不计成绩。
4、填写答案时,注意题号;特别是填空题,做到题号、空格号与试题对应。
5、答题纸上必须写明学号(含班级号)、姓名。
一、选择题(每题1分,计20分)1、设有宏定义:#define f(x) (-x*2)执行语句: cout<<f(2+4)<<endl; 则输出为___ ____。
A.-12 B.5 C.6 D.-52、已知float x=1.5; 则下列正确的引用方法是。
A.int &m=x; B.int &y=10; C.float &z; D.float &a=x;3、设有定义:enum color{ red,yellow=0,blue=yellow+2,white,green=2 };color c1=yellow,c2=white;则语句:cout<<c1<<‘\t’<<c2<<endl; 的输出结果为。
A.0 6 B. 1 3 C. 0 3 D. 1 64、设有以下说明和语句:char *p[]={“abcd”,“bcde”,“cdef”,“defg”};char **q=p+2;cout<<*q;下列说法正确的是________。
A.输出的是元素p[2]的地址B.输出的是字符串cdefC.有语法错误 D.输出的是字符c5、设有int a,b; 执行语句a=((b=4*5,b*4),b+15);则a的值为。
A. 15B. 30C.35D. 206、设有说明语句int m[30],*p=m; char c[100],*q=c; 则下列选项中存在语法错误的是。
2013计算机试题及答案

2013计算机试题及答案对不起,我无法提供具体的文章内容。
然而,我可以为您提供一些关于2013年计算机试题及答案的信息作为参考。
2013年的计算机试题主要涵盖了计算机科学的各个方面,包括编程语言、数据结构、算法、操作系统、数据库、网络和信息安全等。
以下是一些可能出现在2013年计算机试题中的题目示例以及可能的答案。
1. 编程题:题目:编写一个程序,将一个整数数组中的元素按照从大到小的顺序排序。
答案(C++代码):```c++#include <iostream>#include <algorithm>using namespace std;int main() {int arr[] = {5, 2, 8, 3, 1};int n = sizeof(arr)/sizeof(arr[0]);sort(arr, arr+n, greater<int>());for(int i=0; i<n; i++) {cout << arr[i] << " ";}return 0;}```2. 数据结构题:题目:使用链表实现一个栈数据结构,并提供入栈(push)、出栈(pop)、和获取栈顶元素(top)的操作。
答案(C++代码):```c++#include <iostream>using namespace std;struct Node {int data;Node* next;};class Stack {private:Node* top;public:Stack() {top = NULL;}void push(int value) {Node* newNode = new Node;newNode->data = value;newNode->next = top;top = newNode;}void pop() {if(top == NULL) {cout << "Stack is empty." << endl; return;}Node* temp = top;top = top->next;delete temp;}int getTop() {if(top == NULL) {cout << "Stack is empty." << endl;return -1;}return top->data;}};int main() {Stack stack;stack.push(1);stack.push(2);stack.push(3);cout << "Top element: " << stack.getTop() << endl; stack.pop();cout << "Top element: " << stack.getTop() << endl; return 0;}```3. 网络题:题目:解释HTTP和HTTPS之间的区别,并说明为什么HTTPS比HTTP更安全。
c++面向对象程序设计—考试题及习题讲解(免费下载)

c++面向对象程序设计—考试题及习题讲解(免费下载)第一部分选择题(共20分)一、单项选择题(本大题共10小题,每小题2分,共20分)1.在C++中,函数原型不能标识( D )A.函数的返回类型B.函数参数的个数C.函数参数类型D.函数的功能p108有叙述2.在C++程序中,对象之间的相互通信通过( B ) ?A.继承实现B.调用成员函数实现C.封装实现D.函数重载实现3.对于任意一个类,析构函数的个数最多为( B )A.0B.1C.2D.3P288 析构函数不接受参数,也不返回数值。
类只可能有一个析构函数,不能进行析构函数的重载。
4.下面函数模板定义中不正确的是( A )A.templateB.templateQF(Q x){ QF(Q x){return Q+x; return x+x;} }C.templateD.templateTF(T x){ TF(T x){return x*x; return x>1;} }5.友元关系不能( c A )?A.继承B.是类与类的关系C.是一个类的成员函数与另一个类的关系p316D.提高程序的运行效率6.语句ofstream f(〃SALARY.DAT〃,ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且( A )A.若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B.若文件存在,将其置为空文件;若文件不存在,打开失败C.若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D.若文件存在,打开失败;若文件不存在,建立一个新文件7.下面说法正确的是( B )A.内联函数在运行时是将该函数的目标代码插入每个调用该函数的地方B.内联函数在编译时是将该函数的目标代码插入每个调用该函数的地方C.类的内联函数必须在类体内定义D.类的内联函数必须在类体外通过加关键字inline定义8.可以用p.a的形式访问派生类对象p的基类成员a,其中a是( D )A.私有继承的公有成员B.公有继承的私有成员C.公有继承的保护成员D.公有继承的公有成员9.在公有派生情况下,有关派生类对象和基类对象的关系,不正确的叙述是( A )A.派生类的对象可以赋给基类的对象B.派生类的对象可以初始化基类的引用C.派生类的对象可以直接访问基类中的成员D.派生类的对象的地址可以赋给指向基类的指针10.对于类定义class A{public:virtual void func1( ){ }void func2( ){ }};class B:public A{public:void func1( ){cout<<〃class B func 1〃<<end1;}< p="">virtual void func2( ){cout<<〃class B func 2〃<<end1;}< p="">};下面正确的叙述是( C )A. A::func2( )和B::func1( )都是虚函数B. A::func2( )和B::func1( )都不是虚函数C. B::func1( )是虚函数,而A::func2( )不是虚函数D. B::func1( )不是虚函数,而A::func2( )是虚函数第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)11.定义类的动态对象数组时,系统只能够自动调用该类的拷贝构造函数对其进行初始化。
1 C++面向对象程序设计(甲)试卷A

delete pMobile;return 0;}第2题#include <iostream>using namespace std;class Array{private:int *m_pBuffer; // 数组元素存储空间int m_iSize; // 数组元素个数public:Array(int a[], int iSize): m_iSize(iSize) {m_pBuffer = new int [m_iSize];for (int i=0; i < m_iSize; i++)m_pBuffer [i] = a [i];}~Array () {delete [] m_pBuffer;}int GetSize(){ return m_iSize; }int &operator[](int pos) {if (pos < 0 || pos >= m_iSize)throw "Invalid Index";return m_pBuffer[pos];} // 重载下标运算符[]};int main(void){int a[] = {1, 4, 3, 6, 5, 2};Array obj(a, 6);obj[1] = 10;try {for (int i =0; i < 10; i++)cout << obj[i] << " ";} catch (const char *msg) {cout << msg << endl;}cout << endl;return 0; }第3题#include <stack>#include <iostream>using namespace std;int main(){stack<int> S1, S2;for (int i = 0; i < 10; i++)if (i % 2 == 0)S1.push(i);elseS2.push(i);while (!S1.empty()) {int x = S1.top();S1.pop();cout << x << '\t';}cout << endl;while (!S2.empty()) {int x = S2.top();S2.pop();cout << x << '\t';}cout << endl;return 0;}第4题#include <algorithm>#include <vector>#include <iostream>using namespace std;bool IsOdd (int x){return x % 2 != 0;}void DisplayVector (const vector<int> &V){vector<int>::const_iterator it;for (it = V.begin (); it !=V.end (); it++)cout << *it << '\t';cout << endl;}int main (){vector<int> V (6);for (int i= 0;i < V.size();i ++)V [i] = 3 * i;V.push_back(8);V.push_back (9);V.push_back(10);DisplayVector (V);int x;x = count (V.begin() , V.end() , 9);cout << x << endl;x = count_if (V.begin() , V.end() , IsOdd );cout << x << endl;return 0;}五、程序设计题(每题14分,共28分)1. 请设计实现书本类CBook, 该类具有书名、作者、价格、简介等成员,并具有设置和获取这些信息的成员函数接口。
自考C++试题及答案(6套合集)

2009年全国自考C++程序设计模拟试卷(一)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1. 编写C++程序一般需经过的几个步骤依次是()A. 编辑、调试、编译、连接B. 编辑、编译、连接、运行C. 编译、调试、编辑、连接D. 编译、编辑、连接、运行答案:B解析:(P21)经过编辑、编译、连接和运行四个步骤。
编辑是将C++源程序输入计算机的过程,保存文件名为cpp。
编译是使用系统提供的编译器将源程序cpp生成机器语言的过程,目标文件为obj,由于没有得到系统分配的绝对地址,还不能直接运行。
连接是将目标文件obj转换为可执行程序的过程,结果为exe。
运行是执行exe,在屏幕上显示结果的过程。
2. 决定C++语言中函数的返回值类型的是()A. return语句中的表达式类型B. 调用该函数时系统随机产生的类型C. 调用该函数时的主调用函数类型D. 在定义该函数时所指定的数据类型答案:D解析:(P51)函数的返回值类型由定义函数时的指定的数据类型决定的。
A项的表达式的值要转换成函数的定义时的返回类型。
3. 下面叙述不正确的是()A. 派生类一般都用公有派生B. 对基类成员的访问必须是无二义性的C. 赋值兼容规则也适用于多重继承的组合D. 基类的公有成员在派生类中仍然是公有的答案:D解析:(P136)继承方式有三种:公有、私有和保护。
多继承中,多个基类具有同名成员,在它们的子类中访问这些成员,就产生了二义性,但进行访问时,不能存在二义性。
赋值兼容规则是指派生类对象可以当作基类对象使用,只要存在继承关系,所以单继承或多继承都适用。
基类中的公有成员采用私有继承时,在派生类中变成了私有成员,所以D项错误。
4. 所谓数据封装就是将一组数据和与这组数据有关操作组装在一起,形成一个实体,这实体也就是()A. 类B. 对象C. 函数体D. 数据块答案:A解析:(P39)类即数据和操作的组合体,数据是类的静态特征,操作是类具有的动作。
浙江省2013年1月自学考试VisualBasic程序设计试题

浙江省2013年1⽉⾃学考试VisualBasic程序设计试题浙江省2013年1⽉⾃学考试VisualBasic程序设计试题课程代码:07759本试卷分A、B卷,使⽤2003年版本教材的考⽣请做A卷,并将答题纸上卷别“A”涂⿊;使⽤2012年版本教材的考⽣请做B卷,并将答题纸上卷别“B”涂⿊。
不涂或全涂,均以B卷记分。
请考⽣按规定⽤笔将所有试题的答案涂、写在答题纸上。
A卷选择题部分注意事项:1. 答题前,考⽣务必将⾃⼰的考试课程名称、姓名、准考证号⽤⿊⾊字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每⼩题选出答案后,⽤2B铅笔把答题纸上对应题⽬的答案标号涂⿊。
如需改动,⽤橡⽪擦⼲净后,再选涂其他答案标号。
不能答在试题卷上。
⼀、单项选择题(本⼤题共10⼩题,每⼩题1分,共10分)在每⼩题列出的四个备选项中只有⼀个是符合题⽬要求的,请将其选出并将“答题纸”的相应代码涂⿊。
错涂、多涂或未涂均⽆分。
1.下列逻辑表达式的值为真的是A."A" > "a"B."9" > "A"C."That" > "Thank"D.12 > 1.21E12.骰⼦是⼀个正六⾯体,⽤1~6这六个数分别代表这六⾯,掷⼀次骰⼦出现的数可表⽰为A.Int(Rnd(6) + 1)B.Int(Rnd * 6)C.Int(Rnd(1) * 7)D.Int(Rnd(1) * 6 + 1)3.下列语句中,可以将列表框List1中当前选定的列表项的值替换为“ABC”的是A.List1.AddItem "ABC", List1.ListIndexB.List1.Text = "ABC"C.List1.List(List1.ListIndex) = "ABC"1 浙江省2013年1⽉⾃学考试VisualBasic程序设计试题D.前三项均可4.下列可作为V isual Basic中的变量名的是A.A#AB.4AC.?xy5.⽤下⾯的语句所定义的数组的元素个数是Dim arr(3 To 5, -2 To 2)A.20B.12C.15D.246.如果要在菜单中添加⼀个分割线,则应将菜单项的Caption属性设置为A.:B.,C.&D.-7.在下列控件中,不具有坐标系的控件是A.Frame(框架)B.TextBox(⽂本框)C.PictureBox(图⽚框)D.Form(窗体)8.数据控件的Reposition事件发⽣在A.记录成为当前记录后B.修改与删除记录前C.记录成为当前记录前D.移动记录指针前9.下列关于Select Case s的叙述中,错误的是A.Case 10 To 100 表⽰判断s是否介于10与100之间B.Case "abc", "ABC" 表⽰判断s是否和"abc", "ABC"中的⼀个相同C.Case "X" 表⽰判断s是否为⼤写字母XD.Case -7, 0, 100 表⽰判断s是否等于字符串"-7, 0, 100"10.定义过程的语句为:Sub Suba(x As Single, y As Single),则正确的调⽤语句为A.Call Suba x, yB.Call Suba("A", Sin(1.57))C.Suba 10, 12D.Call Suba(12, 10, x)⼆、判断题(本⼤题共10⼩题,每⼩题1分,共10分)判断下列各题,在答题纸相应位置正确的涂“A”,错误的涂“B”。
2012-2013程序设计基础C++-试卷(其中考试)new
计算机学院2012~2013学年第一学期C++程序设计(1)试卷(期中)一.单项选择题(每题4分,共40分)1、设m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()A. 0,0B. 0,1C. 1,0D. 1,12、设int a=2,b=3; double x=3.5,y=2.5; 表达式(a+b)/2+(int)y%(int)x 的值是()A.3B. 3.5C. 4D. 2.53、求标有/**/语句的执行次数()int x=10;while(x++<20)x+=2;/**/A.10B.11C.4D.34、下列输出结果为()int y=2; int x=3; cout<<(x++)+(--y)<<endl;A.4B.5C.6D.75、一个函数返回值的类型是由()决定的A. return语句中表达式类型B. 定义函数时所指定的函数类型C. 调用该函数的主调函数的类型D. 在调用函数时临时指定6、在下列关于C++函数定义的叙述中,正确的是()。
A.函数可以嵌套定义,不可以嵌套调用B.函数不可以嵌套定义,但可以嵌套调用C.函数可以嵌套定义,也可以嵌套调用D.函数可以嵌套定义,还可以自己调用自己7、判断字符变量ch是否是数字字符,应使用表达式()。
A. ch>=0&&ch<=9B. ch>=0||ch<=9C. ch>='0'&&ch<='9'D. ch>='0'||ch<='9'8、为了避免在嵌套的if-else中产生二义性,if-else的匹配原则是()。
A. else子句与所排位置相同的if配对B. else子句与其之前同一层次最近未曾配对的if配对C. else子句与其之后最近的if配对D. else子句与同一行的if配对9、设有说明语句int a=1;则执行以下语句后输出()。
学历类《自考》自考专业(计算机应用)《C++程序设计》考试试题及答案解析
学历类《自考》自考专业(计算机应用)《C ++程序设计》考试试题及答案解析姓名:_____________ 年级:____________ 学号:______________1、以下基类中的成员函数表示纯虚函数的是( )A 、virtualvoidtt( )=0B 、voidtt(int)=0C 、virtualvoidtt(int)D 、virtualvoidtt(int){}正确答案:A答案解析:暂无解析2、对于int*pa [5]; 的描述,正确的是( )A 、pa 是一个指向数组的指针,所指向的数组是5个int 型元素B 、pa 是一个指向某个数组中第5个元素的指针,该元素是int 型变量C 、pa [5]表示某个数组的第5个元素的值D 、pa 是一个具有5个元素的指针数组,每个元素是一个int 型指针正确答案:D答案解析:暂无解析3、C++的继承性允许派生类继承基类的( )A 、部分特性,并允许增加新的特性或重定义基类的特性B 、部分特性,但不允许增加新的特性或重定义基类的特性C 、所有特性,并允许增加新的特性或重定义基类的特性D 、所有特性,但不允许增加新的特性或重定义基类的特性正确答案:C答案解析:暂无解析4、使用地址作为实参传给形参,下列说法正确的是( )A 、实参是形参的备份B 、实参与形参无联系C 、形参是实参的备份D 、实参与形参是同一对象正确答案:D答案解析:暂无解析5、在私有继承的情况下,基类成员在派生类中的访问权限( )A 、受限制B、保持不变C、受保护D、不受保护正确答案:A答案解析:暂无解析6、C++语言中所有在函数中定义的变量,连同形式参数,都属于( )A、全局变量B、局部变量C、静态变量D、函数正确答案:B答案解析:暂无解析7、在类中说明的成员可以使用关键字的是( )A、publicB、externC、cpuD、register正确答案:A答案解析:暂无解析8、C++对C语言做了很多改进,即从面向过程变成为面向对象的主要原因是( )A、增加了一些新的运算符B、允许函数重载,并允许设置缺省参数C、规定函数说明符必须用原型D、引进了类和对象的概念正确答案:D答案解析:暂无解析9、假定一个类的构造函数为A(intaa,intbb){a=aa--;b=a*bb;},则执行Ax(4,5);语句后,和的值分别为( )A、3和15B、5和4C、4和20D、20和5正确答案:C答案解析:暂无解析10、在公有继承的情况下,基类的公有或保护成员在派生类中的访问权限( )A、受限制B、保持不变C、受保护D、不受保护正确答案:B答案解析:暂无解析11、构造函数不具备的特征是( )A、构造函数的函数名与类名相同B、构造函数可以重载C、构造函数可以设置默认参数D、构造函数必须指定类型说明正确答案:D答案解析:暂无解析12、语句ofstreamf(“”,ios::app|ios::binary)?的功能是建立流对象f,试图打开文件并与之连接,并且( )A、若文件存在,将文件写指针定位于文件尾;若文件不存在,建立一个新文件B、若文件存在,将其置为空文件;若文件不存在,打开失败C、若文件存在,将文件写指针定位于文件首;若文件不存在,建立一个新文件D、若文件存在,打开失败;若文件不存在,建立一个新文件正确答案:A答案解析:暂无解析13、友元关系不能( )A、提高程序的运行效率B、是类与类的关系C、是一个类的成员函数与另一个类的关系D、继承正确答案:D答案解析:暂无解析14、所谓多态性是指( )A、不同的对象调用不同名称的函数B、不同的对象调用相同名称的函数C、一个对象调用不同名称的函数D、一个对象调用不同名称的对象正确答案:B答案解析:暂无解析15、关于this指针使用说法正确的是( )A、保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B、保证基类私有成员在子类中可以被访问。
全国2012年1月高等教自学考试C++程序设计试题及答案
全国2012年1月高等教育自学考试C++程序设计试题课程代码:04737一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。
错选、多选或未选均无分。
1.如声明对象数组,则下列描述正确的是AA.对每个元素均调用一次构造函数B.部分元素调用构造函数,其它元素不需调用C.均不需要调用构造函数D.只是首元素调用构造函数2.不同对象调用同一成员函数时,this指针指向AA.不同对象B.相同对象C.无对象D.不确定3.设存在函数intmax(int,int)返回两参数中较大值,若求22,59,70三者中最大值,下列表达式正确的是DA.intm=max(22,max(59,70));B.intm=max(max(22,59),max(59,70));C.intm=max(max(22,70),59);D.以上皆正确4.一个类可拥有多少个构造函数CA.0个B.1个C.1或多个D.以上皆对5.在编译指令中,嵌入指令是指AA.#includeB.#defineC.#ifD.#else6.设存在数组a,其长度为Len,下列哪项操作是将a中元素复制到数组b中DA.reverse(a+a,Len,b);B.sort(a,a+Len,b);C.find(a,a+Len,b);D.copy(a,a+Len,b);7.下列哪个要素不是面向对象的关键要素AA.模块化B.抽象性C.封装性D.继承性8.下列对于类的描述错误的是CA.类要先声明后使用B.类是具有唯一标识的实体C.两个类可以使用同一个名称D.组成类的不仅有数据,还可以有对数据进行操作的函数9.使用引用调用方式将实参传给形参,下列说法正确的是AA.形参是实参的备份B.实参是形参的备份C.形参和实参共享同一对象D.形参和实参无联系10.关于对象的性质,下列描述错误的是BA.同一类对象之间可相互赋值B.不能使用对象数组C.对象可以用作函数参数D.一个对象可以用作另一个类的成员11.类的私有成员可在哪里被赋值BA.类体中B.该类的成员函数中C.A和BD.以上都不是12.设存在数组a,其长度为Len,则下列哪个泛型算法用于反转a中各元素AA.reverse(a,a+Len);B.sort(a,a+Len);C.find(a,a+Len,value);D.copy(a,a+Len,b);13.用于标识八进制常量的前缀或后缀是CA.无B.后缀L或1C.前缀零D.前缀Ox14.派生类中继承的基类成员初始化如何进行AA.由派生类构造函数调用基类的构造函数进行B.由派生类构造函数进行C.由基类构造函数进行,无需派生类构造函数调用D.以上皆不正确15.对于多重继承,下列描述正确的是BA.所有基类使用相同的派生方式B.每个基类可使用不同派生方式C.只能是public派生D.只能是protected派生16.下列关于类的权限描述错误的是BA.类本身的成员函数可以访问自身的任何成员B.类的对象可以访问该类的所有成员C.普通函数不能直接访问类的公有成员,必须通过成员函数对其访问D.一个类可以将另一个类的对象作为成员17.运算符delete与哪个函数一起运行BA.构造函数B.析构函数C.主函数D.不与任何函数一起工作18.一个类可以获得另一个类的特性的机制称为CA.抽象B.封装C.继承D.多态性19.使用下列哪个格式控制符可设置转换十六进制为十进制AA.decB.octC.hexD.endl20.对引用调用描述正确的是DA.分配新存储空间B.修改已存储空间的名称为引用名C.引用名与已存在存储空间无任何关联D.将引用名标识符与一块已存在储区域相关联,没有分配新存储空间二、填空题(本大题共20小题,每小题1分,共20分)请在每小题的空格中填上正确答案,错填、不填均无分。
2013年春季学期《C++程序设计》作业题目及答案
2013年春季学期《C++程序设计》作业作业提交格式要求:请同学们把答案集中单独写在一个.doc文档中,作为附件上传(不要把答案直接填写在题目的空中)。
特规定格式如下:一、ABCDD AAAAA二、三、(1) BeiJingShangHai(2) x=8,y=7(3) r=k:i+j=90……以上只是举例,不是正确的输出结果。
请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。
鼓励独立完成作业,严惩抄袭。
第一部分(C++第1-7、8、9章)一、单选题BDBCD DCDCB1、C++是从早期的C语言逐渐发展演变来的,与C语言相比,它在求解问题方法上最大的改进是()。
A.面向过程 B. 面向对象 C. 安全性 D. 复用性2、下列关于this指针的叙述中,正确的是( )A.任何与类相关的函数都有this指针B.类的成员函数都有this指针C.类的友元函数都有this指针D.类的非静态成员函数才有this指针3、若有以下类Z声明,函数fStatic的正确定义是( )。
class Z{ int a;public:void fStatic(Z&)static;};A.void Z::fStatic(Z &objZ){ objZ.a=0; }B.void Z::fStatic(Z &objZ){ a= objZ.a; }C.void Z::fStatic(Z &objZ){ a=0; }D.void Z::fStatic(Z &objZ){ Z::a=0; }4、在C++中,关于下列设置缺省参数值的描述中,()是正确的。
A.不允许设置缺省参数值;B.只能在函数的定义中指定参数的缺省值;C.在指定了缺省值的参数右边,不能出现没有指定缺省值的参数;D.设置缺省参数值时,必须全部都设置;5、关于友元函数的描述中,错误的是()。
A.友元函数说明在类体内B.友元函数不是成员函数C.友元函数必须用对象来引用D.友元函数可以直接访问类中的私有成员6、对于类,下面哪个是不正确的( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
全国2013年1月自学考试C加加程序设计试题课程代码:04737请考生按规定用笔将所有试题的答案涂、写在答题纸上。
选择题部分注意事项:1. 答题前,考生务必将自己的考试课程名称、姓名、准考证号用黑色字迹的签字笔或钢笔填写在答题纸规定的位置上。
2. 每小题选出答案后,用2B铅笔把答题纸上对应题目的答案标号涂黑。
如需改动,用橡皮擦干净后,再选涂其他答案标号。
不能答在试题卷上。
一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其选出并将“答题纸”的相应代码涂黑。
错涂、多涂或未涂均无分。
1.下列不属于C++关键字的是A. externB.gotoC.freeD.default2.C++中定义标准输入输出的库为A.stdioB.mathC.iostreamD.stdlib3.My是一个类,则执行语句My a[3],*p[2]之后,自动调用构造函数次数为A.2B.3C.4D.54.下列语句错误的是A. int val( 20);B.extern int val( 20);C. const int val;D.extern const int val;5.下列说法中,有关构造函数是正确的是1 全国2013年1月自学考试C加加程序设计试题A.任何一类必定有构造函数B.可定义没有构造函数的类C.构造函数不能重载D.任何一类必定有缺省的构造函数6.下面关于类和对象说法不正确是A.类由数据与函数组成B.一个对象必属于某个类C.对象是类的实例D.一个类的对象只有一个7.下面选项中不是类成员函数的是A.构造函数B.析构函数C.友元函数D.静态函数8.在C++中类之间的继承关系具有A.自反性B.对称性C.传递性D.反对称性9.C++中类的成员默认为A. publicB.privateC.protectedD.static10.C++中要实现动态联编,调用虚函数时必须使用A.基类指针B.类名C.派生类指针D.对象名11.下面对析构函数的正确描述是A.系统不能提供默认的析构函数B.析构函数必须由用户定义C.析构函数没有参数D.析构函数可以设置默认参数12.在下面的二维数定义正确的是A.int ary[5][];B.int ary[][5]={{0,1,2}};C.int ary[][5];D.int ary[5,5];13.以下说法中正确的是A.C++程序总是从第一个定义的函数开始执行B.C++程序总是从main函数开始执行C.C++中函数必须有返回值D.C++中函数名必须唯一14.对C++中主函数描述正确的是2 全国2013年1月自学考试C加加程序设计试题A.名称为main,可为多个B.名称不限,可为多个C.名称为main,必须有且只能有—个D.名称不限,必须有且只能有—个15.下面声明纯虚函数语句正确的是A. void fun( ) =0;B.virtual void fun( )=0;C. virtual void fun( );D.virtual void fun( ){ };16.对于拷贝初始化构造函数和赋值操作的关系,正确的描述是A.拷贝初始化构造函数和赋值操作是完全一样的操作B.进行赋值操作时,会调用类的构造函数C.当调用拷贝初始化构造函数时,类的对象正在被建立并被初始化D.拷贝初始化构造函数和赋值操作不能在同一个类中被同时定义17.使用重载函数的目的是A.共享函数数据B.减少代码量C.优化运行效率D.提高可读性18.C++语言对C语言做了很多改进,C++语言相对于C语言的最根本的变化是A.增加了一些新的运算符B.允许函数重载,并允许设置缺省参数C.规定函数说明符必须用原型D.引进了类和对象的概念19.假定有“char*p=“Hello”;”,若要输出这个字符串的地址值正确的写法为A. cout<<*p;B.cout<<p;C. cout<<&p;D.cout<< (void*)p;20.对类成员访问权限的控制,是通过设置成员的访问控制属性实现的,下列不是访问控制属性的是A.公有类型 B.私有类型C.保护类型 D.友元类型3 全国2013年1月自学考试C加加程序设计试题非选择题部分注意事项:用黑色字迹的签字笔或钢笔将答案写在答题纸上,不能答在试题卷上。
二、填空题(本大题共20小题,每小题1分,共20分)21.C++程序的编译是以____________为单位进行的。
22.C++语言支持的两种多态性分别是编译时的多态性和____________的多态性。
23.重载的运算符保持其原有的操作符个数、____________和结合性不变。
24.在C++中,函数的参数有两种传递方式,它们分别是值传递和____________。
25.含有____________的类称为抽象类。
26.C++程序运行时的内存空间可以分成全局数据区,堆区,栈区和____________。
27.对于无返回值函数,定义函数时要用____________修饰函数类型。
28.定义重载函数必须在参数的个数或参数的____________上与其它同名函数不同。
29.拷贝构造函数是在用一个对象初始化另一个对象时被调用,系统缺省的拷贝构造函数的工作方法是____________。
30.以面向对象方法构造的系统,其基本单位是____________。
31.拷贝构造函数使用____________作为参数初始化创建中的对象。
32.当一个成员函数被调用时,该成员函数的____________指向调用它的对象。
33.类可将实现细节隐藏起来,这种机制称为____________。
34.在面向对象的程序设计中,通过封装实现数据隐藏;通过____________实现代码的复用。
35.在公有继承的中基类数据成员在派生类中的访问权限____________。
36.复杂对象可以由简单对象构成,这种现象称为____________。
37.如有“char*p=''Hello'';”,则语句“cout<<* (p+1);”输出值是____________。
38.基类和派生类的关系称为____________。
39.在类的定义中,说明为protected的数据成员称为保护成员。
保护数据成员具有双重作4 全国2013年1月自学考试C加加程序设计试题用:对于其派生类而言,是公有的;而对于其外部的程序而言,是____________。
40.假定x =10,则表达式x< =10? 20:30的值为____________。
三、改错题(本大题共5小题,每小题2分,共10分)下面的类定义中有一处错误,请写出错误所在行并给出修改意见41.#include<iostream.h>class point{private: float x,y;public: point( float a,float b) { x = a;y = b; }void f( ) {x=0;y=0;}void getx( ) { cout<< x<< endl; }void gety( ) { cout<< y<< endl; }} ;main() {point a (3.5) ;a.getx( )}42. #include < iostream. h >main( ) {int x =7;const int * p = &x;* p=99cout<< * p<< endl;}43. #include < iostream. h >class test{private: int x;y;public: void f( int a,int b) { x = a;y = b; }int max( ) { return(x > y) ? x:y; }5 全国2013年1月自学考试C加加程序设计试题} ;main( ) {test a;a.f(1,3);cout<< a. max( ) << endl;}44. #include < iostream. h >class test{private: int x;public:test( int a) { x = a; }void set( int a) { x = a; }void get( ) { cout<< x<< endl; }} ;class testl: public test{private: int x;public : testl ( int a) { x = a; }void set( int a) { x = a; }void get( ) { cout<< x<< endl; }} ;45. #include < iostream. h >class f{private: int x,y;public:void fl ( int a,int b) { x = a;y = b ;}void print( ){ cout<< x<< ''<< y<< endl; }} ;main( ) {f a;float x = 1.5 y = 2.0;a.fl(x,y);6 全国2013年1月自学考试C加加程序设计试题a.print( );}四、完成程序题(本大题共5小题,每题4分,共20分)46.将下划线处缺少的部分写在“答题纸”上。
源程序如下:#include < iostream >using namespace std ;class base{int a,b;public:base(int x,int y){a=x;b=y;}void show(________________){cout<<p.a<<’’,’’<<p.b<<endl;}}________________void main( ){base b(78,87);b.show(b);}47.将下划线处缺少的部分写在“答题纸’’上。
源程序如下:#include <iostream>#include <fstream>using namespace std ;void main( ){________________myf(''ab. txt'');//定义输出流文件,并初始化7 全国2013年1月自学考试C加加程序设计试题________________<<''This ia a TXT file'';//向文件输入字符串myf. close( );}48.在下面程序中的下划线处填上适当的程序(答案写在“答题纸’’上),使程序的输出结果如下:67,90源程序如下:#include <iostream>using namespace std ;class base{private:int x,y;public:void initxy( int a,int b){x=a;y=b;}void show( base*p);} ;inline void base::show(________________){cout<<p- >x<<'',''<<p- >y<<endl;}void print( base *p){p -> show(p);}void main( ){base a;a.initxy( 67 ,90);8 全国2013年1月自学考试C加加程序设计试题print(________________);}49.下面程序给出了一个从普通的基类派生出一个模板类的方法,在下划线处填上正确的部分(答案写在“答题纸’’上)。