百度空间 | 百度首页 
               
 
查看文章
 
高等教育自学考试C++程序设计(2008版)辅导资料
2008-10-17 17:46

全国高等教育自学考试 计算机及应用专业(独立本科段)计算机信息管理(独立本科段)(2008年版)C++程序设计(刘振安 主编)考前辅导资料 1、教材上10章习题的全部答案、教材上的例子程序源代码(帮助你上机运行查看结果)、根据考试大纲编写的八套模拟试题(含答案)使你在考试中轻松过关,现有偿转让,全部资料是电子版338KB,通过EMAIL传送。有需要者短信联系:13011697612并打款 68元工商银行9558 8116 0710 0056 471 董玉刚,款到发货,非诚勿扰.也可通过淘宝网交易.2、C++程序设计考前辅导视频(与教材内容大致相同),对你学习教材内容大有帮助,12讲,电子版600MB,通过EMAIL传送。有需要者打款 68元工商银行9558 8116 0710 0056 471 董玉刚,款到发货,非诚勿扰.3、全国高等教育自学考试C++程序设计2008年10月\2009年1月真题及参考答案电子版80KB,通过EMAIL传送。有需要者短信联系:13011697612并打款 36元工商银行9558 8116 0710 0056 471 董玉刚,款到发货,非诚勿扰.4、2009年3月最新版山东省高等教育自学考试C++实践环节辅导资料:辅导教材上全部的C++程序及运行结果电子版、实践环节课堂辅导实录、实践环节考核重点内容,现有偿转让,全部36元,款到发货,非诚勿扰。

高等教育自学考试C++程序设计课程习题答案
第一章
一、选择题
1.B; (typedef ,typeid ,typename,都为保留字);
2.C; (标识符,应该以字母或,下划线开头);
3.C; (标识符中有的特殊符号,只能有下划线);
二、填空题
1. cin,cout 2. new,delete 3. int a(55);
三、改错题
1.没有定义变量num;
2.*p不能当作“左值”。
3.p为常量指针,不能吧p作为“左值”,p=&y,错误。
四、编程题
1. 分别用字符和ASCII码形式输出整数值65和66.
#include < iostream >
using namespace std;
void main()
{
char a='A',b='B';
int ascii_1=53,ascii_2=54;//ASCII码中的,5和6
cout<<"字符输出:"<<(int)a<<","<<(int)b<< endl;
cout<<"ASCII码输出:"<<(char)ascii_2<<(char)ascii_1<<",";
cout<<(char)ascii_1<<(char)ascii_1<< endl;
}
…………………………………………………………………………………………

2008年10月全国高等教育自学考试C++程序设计考试试题


一.    选择(20分)

二.    填空(20分)

21. 设要把一个文件输出流对象myFile与文件“f:\myFile.txt”相关联,所用的C++语句是:

22. C++中ostream类的直接基类是:

23. 运算符[ ]只能用 运算符来重载,不能用友元运算符来重载

24. 定义虚函数所用的关键字是:

25. vector类中用于返回向量中第一个对象的方法是:

26. 在C++中,利用向量类模板定义一个具有20个char的向量E,其元素均被置为字符‘t’,实现此操作的语句是:

27.类的继承是指子类继承基类的 和成员函数

28.不同对象可调用相同名称的函数,但可导致不同的行为现象称为:

29. 指令指示一个编译器将一个源文件嵌入到带该指令的源文件之中

30.设类A有成员函数 void Fun(void);

若要定义一个指向类成员函数的指针变量pafn来指向Fun,该指针变量的声明语句是:

31.设在程序中使用如下语句申请一个对象数组:Point *ptr = new Point[2];

则在需要释放ptr 指向动态数组对象时,所使用的语句是:

32.在保护派生类中,基类权限为Private的成员在派生类中:

33. 类A有如下成员:

     int a::fun(double x){ return (int) x / 2;}

     int a::fun(int x){ return x * 2;}

设a 为类A的对象,在主函数中有int s=a.fun(6.0)+a.fun(2),则执行该语句后,s的值为:

34.对象传送的消息一般由三部分组成:接收对象名,调用操作名和:

35.将指向对象的指针作为函数参数,形参是对象指针,实参是对象的:

36.在String类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不含指定的子串,find函数的返回值是:

37.C++中,声明布尔类型变量所用的关键字是:

38.执行下列代码:int a=29,b=100;

                  cout<<setw(3)<<a<<b<<endl;

                  程序输出结果是:

39.执行下列代码:cout <<”Hex:”<<hex<<255; 程序输出结果是:

