《C++语言程序设计》综合练习与期末复习题(2)

2025-04-28

C. a=a+a-a*a; D.a=a-a*a; a=a+a; 38.设有如下C语句: struct node { int val;

struct node *next;

};

struct node sa[3]={ {5},{7},{9} },*sp;

sa[0].next=sa+1; sa[1].next=sa+2; sa[2].next=NULL; sp=sa;

则下面哪个表达式的值是6?( )。 A. ++sp->val B. sp->val++ C. (*sp).val++ D. sp++->val

39.当需要把一个带初始化的变量定义为常值变量时,则应在该语句的前面加上关键字( )。

A.static B.const C.continue D.extern 40.假定一个字符串的长度为n,则定义存储该字符串的字符数组的长度至少为( )。

A.n-1 B.n C.n+1 D.n+2

41.假定AB为一个类,则该类的拷贝构造函数的正确声明是( )。 A.AB(AB x); B. AB(AB &); C. AB(AB *); D. AB&(AB & x);

42.当需要打开A盘上的xxk.dat文件用于输入时,则定义文件流对象的语句为( )。

A. fstream fin(“A:\\\\xxk.dat”); B. ofstream fin(“A:\\\\xxk.dat”);

C. ifstream fin(“A:\\\\xxk.dat” , ios::app); D. ifstream fin(“A:\\\\xxk.dat” , ios::nocreate);

43.当需要将一个函数 bool isnumber (char c) ; 声明为内联函数时,则此内联函数的函数原型为( )。

A. enum bool isnumber (char c) ; B. define bool isnumber (char c) ; C. inline bool isnumber (char c) ; D. extern bool isnumber (char c) ;

44.在下面的函数声明中,存在着语法错误的是( )。 A. void BC ( int a , int ); B. void BD ( int , int ); C. void BE ( int , int=5 ); D. void BF ( int x ; int y ); 45.假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为( )。

6

A.AB operator+(AB &a ,AB &b); B. AB operator+(AB &a ); C. operator+(AB a ); D. AB & operator+( );

