小驴整理のc++复习提纲

上传人:第*** 文档编号:30678532 上传时间:2018-01-31 格式:DOCX 页数:11 大小:28.87KB
返回 下载 相关 举报
小驴整理のc++复习提纲_第1页
第1页 / 共11页
小驴整理のc++复习提纲_第2页
第2页 / 共11页
小驴整理のc++复习提纲_第3页
第3页 / 共11页
小驴整理のc++复习提纲_第4页
第4页 / 共11页
小驴整理のc++复习提纲_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《小驴整理のc++复习提纲》由会员分享,可在线阅读,更多相关《小驴整理のc++复习提纲(11页珍藏版)》请在金锄头文库上搜索。

1、C+复习提纲小驴吐血整理试卷用英文描述,两个软工班和国际班使用同一套试卷。考试题型:选择题: 24 分填空题: 18 分判断题: 10 分改错题: 10 分输出结果: 28 分编程题: 10 分要求:一、根据复习提纲认真复习,凡是复习提纲中涉及的内容一定要掌握。二、卷面不能留空。所有地方应根据自己的理解尽量作答。三、本次考试不需要大量编写源代码,但是有大量源代码需要读懂,请留意。C+语言中有哪些基本数据类型?int float double char bool long 我真的只能想到这些了。 。你萌不会用到 longlong 的。 。 。在 32 位平台上,每种数据类型的长度是多少?Int

2、4Double 8Long 4Float 4Char 1Bool 1sizeof 运算符的作用是什么?返回一个对象或者类型所占内存的大小。为什么说它是一种编译时运算符?怎样使用它?他的值是在编译时计算的。是在编译时分配的内存空间。使用嘛。 。 。sizeof(balabala); 好吧。就这样。 。怎样定义数组?Type namesize; 这样应该能看懂吧。 。 。 。怎样为数组各分量设置初始值(注意 0 值和非 0 值)?Eg.int a5 = 1,2,3,4,5; 分别是 1、2、3、4、5int a5 = 1; 全都是 1当数组为全局变量时。会默认有初始值全为零的。 。 。怎样计算一维

3、数组或多维数组分量的地址?almn 中 aijk 的地址应该是 a000的地址+(数组类型所占的类型空间*(l*i+j*m+k) )应该是吧。我自己算的 ()/。 。 。 。 。C+程序运行时,内存被划分成哪几个区域?每个区域存放一些什么内容?1、栈区(stack) 程序运行时由编译器自动分配,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。程序结束时由编译器自动释放。2、堆区(heap) 在内存开辟另一块存储区域。一般由程序员分配释放, 若程序员不释放,程序结束时可能由 OS 回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区) (st

4、atic)编译器编译时即分配内存。全局变量和静态变量的存储是放在一块的,初始化的 全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后由系统释放4、文字常量区 常量字符串就是放在这里的。 程序结束后由系统释放5、程序代码区存放函数体的二进制代码。【源自度娘。2333333】怎样定义函数?返回类型 函数名(参数类型 参数名,参数类型 参数名) ;不造英文怎么写。就这样吧。什么是函数原型? 函数声明由函数返回类型、函数名和形参列表组成。形参列表必须包括形参类型,但是不必对形参命名。这三个元素被称为函数原型,函数原型描述了函数的接口【百度百科】

5、。 。好吧。说白了我上面打那个就是函数原型。 。 。据说英文是这个 function prototype 大家凑活看吧。 。 。什么事函数签名?百度上说就是函数声明。也就是貌似跟函数原型是一个东西。 。 。算了。渣渣表示相信百度。 。 。还有。陈刚错别字。差评!什么是函数的形参?什么是实参?它们有什么区别和联系? 定义函数时的参数就是形参。用函数时的参数就是实参。 。说白了就是这样。 。 。区别就在上面吧。 。 。联系。 。 。形参和实参的类型要一致或含有隐式转换关系。 。 。注意一下指针做参数的时候。 。 。好多。 。懒得写了。想问就直接问我吧。 。 。()/函数参数的传递方式有哪两种?有哪

