谭浩强版《C++程序设计》知识点

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第1章C++的初步知识*1.1C和C++语言属于计算机高级语言,支持面向过程的程序设计方法。*1.2C++兼容C,是C的加强版,增加了面向对象(OOP)机制。*1.3用高级语言编写的程序称作源程序,C++源程序的扩展名为CPP,C源程序的扩展名为C。*1.4源程序被编译或解释为机器语言方可执行。C和C++均采用编译方式,源程序经编译、连接后形成机器语言的目标程序文件。*1.5用户最终执行的是目标程序文件,它是二进制可执行文件,扩展名为EXE。*1.6执行目标程序与源程序无关,但是,要修改目标程序,必须先修改源程序,然后,重新编译、连接,产生新的目标程序或覆盖原目标程序。1.7C和C++均支持模块化程序设计,C以函数为基本模块,C++增加了类模块。*1.8C和C++均支持结构化程序设计,有三种基本结构:顺序、分支、循环。*1.9每个C或C++源程序可由若干个文件组成,程序总是从主函数main开始执行,因此,每个源程序有且仅有一个主函数。*1.10C和C++区分字母的大小写。*1.11C和C++语句以分号结尾,仅有分号的语句称作空语句。*1.12表达式后缀分号称作表达式语句。*1.13用花括号{}括起来的一组语句统称复合语句。复合语句可省略其后分号,但复合语句内的语句不可省略分号(除非它也是复合语句)。*1.14C的注释以/*开头,结束于*/,可跨行。C++增加了以//开头,至行尾结束的注释。*1.15C和C++能直接对内存进行操作,从而实现对硬件的操作。1.16广义地说,求解问题的方法和步骤称作算法。就程序设计而言,对数据的操作方法和步骤称作算法。*1.17算法和数据结构是程序的两大要素。1.18掌握三种基本结构的图示。第2章数据类型和表达式*2.1掌握基本类型的类型名、缩写、存储量、取值范围。类型名类型标识符存储量取值范围有符号短整数signedshortint2字节-32768~32767无符号短整数unsignedshortint2字节0~65535有符号长整数signedlongint4字节-2147483648~2147483647无符号长整数unsignedlongint4字节0~4294967295有符号字符signedchar1字节-128~127无符号字符unsignedchar1字节0~255单精度float4字节±(3.4E-38~3.4E38)双精度double8字节±(1.7E-308~1.7E308)长双精度longdouble8字节±(1.7E-308~1.7E308)逻辑值bool1字节0~1*2.2由正号、负号、数字以及合法前缀和后缀组成的有效数称作整数(小含小数点、E、e的数)。*2.3含有小数点或E或e的数为双精度实型。*2.4整型、实型、字符型、布尔型统称数值型。*2.5整数后缀U或u为无符号整型。整数后缀L或l为长整型,实数后缀L或l为长双精度。在VC6.0中,整数默认为长整数,长双实数归入双精度,因此,整数和实数的后缀L均可省略。*2.60X或0x打头的整数为十六进制整数。0打头的整数为八进制整数。*2.7浮点数“尾数E阶码”表示“尾数×10阶码”,其中,阶码必须是整数。*2.8用一对单引号括起来的单个普通字符或转义字符称作字符常量,以其ASCII码存储。记住数字和字母的ASCII码。字符是1字节整数,但默认输出形式是字符。ASCII码在32~126范围内的字符称作普通字符(参见附录A),其它字符称作控制字符。普通字符可从键盘直接输入到程序中,而控制字符要用转义字符的形式输入。*2.9掌握转义字符:\n、\t、\\、\'、\、\八进制数、\x十六进制数。\n的ASCII码为10,其功能等同于回车键。\t的ASCII码为9,其功等同于Tab键。在文本输出状态,输出窗口通常为80列,等分成10区。22.10如果\与其后字符不组成转义字符,则\无效。*2.11\引导的数默认为八进制,无需0打头,\至多与前3位八进制数字结合。*2.12如果\引导的是十六进制数,\至多与前2位十六进制数结合。*2.13用一对双引号括起来的若干个普通字符或转义字符称作字符串常量,简称字符串。*2.14字符串中字符个数称作字符串长度,简称串长。*2.15字符串按字符的ASCII码依次存储,并自动追加1个ASCII码为0的“空字符”'\0'作为结束标志,因此,字符串的存储量比串长多一个字节。*2.16符号常量名、变量名、函数名、数组名、类型名、类名等统称标识符。*2.17标识符的命名规则为:以字母或下划线打头,由字母、下划线、数字组成。标识符不要与关键字同名。*2.18符号常量定义格式为:#define符号常量所代表的文本其功能是:在预处理时,自动用所代表的文本替换符号常量。*2.19变量必须命名和定义类型(或者说,声明类型)。定义变量类型的语句格式为:类型名变量名,变量名,…;*2.20定义变量时为其赋值,称作赋初值。*2.21在定义变量时,如果附加了关键字const,所定义变量称作常变量或只读变量。常变量必须赋初值,之后不允许修改其值。符号常量在预处理时被所代表的文字替换,不参与编译,不占内存。常变量有类型,占内存。*2.22逐步掌握附录B中运算的功能、优先级、配对方向、结合方向。*2.23在C和C++中,整数的商为整数,舍去余数(不做四舍五入)。*2.24在C和C++中,只能用圆括号(所谓的小括号)来规定或改变运算的优先级。圆括号可以嵌套,里层优先。*2.25不同类型数据作运算时,低精度数据自动向高精度转化后再做运算。在VC6.0中,char、short、unsignedshort型数据均自动转化为long型后再做运算。精度由低到高排列为:long=unsignedlong=float=double。*2.26自增运算“++”和自减运算“--”均是单目运算,只能作用于变量,可作用于左、右两侧,均使变量相应自增或自减1。作用于左侧时,算术式的值为变量改变后的值,否则为改变前的值。自增、自减运算均为左配对,与其在变量哪侧无关。运算优先级与其作用于变量的哪侧有关。*2.27强制类型转换运算的格式和功能如下:格式:(类型名)(表达式)功能:把指定表达式的值强制转换为指定类型。2.28如果转换运算所作用的表达式中没有运算或优先级均高于转换运算,可省略表达式的括号。2.29C++中可省略类型名括号,但C中不可省。*2.30实数转整数将舍去小数部分(不做四舍五入),整数转实数将舍去超出数位(做四舍五入),整数间的转换涉及到补码。*2.31会用类型转换实现“四舍五入”。例如,“(int)(x*100+.5)/100.”是保留x的2位小数。*2.32赋值运算的格式和功能如下:格式:变量=表达式功能:把赋值号“=”右侧表达式的值赋给左侧的变量,并以左侧变量为整个赋值表达式的值。*2.33如果赋值号两侧的类型不一致,右侧表达式的值将被自动转换为左侧变量的类型。转换规则与强制类型转换相同。*2.34在C和C++中,□=□☉◇等价于□☉=◇其中,□是同一个变量,◇是表达式,☉=称作复合(或组合)赋值运算符,☉是下述运算符之一:+、-、*、/、%、、、&、^、|*2.35用逗号分隔(或者说连接起来)的一组表达式统称逗号表达式。格式:表达式,…,表达式功能:从左至右依次计算逗号表达式中各表达式的值,并以最后一个表达式的值的作为整个逗号表达式的值。*2.36将数学式改为C表达式时应注意:①乘号*不可省略;②正确改写角码、运算符、括号等;③正确书写函数名;④把握好运算优先级,分数线改为/时,分子、分母相应加括号;⑤正确拆分不等式组;⑥通常,整数除法应改用实数除法。3第3章程序设计初步*3.1赋值表达式后缀分号称作赋值语句。*3.2头文件iostream.h、iostream、iomanip均提供了cin、cout等C++标准输入输出流对象,它们的格式和功能如下:格式cout表达式…表达式;功能从右至左依次计算各表达式,然后,从左至右依次输出各表达式的值。格式cin变量…变量;功能把输入数据从左至右依次赋给各变量。称作输出运算,如果其后的表达式中有比它优先级低的运算,应适当加括号。称作输入运算。输入数据间用空格、回车键分隔,并用回车键确认所输入数据。3.3头文件iomanip.h提供了许多用于实现特殊输入和输出格式的所谓控制符(参见表3.1),它内嵌了头文件iostream。*3.4头文件iostream和stdio.h均提供了putchar、getchar、printf、scanf等输入输出函数。putchar和getchar的格式和功能如下:格式putchar(表达式)功能输出以指定表达式的值为ASCII码的字符,并自动追加一个回车符。格式getchar()功能输入一个字符,并以该字符为函数值(字符型)。注意:getchar可提取空格及回车、Tab等控制字符,只提取输入中相应位置上一个字符,因此,输入字符间无须分隔,否则也被视为输入字符。3.5printf函数的格式和功能如下:格式printf(格式控制串,输出表列)功能①从右至左依次计算输出表列中各表达式;②从左至右依次输出格式控制串中的字符,其中,%引导的格式控制符由输出表列中相应表达式的值所取代。输出表列是一组用逗号分隔的表达式(又称输出项,可以为0项)。格式控制串可以是表达式,其中,格式符用于控制输出表列中相应表达式的输出格式(参见第04讲:程序设计初步)。3.6scanf函数的格式和功能如下:格式scanf(格式控制串,地址表列)功能①从右至左依次计算地址表列中各表达式的值;②从标准输入设备提取数据,并从左至右依次存储到所指定的存储单元。格式控制串可以是表达式。地址表列是一组用逗号分隔的地址,可用是表达式,常用形式为:&变量其中&是地址运算符,它表示取其后变量的起始存储地址。scanf可提取空格以及回车、Tab等部分控制字符,但必须以字符提取(而非字符串)。scanf函数格式符与printf函数的格式符的功能相似(参见第04讲:程序设计初步)。scanf的合法格式符不分大小写、实型格式符均等效。*3.7在C和C++中,逻辑值均为整数,真即1,假即0。高版本C++中新增了逻辑类型bool,它只有1和0这两个1字节整数,可分别表为true和false。字符和数作为逻辑量时,非0即真。指针作为逻辑量时,非空即真。逻辑运算如下表所示:右元!右元左元右元左元&&右元左元||右元假(0)1假(0)假(0)00真(非0)0假(0)真(非0)01真(非0)假(0)01真(非0)真(非0)11*3.8关系式的值为逻辑值。*3.9对于形如□||□||…的逻辑式,从左至右计算□的逻辑值,遇真即止。*3.10对于形如□&&□&&…的逻辑式,从左至右计算□的逻辑值,遇假即止。*3.11if语句的格式和功能如下:格式if(条件)语句1else语句24功能如果条件成立,执行语句1,否则执行语句2。如果语句2为空语句,可同else一起省略。注意:else不可独立使用,它与其前最近一个尚未配对的if配对,为避免岐义,通常只在else中嵌套if语句。*3.12条件表达式的格式和功能如下:格式条件?表达式1:表达式2功能如果条件成立,取表达式1的值,否则取表达式2的值。条件表达式可以嵌套,:与其前最近一个尚未配对的?配对。*3.13掌握目前所学运算的优先级(见附录B)。3.14switch语句的格式和功能如下:格式switch(表达式){…case常量i:语句组i…default:语句组n+1}功能如果表达式的值等于常量i,则从语句组i开始执行,否则执行语句组n+1。switch()中表达式的值必须是整数(可以是字符或逻辑值),“default:语句组n+1”可缺省,每个语句组称作一个分支。为使各分支独立,通常以break、return、exit等语句结尾。*3.15break语句的格式和功能如下:格式break;功能结束本层switch语句或本层循环语句。*3.

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功