东-南-大-学-c++考-试-卷

上传人:好** 文档编号:100720000 上传时间:2019-09-24 格式:DOC 页数:8 大小:35.50KB
返回 下载 相关 举报
东-南-大-学-c++考-试-卷_第1页
第1页 / 共8页
东-南-大-学-c++考-试-卷_第2页
第2页 / 共8页
东-南-大-学-c++考-试-卷_第3页
第3页 / 共8页
东-南-大-学-c++考-试-卷_第4页
第4页 / 共8页
东-南-大-学-c++考-试-卷_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《东-南-大-学-c++考-试-卷》由会员分享,可在线阅读,更多相关《东-南-大-学-c++考-试-卷(8页珍藏版)》请在金锄头文库上搜索。

1、东 南 大 学 考 试 卷 一 . 选择题 ( 以下各题均只有一个正确答案, 每题 1 分,共 20 分 ) 5. 有关运算符重载的说法, 正确的是: ( B ) A. 运算符重载函数最多只能有一个形参 B. 调用重载运算符的成员函数时,必须有一个运算符的操作数是对象或引用 C. 调用重载运算符的成员函数时,调用程序的右操作数必须是对象 D. 调用重载运算符的友元函数时,调用程序的右操作数必须是对象 6 重载运算符时,运算符的( A) A) 优先级和结合律均不能改变; B) 优先级和结合律均可以改变。 C) 优先级可以改变,但结合律不能改变; D) 优先级不能改变,但结合律可以改变; 7 已知

2、变量 f 为 float 类型, i 为 int 类型, 以下表达式语句中能够实现将 f 中的数值保留小数点后两位,第三位进行四舍五入运算的是 (C ) A) ABC B) BCD C) BC D) CD A. f=(f*100+0.5)/100.0; B. i=f*100+0.5,f=i/100.0; C. f=(int)(f*100+0.5)/100.0; D. f=(f/100+0.5)*100.0; 8 设 a=20,b=30; 执行语句 a+=b;b=a-b;a-=b; 后, a 、 b 的值分别是 (D) A. 20,20 B. 30,30 C. 20,30 D. 30,20 9.

3、 下面各说明语句中合法的是 (C) : A) ADE B) ABC C) BDE D) HFD A. static int n; int floppyn; B. char ab10; C. char chi-200; D. int aaa5=3,4,5; E. float key =3.0,4.0,1,0; F. char disk ; 10 函数原型为 abc(float x,char y); 该函数的返回值类型为 (A) 。 A) int B) char C) void D) float 11. 设有数组说明 int a10 ,数组中各元素已含有如下数据 : 数组元素 : a0 a1 a2

4、 a3 a4 a5 a6 a7 a8 a9 元素的值 : 9 4 12 8 2 10 7 5 1 3 以下 (B) 不能正确访问该数组的数组元素。 A)aa0 B)aa2 C)aa1+a9 D)aa8+a2 12 C+ 语言的可执行程序是从 (C) 开始执行 A. 程序中第一条可执行语句 B. 程序中第一个函数 C. 程序中的 main 函数 D. 包含文件中的第一个指令 13. 若定义一个返回值为整型的内联函数 func(int a) , 在函数名 func 前应有说明 (D) 。 A. int inline B. int inside C. inside int D. inline int

5、 14 设有定义: int a=1,b=10; 则执行以循环下语句后, dob-=a; a+; while(b-0);a 、 b 值为 (D) A) 8 2 B)-2 -1 C) -1 8 D) 2 8 15 若有以下语句,则下面 (B) 是正确的描述 static char x =”12345”; static char y =1,2,3,4,5; A) x 数组和 y 数组的长度相同 B) x 数组长度大于 y 数组长度 C) x 数组长度小于 y 数组长度 D) x 数组等价于 y 数组 16 若 a,b 均为 int 型变量,且 a=100, 则以下关于 for 循环语句的正确判断是

6、(C) A) 循环体只执行一次 B )死循环 C )循环体不执行 D )输出 - for(b=100;a!=b;+a,b-) cout”-n”; 若将其中的表达式 b=100 改为 b=99 ,则正确的判断是 (B) A) 循环体只执行一次 B )死循环 C )循环体不执行 D )输出 - 17 在以下存储类型中, (C) 是用于定义动态类型的变量。 A static和auto B register和extern C register和auto D static和register19 以下正确的描述为 (C) A ) 每个 C+ 程序必须在开头含有预处理命令 #include B ) 预处理命

