全国2009年1月C++程序设计自考试题

发布时间:2021-10-18 11:05:31

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题
课程代码: 课程代码:04737 小题, 一、单项选择题(本大题共 20 小题,每小题 1 分,共 20 分) 单项选择题 本大题共 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、 在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。错选、 多选或未选均无分。 多选或未选均无分。 1.C++源程序文件扩展名为 源程序文件扩展名为( 源程序文件扩展名为 A..cpp B..h C..1ib ) D..obj )

2.在 C++中使用流进行输入输出,其中专用于从键盘进行输入的流是 在 中使用流进行输入输出, 中使用流进行输入输出 其中专用于从键盘进行输入的流是( A.cerr B.cin C.cout D.cfile )

3.包含自定义头文件 file.h 的预处理指令是 包含自定义头文件 的预处理指令是( 包含自定义头 A.#define<file.h> B.#include file.h )

C.#define file.h

D.#include"file.h"

4.用于标识十六进制前缀或后缀是( 用于标识十六进制前缀或后缀是 用于标识十六进制前缀或后缀是 A.无 无 B.后缀 L 或 e 后缀 C.前缀零 前缀零

D.前缀 0x 前缀 )

5.设存在整型变量 int x,则下列句与其它三项含义不同的是 设存在整型变量 ,则下列句与其它三项含义不同的是( A.int* p=&x; ; B.int& p=x; ; C.int & p=x; ;

D.int &p=x; ; )

6.在定义类成员时,为产生封装性,则需使用哪个关键字( 在定义类成员时,为产生封装性,则需使用哪个关键字 在定义类成员时 A.public B.publish C.protected D.private

7.设函数 void swap(int&,int&)将交换两形参的值,如两整型变量 int a=10;int b=15; 设函数 将交换两形参的值, , 将交换两形参的值 ; ; 则执行 swap(a,b)后,a、b 值分别为 , 后 、 值分别为( A.10,10 , B.10,15 , C.15,10 , ) D.15,15 , )

8.函数默认参数在函数原型中说明,默认参数必须放在参数序列的( 函数默认参数在函数原型中说明,默认参数必须放在参数序列的 函数默认参数在函数原型中说明 A.前部 前部 B.中部 中部 C.后部 后部 D.两端 两端

9.设存在函数 int min(int,int)返回两参数中较小值,若求 15,26,47 三者中最小值,下列表达式中 设存在函数 返回两参数中较小值, , 返回两参数中较小值 , , 三者中最小值, 错误的是( 错误的是 )

A.int m=min(min(15,26),min(15,47)); , , , ; B.int m=min(15,26,47); , , ; C.int m=min(15,min(47,26)); , , ; D.int m =min(min(47,26),16); , , ; 10.下列函数不能和函数 void print(char)构成重载的是 下列函数不能和函数 构成重载的是( 构成重载的是 )
1

1/13 全国 2009 年 1 月自学考试 C 加加程序设计试题

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

A.int print(int); ; C.int print(char); ;

B.void print(char,char); , ; D.void print(int,int); , ; )

11.在下列成对的表达式中,运算结果类型相同的一对是( 在下列成对的表达式中,运算结果类型相同的一对是 在下列成对的表达式中 A.7/2 和 7.0/2.0 / / C.7.0/2 和 7/2 / / l2.内联函数的特点是 内联函数的特点是( 内联函数的特点是 B.7/2.0 和 7/2 / / D.7.0/2.0 和 7.0/2 / / )

A.减少代码量,加快访问速度 减少代码量, 减少代码量 C.增加代码量,减缓访问速度 增加代码量, 增加代码量 13.类的私有成员可在何处被访问 类的私有成员可在何处被访问( 类的私有成员可在何处被访问 A.本类的成员函数中 本类的成员函数中 C.通过对象名在任何位置 通过对象名在任何位置

B.减少代码量,减缓访问速度 减少代码量, 减少代码量 D.增加代码量,加快访问速度 增加代码量, 增加代码量 )

B.本类及子类的成员函数中 本类及子类的成员函数中 D.不可访问 不可访问 )

14.类的构造函数在以下什么情况下会被自动调用 类的构造函数在以下什么情况下会被自动调用( 类的构造函数在以下什么情况下会被自动调用 A.定义成员函数时 定义成员函数时 C.定义数据成员时 定义数据成员时 B.定义对象时 定义对象时 D.定义友元函数时 定义友元函数时 )

15.下列关于析构函数描述正确的是( 下列关于析构函数描述正确的是 下列关于析构函数描述正确的是 A.可以重载 可以重载 C.返回类型必须是 void 类型 返回类型必须是

B.函数体中必须有 delete 语句 函数体中必须有 D.不能指定返回类型 不能指定返回类型

16.设有函数 T Sum(T x,T y){return x+y;},其中 T 为模板类型,则下列语句中对该函数错误的使 设有函数 为模板类型, , ;, 用是( 用是 ) B.Sum(3.0,2.2); C.Sum(‘A’,‘C’); , ; , ; ) D.#pragma ) D.Sum("A","C"); , ;

A.Sum(1,2); , ;

17.下列哪个编译指令属于条件编译指令 下列哪个编译指令属于条件编译指令( 下列哪个编译指令属于条件编译指令 A.#include B.#define C.#else

18.关于类的静态成员函数描述错误的是( 关于类的静态成员函数描述错误的是 关于类的静态成员函数描述错误的是 A.在创建对象前不存在 在创建对象前不存在 C.不能直接访问非静态函数 不能直接访问非静态函数

B.不能说明为虚函数 不能说明为虚函数 D.不是对象的成员 不是对象的成员 )

l9.如果类 A 被声明成类 B 的友元,则( 如果类 的友元, A.类 A 的成员即类 B 的成员 类 B.类 B 的成员即类 A 的成员 类 C.类 A 的成员函数不得访问类 B 的成员 类 D.类 B 不一定是类 A 的友元 类

20.派生类的对象可以访问以下那种情况继承的基类成员 派生类的对象可以访问以下那种情况继承的基类成员( 派生类的对象可以访问以下那种情况继承的基类成员

)
2

2/13 全国 2009 年 1 月自学考试 C 加加程序设计试题

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

A.私有继承的私有成员 私有继承的私有成员 C.私有继承的保护成员 私有继承的保护成员

B.公有继承的私有成员 公有继承的私有成员 D.公有继承的公有成员 公有继承的公有成员 公有继承的公有

小题, 二、填空题(本大题共 20 小题,每小题 1 分,共 20 分) 填空题 本大题共 请在每小题的空格中填上正确答案。错填、不填均无分。 请在每小题的空格中填上正确答案。错填、不填均无分。 21.若使用标准输出流把整型变量 a 的值输出到屏幕上,实现此操作的 C++语句是 cout<<a______。 若使用标准输出流把整型变量 的值输出到屏幕上, 语句是 。 22.C++将数据从一个对象流向另一个对象的流动抽象为 流”,从流中获取数据的操作称为 提取 将数据从一个对象流向另一个对象的流动抽象为“流 ,从流中获取数据的操作称为_提取 。 提取___。 将数据从一个对象流向另一个对象的流动抽象为 23.执行下列代码 执行下列代码 int b=100; ; cout<<"Hex:"<<hex<<b; : ; 程序的输出结果是_Hex:64_____。 。 程序的输出结果是 24.静态联编所支持的多态性称为 编译时___的多态性。 静态联编所支持的多态性称为_编译 的多态性。 静态联编所支持的多态性称为 编译时 的多态性 25.C++程序必须有且只有一个主函数,其函数名为_main_____。 程序必须有且只有一个主函数,其函数名为 程序必须有且只有一个主函数 。 26.写出声明一个复数对象的语句,并使该对象被初始化为 2.2+1.3i,此声明语句是 写出声明一个复数对象的语句, 写出声明一个复数对象的语句 , _complex<double> a(2.2,1.3)_____。 。 27.若有函数定义为: 若有函数定义为: 若有函数定义为 int add(int ml=0,int m2=2,int m3=4) , , {return ml+m2+m3;} ; 在主函数中有 int s=add(1)+add(0,1)+add(0,1,2); , , , ; 的值为___15___。 则执行此语句后 s 的值为 。 28.C++中使用 中使用__inline____关键字说明函数为内联函数。 关键字说明函数为内联函数。 中使用 关键字说明函数为内联函数 29.在源程序中有宏定义:#define PI 在源程序中有宏定义: 在源程序中有宏定义 _#undef _________删除该宏定义。 删除该宏定义。 删除该宏定义 30.类和其它数据类型不同的是, 类和其它数据类型不同的是, 还可以有对数据进行操作的函数 。 类和其它数据类型不同的是 组成这种类型的不仅可以有数据, 组成这种类型的不仅可以有数据, 还可以有对数据进行操作的函数_。 函数 31.有下列代码 int a=0;double b=0;cin>>a>>b;当用键盘输入 1.25 时,b=__0.25____。 有下列代码 ; ; ; 。 32.对于类 Point 而言,其析构函数的定义原型为 对于类 而言,其析构函数的定义原型为 数的定义原型为_~Point()_____。 。 33.对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序,与它们在成员初始化列表中给 对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序, 对象成员构造函数的调用顺序取决于这些对象在类中说明的顺序 出的顺序__无关 出的顺序 无关____。 无关 。 34.类的简单成员函数是指声明中不含 类的简单成员函数是指声明中不含_const_____、volatile、static 关键字的函数。 关键字的函数。 类的简单成员函数是指声明中不含 、 、 35.与操作对象的数据类型相互独立的算法称为泛型算法。 与操作对象的数据类型相互独立的算法称为泛型算法。 与操作对象的数据类型相互独立的算法称为泛型算法 36.从一个或多个以前定义的类产生新类的过程称为 派生 从一个或多个以前定义的类产生新类的过程称为__派生 从一个或多个以前定义的类产生新类的过程称为 派生_________。 。 37.在 vector 类中向向量尾部插入一个对象的方法是 在 类中向向量尾部插入一个对象的方法是___push_back___________。 。
3/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 3

3.14,则若不想使该宏定义影响到程序的其它地方,可以使用 ,则若不想使该宏定义影响到程序的其它地方 该宏定义影响到程序的其它地

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

38.C++中用于动态创建对象,并返回该对象的指针的关键字是__new____。 中用于动态创建对象,并返回该对象的指针的关键字是 。 中用于动态创建对象 39.C++的流类库预定义的与标准输出设备相联接的流是 的流类库预定义的与标准输出设备相联接的流是__cout____。 的流类库预定义的与标准输出设备相联接的流是 。 40.执行下列代码 执行下列代码 cout<<noshowpoint<<123.0; ; 程序输出结果是__123____。 。 程序输出结果是 三、改错题(本大题共 5 小题,每小题 2 分,共 10 分) 改错题 本大题共 小题, 下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。 下面的类定义中有一处错误,请用下横线标出错误所在行并给出修改意见。 41.#include<iostream.h> class f{ private:float x,y; : , ; public:f(float a,float b){x=a;y=b;} : , ; ; float max(){return(x<y)?x:y;}//求最大值 float max(){return(x>y)?x:y;} //求最大值 : ; // : ; } ; main( ){ f a(1.5,3.8); , ; cout<<a.max( )<<endl; ; } 42.#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;} ; }; main(){ const test a(3); ; a.set(5); ; a.get(); ; } 43.#include<iostream.h> class point{
4/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 4

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

private:float x,y; : , ; public:f1(float a,float b){x=a;y=b;} : , ; ; point(){x=0;y=0;} ; ; void getx(){cout<<x<<endl;} ; void gety(){cout<<y<<endl;} ; }; ; void print(point a){cout<<a.x<<endl;} ; main(){ point a; ; a.f1(3.0,5.0); , ; print(a); ; } 44.#include<iostream.h> class f{ private:int x,y; : , ; public:fl(int a,int b){x=a;y=b;} : , ; ; void print(){cout<<x<<y<<endl;} ; } ; void print(point a){a.getx(); }

main(){ f a; a.f1(1.5,1.8); , ; a.print(); ; } 45.#include<iostream.h> main(){ int x=6; ; const int*p=x; const int*p=&x; ; ; cout<<*p<<endl; ; } 四、完成程序题(本大题共 5 小题,每小题 4 分,共 20 分) 完成程序题 本大题共 小题, 46.完成下面程序,使其输出 l0,并在退出运行时正确释放分配给指针的存储空间。 完成下面程序, 完成下面程序 ,并在退出运行时正确释放分配给指针的存储空间。
5/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 5

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

#include

<iostream>

using namespace std; ; void main() { int *a,*p; , ;

a=new int(10); ; p= a______; ; cout<<*p<<endl; ; ___delete a;_____ } 47.#include <iostream>

using namespace std; ; class base { private:int x; : ; public:base(int a){x=a;} : ; int get(){return x;} ; void showbase() {cout<<"x="<<x<<endl;} ; }; ; class Derived:public base : {private:int y; : ; public:Derived(int a,int b):base(a){y=b;} : , : ; void showderived() {cout<<"x="<<get()<<",y="<<y<<endl;} , ; }; ; void main() { base b(3); ; Derived d(6,7); , ; b.showbase(); ; 3

d.showderived(); 6 ,7 ;
6/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 6

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

__b=d______; b.showbase(); 6 ; Derived b1(6,7)_______; b1.showbase(); 6 ; base* pb=&bl; ; pb—>showbase();6 — ; d.showderived();6,7 ; b.showbase(); ; } 输出结果如下: 输出结果如下: x=3 x=6,y=7 , x=6 x=6 x=6 x=6,y=7 , x=6 48.下面程序的运行结果如下: 下面程序的运行结果如下: 下面程序的运行结果如下 B: : :display() : C: : :display() : 在下划线处填上缺少的部分。源程序如下: 在下划线处填上缺少的部分。源程序如下: #include<iostream> using namespace std; ; class B { public: : __virtual_void___display( ) }; ; class C:public B : { public: :
7/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 7

6

{cout

<< "B: : :display( ) "<<endl;} : ;

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

_ void ______display(){cout<<"C: : :display()"<<endl;} : ; }; ; void fun(B*p) { p—>display(); ; } void main() { B b,*pb; , ; C c; ; pb=&b; & ; fun(pb); ; pb=&c; & ; fun(pb); ; } 49.下面程序的运行结果如下: 下面程序的运行结果如下: 下面程序的运行结果如下 This is line1 This is line2 This is line3 在下划线处填上缺少的部分。源程序如下: 在下划线处填上缺少的部分。源程序如下: #include <iostream>

#include_<fstream>____ using namespace std; ; void main() { fstream fin, fout; fout.open("my.txt",ios: , : :out); : ; if(!fout.is_open()) return; ; for(int i=0;i<3;i=i+1) ; ; fout<<"This is line"<<i+1<<endl; ;
8/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 8

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

fout.close(); ; fin.open("my.txt",ios: , : :in); : ; if(! fin.is_open()) return; ; char str[100]; ; while(_!fin.eof()_____) { fin.getline(str,100); , ; cout<<str<<endl; ; } fin.close(); ; } 50.在下划线处填上缺少的部分。源程序如下: 在下划线处填上缺少的部分。源程序如下: 在下划线处填上缺少的部分 #include <iostream>