40. C++语言中可以实现输出一个换行符并刷新流动功能的操控符是:


三.改错题(10分)

41.

#include <iostream.h>

main()

{

    int x=5,y=6;

    const int *p=&x;*p=y;

    cout<<*P<<endl;


}

42.

#include <iostream.h>

    class f

    {

    private:int x,y;

    public:f1()

          {  

           x=0;y=0;

          }

      print()

    {

       cout<<x<<"<<y<<endl;

    }

    }

    main()

    {

       fa;

       a.f1(1,1);

       a.print();

    }

43.

#include <iostream.h>

class f

{

private:

    int x=0,y=0;

public:

    void f1(int a,int b)

    {

       x=a; y=b;

    }

    void get()

    {

       cout<<x<<','<<y<<endl;

    }

}

main()

{

    fa;

    a.f1(1,3);

    a.get();

}

44.

#include <iostream.h>

class point

{

private:

float x;

public: void f(float a)

       {

           x=a;

       }

       void f()

       {

           x=0;

       }

friend float max(point &a,point &b);

};

float max(point &a,point &b)

{

    return (a.x>b.x)? a.x:b.x;

}

main()

{

point a,b;

a.f(2.2);

b.f(3.3);

cout<<a.max(a,b);

}

45.

#include <iostream.h>

template<class T>

CLASS f

{

private:

    T x,y;

public:

    void f1(Ta,Tb)

       {

           x=a;

          y=b;

       }

    T max()

       {

          return(x>y)?x:y;

       }

};

main()

{

fa;

a.f1(1.5,3.8);

cout<<a.x<<a.y<<a.max()<<endl;

}


四. 完成程序(20分)

46. 完成下列类中的成员函数的定义

Class point

{

private:

int m,n;

public:

point(int,int);

point(point &);

};

point::point(int a,int b)

{

m=a;      =b;

}

point::point(         )

{

    m=t.m;

    n=t.n;

}

四. 完成程序(20分)

46. 完成下列类中的成员函数的定义

Class point

{

private:

int m,n;

public:

point(int,int);

point(point &);

};

point::point(int a,int b)

{

m=a;      =b;

}

point::point(         )

{

   m=t.m;

   n=t.n;

}


47.下面是一个输入半径输出周长和面积的程序

#include<iostream>

using namespace std;

      Pi=3.14159;

void main()

{

double r;

cout<<"r=";

          ;

double l=2.0*Pi*r;

double s=Pi*r*r;

cout<<"\n The long is:"<<l<<endl;

cout<<"the area is:"<<s<<endl;

}


48.

#include<iostream>

#include<fstream>

using namespace std;

class complex

{

public:

     int real;

       int imag;

complex(int r=0,int i=0)

{real=r;imag=i;}

};

complex operator+(    ,complex &b)

{int r=a.real+b.real;

it i=a.imag+b.imag;

return     ;

}

void main()

{complex x(1,2),y(3,4),z;

z=x+y;

cout<<z.real<<"+"<<z.imag<<";"<<endl;

}


49.

程序输出如下:1,9

                 50,30

#include<iostream>

using namespace std;

class base

{

private: int m;

public:

       base(){ };

       base(int a):m(a){ }

       int get(){return m;}

       void set(int a){m=a;}

};

void main()

{

base *ptr=new base[2];

ptr->set(30);

ptr=            ;

ptr->set(50);

base a[2]={1,9};

cout<<a[0].get()<<","<<a[1].get()<<endl;

cout<<ptr-> get()<<",";

ptr=ptr-1;

cout<<          <<endl;

delete[]ptr;

}

50.

#include<iostream>

using namespace std;

void main()

{

float a,b;

                ;//函数cha的原型声明

a=12.5;b=6.5;

float c=           ;//调用函数cha

cout<<c<<endl;

}

float cha(float x,float y)

{

   float w;

   w=x-y;

   return w;

}


五,程序分析题,给出每个程序的输出答案(20分)

51.

#include<iostream>

template<class T>

class Sample

{T n;

public:Sample (T i){n=i;}

int oerator ==(Sample &);

};

template<clsaa T>

int Sample<T>::operator ==(Sample &s)

{if (n==s.n)

return 1;else return 0;

}

void main()

{Sample <int> s1(2),s2(3);

cout<<"s1与械的数据成员"<<(s1==s2? "相等":"不相等")<<endl;

Sample<double>s3(2.5),s4(2.5);

cout<<"s3与械的数据成员"<<(s3==s4?"相等":"不相等") <<endl;

}