6、些注意事项?明明是三种嘛!传值、传址、传引用好吧。传引用我们好像没学。 。 。不管他。 。传值就是参数为非指针类型。传值就是参数为指针类型。 好吧。就这样。 。感觉没太多注意的。具体参见上一问最后一句。 。什么是内联函数?什么是递归函数?怎样使用它们?内联函数就是在函数前面加一个 inline。比如 inline void swap(int *a,int *b);就是你敲代码的时候虽然敲成了一个函数。但编译的时候会把函数展开放到你调用函数的位置。因为函数的调用是需要时间的。这就是一个以空间换时间的坐法。 (关于浪费空间请参见运行时内存区域第五条。 )(好吧。我相信你萌理解不了这点时间能干啥。(

7、)/ .)什么是函数的返回值?什么函数一定要写 return 语句?什么函数可以不写?就是。 。 。返回的值嘛。 。 (这个都要解释的话裸考 C+真的大丈夫么!)返回类型不是 void 的一定要写返。回。值。的。哟。返回类型是 void 的不能写返。回。值。的。哟。麻痹我又忍不住卖萌了。 。 。 。忘了是 C+还是 C的标准了。 。在 VS2013 里如果非 void 函数存在无 return 的运行可能是不能通过编译的。 。 。VS2013 好赞啊!函数的返回值实际上被传递到哪里?据说是一个返回地址。 。 。地址嘛。就是一块内存区域。 。不过据说程序猿不需要太研究这个。 。 。如果谁会汇编语

8、言的话。 。就给我讲讲吧23333当返回一个类对象时意味着什么?函数返回引用时应注意什么问题?意味着创建一个临时对象吧。 。其实想想嘛。你返回 int 的时候。Int 难道不是一个类么。 。 。对吧注意。 。 。能不返回引用尽量不返回引用吧。 。后来找到了这个。 。“Effective C+ 条款 31: 千万不要返回局部对象的引用,也不要返回函数内部用new 初始化的指针的引用”所以还是尽量不返回引用吧。 。 。什么是枚举数据类型?怎样定义和使用枚举常量?简单地说。 。如果一个变量只有有限的很少的(很多的话打起来好麻烦啊)值。就可以定义为枚举类型。 。 。然后。 。还是用代码说话吧。 。 。

9、enum Animaldonkey,fox,bird,doggeAnimal _animal;_animal = fox;if (_animal = fox)cout = X 可以写成的另外一种等价形式是什么?4 个字节。 。 。(*p ).x。 。 。 。C+标准库中的 I/O 类怎样处理空白字符的输入输出?空白字符会直接通过 cout 输出。使用输入流读入时如果以空白字符开头。会忽略开头的所有的空白字符。并一直读到下一个空白字符结束。什么是 C 风格的字符串?怎样计算字符串的长度?字符串与字符数组之间是什么关系?C 风格字符串是以空字符 null 结束的字符数组如 char chr = c

10、,+,+ ,/0 和 string str =“C+”(字符串会在尾部自动补上一个空字符)转义字符算作长度 1 如“c+n ”长度为 6。n 都是转义字符(换行、反斜杠、单引号)字符数组是字符串字面值的类型实质。字符串是经过封装的字符数组。什么是作用域指示符?它有哪些典型的用法?/明明是运算符好么!哪里是指示符!就是”:“。真心找不到什么具体的定义了。 。 。 。典型的用法有:加在变量名前访问全局变量。表示类的成员函数、变量表示命名空间的函数、变量什么是强制类型转换?基本数据类型之间的强制转换遵循什么规则?强制类型转换是把表达式的运算结果强制转换成说明符所表示的类型浮点-整形 舍弃浮点数部分保