7、令必须位于 C+ 源程序的首部 C ) 在 C+ 中,预处理命令都以 # 开头 D ) C+ 语言的预处理命令只能实现宏定义和条件编译的功能 20 以下不正确的描述为 (B) A ) 在函数之外定义的变量称为外部变量, 外部变量是全局变量。 B ) 在函数之内说明的外部变量是局部变量,仅在本函数中有效。 C ) 在函数之外说明的静态变量是全局变量,其作用域整个程序文件。 D ) 文件作用域的范围是一个程序文件, 但必须符合“定义在前, 使用在后” 的规则。 21. 如果有说明 int i,ch; 则下列循环语句 (A) 。 for(i=0,ch=0;ich; A ) 最多执行 10 次 B )

8、最多执行 9 次 C ) 是无限循环 D )循环体一次也不执行 22 设有宏定义如下: #define MIN(x,y) (x)(y)?(x):(y) #define T(x,y,r) x*r*y/4 则执行以下语句后, s1 、 s2 的值分别为 (A) 。int a=1,b=3,c=5,s1,s2; s1=MIN(a=b,b-a); s2=T(a+,a*+b,a+b+c); A) 3 27 B ) 27 3 C )24 1 D ) 3 24 1) s1=(a=b)(b-a) ?(a=b):(b-a) 2) s2= a+*a+b+c*a*+b/y = 3*3+3+5*3*4/4= 27 二

9、. 阅读程序, 回答问题 ( 共 32 分 ) 1. (本题 3 分) #include class A int x,y; public: A(int a,int b)x=a; y=b; coutABCt; A() x=3; y=4; coutCBAn; void Show() coutx=xty=yt; A()coutXYZn; ; void main(void) A s(1,2); s=A(2,3); s.Show(); 问题一:本程序输出的第一行是 (1) (1) ABC ABC XYZ 问题二:本程序输出的第二行是 (2) (2) x=2 y=3 XYZ 2. (本题 4 分) #in

10、clude class A public: A(int a) x=a; coutx=xt*A*n; A() cout-A-n; private: int x; ; class B A y; int s; public: B(int a,int b,int c): y(a+b+c) s=c-b; couts=st*B*n; B() cout-B-n; ; void main(void) B s(1,2,3); 问题一:本程序共输出 4行 问题一:各行的输出结果依次是 (4)x=6 *A*/s=1 *B*/-B-/-A- 3 ( 本题 3 分 ) #include class node int x

11、,y; public: node(int a,int b) x=a; y=b; coutnode_1n; node( ) x=a.x; y=a.y; coutnode_2n; void Show() coutx=xty=yn; ; void main(void) node f1(5,6); node f2(f1); f2.Show(); 问题一:类中定义了两个构造函数,其中一个是缺省参数的构造函数。但主函数中的对象要求有对应的形参,这个形参的正确定义是 (5) 问题二:当对应的形参被正确定义后, 执行结果依次是 (6) (5)node &a (6) node_1/node_2/x=5 y=6

12、4. ( 5 分) #include class A int x; public: void Show() coutx=xt; A(int a=10) x=a; cout*A*n; A()cout-A-n; ; void main(void) A f; f.Show(); f=20; f.Show(); 问题一:本程序共输出( 7 )行, (7)4 问题二:各行输出结果依次是 (8) (8)*A*/x=10 *A*/-A-/x=20 A- 5. ( 6 分) #include class A int x; public: A(int a) x=a; coutx=xt*A1*n; A(A &s)

13、 x=s.x+1; cout*A2*n; A()coutx=xt-A-n; ; void main(void) A f1(1), f2(f1); 问题一:本程序共输出 (9) 行,类中的析构函数被访问 (10) 次 问题二: 各行的输出结果依次是 (11) (9)4 (10) 2 (11) x=1 *A1*/*A2*/x=2 -A-/x=1 -A- 6. (10 分 ) #include enum eca,b,c,d,e; char cp=a,b,c,d,e; class Rect private: int width,hight,color; public: Rect(int x=10,int y=10,int c=a):width(x),hight(y),color(c); void SetRec(int w,int h,int c)width=w;hight=h;color=c; int Area()return width*hig

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 往来文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号