using namespace std; ; _template<class T>_______ T fun(T x) { __T____y; ; y=x*x-T(5); ; return y; ; } void main() { float a=2; ; cout<<fun(a); ; } 五、程序分析题(本大题共 4 小题,每小题 5 分,共 20 分) 程序分析题 本大题共 小题, 51.请写出 myTextl.txt 文本文件中的内容 请写出 #include<iostream> #include <string>
9/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 9

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

using namespace std; ; #include<fstream> void main() { ofstream myFile1; ; myFilel.open("myTextl.txt"); ; cout<<"Enter the data in Chinese format(e.g. ,2008,May 25):"<<endl; , : ; string Date("2008,January 1"); , ; string Year=Date.substr(0,4); , ; int k=Date.find(","); , ; int i=Date.find(" "); ; string Month=Date.substr(k+l,i-k-1); , ; string Day=Date.substr(i+1,2); , ; string NewDate=Day+" "+Month+" "+Year; ; myFilel<<"original date:"<<Date<<endl; : ; myFile1<<"Converted date:"<<NewDate<<endl; : ; myFilel.close(); ; } original date:2008,January 1 : , Converted date:1 January 2008 : 52.给出下面程序的输出结果 给出下面程序的输出结果 #include<iostream> using namespace std; ; class Simple { int x,y; , ; public: : Simple(){x=y=0;} ; Simple(int i,int j){x=i;y=j;} , ; ; void copy(Simple&s); & ; void setxy(int i,int j){x=i;y=j;} , ; ;
10/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 10

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

