C++试题及答案.docx
- 文档编号:3025202
- 上传时间:2022-11-17
- 格式:DOCX
- 页数:55
- 大小:54.98KB
C++试题及答案.docx
《C++试题及答案.docx》由会员分享,可在线阅读,更多相关《C++试题及答案.docx(55页珍藏版)》请在冰豆网上搜索。
C++试题及答案
C++试题及答案二(2005-9-2514:
28:
00)
【收藏】【评论】【打印】【关闭】
一、单选题
1、在每个C++程序中都必须包含有这样一个函数,该函数的函数名为 。
A.main B.MAIN C.name D.function
2、设x和y均为bool量,则x&&y为真的条件是 &&为逻辑与运算 ||逻辑或得关系 。
A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假
3、下面的哪个保留字不能作为函数的返回类型?
。
A.void B.int C.new D.long
//注意:
如果想算a[i]的地址套下面的公式:
a[0]+i*d,其中d为该数组类型所占的字节数,TurboC++中int占二字节,而VC++中是4字节。
4、假定a为一个整型数组名,则元素a[4]的字节地址为 a[4]=a[0]+4*4 。
A.a+4 B.a+8 C.a+16 D.a+32
此题应注意的是:
在C++中、假定一下全是int型的数据则a(4)一个整型变量空间赋初值为4、而b[3]则代表长度为3的数组、其中有3个数值、而指针并不分配空间而是指向空间中的数据。
5、假定AB为一个类,则执行“AB a(4),b[3],*p[2];”语句时,自动调用该类构造函数的次数为 所以其值为:
4次 。
A.3 B.4 C.6 D.9
operator运算符重载用的其中&的意思有三种:
1、位与2、取地址符3、表引用引用即为别名
6、假定要对类AB定义加号操作符重载成员函数,实现两个AB类对象的加法,并返回相加结果,则该成员函数的声明语句为:
。
A. AB operator+(AB &a,AB &b) B. AB operator+(AB &a)//应该是表示引用
C. operator+(AB a) D. AB &operator+()
二、填空题)
1、C++语言中的每条基本语句以 ; 作为结束符,每条复合语句以 }
作为结束符。
2、执行“cout < 3、float《单精度》和double《双精度》类型的大小分别为 4 和 8 。 4、算术表达式 对应的C++表达式为 。 5、关系表达式x+y>5的相反表达式为 x+y<=5 。 6、假定一个一维数组的定义为“char *a[8]---(指针数组);”,则该数组所含元素的个数为 8 ,所占存储空间的字节数为 32 。 //char一个字符占4个字节char(*a)[5]--(数组指针) 7、变量分为全局和局部两种, 局部 变量没有赋初值时,其值是不确定的。 8、假定a是一个二维数组,则a[i][j]的指针访问方式为 *(a[i]+j) 或者为: *(*(a+i)+j) 所以在C++中可以实现: a[i]=a+i; 。 //double为8个字节、int为: 4个字节指针在32位系统中所占的字节为4 //所以其运算结果为: 4+8+4*2=20,即为一般结构体所占空间的计算方法就是累加所有的字节数 9、假定一个结构类型定义为 “struct D{int a; union{int b;double c;};D *d[2];};”, 则该类型的大小为 24 字节。 10、对一个类中的数据成员的初始化可以通过构造函数中的 初始化表 实现,也可以通过构造函数中的 函数体 实现。 11、假定AB为一个类,则执行“AB a[10];”语句时,系统自动调用该类的构造函数的次数为 10 《因为要分配至少十个空间出来》 。 构造函数的作用就是起到初始化的作用 12、假定类AB中有一个公用属性的静态数据成员bb,在类外不通过对象名访问该成员bb的写法为 AB: : bb 即相当于bb属于AB类 。 三、给出下列程序运行后的输出结果 1、#include voidSB(charch){ switch(ch){ case'A': case'a': cout<<"well! ";break; case'B': case'b': cout<<"good! ";break; case'C': case'c': cout<<"pass! ";break; default: cout<<"bad! ";break; } } voidmain(){ chara1='b',a2='C',a3='f'; SB(a1);SB(a2);SB(a3);SB('A'); cout< } SB(a1): good SB(a2)pass SB(a3)bad SB(‘A’)well 2、#include #include voidmain(){ //大写字符的范围从A-Y\Z为: 65-90 //小写字符的范围从a-z为: 97-122即小写要比大写多: 32 char*a[5]={"student","worker","cadre","soldier","peasant"}; char*p1,*p2; p1=p2=a[0]; for(inti=0;i<5;i++){ if(strcmp(a[i],p1)>0)p1=a[i];//strcmp比较字符串内置函数 if(strcmp(a[i],p2)<0)p2=a[i]; } cout< } 3、 #include inta=5;//定义全局变量 voidmain(){ inta=10,b=20; cout< { inta=0,b=0; for(inti=1;i<6;i++){ a+=i;b+=a;//执行加过程 } cout< :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 试题 答案