11、留整数部分。Char-int ASCII 值Int-char 保留最高 8 位。Int-short int 保留最低 16 位类有哪几种访问权限?分别代表什么含义?默认的访问权限是什么?在设计类时,成员的访问权限的设定有何讲究?Public protect private 三种。Private 只能由该类中的函数和友元类中的函数访问。Protect 只能由该类中的函数、友元类中的函数和子类中的函数访问。Public 能由只能由该类中的函数、友元类中的函数、子类中的函数和该类的对象访问。默认访问权限是 private。出于对程序安全性的考虑。尽量降低成员的访问权限。为什么类定义后一定要加分号?为

12、防止语法歧义。 。 。如struct/class aBalabala;Function();可以被理解为返回结构体/类 a 的函数。而同时在 C 中返回值为 int 的函数是可以不加int 的。所以也可以理解为 function 为返回 int 的函数。 C+继承与 C。为了与 C 的语法兼容就保持了这个要求。什么是类的构造函数?怎样定义构造函数?什么时候执行构造函数?什么是默认构造函数?它起什么作用?构造函数是用在创建对象是初始化对象的特殊方法。类名()Balabala;构造函数不能有返回值。且与类名相同。构造函数在实例化对象时执行。默认构造函数就是在没有显式提供初始化式时调用的构造函数。作

13、用是为对象分配内存空间。什么是类的拷贝构造函数?在哪几种典型的情况下,会发生拷贝构造函数的调用?怎样定义拷贝构造函数?拷贝构造函数是一种特殊的构造函数。用于完成一些基于同一类的对象的构建及初始化。使用拷贝构造函数的三种典型情况。 。 。1) 一个对象作为函数参数,以值传递的方式传入函数体;2) 一个对象作为函数返回值,以值传递的方式从函数返回;3) 一个对象用于给另外一个对象进行初始化(常称为赋值初始化) ;Eg. _Class(const _Class& c)A = c.A;什么是构造函数的初始化列表?在什么情况下必须使用初始化列表?构造函数初始化列表以一个冒号开始,接着是以逗号分隔的数据成

14、员列表Eg.class apublic:int b,c;a(int _b,_c): b(_b),c(_c)成员常量、引用类型、没有默认构造函数的类类型必须使用初始化列表。怎样从基本数据类型转换成类类型?怎样从类类型转换成基本数据类型?在类类型中使用如 A(const int &)的构造函数可以完成隐式转换。在类类型中使用如 explicit A(const int &)的构造函数可以完成隐式转换。什么是友元?友元有哪两种具体形式?怎样定义友元?友元是一种定义在类外部的普通函数或类。他不是成员函数但可以访问类中的私有成员。友元有友元函数和友元类两种具体形式。Eg.friend void func

15、tion();什么是运算符重载?有哪两种实现运算符重载的方法?掌握常用的运算符如+、-、* 、/、和类型转换运算符重载的方法。运算符重载是对已有的运算符进行重新定义。赋予另一种功能。以适应不同的数据类型。运算符重载主要三种:通过普通函数重载、通过友元函数重载、通过类成员函数重载。一般不通过普通函数重载。 。 。 。具体实现参见上机实验作业 1.2。生成的对象可以放在哪些存储区域内?不同存储区域内的对象的生成方式有什么不同?new 生成的对象放在堆中。直接定义的对象放在栈中。怎样动态申请空间和释放空间? delete 与 delete的区别是什么?如果用 new 在构造函数中申请空间,一般在什么地方用 delete 释放空间?主要方式为使用指针。详见 C+上机实验作业 5.2。delete 无法回收数组的空间。如数组 p10。使用 delete p 的结果是只回收了 p0也就是 p 的第一个对象。而使用 delete p10则会回收 p 中所有对象的内存空间。在析。构。函。数。里。哟。什么是函数模板?什么是模板函数?怎样定义函数模板?什么是模板参数推导?什么是函数模板显式实例化函数模板是。建立一个通用函数。其函数类型和形参类型不指定。用一个虚拟的类型来代替。这个通用函数就是函数模板。模板函数是编译器生成的函数模板的重载。Eg.template ;T max(T a,T b)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 其它办公文档

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