自考c++程序设计 参考
第一章 一、选择题
1.B; (typedef ,typeid ,typename,都为保留字); 2.C; (标识符,应该以字母或,下划线开头); 3.C; (标识符中有的特殊符号,只能有下划线); 二、填空题 1. cin,cout 2. new,delete 3. int a(55); 三、改错题
1.没有定义变量num;
2.不能给变量x,声明指向常量的指针const int *p=&x; 如果吧x定义为常量const,*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<<\字符输出:\,\
cout<<\码输出:\,\cout<<(char)ascii_2<<(char)ascii_2<< endl; }
2.编写一个int型变量分配100个整形空间的程序。 #include < iostream > using namespace std; void main() { int *p;
p = new int[100];
for(int i = 0;i < 100;i++) { *(p+i)=i; }
for(i = 0;i < 100;i++) {
cout<<*(p+i)<<\,\} delete p; }
3.编写完整的程序,它读入15个float值,用指针把它们存放在一个存储快里,然后输出这
些值和以及最小值。
#include < iostream > #include < algorithm > //用于数组排列的头文件 using namespace std; void main()
{
float *p;
p = new float[15];
cout<<\输入15个float类型的值:\for(int i = 0;i < 15 ; i++) {
cin>>*(p+i); }
for(i = 0;i < 15;i++) {
cout<<*(p+i)<<\,\}
sort(p,p+15);
cout<<\最小的是:\delete p; }
4.声明如下数组:
int a[] = {1 ,2 ,3, 4, 5, 6, 7, 8};
先查找4的位置,讲数组a复制给数组b,然后将数组a的内容反转,再查找4的位置,最后分别输出数组a和b的内容。
#include < iostream> #include < algorithm> #include < functional> using namespace std; void main()
{
int a[]={1,2,3,4,5,6,7,8},b[8];
cout<<\数组a中‘4’的位置是:\查找4的位置 copy(a,a+8,b);//将数组a复制给数组b
reverse_copy(b,b+8,a);//把数组b,逆向复制给a,完成a的逆转 cout<<\数组a反转后,‘4’的位置是:\在查找4的位置
cout<<\数字a的内容:\for(int i=0;i<8;i++) cout<< a[i]<<\
cout<<\数组b中的内容:\for(i=0;i<8;i++) cout<< b[i]<<\}
[color=#FF0000]第二章 [/color] 一、单项选择 1.D; 2.D; 二、作图题
1( 已知一个学生类具有性别和年龄两个属性,男学生张明的年龄为12岁,女学生李红的年龄为11岁。给出这个学生类的类图和它们的对象图。
(类)Student (对象)张明 (对象)李红 string sex; sex(男); sex(女); int age; age(12); age(11); 方法? 方法? 方法?
2( 一个圆具有圆心坐标和半径两个属性,并且能够给出圆面积,请画出这个圆类的类图。 (类) Circularity (类)Point
Point p; float x; float radii; float y; float getX(); float getAcreage(); float getY();
3( 画出一个班级类的类图,为它设计必要的属性以表示这个类的特征。 (类) PubClass string no;//编号 int num;//人数 ?
4( 画出一种电话卡的类图,为它设计必要的属性。 (类) Card long no;//编号 float balance;//余额
5( 为上题的电话卡设计必要的成员函数,以便提供基本服务。 (类) Card long no;//编号 float balance;//余额
float getBalance();//显示余额 三、编程题
1.使用多种方法编写将两个字符串连接在一起的程序。 #include < iostream > #include < string > using namespace std; void main()
{
//使用string类定义字符串,完成字符串连接 string str1(\程序设计\string str3;