2022年c++期末总复习-精华篇教学内容 .pdf
《2022年c++期末总复习-精华篇教学内容 .pdf》由会员分享,可在线阅读,更多相关《2022年c++期末总复习-精华篇教学内容 .pdf(19页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、c+期 末 总 复 习 - 精 华篇名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 19 页 - - - - - - - - - c+复习摘要第一部分简单的程序设计一、标识符(包括变量名命名规则)1、定义:由数字、大小写字母和下划线组成2、例子:合法: Int(大小写不一样,不是关键字int)、 _ab 不合法: new 和 friend(不能与关键字相同)、a+b(不能有+)、2b(开头不能是数字)二、基本数据类型存储空间位数存储形式double 8 64 补码int
2、4 32 补码float 4 32 补码char 1 8 ASCII 码特殊:指针 *p 4(固定为 long int 类型)string 16(固定大小)名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 19 页 - - - - - - - - - 注 1:精度低 自动转换 精度高注 2:int a;a=8/3a=2(int 整型 ) 三、常量与变量1、八进制 正负号和 0 开头,例: 012、-057 十六进制 正负号和0 x 或 0X 开头,例: 0 x34、-0X6
3、8 2、字符常量(1)普通字符:A、0、#、(空格)(2)转义字符:n、 (表示 )、 0(3) a 一个字节,“a” 两个字节(包括/0),长度为1 注: ddd 表示八进制字符 xdd 表示十六进制字符例: strlen(“ abc1200a s0d” )和 sizeof(“ abc1200a sd” )的值分析 1:其中有 a、b、c、 、120(八进制 )、0(碰到第一个则终止,且不计入长度),所以结果为5 分析 2:算上所有的字符(包括0,注意有个空格在a与 s 之间),结果为11(char字符占一个字节)3、指数: 2e-6、-1.5E2(结尾加一个f(F),表示结果为float型
4、) 注: e(E)后(即指数 )必须是整数四、运算符和表达式1、算术运算符名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 19 页 - - - - - - - - - +、-、/(不是 )、 *(不可省略)、%(取余)注 1:+()、 -(),其中()中必须是变量,不能是常量和表达式例: 5+、( a+b)+、+(2*i )不合法注 2:int i=5 ,b;b=i+ ; b=5;i=6 int i=5 ,c;c=+i ; c=6;i=6 2、赋值运算符(1)区分“ =”
5、和“=”(2)a+=ba=a+b 3、关系运算符和逻辑运算符(1)结果总为1 或 0 例 1:t=54t=(54) 54 为真,则结果为1t 的值为1 例 2: a=1&2 a=(1!=0)&(2!=0)a=1(& 运算优先级高) 4、逗号运算符:表达式结果为最后一个逗号后的结果例: a=3*5,a+5表达式结果为20 五、语句1、if(a)if(a!=0) 2、do whlie 语句 至少执行一次例: do int i=1;j=0while(a=b) 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - -
6、 - - - 第 4 页,共 19 页 - - - - - - - - - 分析:先循环一次,由于条件为i=j (i=bj)!=0 (不是a=b),则结果是无限循环3、switch 语句不一定每个case后都有 break(跳出当前循环语句,而不是if 语句), default 至多一个。例: switch(a)case 1:cout A ;break; case 2:cout Bcase 3:cout C ;break; 若输入 a=2,则输出的结果为BC,程序从第二个开始执行,因为没有break 跳出当前程序,会继续执行下面的程序,直到 break跳出等。4、for 循环:注意是否会无限循
7、环(循环条件的正确性)例: for(int x=0;x无限循环六、补充1、continue跳过剩余语句(继续循环,不会跳出)2、const int a=5a 的值不会再变 (即 a=6错误 ) 3、运算符优先级逻辑运算符(!&| )条件运算符 (A?B:C) 值运算符(=、+=、*=) 4、条件运算符 A?B:C 例: 54?3:2若 A 为真,则输出B,否则输出C,所以答案为 3 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 19 页 - - - - - - - -
8、- 第二部分构造数据类型一、数组1、数组下标只能是常量(an、a不合法)2、int a2020 数组未初始化,则元素的值不确定(除了静态数组未初始化时,默认是0)int a2020=0元素全部为0,且每个元素都必须是int 型的注: a(5)a=5,上述数组最后一个元素为a1919 3、部分初始化: a5=1,2,3 a5=1,2,3,0,0 二、指针1、 * 取内容, & 取地址int a5=0 , *p , p=&a0(或 p=a) 取出 a中的首地址 (即 a0)放在 p 中,则 p 中所存内容就是 a0的首地址 (*p 即读取 p 中地址的内容就是a0) (1)coutp 本身的首地址
9、(2)cout取 p 中所存的地址,再输出a 的首地址(3)cout取 p 所存首地址的内容输出 a0 (4)cout指针往后移动一位输出 a1 注: *(p+) *(p+1) 2、动态内存分配名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 19 页 - - - - - - - - - (1)int *p=new floatN一维数组(这里N 为变量)int (*p)4=new float34二维数组最后 delete p 三、引用1、int r,&rv=r 别名与目标名
10、(即rv 和 r)共用内存2、类型必须一致,必须立即初始化(int &rv; 错误)例: int a;double &b=a; 错误3、不能中途换名例: int a,c;int &b=a,&c=b; 错误4、数组引用 :int a5=0;(&rv)5=a;四、字符串1、char s20=” c+程序设计 ” ,*p=s;(1)sizeof(s)一共可存放20 个元素,每个都是char(占一个字节 )结果为 20 (2)sizeof(p) p 是指针,一定为4 个字节 结果为 4 (3)Strlen(s)” c+” 为三个字节, ” 程序设计 ” (汉字是两个字节)为 8 个字节 (不含 0 )
11、结果为 11 注: char a5=” 12345” 错误(必须有一个位置放 0 )2、String (1) string a=” man” ,b=” kind” ;a1= e a=” men” 可以当作数组看(2) 可以连接: c=a+bc=” mankind”名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 19 页 - - - - - - - - - (3) 可以相互赋值:a=ba=” kind”注: (2)和(3)都是 char字符型数组所不能实现的例: char
12、a5=” c+” ,b6= ” hello” ;a=b;错误五、其他类型1、枚举类型: enum 例: enum seasoon spring,summer,autumn,winter; season s=winters=3; 分析: spring 相当于 0,后面逐次递增(可以对 spring 进行默认值设定,令spring=1,后面依次递增) 2、结构体: struct类比类与对象3、共用体: union 注:若干个成员中,其中占用内存最大的,作为共用体类型的大小(不是相加)例: union aint x;char s; 显然占 4 个字节 (int),而不是char 的 1 个字节六、补
13、充1、char name20cout输出为字符数组的内容 int name20 cout输出首地址2、char *p=” hello” (类比数组 ) (1)couth (2)couthello 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 19 页 - - - - - - - - - (3)coutello指针向后移动一位,指向e,再输出后面的内容3、strcmp(s1,s2)进行大小比较 Strcpy(s1,s2)s1=s2(将 s2的内容赋给s1) S=strca
14、t(s1,s2)将 s1 与 s2的内容进行连接,再给S 第三部分函数一、认识函数1、声明: int add(int a,int b); 形参不占用空间,可省略为int add(int,int);( 注意要有 ” ;” ) 调用: z=add(a,b)a,b均为实参 (有内容 ) 例: z=swap(a+b,max(c),v) swap 函数实参为3 个(两个逗号) 2、c+的程序总是从main 函数开始执行的3、函数不允许嵌套定义,但是可以相互调用4、有默认值的形参右边都要有默认值例: int(int a,int b=0) 合法 int(int a=0,int b) 不合法5、引用传递: s
15、wap(int &x); x 的值与函数结果有关swap(int x); swap 函数只是利用了x 的值去运算,而未改变 x 本身的值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 19 页 - - - - - - - - - 二、简单函数1、递归函数 (可简化程序,但时间和空间需求大) 例:阶乘 int f(int n)if(n=1)return0;else return n*f(n-1); 2、内联函数 (提高程序执行效率,以空间换时间):inline 例: inl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年c+期末总复习-精华篇教学内容 2022 c+ 期末 复习 精华 教学内容
限制150内