资源描述
C++程序设计试卷
一、 填空题(每空1分,共15分)
1. C语言的基本数据类型有四种,用类型说明表示为: 、 、
、 。
2. if语句的三种形式是: ;
;
。
3. C语言是一种函数式,C程序中至少要有一个 函数。
4. 已知j=2,则j>3的值为: 。
5. C语言的一个语句必须以符号 结束。
6. 派生类的3种继承方式分别是___________、_______和_______。
7. 绑定是指一个计算机程序自身彼此关联的过程。按照绑定所进行的阶段不同,可分为_____________和__________。
二、 单项选择题(每题2分,共20分)
1.由C++源程序文件编译而成的目标代码文件的缺省扩展名为【 】。
A.cpp B.exe C.obj D.lik
2.设x和y均为bool类型,则x&&y为真的条件是【 】。
A.它们均为真 B.其中一个为真
C.它们均为假 D.其中一个为假
3 .设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是【 】。
A.10,11,12 B.11,12,12
C.10,12,12 D.11,11,12
4.设有说明int s[2]={0,1},*p=s; 则下列错误的C++语句是【 】。
A.s+=1; B.p+=1; C.*p++; D. (*P)++;
5.若有char a[3]= {‘A’,’\0’,’D’},*P=a,i=2,j=4;则下列表达式值不是1的有【 】。
A.strlen (a); B.j‖j; C.* (P+1); D.- -ⅰ;
7.函数重载的根据是【 】。
A. 函数的返回值
B. 函数名
C. 函数参数的个数与类型
D. 函数体的功能相似
8.下面描述中,【 】描述了抽象类的特性
A. 可以声明虚函数
B. 可以进行构造函数重载
C. 可以定义友元函数
D. 不能声明抽象类的对象
9.派生类的对象对它的基类成员中【 】是可以访问的
A. 公有继承的公有成员
B. 公有继承的私有成员
C. 保护继承的私有成员
D. 私有继承的保存成员
10.对于派生类的构造函数,在定义对象时构造函数的执行顺序是【 】。
A. 先执行基类的构造函数,再执行派生类本身的构造函数
B. 只执行派生类本身的构造函数
C. 只执行基类的构造函数
D. 先执行派生类本身的构造函数,再执行基类的构造函数
三、 阅读程序填空题(共15分)
1. 以下将输入的两个数a,b按从大到小的顺序输出的程序,
2. 请在______处补充相应的语句,使程序完整。
#include <iostream.h>
swap(int *p1, int *p2)
{ ___①__;
p=p1;
p1=p2;
② ;
}
main()
{ int a,b;
int *pointer_1,*pointer_2;
cin>>a>>b;
pointer_1=&a; pointer_2=&b;
if( ③ ) swap(pointer_1,pointer_2);
cout<<*pointer_1<<*pointer_2;
}
2.以
下是用二级指针处理字符串,请在______处补充相应的语句,使程序输出的结果为”good bye”
。
#include “iostream.h”
#define NULL 0
void main()
{
char **p;
char *name[]={"hello","good","world","bye",""};
p=name+1;
;
④ ;
while(**p!=NULL)
cout<< ⑤ <<endl;
}
3. 以下程序实现的功能是找出给定的5个学生中成绩最高的,请在______处补充相应的语句,使程序完整。
#include <iostream.h>
using namespace std;
class Student
{
public:
Student(int n, float s):num(n),score(s){}
int num;
float score;
};
int main()
{
Student stud[5]={Student(101,78.5),Student(102,85.5,Student(103,98.5),
Student(104,100.0),Student(105,95.5)};
void max(Student *);
Student *p=&stud[0];
max(___⑥_____);
return 0;
}
void max(Student * arr);
{
float max_score=__⑦___;
_____⑧______;
for(int I=1;I<5;I++)
if(arr[I].score>max_score) {max_score=arr[I].score; k=I;}
cout<<arr[k].num<<””<<max_score<<endl;
}
四、 阅读程序写输出结果题(每题5分,共20分)
1. 分析下面程序运行的结果。
#include <iostream.h>
using namespace std;
int main()
{
int i,j,m,n;
i=8;
j=10;
m=++i+j++;
n=(++i)+(++j)+m;
cout<<i<<’t’<<j <<’\t’<<m<<’\t’<<n<<endl;
return 0;
}
运行时输出:_____________________________。
2. #include <iostream.h>
main()
{ int a[3][4]={{1,2,3,4}, {9,8,7,6}, {-10,10,-5,2}};
int i,j,row=0,colum=0,max;
max=a[0][0];
for(i=0;i<=2;i++)
for(j=0;j<=3;j++)
if(a[i][j]>max)
{ max=a[i][j];
row=i;
colum=j;
}
cout<<"max=”<<max<<”row=””<<row<<”colum="<<colum<<endl;
}
运行时输出:___________________________。
3. #include <stdio.h>
main()
{ void increment(void);
increment();
increment();
increment();
}
void increment(void)
{ int x=0;
x++;
printf(“%d\n”,x);
}
运行时输出为:
4. #include <iostream.h>
class Student
{
public:
Student(int n,float s):num(n),score(s){}
void change(int n,float s) {num=n;score=s;}
void display(){cout<<num<<” ”<<score<<endl;}
private:
int num;
float score;
}
int main()
{
Student stud(101,78.5);
stud.display();
stud.change(101,80.5);
stud.display();
return 0;
}
运行时输出为:
五、 编程题(每题10,共30分)
1、 有一个函数:
1 当x>0时
y= 0 当x=0时
-1 当 x<0时
写一个程序,输入x,输出y的值。
2、 编程求输入的十个整数中正数的个数及其平均值
。
3、 实现一个用于计算面积的圆类,要求该类:
(1) 数据成员包括:半径(r)
(2) 提供输入半径的成员函数;
(3) 提供计算面积的成员函数;
第 5 页 共 5 页
展开阅读全文