c++期末总复习_精华篇.docVIP

  • 3
  • 0
  • 约7.77千字
  • 约 18页
  • 2019-07-23 发布于安徽
  • 举报
. . . c++复习摘要 第一部分——简单的程序设计 一、标识符(包括变量名命名规则) 1、定义:由数字、大小写字母和下划线组成 2、例子: 合法:Int(大小写不一样,不是关键字int)、_ab 不合法:new和friend(不能与关键字相同)、a+b(不能有+)、 2b(开头不能是数字) 基本数据类型 存储空间 位数 存储形式 double 8 64 补码 int 4 32 补码 float 4 32 补码 char 1 8 ASCII码 特殊:指针*p 4(固定为long int类型) string 16(固定大小) 注1:精度低—自动转换—精度高 注2:int a;a=8/3—a=2(int整型) 常量与变量 八进制—正负号和0开头,例:012、-057 十六进制—正负号和0x或0X开头,例:0x34、-0X68 字符常量 普通字符:‘A’、‘0’、‘#’、‘ ’(空格) 转义字符:‘\n’、‘\\’(表示\)、‘\0’ ‘a’—一个字节,“a”—两个字节(包括‘/0’),长度为1 注:‘\ddd’—表示八进制字符 ‘\xdd’—表示十六进制字符 例:strlen(“abc\\\120\0a s\0d”)和sizeof(“abc\\\120\0a sd”)的值 —分析1:其中有a、b、c、\\、\120(八进制)、\0(碰到第一个则终止,且不计入长度),所以结果为5 —分析2:算上所有的字符(包括\0,注意有个空格在a与s之间),结果为11(char字符占一个字节) 指数:2e-6、-1.5E2(结尾加一个f(F),表示结果为float型) 注:e(E)后(即指数)必须是整数 运算符和表达式 算术运算符 +、-、/(不是\)、*(不可省略)、%(取余) 注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 赋值运算符 区分“=”和“==” a+=b—a=a+b 关系运算符和逻辑运算符 (1)结果总为1或0 例1:t=54—t=(54)—54为真,则结果为1—t的值为1 例2: a=12—a=(1!=0)(2!=0)—a=1(运算优先级高) 逗号运算符:表达式结果为最后一个逗号后的结果 例:a=3*5,a+5—表达式结果为20 语句 if(a)—if(a!=0) do whlie语句—至少执行一次 例:do{ int i=1;j=0}while(a=b) 分析:先循环一次,由于条件为i=j—(i=bj)!=0(不是a==b),则结果是无限循环 switch语句不一定每个case后都有break(跳出当前循环语句,而不是if语句),default至多一个。 例:switch(a){case 1:cout’A’;break; case 2:cout’B’ case 3:cout’C’;break;} 若输入a=2,则输出的结果为BC,程序从第二个开始执行,因为没有break跳出当前程序,会继续执行下面的程序,直到break跳出等。 for循环:注意是否会无限循环(循环条件的正确性) 例:for(int x=0;x=0;x--)—无限循环 补充 continue—跳过剩余语句(继续循环,不会跳出) const int a=5—a的值不会再变(即a=6—错误) 运算符优先级 逻辑运算符(!||)条件运算符(A?B:C) 值运算符(=、+=、*=) 条件运算符—A?B:C 例:54?3:2—若A为真,则输出B,否则输出C,所以答案为3 第二部分——构造数据类型 数组 数组下标只能是常量(a[n]、a[]—不合法) int a[20][20]—数组未初始化,则元素的值不确定(除了静态数组未初始化时,默认是0) int a[20][20]={0}—元素全部为0,且每个元素都必须是int型的 注:a(5)—a=5,上述数组最后一个元素为a[19][19] 部分初始化:a[5]={1,2,3}—a[5]={1,2,3,0,0} 指针 1、’*’—取内容,’’—取地址 int a[5]={0} , *p , p=a[0](或p=a) —取出a中的首地址(即a[0])放在p中,则p中所存内容就是a[0]的首地址(*p—即读取p中地址的内容—就是a[0]) (1)coutp—p本身的首地址 (2)coutp—取p中所存的地址,再输出—a的首地址 (3)cout*p—取p所存首地址的内容—输出a[0] (4)cout*(p+1)—指针往后移

文档评论(0)

1亿VIP精品文档

相关文档