46.在下列的一维数组定义中,哪一个有语法错误的( )。 A.int a[]={1,2,3}; B.int a[10[={0}; C.int a[]; D.a[5];

47.假定AB为一个类,则该类的拷贝构造函数的调用语句为:( )。 A.AB x,y( x); B. AB x,y; C. AB x,y(AB &); D. AB x,y(AB &x); 48.下面的哪一个保留字不能作为函数的返回类型? A.void B.int C.new D.long

49.假定a为一个整型数组名,则元素a[4]的字节地址为( )。 A. a+4 B.a+8 C.a+16 D.a+32

50. 假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为( )。

A.3 B.4 C.6 D.9

二、语法填空题

1.执行 cout<

2.描述命题“A小于B或小于C”的表达式为 。

3.在C++中有二种参数传递方式: 和 。

4.定义重载函数时,应在参数个数、参数类型或参数次序上 。

5.类是用户定义的类型,具有类类型的变量称作 。

6.当建立一个新对象时,程序自动调用 。

7.设P是指向具有10个元素的一维数组的指针变量,该数组元素类型int,则指针变量P的定义为 。

8.若有int i=3,j=7; 执行cout<<(ⅰ+ +)<

9.当一个成员函数被调用时,该成员函数的 指向调用它的对象。

10.拷贝初始化构造函数使用 来初始化创建中的对象。

7

11.一个C++函数由两部分组成,即: 和 。

12.C++中函数定义的格式是 。

13.已知一函数的定义是:char *Hi (const char *s ) {cout<<”Hi!”<

14.一个C++程序总是从 开始执行。

15.C++语言程序中出现的/*??*/部分或//??部分所起的作用是 。

16.C++语言中数组元素的访问方式有两种,即: 和 。

17.假定a是一个二维数组,则a[ i ][ j ]的指针访问方式为 。

18.执行typedef int ABC[10] ; 语句把ABC定义为具有10个整型元素的 。

19.假定要访问一个结构指针p 所指对象中的b 指针成员所指的对象,则表示方法为 。

20.设px 是指向一个类动态对象的指针变量,则执行delete px ; 语句时,将自动调用该类的 。

21.C++规定:在每一个字符串的结尾加上一个 ,以便系统据此判断字符串是否结束。

22.C++语言中数据类型的转换有两种,即: 和 。

23.C++语言规定了运算符的优先级和结合性,其结合性分为 和 。

24.对一个类中的数据成员的初始化可以通过构造函数中的 实现,也可以通过构造函数中的 实现。

25.假定AB为一个类,则执行 AB a[10] ; 语句时,系统自动调用该类构造函数的次序为 。

26.假定类AB中有一个公用属性的静态成员bb, 在类外不通过对象名访问该成员 bb 的写法为 。

27.若有int a=4; float b=14.70; 则4/5的值为 ,4.0/5的值为 ;能正确表示a+b对a取余的表达式是 。

28.若有int x=4,y=7; 则表达式x+=y,x*=x+y的值为 。 29.x>1 && y!=0的相反条件为 。

30.过程化程序设计方法中,程序有三种基本结构,

8

即: 、 、 。

31.表达式?c?&&?d?的值为 ,表达式?c?&&?\\0?的值为 ,表达式!?c?||?c?<=?d?的值为 。

32.分支语句if(x>=y) max=x; else max=y; 用含条件运算符的赋值语句表示为 。

33.C++语言中所提供的循环控制语句有三种,即: 、 、 。

34.在C++中,若需要在程序文件中进行标准输入输出操作,则必须在开始加入预处理命令 ,若使用到数学库中的函数时,要在源程序的开始加入预处理命令 。

35.C++语言中用来存放变量地址的变量称作 。 36.在C++程序中,可以用两种方法实现一个字符串,即: 和 。

37.假定用户没有给一个名为AB的类定义构造函数,则系统为其隐含定义的构造函数为 。

38.int *p[10]; 的含义是 。 39.int (*p)( ); 的含义是 。 40.int &p; 的含义是 。 41.int **p; 的含义是 。 42.若有定义int a[10], *p=a; 则 p++的含义是 。

43.若有int a[4]={10,11,12,13},b,* p=a; 则 执行语句b=*p++; 后b的值是 ,接着执行语句b=*++p; 后 b的值是 ,再执行语句b=++*p; 后b的值是 。

44.定义一种新的类型INTEGER,使其与int 等价,则正确的表示方式为 。

45.定义一个符号常量EOF ,使其与-1等价,则正确的表示方式为 。

46.C++语言中根据数据的组织形式,可以将文件分为: 和 。

47.OOP是术语 的英文简称,OOP方法是软件工程学中结构化程序设计,过程化、模块化、数据抽象、信息掩蔽、知识表示、并行处理等概念的积累和发展,它所依赖的最基本的概念是 、 和 。

48.若需要把一个函数 void F( ); 定义为一个类AB的友元函数,则应在类AB的定义中加入一条语句: 。

9

49.在C++中用 代替了C语言中的带参数宏定义。 50.C++语言所提供的定义结构体、共用体和类等三种类型的关键字分别是 、 、 。

51.执行“cout<<43<

52.使用const 语句定义一个标识符常量时,必须同时对它进行 。

53.假定p所指对象的值是25,p+1所指对象的值是46,则执行“(*p)++;”语句后,p所指对象的值为 。

54.假定px是指向一个有10个元素的类动态数组空间的指针变量,则执行“delete px;”语句时,将自动调用该类的析构函数 次。

55.变量分为全局和局部两种, 变量没有赋初值时,其值为不确定。

56.假定a 为一个二维数组,则a[i][j]的指针访问方式为 。

57.假定一个结构类型的定以为“struct D{long a;union {int b;double c;};D *d[2];};”则该类型的大小为 字节。

58.p 是指向 int 型变量x的指针变量,其定义语句表示为 。 59.假定p 是一个指向整型一维数组的指针变量,在取出p 所指的元素值后p 自动指向下一个元素的表达式为 。

60.将f=i+5; i=i+1; 用一个赋值语句表示出来为 。

三、给出下列程序运行后的输出结果 (1) #include \

void main() {int s=0;

for(i=0;;i++)

{ if(s>50) break; if(i%2= =0) s+=i;}

cout<<”i,s=”<

(2) #include

void main()

{char a[]=?abcdabcabefacd”; int i1=0,i2=0,i=0; while (a[i]){

if(a[i]= =?a?) i1++; if(a[i]= =?b?) i2++;

10


《C++语言程序设计》综合练习与期末复习题(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:一轮辩论资料

× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219