void print(){cout<<"x="<<x<<",y="<<y<<endl;} , ; }; ; void Simple: :copy(Simple&s) : : & { x=s.x;y=s.y; ; ; } void func(Simple s1,Simple&s2) , & { s1.setxy(30,40); s2.setxy(70,80); , ; } void main() { Simple obj1(1,2),obj2; , , ; obj2.copy(obj1); ; func(obj1,obj2); , ; obj1.print(); ; obj2.print(); ; } x=1,y=2 x=70,y=80 53.给出下面程序的输出结果 给出下面程序的输出结果 #include"iostream.h" int main() { int i=17; ; while(i>=10) if(--i%4==3)continue; % ; else cout<<"i="<<i--<<endl; ; }
11/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 11

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

i=16 i=14 i=12 i=10

54.给出下面程序的输出结果 给出下面程序的输出结果 #include<iostream> using namespace std; ; void main() { int num=300; ; int &ref=num; ; cout<<ref; ; ref=ref-100; ; cout<<" "<<num; ; num=num-50; ; cout<<" "<<ref<<endl; ; } 300 200 150 六、程序设计题(本大题共 1 小题,共 10 分) 程序设计题 本大题共 小题, 55.定义堆栈类模板 Stack(先进后出 ,栈的大小由使用者确定。要求该类模板对外提供 定义堆栈类模板 先进后出),栈的大小由使用者确定。 先进后出 如下二种基本操作: 如下二种基本操作: (1)push 入栈(2)pop 出栈,用数组来实现 出栈, #include<iostream> using namespace std; ; template<class T,int size> , class Stack{ T x[size]; ; int current; ; public: : Stack(){current=0;} ;
12/13 全国 2009 年 1 月自学考试 C 加加程序设计试题 12

