Cprimerplus第五版学习笔记.docx
- 文档编号:9139602
- 上传时间:2023-05-17
- 格式:DOCX
- 页数:22
- 大小:36.48KB
Cprimerplus第五版学习笔记.docx
《Cprimerplus第五版学习笔记.docx》由会员分享,可在线阅读,更多相关《Cprimerplus第五版学习笔记.docx(22页珍藏版)》请在冰点文库上搜索。
Cprimerplus第五版学习笔记
Cprimerplus第五版学习笔记
C++源代码风格1每行一条语句2每个函数的两个花括号各占一行3函数中的语句都对于花括号进行缩进4与函数名称相关的圆括号周围没有空白(空行将声明语句与程序的其他部分分开,或在变量前声明,C++的做法是尽可能在首次使用变量前声明)。
第二章开始学习C++变量名的约定:
类型_名称或者是类型(int)名称(Akjl)
C语言输入输出是printf,scanf,他们都包含在头文件stdio.h中
操作符重载:
通过重载,同意个操作符将有不同的含义。
&操作符表示地址操作符又表示AND按位操作符,又如指针*Long|cout
Main()//可以将两个关键字分开在两行写|</分开写
a=b=c=0;//C/C++中可以连续赋值
C++程序应当为程序中使用的每个函数提供原型,而库函数在头文件中有声明,而在库文件中有他的定义。
标准C库中提供了140多个预定义函数,而main()函数不是关键字,由于它不是语法的组成
头文件Stdlib.h中rand()函数不接受任何参数,并返回一个随机整数,其函数声明如下:
intrand(void);第三章数据处理
3.1简单变量内置C++类型有基本类型和复合类型
Sizeof操作符能够打印类型或变量长度的单位字节数,如:
sizeof(int);sizeofa;//a为变量
头文件climits包含了整型限制信息
SCHAR_MAXSignedchar最大值CHAR_BITChar的位数ING_MINInt最小值UCHAR_MAXUnsignedchar最大值
SCHAR_MINSignedchar最小值SHRT_MAXShort最大值LONG_MAXLong最大值UNIT_MAXUnsignedint最大值
CHAR_MAXChar的最大值SHRT_MINShort最小值LONG_MINLong最小值ULONG_MAXUnsignedlong最大值
CHAR_MINChar的最小值INT_MAXInt最大值USHRT_MAXUnsignedshort最大值C++的变量的初始化有两种,第一种c语言的:
inta=15;第二种是C++的:
inta(15);如果不初始化那么变量的值是以前留下的C99添加了两种类型:
longlong和unsignedlonglong两种类型都至少是64位的
Cout< Cout< Cout< Cout<<1982uL;C++打印常量时候,常量后面加L或l表示1982被存为long型,若是uL或ul表示存为unsignedlong型,若是u或U表示存为unsignedint,若无后缀表示存为int。 charch=’a’;Cout.put(ch);//成员变量put()可以打印char型变量,我们也可以写成cout.put(‘n’); c++转义序列符(括号里的为ASCII符号) 换行符(NL或LF)\n退格(BS)\b回车(CR)\r反斜杠(\)\\单引号(‘)\’ 水平制表符(HT)\t垂直制表符(VT)\v振铃(BEL)\a问号(? )\? 双引号(“)\” Cout< 统统字符名: 通用字符名以\u或\U开头,\u后面在跟8个十六进制位,而\U后面跟16个十六进制位,这些位表示的是ISO10646编码(ISO10646是一种正在制定中的国际标准,位大量的字符提供字符编码,他与Unicode合作,确保标准同步,Unicode可以表示96000多种符号和49个手写符号,而ASCII码就是Unicode的一个子集) Cout<<”nig\u00E2teau.\n”;打印如下nigâteau//â的ISO10646编码是00E2 特殊类型: wcha_t宽字符类型Bool类型,任何数字值或指针指都可以被隐式的转换为bool值。 任何非零值都被转换为TRUE,零被转换为FALSE;反之intaa=true;longbb=false;也成立~~ 3.2Const限定符: constlongMONTHS=TRUE;//const限定符用于定义常量 Const限定符定义常量时? 常量名一般全用大写,便于与变量区分;? 要直接初始化,否则将无法初始化 3.3浮点数 浮点数的书写有两种方式: ? 常用的标注-942635;? -1.54E-45.6545e8。 浮点类型要添加头文件float.h,浮点型的类型有float(32位,其精度低,系统至少有6位有效数位或更低),double(64位,精度至少在13位有效位),longdouble(80,96,128位)。 浮点常量默认为double类型若希望常量位float,要用f或F后缀,对于longdouble类型。 使用l或L(尽量用L,l像1)cout<<2.2L<<3.12f<<8.123;//8.123为double默认型 Therefore,physicianswerepractisingthisprofessionrequiresnotonlymedicalexpertiseasabasis,butalsotolearntoapplyforemergencymedicaltechniquesandmethodstosaveapatient'slife.Theserulesapplytotheemergencydepartmentmedicalspecialistthefirst3yearsoftraining.(Forexample,master,doctoralgraduates,andresidencycanbereducedto2years),traininggoalsthrough3yearsofbasictraining,thetraineesmasterthebasictheory,basicknowledgeandbasicskills,abilitytoachieveindependentdiagnosisandtreatmentofcommonacuteandsevere.Tomastercommonsymptomsdifferentialdiagnosisofacute;masterclassificationofemergencypatient'scondition;befamiliarwithfirstaidtechniquesandmethodscommonlyused;thebasicrightandanindependentcommonemergencyfirst-aidtreatment.Readbooksaboutemergencymedicine;knowledgeofclinicalresearchmethods,seamlessintegrationofclinicalpractice,writeswithacertainlevelofreportsandreviewsofmedicalrecords.Second,standardizedtrainingmethodstraineestotakepartinspecialisttrainingstandardsettheorycourse,Rotaryrangeshouldfocusonemergencymedicine,highriskshouldappearintheacuteandsevereDepartmentWeb-oriented,takingintoaccounttheirrelevantspecialties.Wheelarrangementinclinicaldepartments: emergencymedicine(includingemergencyICU)15months,relateddisciplinesofemergencymedicinerotationfor21months.Detailed C++标准在默认输出时会删除小数点后末尾的零,如将23.450000显示成23.45。 cout.setf(ios_base: : fixed,ios_base: : flatfield);//可以覆盖默认设置,让打印末尾的0显示出来 3.4C++算术操作符 求模操作符要求两个数必须为整数 潜在的数值转换问题? 大浮点型? 小浮点型: 精度降低可能超出目标类型的取值范围,结果是不确定的。 ? 浮点型? 整型: 小数丢失,原先的值可能超出目标类型的取值范围,结果不确定。 ? 大整型? 小整形: 容易超出范围,通常只复制右边字节 强制类型转换: 不会修改变量本身,而是创建一个新的指定类型的值。 其格式有两种: (long)bianliang;//c语言强制类型转换的方式 Long(bianliang);//c++风格,其想法是让强制转换类型就想是函数调用 C++primer第四章复合类型 复合类型: 在C语言中叫派生类型,而C++中类使用了“派生”这个词,所以叫复合类型 主要内容: 1如何创建和使用数组2如何创建和使用C-风格字符串3如何创建和使用string类字符串4如何使用getline()和get()方法来读取字符串5如何混合输入字符串和数字6如何创建和使用结构7如何创建和使用共享体8如何创建和使用枚举9如何创建和使用指针10如何通过new和delete来管理动态内存11如何创建动态数组12如何创建动态结构13自动存储、静态存储和动态存储 影响最为深远的复合类型是类,它是我们正要学习的OOP堡垒。 4.1数组(array) 数组的三要素是: 每个元素的类型,数组名,元素数 数组的下标总是从0开始到(元素数减1结束);如果下标超界,编译器不会报错,但可能破坏数据或代码也可能异常终止。 所以必须确保有效下标~~ Longkk[10]={10,12,6856,12};//数组初始化,有逗号隔开,大括号里元素可以少于元素总数Longjj[10];//数组的这种初始化只能用与定义数组的时候。 Cout< Cout< Jj=kk;//不能将以个数组的值赋给另一个数组 Longkk[15]={0};//将没个元素都初始化为0的方法,为被定义的元素自动初始化为0~~Longkk[]={0,523,54,3,4};//编译器计算出[]内的元素个数,这里为5个 Longlong_kk=sizeofkk/sizeof(short);//我们不知道数组的个数是多少这样就知道了 4.2字符串 C++处理字符串的方式有两种1: 来自C语言,常被称为C-风格字符串;另一种基于string类库 定义两个char型数组: Chardog[5]={‘a’,’b’,’c’,’d’,’c’};//定义了一个char型数组,储存的不是一个字符串Charcat[5]={‘a’,’b’,’c’,’d’,’\0’};//储存的是一个字符串,到空字符结束~~//在确定存储的字符串所需的最短数组时,别玩了将结尾的空字符计算在内 另一种初始化字符串的方法: Charkk[]=”nihao! ! ”;编译器会在字符串最后加上”\0”字符;字符串用双引号,字符单引号 拼接字符串常量: 下面的语句是等效的~~ Cout<<”我们可以将字符串分开””写,但双引号紧靠着,中间无符号”;//不建议采用这种方法Cout<<”我们也可以将字符串直接写在一对双引号内”; Cout<<”我们也可以将字符串分开写,”//这中方法是解决一行内字符串太多,分行写 ”并像这样放在两行里,第一行末尾没有分号”; Strlen()函数是标准函数库cString的函数用来确定字符串的长度~~ Charkk[15]=”nihao! ”;//strlen只计算可见字符,不把空字符计操作数在内 Cout< -tWebsettheorycourse,Rotaryrangeshouldfocusonemergencymedicine,highriskshouldappearintheacuteandsevereDepartmensandreviewsofmedicalrecords.Second,standardizedtrainingmethodstraineestotakepartinspecialisttrainingstandardpractice,writeswithacertainlevelofreportaidtreatment.Readbooksaboutemergencymedicine;knowledgeofclinicalresearchmethods,seamlessintegrationofclinical-dmethodscommonlyused;thebasicrightandanindependentcommonemergencyfirstuesansdifferentialdiagnosisofacute;masterclassificationofemergencypatient'scondition;befamiliarwithfirstaidtechniqandbasicskills,abilitytoachieveindependentdiagnosisandtreatmentofcommonacuteandsevere.Tomastercommonsymptomledgeanbereducedto2years),traininggoalsthrough3yearsofbasictraining,thetraineesmasterthebasictheory,basicknowrgencydepartmentmedicalspecialistthefirst3yearsoftraining.(Forexample,master,doctoralgraduates,andresidencycplyforemergencymedicaltechniquesandmethodstosaveapatient'slife.TheserulesapplytotheemeTherefore,physicianswerepractisingthisprofessionrequiresnotonlymedicalexpertiseasabasis,butalsotolearntoapudingemergencyICU)15months,relateddisciplinesofemergencymedicinerotationfor21months.Detailedoriented,takingintoaccounttheirrelevantspecialties.Wheelarrangementinclinicaldepartments: emergencymedicine(incl-2- Kk[3]=’\0’;//当cout读到’\0’时变停止 Cout< 打印如下: 615nih! 读取一行字符串的输入: istream中的类(如cin)提供面向行的类成员函数: getline()和get(). Getline()将丢去换行符,而get()将换行符保留在输入序列中~~ Getline()有两个参数,第一个是数组名第二个是读取字符数-1(如若是20,最多度19个) 在读取指定数目的字符或遇到换行符书停止读取。 不保存换行符,最后用空字符代替 Get()有几个变体~~其中一个与getline相似他们接受参数相同,解释参数也相同。 该函数并不是用空字符代替换行符,而是插入,并将换行符保留在输入列中,这样get()将无法跨行,因为下个get()一开始就读到了换行符,并有把他保存在输入队伍中. Cin.get(kk,20); Cin.get();//Get()另一个变体cin.get()可读取一个字符,即使是换行符,这样就可以保留在 Cin.get(mm,20);//输入列中 我们可以将两个类成员函数合并: cin.get(array,200).get();//第一个get()返回一个cin对象,该对象随后被用来调用第二个get()函数~~同样: cin.get(array,200).cin.get(array,200);也是可以的等效于调用两次getline()。 而cin.get().get()则不行,以为第一个get()不返回对象. 混合输入字符串和数字: Inta;charkk[100];
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Cprimerplus 第五 学习 笔记