52.

#include<iostream>

using namespace std;

template<class T>

T max(T ml,T m2)

{return(m1>m2)?m1:m2;

}

void main()

{

cout<<max(1,7)<<"\t"<<max(2.5,5.0)<<endl;

cout<<max('y','b')<<"\t"<<max("A","a")<<endl;


}


53.

#include<iostream>

using namespace std;

class A

{public:int x;

A(){ }

A(int a){x=a;}

int get(int a){return x+a;}

};

void main()

{A a(8);

int(A::*p)(int);

p=A::get;

cout<<(a.*p)(5)<<endl;

A *pi=&a;

cout<<(pi->*p) (7)<<endl;

}


54.

#include<iostream>

using namespace std;

class book

{char *title;

char *author;

int numsold;

public: book(){}

book(const char *str1,const char *str2,const int num)

{int len=strlen(str1);title=new char[len+1];

strcpy(title,str1);

len=strlen(str2);

author=net char[len+1];

srtcpy (author,str2);

numsold=num;

}

void setbook(const char *str1,const char *str2,const int num)

{int len=strlen(str1);

title=new char[len+1];

strcpy(title,str1);

len=strlen(str2);

author=new char[len+1];

strcpy(author,str2);

numsold=num;

}

~book()

delete title;

delete author;

}

void print (ostream&output)

{output<<"书名:"<<title<<endl;

output<<"作者:"<<author<<endl;

output<<"月销售量:"<<numsold<<endl;

}

};

void main()

{book obj1("数据结构","严小华",200),obj2;

obj1 print(cout);

obj2 setbook("C++程序设计","谭浩强",210);

obj2 print(cout);

}


六.综合设计题(10分)

55.在三角形类TRI实现两个函数,功能是输入三个顶点坐标判断是否构成三角形。

#include<iostream.h>

#include<math.h>

class point{private:float x,y;

public:point(float a,float b){x=a;y=b;}

point(){x=0;y=0;}

void set(float a,float b){x=a;y=b;}

float get x(){return x;}

float get y(){return y;}

};

clsaa tri

{

point x,y,z;

float s1,s2,s3;

public:

.............settri(..............) ;//用于输入三个顶点坐标

............test(..............);//用于判断是否构成三角形

};


请写出两个函数的过程,如果需要形式参数,请给出型参和数量,以及返回值数型

全国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)构成重载的是(     )
A.int print(int);    B.void print(char,char);
C.int print(char);    D.void print(int,int);
11.在下列成对的表达式中,运算结果类型相同的一对是(     )
A.7/2和7.0/2.0    B.7/2.0和7/2
C.7.0/2和7/2 D.7.0/2.0和7.0/2
l2.内联函数的特点是(     )
A.减少代码量,加快访问速度    B.减少代码量,减缓访问速度
C.增加代码量,减缓访问速度    D.增加代码量,加快访问速度
13.类的私有成员可在何处被访问(     )
A.本类的成员函数中    B.本类及子类的成员函数中
C.通过对象名在任何位置    D.不可访问
14.类的构造函数在以下什么情况下会被自动调用(     )
A.定义成员函数时    B.定义对象时
C.定义数据成员时    D.定义友元函数时
15.下列关于析构函数描述正确的是(     )
A.可以重载    B.函数体中必须有delete语句
C.返回类型必须是void类型    D.不能指定返回类型  
16.设有函数T Sum(T x,T y){return x+y;},其中T为模板类型,则下列语句中对该函数错误的使用是(     )
A.Sum(1,2);    B.Sum(3.0,2.2);
C.Sum(‘A’,‘C’);    D.Sum("A","C");
17.下列哪个编译指令属于条件编译指令(     )
A.#include    B.#define   
C.#else D.#pragma
18.关于类的静态成员函数描述错误的是(     )
A.在创建对象前不存在    B.不能说明为虚函数
C.不能直接访问非静态函数    D.不是对象的成员
l9.如果类A被声明成类B的友元,则(     )  
A.类A的成员即类B的成员
B.类B的成员即类A的成员
C.类A的成员函数不得访问类B的成员
D.类B不一定是类A的友元
20.派生类的对象可以访问以下那种情况继承的基类成员(     )  
A.私有继承的私有成员    B.公有继承的私有成员
C.私有继承的保护成员    D.公有继承的公有成员


类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (1)
 
最近读者:
 
网友评论:
4
2008-10-27 20:51
好资料,好人一生平安
 
本篇日志被作者设置为禁止发表新评论

     

©2009 Baidu