全国 2009 年 1 月自学考试 C++程序设计试题 程序设计试题

....push(....); ; ....pop(....); ; }; 请写出两个函数的过程(如果需要形式参数,请给出形参类型和数量,以及返回值类型 请写出两个函数的过程 如果需要形式参数,请给出形参类型和数量,以及返回值类型) 如果需要形式参数

void {

push()

for(int i=0;i<size;i++) { cin>>current; x[i]=current; } } void { for(int i=size-1;i>=0;i--) cout<<x[i]<<endl; } pop()

13/13 全国 2009 年 1 月自学考试 C 加加程序设计试题

13


相关文档

  • 全国2009年1月自考C++程序设计试题
  • 全国2009年1月自考C++程序设计试题及答案
  • 2009年1月真题全国自考高级程序设计C++
  • 全国2009年1月高等教育自学考试C++程序设计试题
  • 全国2009年10月自考C++程序设计试题及答案
  • 2009年10月份全国自考c++程序设计试题
  • 全国2009年10月自考C++程序设计试题
  • 全国2009年1月自学考试C加加程序设计试题
  • 全国2009年10月自考C++程序设计试题答案
  • 猜你喜欢

  • 创新模式打造华南地区顶级物流园——广东中投实业开发有限公司董事长钟宁兴访谈
  • 【范文】XX年七下英语Unit1 People around us 单元教案(牛津深圳版)
  • 谈加强电气火灾原因调查的若干问题(一)
  • 电商激战大佬谋动争权夺“市”
  • 全力服务地方经济发展—记漯河市工商局专业分局
  • 简版二手房屋买卖合同范本
  • 息息相关的意思和造句
  • 南陵县昌友汽车贸易有限公司企业信用报告-天眼查
  • 高中语文文言文完全复*大全
  • 音乐 六年级上册 第5单元 丝绸路上 word高清打印版电子书电子课本
  • 六年级下册英语课件-Unit2 PartA Let's learn 1_人教PEP(2014秋)
  • 中国最长一条高速公路
  • 小学六年级小说:亲人日落
  • 六年级上册语文课件 - 21.奇异的琥珀 语文S版 (共7张PPT)
  • 分数的初步认识教学设计(5篇)免费下载
  • 杜甫——《九日蓝田崔氏庄》
  • 怎么按摩丰胸最有效
  • 桑叶茶的功效与作用 桑叶茶的保存方法
  • 我和爸爸妈妈的故事_三年级作文_1
  • 关于三只小猪的小学作文4篇
  • 2012年主管中药师测试“专业实践能力”新大纲解读
  • 家政服务员培训计划ppt
  • 《桃花源记》审美鉴赏
  • 人教新课标三年级数学上册:7 分数的初步认识 课件 (1)(共12张PPT)
  • 异地恋生日祝福语
  • 浅谈儒家人文精神的美育品格与化育之道
  • 牛津译林版八年级下册(新):8B Unit1 Past and present单元综合测试卷(A)
  • 2017-2018学年江苏省南京市金陵中学第二学期期末考试高二地理(选修)试题Word版含解析
  • *代电子测量技术-频谱仪
  • 1.1.1 职位说明书管理办法
  • 新课标人教A版高中数学必修四 2.5.2 向量在物理中的应用举例 课件(共13张PPT)
  • 模块五专题五的拓展性阅读(2012-5-23.170524.103)
  • WCDMA的软切换策略
  • 精品2019高中历史 第一单元 古代东方 第1课《古代两河流域》教案 华东师大版第一册
  • 国家外国专家局关于商请境外培训机构提供有关年检信息材料的函
  • 宝宝得了奶瓶齿怎么办如何修复奶瓶齿
  • 职场心理学之与上司相处的技巧
  • 2018届安徽省合肥市高三第二次教学质量检测数学(理)试题Word版含解析
  • 参考合同-员工保密协议书样本
  • 俄罗斯远东地区外资发展态势分析
  • 上海立范建筑材料有限公司企业信用报告-天眼查
  • 小学语文部编人教版一年级下册:《动物儿歌》名师教案
  • 电脑版