2022年谭浩强版《C++程序设计》知识点二 .pdf
《2022年谭浩强版《C++程序设计》知识点二 .pdf》由会员分享,可在线阅读,更多相关《2022年谭浩强版《C++程序设计》知识点二 .pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 第 1 章 C+的初步知识 *1.1 C和 C+ 语言属于计算机高级语言,支持面向过程的程序设计方法。 *1.2 C+兼容 C,是 C的加强版,增加了面向对象(OOP)机制。 *1.3 用高级语言编写的程序称作源程序,C+ 源程序的扩展名为CPP ,C 源程序的扩展名为C。 *1.4 源程序被编译或解释为机器语言方可执行。C 和 C+均采用编译方式,源程序经编译、连接后形成机器语言的目标程序文件。 *1.5 用户最终执行的是目标程序文件,它是二进制可执行文件,扩展名为EXE 。 *1.6 执行目标程序与源程序无关,但是,要修改目标程序,必须先修改源程序,然后,重新编译、连接,产生新的目标程
2、序或覆盖原目标程序。 1.7 C和 C+ 均支持模块化程序设计,C以函数为基本模块,C+增加了类模块。 *1.8 C和 C+ 均支持结构化程序设计,有三种基本结构:顺序、分支、循环。 *1.9 每个 C 或 C+源程序可由若干个文件组成,程序总是从主函数main 开始执行, 因此, 每个源程序有且仅有一个主函数。 *1.10 C和 C+ 区分字母的大小写。 *1.11 C和 C+ 语句以分号结尾,仅有分号的语句称作空语句。 *1.12 表达式后缀分号称作表达式语句。 *1.13 用花括号 括起来的一组语句统称复合语句。复合语句可省略其后分号,但复合语句内的语句不可省略分号( 除非它也是复合语句
3、)。 *1.14 C的注释以 /* 开头,结束于*/ ,可跨行。 C+ 增加了以 / 开头,至行尾结束的注释。 *1.15 C和 C+ 能直接对内存进行操作,从而实现对硬件的操作。 1.16 广义地说,求解问题的方法和步骤称作算法。就程序设计而言,对数据的操作方法和步骤称作算法。 *1.17 算法和数据结构是程序的两大要素。 1.18 掌握三种基本结构的图示。第 2 章 数据类型和表达式 *2.1 掌握基本类型的类型名、缩写、存储量、取值范围。类型名类型标识符存储量取值范围有符号短整数signed short int 2 字节-32768 32767 无符号短整数unsigned short
4、int 2 字节065535 有符号长整数signed long int 4 字节-2147483648 2147483647 无符号长整数unsigned long int 4 字节04294967295 有符号字符signed char 1 字节-128127 无符号字符unsigned char 1 字节0255 单精度float 4 字节(3.4E-38 3.4E38) 双精度double 8 字节(1.7E-308 1.7E308) 长双精度long double 8 字节(1.7E-308 1.7E308) 逻辑值bool 1 字节01 *2.2 由正号、负号、数字以及合法前缀和后
5、缀组成的有效数称作整数( 小含小数点、 E、e 的数 ) 。 *2.3 含有小数点或E 或 e 的数为双精度实型。 *2.4 整型、实型、字符型、布尔型统称数值型。 *2.5 整数后缀U或 u 为无符号整型。整数后缀L 或 l 为长整型,实数后缀L 或 l 为长双精度。在 VC 6.0 中,整数默认为长整数,长双实数归入双精度,因此,整数和实数的后缀L 均可省略。 *2.6 0X或 0 x 打头的整数为十六进制整数。0 打头的整数为八进制整数。 *2.7 浮点数“尾数E 阶码”表示“尾数10阶码”,其中,阶码必须是整数。 *2.8 用一对单引号括起来的单个普通字符或转义字符称作字符常量,以其A
6、SCII 码存储。记住数字和字母的 ASCII 码。字符是 1 字节整数,但默认输出形式是字符。 ASCII码在 32126 范围内的字符称作普通字符(参见附录A),其它字符称作控制字符。普通字符可从键盘直接输入到程序中,而控制字符要用转义字符的形式输入。 *2.9 掌握转义字符:n 、 t 、 、 、 八进制数、 x 十六进制数。 n的 ASCII 码为 10,其功能等同于回车键。t的 ASCII 码为 9,其功等同于Tab 键。在文本输出状态,输出窗口通常为80 列,等分成10 区。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
7、 - 名师精心整理 - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 2 2.10 如果与其后字符不组成转义字符,则无效。引导的数默认为八进制,无需0 打头,至多与前 3 位八进制数字结合。 *2.12 如果引导的是十六进制数,至多与前2 位十六进制数结合。 *2.13 用一对双引号括起来的若干个普通字符或转义字符称作字符串常量,简称字符串。 *2.14 字符串中字符个数称作字符串长度,简称串长。 *2.15 字符串按字符的ASCII 码依次存储,并自动追加1 个 ASCII 码为 0 的“空字符” 0作为结束标志,因此,字符串的存储量比串长多一个字节。
8、 *2.16 符号常量名、变量名、函数名、数组名、类型名、类名等统称标识符。 *2.17 标识符的命名规则为:以字母或下划线打头,由字母、下划线、数字组成。标识符不要与关键字同名。 *2.18 符号常量定义格式为:#define 符号常量所代表的文本其功能是:在预处理时,自动用所代表的文本替换符号常量。 *2.19 变量必须命名和定义类型(或者说,声明类型) 。定义变量类型的语句格式为:类型名变量名 , 变量名 , , ; *2.20 定义变量时为其赋值,称作赋初值。 *2.21 在定义变量时, 如果附加了关键字const ,所定义变量称作常变量或只读变量。常变量必须赋初值,之后不允许修改其值
9、。符号常量在预处理时被所代表的文字替换,不参与编译,不占内存。常变量有类型,占内存。 *2.22 逐步掌握附录B 中运算的功能、优先级、配对方向、结合方向。 *2.23 在 C 和 C+ 中,整数的商为整数,舍去余数( 不做四舍五入) 。 *2.24 在 C 和 C+ 中,只能用圆括号 ( 所谓的小括号) 来规定或改变运算的优先级。圆括号可以嵌套,里层优先。 *2.25 不同类型数据作运算时,低精度数据自动向高精度转化后再做运算。在 VC 6.0 中, char 、short 、unsigned short型数据均自动转化为long 型后再做运算。精度由低到高排列为: long=unsigne
10、d long=float=double。 *2.26 自增运算“ +”和自减运算“- ”均是单目运算,只能作用于变量,可作用于左、右两侧,均使变量相应自增或自减1。作用于左侧时,算术式的值为变量改变后的值,否则为改变前的值。自增、自减运算均为左配对,与其在变量哪侧无关。运算优先级与其作用于变量的哪侧有关。 *2.27 强制类型转换运算的格式和功能如下:格式: ( 类型名 )( 表达式 ) 功能:把指定表达式的值强制转换为指定类型。 2.28 如果转换运算所作用的表达式中没有运算或优先级均高于转换运算,可省略表达式的括号。 2.29 C+中可省略类型名括号,但C中不可省。 *2.30 实数转整数
11、将舍去小数部分( 不做四舍五入) ,整数转实数将舍去超出数位( 做四舍五入 ) ,整数间的转换涉及到补码。 *2.31 会用类型转换实现“四舍五入”。例如,“(int)(x*100+.5)/100.”是保留x 的 2 位小数。 *2.32 赋值运算的格式和功能如下:格式:变量 =表达式功能:把赋值号“=”右侧表达式的值赋给左侧的变量,并以左侧变量为整个赋值表达式的值。 *2.33 如果赋值号两侧的类型不一致,右侧表达式的值将被自动转换为左侧变量的类型。转换规则与强制类型转换相同。 *2.34 在 C 和 C+ 中,=等价于=其中,是同一个变量,是表达式,=称作复合 ( 或组合 ) 赋值运算符,
12、是下述运算符之一:+、- 、*、/ 、% 、 &、| *2.35 用逗号分隔 ( 或者说连接起来) 的一组表达式统称逗号表达式。格式:表达式 , , 表达式功能:从左至右依次计算逗号表达式中各表达式的值,并以最后一个表达式的值的作为整个逗号表达式的值。 *2.36 将数学式改为C 表达式时应注意:乘号*不可省略;正确改写角码、运算符、括号等;正确书写函数名;把握好运算优先级,分数线改为/ 时,分子、分母相应加括号;正确拆分不等式组;通常,整数除法应改用实数除法。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
13、 - - - - - 第 2 页,共 11 页 - - - - - - - - - 3 第 3 章 程序设计初步 *3.1 赋值表达式后缀分号称作赋值语句。 *3.2 头文件 iostream.h、iostream 、iomanip 均提供了cin 、cout 等 C+ 标准输入输出流对象,它们的格式和功能如下:格式 cout表达式,变量,变量 ; 功能把输入数据从左至右依次赋给各变量。 称作输入运算。输入数据间用空格、回车键分隔,并用回车键确认所输入数据。 3.3 头文件 iomanip.h提供了许多用于实现特殊输入和输出格式的所谓控制符( 参见表 3.1) ,它内嵌了头文件iostream
14、 。 *3.4 头文件 iostream和 stdio.h均提供了 putchar 、 getchar 、 printf、 scanf 等输入输出函数。 putchar和 getchar的格式和功能如下:格式 putchar(表达式 ) 功能输出以指定表达式的值为ASCII 码的字符,并自动追加一个回车符。格式 getchar() 功能输入一个字符,并以该字符为函数值( 字符型 ) 。注意: getchar可提取空格及回车、Tab 等控制字符,只提取输入中相应位置上一个字符,因此,输入字符间无须分隔,否则也被视为输入字符。 3.5 printf函数的格式和功能如下:格式 printf(格式控制
15、串 , 输出表列 ) 功能从右至左依次计算输出表列中各表达式;从左至右依次输出格式控制串中的字符,其中,%引导的格式控制符由输出表列中相应表达式的值所取代。输出表列是一组用逗号分隔的表达式( 又称输出项,可以为0 项) 。格式控制串可以是表达式,其中,格式符用于控制输出表列中相应表达式的输出格式( 参见 第 04 讲:程序设计初步) 。 3.6 scanf函数的格式和功能如下:格式 scanf(格式控制串 , 地址表列 ) 功能从右至左依次计算地址表列中各表达式的值;从标准输入设备提取数据,并从左至右依次存储到所指定的存储单元。格式控制串可以是表达式。地址表列是一组用逗号分隔的地址,可用是表达
16、式,常用形式为:& 变量其中 &是地址运算符,它表示取其后变量的起始存储地址。 scanf可提取空格以及回车、Tab 等部分控制字符,但必须以字符提取( 而非字符串 ) 。 scanf函数格式符与printf函数的格式符的功能相似( 参见第04 讲:程序设计初步) 。scanf的合法格式符不分大小写、实型格式符均等效。 *3.7 在 C 和 C+中,逻辑值均为整数,真即1,假即 0。高版本 C+ 中新增了逻辑类型bool ,它只有1和 0 这两个 1 字节整数,可分别表为true和 false 。字符和数作为逻辑量时,非0 即真。指针作为逻辑量时,非空即真。逻辑运算如下表所示:右元! 右元左元
17、右元左元 & 右元左元 | 右元假(0) 1 假(0) 假(0) 0 0 真( 非 0) 0 假(0) 真(非 0) 0 1 真( 非 0) 假(0) 0 1 真( 非 0) 真(非 0) 1 1 *3.8 关系式的值为逻辑值。 *3.9 对于形如| | ,的逻辑式,从左至右计算的逻辑值,遇真即止。 *3.10 对于形如& & ,的逻辑式,从左至右计算的逻辑值,遇假即止。 *3.11 if语句的格式和功能如下:格式 if(条件 ) 语句 1 else 语句 2 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - -
18、 - - - - - 第 3 页,共 11 页 - - - - - - - - - 4 功能如果条件成立,执行语句1,否则执行语句2。如果语句2 为空语句,可同else 一起省略。注意: else 不可独立使用,它与其前最近一个尚未配对的if配对,为避免岐义,通常只在else 中嵌套 if语句。 *3.12 条件表达式的格式和功能如下:格式条件 ?表达式 1: 表达式 2 功能如果条件成立,取表达式1 的值,否则取表达式2 的值。条件表达式可以嵌套,: 与其前最近一个尚未配对的?配对。 *3.13 掌握目前所学运算的优先级( 见附录 B)。 3.14 switch语句的格式和功能如下:格式sw
19、itch(表达式 ) ,case 常量 i: 语句组 i ,default:语句组 n+1 功能如果表达式的值等于常量i ,则从语句组i 开始执行,否则执行语句组n+1。 switch()中表达式的值必须是整数( 可以是字符或逻辑值) ,“ default:语句组n+1”可缺省,每个语句组称作一个分支。为使各分支独立,通常以break 、return 、exit等语句结尾。 *3.15 break语句的格式和功能如下:格式 break; 功能结束本层switch或循环语句。 *3.16 while语句的格式和功能如下:格式 while(表达式 ) 循环体功能当表达式的值为真时,重复执行其后循环
20、体。循环体是循环语句的内嵌语句,可以是空或复合语句( 下同 ) 。 *3.17 do-while语句的格式和功能如下:格式 do 循环体 while(表达式 ) 功能重复执行循环体,直到表达式的值为假。 *3.18 for语句的格式和功能如下:格式 for(表达式 1; 表达式 2; 表达式 3) 循环体功能计算表达式1;当表达式2 的值为真时,重复执行循环体和计算表达式3。表达式 1、表达式2、表达式 3 均可缺省,但保留分号。缺省表达式2 为永真。 *3.19 continue语句的格式和功能如下:格式 continue; 功能结束本层循环体。 3.20 掌握以下算法: 计算分段函数、 打
21、印字符图形、递推 ( 迭代 ) 、累加、 阶乘、 辗转相除法、 穷举 ( 枚举) 、判断素数、分解整数因子、分解数字。 *3.21 分段函数的一般形式为:if(条件 1)f= 算式 1; else if(条件 2)f= 算式 2; , else if(条件 n-1)f=算式 n-1; else f=算式 n; 或: f= 条件 1?式 1: 条件 2?式 2: ,: 条件 n-1?式 n-1: 式 n 3.22 分支结构的一般格式:if(条件 1) 操作 1; else if(条件 2) 操作 2; , else if(条件 n-1) 操作 n-1; else f=操作 n; *3.23 输出
22、实心字符图形的一般格式为:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 11 页 - - - - - - - - - 5 for(i=1;i=行数 ;i+) for(j=1;j=第 i 行前置空格数;j+)cout ; for(j=1;j=第 i 行字符数 ;j+)输出所用字符coutendl;/结束第 i 行 3.24 如果某问题已表述为“当时重复执行”,即可用下述语句实现:while( ) 3.25 如果某问题已表述为“对于i=a b 重复执行”,即可用下述语句实现
23、:for(i=a;i=a;i-) 3.26 如果某问题已表述为“i 从 a 开始,当时重复执行”,即可用下述语句实现:for(i=a;i+) 3.27 对于已知项数和通项的累加,通用格式为:和的类型 S=0; for(i=1;i=项数 ;i+)S+= 第 i 项; 3.28 对于已知通项和结束条件的累加,通用格式为:和的类型 S=0; for(i=1;!结束条件 ;i+)S+= 第 i 项 ; 3.29 对于已知项数和各项递推式的累加,通用格式为:和的类型 S=0,T= 初始项 ; for(i=1;i=项数 ;i+) S+=T, 推下项 T; 3.30 对于已知结束条件和各项递推式的累加,通用
24、格式为:和的类型 S=0,T= 初始项 ; for(i=1;!结束条件 ;i+) S+=T, 推下项 T; *3.31 辗转相除法的要点:当 b=0 时,a和 b 的最大公约数是a,否则转换为求b 和 a%b的最大公约数。 3.32 穷举法又称枚举法,它是在有限或可列集中搜索满足条件的解。穷举法的要点:确定解的搜索范围,并按某种规律排序( 尽可能不重复) ;确定所满足的条件,并在上述搜索范围内求解。注意:应适当利用条件缩小搜索范围,或缩小搜索范围以减少条件。 *3.33 对于 2 以上的整数n,n 是素数2n中没有 n 的因子。 3.34 对于正整数n,分解整数因子的过程为:i 从 2 开始,
25、当i 是 n 的因子时,去除n 中 1 重 i 因子(n/=i),否则 i+ ,直到 n=1 为止。 *3.35 对于非负整数n,n 的个位数 =n%10 ,n 的十位数 =n/10%10,n 的百位数 =n/100%10,一般地, n 的10k位数 =n/10k%10 。第 4 章 函数 *4.1 从用户使用角度看,函数分为系统函数和用户自定义函数。 *4.2 自定义函数的格式为:格式函数值的数据类型函数名 ( 形参表 ) 函数体 其中,函数值的默认数据类型为int ,形参要逐个定义数据类型。 *4.3 如果函数没有返回值,函数值的数据类型应定义为void 。 *4.4 return语句的格
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 2022年谭浩强版C+程序设计知识点二 2022 年谭浩强版 C+ 程序设计 知识点
限制150内