上海交通大学C++复习题(1)_第1页
上海交通大学C++复习题(1)_第2页
上海交通大学C++复习题(1)_第3页
免费预览已结束,剩余8页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、本文格式为word版,下载可任意编辑上海交通大学c+复习题(1) 2根据标识符的要求,符号不能组成标识符。 a.连接符 b.下划线 c.大小写字母 d.数字字符 3. 为了避开嵌套的if-else语句的二义性,c语言规定else总是与 组成配对关系。 a.缩排位置相同的if b.在其之前未配对的if c.在其之前未配对的最近的if d.同一行上的if 4.在int a 3=1,3,2,4,5,6,0;中,a22的值是 。 a.1 b.0 c.6 d.2 5.设char *s;,以下正确的表达式是。 a.s=computer; b.*s=computer; c.*s=computer; d.*s

2、=c; 6. 对于int *pa5;的描述中,是正确的。 a.pa是一个指向数组的指针,所指向的数组是5个int型元素 b.pa是一个指向某数组中第5个元素的指针,该元素是int型变量 c.pa 5表示某个元素的第5个元素的值 d.pa是一个具有5个元素的指针数组,每个元素是一个int型指针 7. 在以下表示引用的方法中,是正确的。 已知:int m=10; x=m; y=10; z; d.float t=m; 8. 以下for循环的次数为 。 fori=0, x=0; !xi=5; i+ a.5 b.6 c.1 d.无限 9. 对于c/c+语言的函数,以下

3、表达中正确的选项是。 a.函数的定义不能嵌套,但函数调用可以嵌套 b.函数的定义可以嵌套,但函数调用不能嵌套 c.函数的定义和调用都不能嵌套 d.函数的定义和调用都可以嵌套 10. 在一个被调用函数中,关于return语句使用的描述, 是错误的。 a.被调用函数中可以不用return语句 b.被调用函数中可以使用多个return语句 c.被调用函数中,假如有返回值,就肯定要有return语句 d.被调用函数中,一个return语句可以返回多个值给调用函数 11. 在一个函数中,要求通过函数来实现一种不太冗杂的功能,并且要求加快执行速度, 选用。 a.内联函数 b.重载函数 c.递归调用 d.嵌

4、套调用 14. 在如下结构定义中,不正确的选项是。 a.struct student int no; char name10; float score; ; b.struct stud20 int no; char name10; float score; ; c.struct student int no; char name10; float score; stud20; d.struct int no; char name10; float score; stud100 15. 将两个字符串连接起来组成一个字符串时,选用函数。 a.strlen( ) b.strcpy( ) c.strc

5、at( ) d.strcmp( ) 16. ( )不是构造函数的特征 a.构造函数的函数名与类名相同 b.构造函数可以重载 c.构造函数可以设置缺省参数 d.构造函数必需指定类型说明 17. 已知:类a中一个成员函数说明如下: void set(aa); 其中,a的含义是( )。 a.指向类a的指针为a b.将a的地址值赋给变量set c.a是类a对象的引用,用来作函数set的参数 d.变量a与a按位与作为函数set( )的参数 18. 已知:print( )函数是一个类的常成员函数,它无返回值,以下表示中,是正确的。 a.void print( ) const; b.const void p

6、rint( ); c.void const print( ); d.void print(const); 19. 关于虚函数的描述中,是正确的。 a.虚函数是一个static类型的成员函数 b.虚函数是一个非成员函数 c.基类中说明了虚函数后,派生类中将其对应的函数可不必说明为虚函数 d.派生类的虚函数与基类的虚函数具有不同的参数个数和类型 20. 关于new运算符的以下描述中,是错的。 a.它可以用来动态创建对象和对象数组 b.使用它创建的对象和对象数组可以使用运算符delete删除 c.使用它创建对象时要调用构造函数 d.使用它创建对象数组时必需指定初始值 三、分析下面程序的运行结果 #i

7、nclude iostream using namespace std; class b public: b() b(inti) b = i; virtual void virfun() cout b:virfun() called.n; private: int b; ; class d :public b public: d() d(inti, int j) :b(i)d = j; private: int d; voidvirfun() cout d:virfun() called.n; ; void fun(b *obj) obj-virfun(); void main() d *pd

8、 = new d; fun(pd); 五、定义一个字符栈类stack包括类的实现)。 数据成员包括一个存放字符的数组stck 和一个栈指针tos。栈数组的尺寸由常量size确定。栈的基本操作为push()和pop()。 六、完成下面的函数: 对有n个元素的数组a,使数组元素按逆序排列。 void inverse(typename *a, int n) 七、下面的函数统计子字符串substr在字符串str中出现的次数,假如substr在str中不出现,那么返回值0。请完成该函数。int str_count(char *substr, char *str) 答案: 2-a 3-c 4-c 5-b

9、6-d 7-a 8-b 9-a 10-d 11-a 14-b 15-c 16-d 17-c 18-c 19-c 20-d 三、运行结果为: d:virfun() called. 五、仅供参考 #define size 100 class stack public: stack() tos = 0; void push(char ch) if (tos = size) coutnstack is full.n; else stcktos+ = ch; char pop() if (tos = 0) return 0; else returnstcktos-; private: charstcks

10、ize; inttos; ; 六、仅供参考 templatetypenametypename void swap(typenamex, typenamey) typename temp = x; x = y; y = temp; templatetypenametypename void inverse(typename *a, int n) inti; for (i = 0; i n / 2; i+) swap(ai, an - i - 1); 七、仅供参考 intstr_count(char *substr, char *str) int count = 0; char *pchar; if (substr = null | str = null) return count; while (*str !=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论