非电类c++大一期末复习资料(3)

2025-08-16

for(i=0; i

Addnew(first, i+1); }

cout<<\请输入要查找的学号:\cin>>key;

i=Search(21); //21. first , s , key

if(i>=0&&s!=0){ cout<<\学号为\的学生的姓名和数学成绩:\ cout<name<math; cout<<\位于链表中第\项\}

else cout<

return; }

4. 本程序调用构造函数实现字符串对象的初始化。调用重载运算符”+”把两个字符串拼接,并通过重载运算符“>”来实现字符串的比较运算。 #include #include

class string { char *str; public:

string(char *s=0) {

if(_(22)_){str=new char[strlen(s)+1]; strcpy(__(23)__);} else str=0; }

friend string operator+(string &,string &); int operator>(string &);

void show(){ if(str)cout<

string operator+(string &s1,string &s2) {

22. s!=0 string t;

23. str , s t.str=____(24)_____;

24. new char [strlen(s1.str)+ strlen(s2.str)+1]; strcat(t.str,s2.str);

strcpy( t.str , s1.str) ______(25)_______;

25. return t }

26. str , s.str

int string::operator>(string &s) {

if(strcmp(____(26)_____)>0)return 1; else return 0; }

void main(void) {

strings1(\ string s3; s3=s1+s2;

s1.show(); s2.show(); s3.show(); cout<<(s1>s2)<<'\\n'; }

sort(x,num);

Output(x,num); }

东 南 大 学 考 试 卷(A卷)

课程名称 适用专业 算法语言与程序设计Ⅱ 2010级非电类 考试学期 10-11(三) 闭卷 得分 考试形式 考试时间长度 120分钟 学号 姓名 题目 得分 批阅人 线 一 二 三 总分 自 觉 注:学生答案一律写在密封线右侧并保持适当距离。 一、单选题(每题1.5分,共30分) 1. 设有变量声明 char *s; double *t; 下面关于指针的陈述错误的是 。 A. s和t所占内存的字节数是不同的。 遵守考场纪律如封 密 B. 可以为t赋值NULL。 C. 如果变量声明后紧接着执行cout<

A.*s=*t && t!=0

B.s++=t++ &&*t!=0

D.*s++=*t++

C.*(++s)=*(++t)

6.设有定义: int arr[]={6,7,8,9,10},*ptr;则下列程序段的输出结果为 ptr=arr; *(ptr+2)+=2;

cout<<*ptr<<','<<*(ptr+2)<

A.8,10 B.6,8 C.7,9 D.6,10 7.当数组名为函数的实参时,它传递给函数的是 。

A.数组的首地址

B.数组名

C.数组第一个元素的值 D.数组全部元素 8.对于一个C++的类, 。

A.只能有一个构造函数和一个析构函数 B.可有一个构造函数和多个析构函数 C.可有多个构造函数和一个析构函数 D.可有多个构造函数和多个析构函数

9. 在下列函数原型所示的函数中,按“传值”方式传递参数的是 。

A. void fun(int x);

B. void fun(int *x); D. void fun(int &x);

C. void fun(int x[]);

10. 在 C++中,编译系统自动为一个类生成缺省构造函数的条件是 。

A. 该类没有定义任何有参构造函数 B. 该类没有定义任何无参构造函数 C. 该类没有定义任何构造函数 D. 该类没有定义析构函数

11. 在一个派生类的成员函数中,试图调用其基类的成员函数f(),但无法通过编译。这可能的原因是 。

A. f()是基类的私有成员 B. 派生类的继承方式为私有 C. f()是基类的保护成员 D. 派生类的继承方式为保护 12. 下列关于运算符重载的叙述中,错误的是 。

A. 有的运算符可以作为非成员函数重载

B. 所有的运算符都可以通过重载而被赋予新的含义 C. 不得为重载的运算符函数的参数设置默认值 D. 有的运算符只能作为成员函数重载 13. 有如下程序: #include class A{

public:

~A(){cout<<'*';}

};

void main(){

A a[2], *p[2]; }

执行这个程序输出星号(*)的个数为 。

A. 程序编译不通过

B. 2

C. 3

D. 4

14. 下列选项中,与实现运行时多态性无关的是 。

A. 重载函数

B. 虚函数 C. 指针

D. 引用

15. 下列运算符重载函数的原型中,不属于类 A 的成员函数的是 。

A. A operator+(A); B. A operator-(); C. A operator*(int); D. A operator/(A,A); 16.关于虚函数的不正确说法是: 。

A.构造函数和析构函数都可以是虚函数,都可以被继承

B.虚函数重新定义(重构)时必须保证参数个数、类型及返回值类型与基类中函数一致

C.虚函数必须是成员函数,不能是友元、静态函数

D.基类中的虚函数可以为派生类继承,继承下来仍为虚函数

17. 建立一个有对象成员的派生类对象时,各构造函数体的执行次序为 。

A. 派生类、成员对象类、基类 B. 成员对象类、基类、派生类 C. 基类、成员对象类、派生类 D. 基类、派生类、成员对象类 18. 下列关于类定义的说法中,正确的是 。

A. 类定义中包括数据成员和函数成员的声明 B. 类成员的缺省访问权限是保护的 C. 数据成员必须被声明为私有的 D. 成员函数只能在类体外进行定义

19. 下列关于派生类构造函数和析构函数的说法中,错误的是 。

A. 派生类的构造函数会隐含调用基类的默认构造函数

B. 如果基类中没有缺省构造函数,那么派生类必须定义构造函数

C. 在建立派生类对象时,先调用基类的构造函数,再调用派生类的构造函数 D. 在销毁派生类对象时,先调用基类的析构函数,再调用派生类的析构函数 20. 下列有关继承和派生的叙述中,正确的是 。

A. 派生类不能访问基类的保护成员 B. 作为虚基类的类不能被实例化

C. 基类有数据成员时,通常派生类应当向基类的构造函数传递参数


非电类c++大一期末复习资料(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:35吨履带起重机臂架系统 - 图文

相关阅读
本类排行
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 7

支付方式:

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

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