《C 程序设计》课程代码04737校正版文档格式.docx

上传人:b****6 文档编号:21352464 上传时间:2023-01-29 格式:DOCX 页数:19 大小:70.57KB
下载 相关 举报
《C 程序设计》课程代码04737校正版文档格式.docx_第1页
第1页 / 共19页
《C 程序设计》课程代码04737校正版文档格式.docx_第2页
第2页 / 共19页
《C 程序设计》课程代码04737校正版文档格式.docx_第3页
第3页 / 共19页
《C 程序设计》课程代码04737校正版文档格式.docx_第4页
第4页 / 共19页
《C 程序设计》课程代码04737校正版文档格式.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

《C 程序设计》课程代码04737校正版文档格式.docx

《《C 程序设计》课程代码04737校正版文档格式.docx》由会员分享,可在线阅读,更多相关《《C 程序设计》课程代码04737校正版文档格式.docx(19页珍藏版)》请在冰豆网上搜索。

《C 程序设计》课程代码04737校正版文档格式.docx

B.函数体语句较少

C.函数执行时间较短

D.函数执行时间过长

9、intFunc(int,int);

不可与下列哪个函数构成重载 

A.intFHnc(int,int,int);

B.doubleFunc(int,int);

C.doubleFunc(double,double);

D.doubleFunc(int,double);

10、对类中声明的变量,下列描述中正确的是【 

A.属于全局变量

B.只属于该类

C.属于该类,某些情况下也可被该类不同实例所共享

D.任何情况下都可被该类所有实例共享

11、类的私有成员可在何处访问 

A.通过子类的对象访问

B.本类及子类的成员函数中

C.通过该类对象访问

D.本类的成员函数中

12、如果没有为一个类定义任何构造函数的情况下,下列描述正确的是 

A.编译器总是自动创建一个不带参数的构造函数

B.这个类没有构造函数

C.这个类不需要构造函数

D.该类不能通过编译

13、一个类可包含析构函数的个数是 

A.0个

B.1个

C.至少一个

D.0个或多个

14、this指针存在的目的是 

A.保证基类公有成员在子类中可以被访问

B.保证每个对象拥有自己的数据成员,但共享处理这些数据成员的代码

C.保证基类保护成员在子类中可以被访问

D.保证基类私有成员在子类中可以被访问

15、下列关于类的权限的描述错误的是 

A.类本身的成员函数只能访问自身的私有成员

B.类的对象只能访问该类的公有成员

C.普通函数不能直接访问类的公有成员,必须通过对象访问

D.一个类可以将另一个类的对象作为成员

16、在编译指令中,宏定义使用哪个指令 

A.#include

B.#define

C.#if

D.#else

17、设类A将每其它类对象作为成员,则建立A类对象时,下列描述正确的是 

A.A类构造函数先执行

B.成员构造函数先执行

C.两者并行执行

D.不能确定

18、下列描述错误的是 

A】

A.在创建对象前,静态成员不存在

B.静态成员是类的成员

C.静态成员不能是虚函数

D.静态成员函数不能直接访问非静态成员

19、对于友元描述正确的是 

A.友元是本类的成员函数

B.友元不是本类的成员函数

C.友元不是函数

D.友元不能访问本类私有成员

20、在哪种派生方式中,派生类可以访问基类中的protected成员 

A.public和private

B.public和protected

C.protected和private

D.仅protected

21、

