C 程序设计试卷

发布 2021-04-24 20:37:28 阅读 1521

一、 填空题(15分,每空1分)

1、c++ 语言中规定的返回值的类型是由所决定的。在定义该函数时所指定的函数类型。

2、在类的定义体外定义成员函数时,需要在函数名前加上 ,而在域外使用成员函数时,需要在成员名外加上的名字。

3、在c++中,可以把具有相同内部存储结构和相同操作的对象看成属于同一类。在指定一个类后,往往把属于这个类的对象称为类的 。从语言角度来说,类是一种数据类型,而是具有这种类型的变量。

4、要在类的对象上使用运算符,除了运算符___和___以外,其他的运算符都必须被重载。

5、有如下定义语句:myclassp[10];则系统自动调用该类构造函数___次。当类对象数组p离开它的作用域时,系统自动调用该类析构函数___次。

6、对类中的成员函数和属性的访问是通过和___这3个关键字来控制的。

7、__运算符对指定类型对象动态分配内存并返回该类型的指针。

8、使用传址调用方式时,调用函数的实参使用地址值,被调用函数的形参使用 。

9、利用继承能够实现这种实现缩短了程序的开发时间,促使开发人员复用已经测试和调试好的高质量软件。

二、 选择题(20分,每题2分)

1、 下面语句彼此等价的是。

a)!(a<10)&&a>0)__a<10)&&a>0))

b)!(a==b)__a>b)&&ac)!(a>b)__ad)!(a>10)||a<0))_a<=10)&&a>=0)

2指针运算的描述错误的是。

a)在一定条件下,两个指针可以相加。

b)在一定条件下,两个指针可以进行逻辑判断。

c)在一定条件下,指针可以为空值。

d)在一定条件下,两个指针可以相互赋值。

3、一个函数带有参数说明时,则参数的默认值应该在___中给出。

a) 函数定义 b)函数声明 c)函数定义或声明 d)函数调用

4、关于类的说法错误的是。

a) 对象是类的一个实例。

b) 类是一种用户自定义的数据类型。

c) 在类中,如果不作特别说明,所有的成员函数均为公有类型。

d) 在类中,如果不作特别说明,所有的数据均为私有类型

5、两个变量定义不能同名,是因为。

a)这两个变量定义在同一文件中 b)这两个变量定义在同一作用域中。

c)一个定义在main函数中,一个定义在子函数中 d)以上说法均不正确

6、在c++语言中函数返回值的类型是由___决定的。

a) 定义该函数时所指定的函数类型 b)return语句中的表达式类型。

c) 调用该函数时系统临时 d)调用该函数时的主调函数类型

7、下面是类myclass的定义,对定义中语句描述正确的是。

classmyclass

public:

voidmyclass(inta)__

intf(inta,intb

x=a;y=b;

intf(inta,intb,intc=o)__

x=a;y=b;z=c;

staticvoidg()_

private:

intx,y,z;

a)语句①是类myclass的构造函数定义 b)语句②和语句③实现类成员函数的重载。

c)语句④实现对类成员变量x的更新操作 d)语句①、②和④都不正确

8、有关构造函数的说法不正确的是 。

a)构造函数的函数名与类名相同

b)构造函数在说明类变量时自动执行。

c)构造函数无任何函数类型

d)构造函数有且只有一个

9、在多继承的构造函数定义中,几个基类的构造函数之间用分隔。

a) .b) .c) .d

10、下列关于条件语句的描述中,__是错误的。

a)if语句中只有一个else子句 b) if语句中可以有多个else if子句

c) )if语句中if体内不能是switch语句 d)if语句中if体内可以是循环语句

三、 阅读程序填空(15分,第2小题最后一空1分,其它空2分)

1、 下列程序通过把类distance定义为类point的友元类来实现计算两点之间距离的功能。请完成该程序。

##include<>

classpoint

public:

pointvoidprint()

cout<<"x="

private:

floatx,y;

classdistance

public:

floatdis(point&p,point&q);

f1oatdistance::dis(point&p,point&q)

voidmain()

pointp(10,10),q(20,20);

distanced;

2、下面的程序实现从键盘输入一个偶数,输出该偶数写成的两个素数之和。

#include <>

#include <>

void main ()

int a,b,c,d;

cout <>a;

if (a<=0 ||a%2!=0)

cout <<输入一个正偶数!”

elsefor

for (c=2;c<=sqrt(b);c++)

if (b%c==0) break;

if (c>sqrt (b)) d=a-b;

else break;

forif ( d%c==0)) break;

if (c>sqrt (d)) cout <

3、下面程序的执行结果是:

#include <>

#include <>

void print (int n)

if (n!=0)

for (int i=1;i<=n;i++)

cout <

void main ()

int n=4;

四、 阅读程序,并写出结果(20分)

#include<>

#include<>

void main ()

sample(int a,int b)

~sample()

if(x==y)

cout<<"x=y"

cout<<"x!=y"<}

void disp()

cout<<"x="<

void main()

sample s1(2,3);

s1.~sample();

#include<>

class sample

int x;

public:

sample(){

sample(int a)

sample(sample &a);

void main()

sample s1(2),s2(s1);

五、 编程题(30分,每题10分)

1、 写“三色冰激淋”程序,这是一个由冰激淋商提出来的问题,有28种颜色的原料,可以组合成多少种三色冰激淋。

2、编写程序求出所有满足下列条件的三位数:其各位数字的立方和恰好等于该数本身。例如 153=1*1*1+5*5*5+3*3*3。

3、以面向对象的概念设计一个类,此类包含3个私有数据:unlead、lead(无铅汽油和有铅汽油)以及total(当天总收入。无铅汽油的**是17元/公升,有铅汽油的**是16元/公升),请以构造函数方式建立此值。

试输入某天所加的汽油量,本程序列出加油站当天的总收入。

C程序设计试卷1C程序设计

c 程序设计试卷。一 选择题。每小题3分,共15分 1 派生类能够直接访问的基类的成员是 a 公有成员 b 保护成员 c 私有成员 d 静态。2 下面是几条定义类的语句,不能被继承的类是 a abstract class figure b class figure c public class fi...

C 程序设计试卷C

面向对象的程序设计c 试卷c 一 填空 每空2分,共20分 1 定义于函数外的变量称为。2 假定class1为一个类,则执行 class1 a 5 b 2 p 3 语句时,自动调用该类构造函数的次数为。3 利用操作符 语句序列p p 1 f p 5 的功能可以由一个语句完成。4 不借助于其他变量交换...

C 程序设计试卷 A

c 程序设计课程期末考试试题 a卷 一判断题 正确打 a 错误打 b 每小题1分,共计20分 1在面向对象的编程中,和数据合并为一个不可分割的对象。2对象是有确定简介且与要处理的问题相关的概念或事物。3每个对象都称为它的类的一个示例。类中的对象具有相同的属性和共同的行为。4多态性是指相同的函数可以在...