在PC机中,‘\n’在内存占用的字节数是( 

 

A.1

B.2

C.3

D.4

22、字符串“ABC”在内存占用的字节数是( 

A.3

B.4

C.6

D.8

23、在C语言中,合法的长整型常数是( 

A.0L

B.4962710

C.0.054838743

D.2.1869e10

24、执行语句“x=(a=3,b=a——)”后,x,a,b的值依次是( 

A.3,3,2

B.3,2,2

C.3,2,3

D.2,3,2

25、设有语句inta=3;

,则执行了语句a+=a-=a*a后,变量a的值是( 

D)

B.0

C.9

D.-12

26、设intk=32767;

执行k=k+1;

后k值为( 

A.32768

B.—32768

C.0

D.—1

27、下列正确的标识符是( 

A.hot_do

B.a+b

C.test!

D.%y

28、设inta=5,使b不为2的表达式是(B 

A.b=6—(——a)

B.b=a%2

C.b=a/2

D.b=a>

3?

2:

1

29、执行x=(6*7%8+9)/5;

后,x的值为( 

30、执行语句x=(a=3,b=a——)后,x,a,b的值依次为( 

A.3,2,3

B.2,3,2

C.3,3,2

D.3,2,2

31、设a=-3;

执行(a>

0)?

a:

-a;

后,a的值为( 

B.1

D.—3

32、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为( 

A.7

B.8

D.2

33、

下面正确的字符常量是( 

  

A.“c”

B.‘\\’‘

C.’W‘

D.’‘

34、若有代数式3ae/bc,则不正确的c语言表达式是( 

A.a/b/c*e*3

B.3*a*e/b/c

C.3*a*e/b*c

D.a*e/b/c*3

35、在C语言中,要求运算数必须是整型的运算符是( 

A./

B.++

C.!

=

D.%

36、

若有说明语句:

charc=‘\72’;

则变量c( 

A.包含1个字符

B.包含2个字符

C.包含3个字符

D.说明不合法,c值不确定

37、

sizeof(float)是( 

A.一个双精度型表达式

B.一个整型表达式

C.一种函数调用

D.一个不合法的表达式

38、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型是( 

C)

A.int

B.folat

C.double

D.不确定

39、

若有定义inta[10],*p=a;

,则p+5表示( 

A.元素a[5]的地址

B.元素a[5]的值

C.元素a[6]的地址

D.元素a[6]的值

40、

以下与int*q[5];

等价的定义语句是( 

A.intq[5];

B.int*q

C.int*(q[5])

D.int(*q)[5]

第二大题:

填空题

1、设要把一个文件输出流对象myFile与文件“f:

\myText.txt'

’相关联,所用的c++语句是:

( 

ofstreamout("

f:

\\mytext.txt"

);

)。

2、C++中ostream类的直接基类是( 

virtualpublicios)

3、运算符[ 

]只能用( 

类成员)运算符来重载,不能用友元运算符来重载。

4、定义虚函数所用的关键字是( 

virtual 

)。

5、vector类中用于返回向量中第1个对象的方法是( 

front() 

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

vector<

char>

E(20,‘t’) 

) 

7、类的继承是指子类继承基类的( 

数据成员 

)和成员函数。

8、不同对象可以调用相同名称的函数,但可导致完全不同的行为的现象称为( 

多态性 

9、( 

#include 

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

10、设类A有成员函数

voidFun(void);

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

void(A:

:

*pafn)(void) 

11、设在程序中使用如下语句申请了一个对象数组:

Point*ptr=newPoint[2];

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

delete[]ptr

12、在保护派生中,基类权限为Private的成员在派生类中( 

不可访问 

13、类A有如下成员函数

intA:

fun(doublex){return(int)x/2;

}

fun(intx){retumx*2;

设a为类A的对象,在主函数中有ints=a.fun(6.0)+a.fun

(2),则执行该语句后,s的值为 

14、对象传送的消息一般由3部分组成:

接收对象名、调用操作名和( 

消息参数 

15、将指向对象的指针作为函数参数,形参是对象指针,实参是对象的( 

地址 

16、在使用string类的find成员函数来检索主串中是否含有指定的子串时,若在主串中不

含指定的子串,find函数的返回值是( 

-1 

P42

17、在C++中,声明布尔类型变量所用的关键字是( 

bool 

18、执行下列代码

inta=29,b=100;

cout<

<

setw(3)<

a<

b<

endl;

程序的输出结果是:

29100 

19、执行下列代码

程序的输出结果为( 

20、C++语言中可以实现输出一个换行符并刷新流功能的操控符是( 

endl)。

21、C语言中的实型变量分为两种类型,它们是( 

)和( 

22、C语言中的标识符只能由三种字符组成,它们是( 

)、( 

23、若有定义:

charc=‘\010’;

则变量c中包含的字符个数是( 

24、C语言提供的三种逻辑运算符是( 

25、设y为int型变量,请写出描述“y是奇数”的表达式( 

y%2==1 

26、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式( 

(x<

2)||(y<

z) 

27、在C语言中,二维数组元素在内存中的存放顺序是( 

按行顺序存放 

28、若有定义:

doublex[3][5];

则x数组中行下标的下限为( 

),列小标的上限为( 

29、若有定义:

inta[3][4]={{1,2},{0},{4,6,8,10}};

则初始化后,a[1][2]得到的初值是( 

),a[2][2]得到的初值是( 

30、若自定义函数要求返回一个值,则应在该函数体中有一条( 

return 

)语句,若自定义函数要求不返回一个值,则应在该函数说明时加一个类型说明符( 

void 

31、函数中的形参和调用时的实参都是数组名时,传递方式为( 

地址传递 

),都是变量时,传递方式为( 

值传递 

第三大题:

完成程序

1、完成下面类中的成员函数的定义

classpoint

{

private:

intm,n;

public:

point(int,int);

point(point&

);

};

point:

point(inta,intb)

{

m=a:

____n______=b;

Point:

point(__pointt________)

m=t.m;

n=t.n;

2、

下面是一个输入半径,输出其面积和C++程序,在下划线处填上正期的语句。

#include<

iostream>

usingnamespacestd;

__#define________pi=3

Void 

main()

doubler;

cout<

”r=”;

_cin>

>

r;

__________;

double1=2.0*pi*r;

doubles=pi*r*r

”\nThelongis:

”<

1<

endl;

”Theareais:

S<

endl;

}

3、

在下划线处填上缺少的部分。

#include<

fstream>

classcomplex

public:

intreal;

intimag;

complex(intr=0,inti=0)

real=r;

imag=i;

complexoperator+(__complex&a_______,complex&b)

intr=a.real+b.real:

inti=a.imag+b.imag:

return 

___Complex(r,i)____;

voidmain()

complexx(1,2),Y(3,4),complex&

b)

z=x十y;

z.real<

”+”<

z.imag<

”I”<

endl:

4、

1,9

50.30

请根据输出数据在下面程序中的下划线处填写正确的语句。

源程序如下:

#include<

classbase

private:

intm;

base(){};

base(inta):

m(a){}

intget(){returnm;

voidset(inta){m=a;

};

Base*ptr=newbase[2];

ptr一>

set(30);

ptr=____ptr+1__________;

set(50);

basea[2]={1,9};

a[0].get()<

”,”<

a[1].get()<

ptr一>

get()<

”,”;

ptr=ptr-1

____ptr一>

get()_____<

ednl;

delete[]ptr;

5、

在下面横线处填上求两个浮点数之差的cha函数的原型声明、调用方法。

usingnamespacestd;

voidmain()

f1oata,b;

____floatcha(floatx,floaty);

________//函数cha的原型声明

a=12.5;

b=6.5;

floatc= 

__cha(a,b)________;

//调用函数cha

c<

floatcha(floatx,floaty)

floatw;

W=x—y;

returnw;

第四大题:

程序设计题

1、

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

iostream.h>

math.h>

classpoint{

floatx,y;

point(floata,floatb){x=a;

y=b;

point(){x=0;

y=0;

voidset(floata,floatb){x=a;

floatgetx(){returnx;

floatgety(){retumy;

classtri{

pointx,y,z;

floatsl,s2,s3;

public.....settri(....);

//用于输入三个顶点坐标

….test(....);

//用于判断是否构成三角形

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

参考答案:

voidsettri()//用于输出三个顶点坐标

inta,b;

"

inputthefirestpoint"

endl;

cin>

a>

b;

x.set(a,b);

inputthesecondpoint"

y.set(a,b);

inputthethirdpoint"

z.set(a,b);

thethreepoint'

scodinateis:

x:

x.getx()<

"

x.gety()<

y:

y.getx()<

y.gety()<

z:

z.getx()<

z.gety()<

voidtest()//用于判断是否构成三角形

if((x.gety()-y.gety())/(x.getx()-y.getx())!

=(y.get

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 计算机软件及应用

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1