您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > C++知识点(整理版)
一、C++标识符的命名规则1.所有标识符必须由一个字母(a~z或A~Z)或下划线(_)开头;2.标识符的其它部分可以用字母、下划线或数字(0~9)组成;3.大小写字母表示不同意义,即代表不同的标识符,如前面的cout和Cout;二、如何正确地声明变量及其初始化2.C++中变量定义的格式:类型名变量名1,变量名2,…,变量名n;如:intnum1,num2;(2.1)在C++中,每个变量在使用前必须被定义,以便编译器检查变量使用的合法性。变量定义只是给变量分配相应的空间。(2.2)C++允许在定义变量的同时给变量赋初值。变量未被赋值前,值为未知格式:类型名变量名=初值;或者:类型名变量名(初值);如:intcount=0;或intcount(0);都是定义整型变量count,并为它赋初值0。可以给被定义的变量中的一部分变量赋初值,如:intsum=0,count=0,num;(2.3)一旦定义了一个变量,可以将一个常量赋给该变量。变量赋值过程是“覆盖”过程,用新值去替换旧值如inta;a=123;或a=0x123;都是正确的(2.4)在C++中,定义变量时没有赋初值,然后直接引用该变量是危险的!!!3.数据类型(datatype):数据的编码方式、值域和可执行的操作。数据类型包括两个方面:数据的取值范围、可用的操作。C/C++中的数据类型分为两大类:基本数据类型:整型、浮点型、字符型和布尔型构造数据类型:字符串、数组、结构、联合和枚举(3.1)整型(int):以补码形式存储。基本型int;长整型long:long/longint(3.1.1)整数运算时要注意数据的表示范围。如整数用两个字节表示,正整数32767加1的结果为-32768。这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序中不出现这样的错误。(3.1.2)在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。因此在C/C++中可以将所有的数都看成正整数,称为无符号数。无符号数的定义:在各种整数类型前加上关键词unsigned,变成unsignedint,unsignedshort,unsignedlong(3.2)实型:以浮点表示,操作类似于整型,浮点数无法精确表示。(3.2.1)浮点类型的分类:单精度float;双精度double(3.3)字符型(char):存放一个字母或符号,占一个字节,存放的是字符的内码。可执行比较、连接等运算。具有双重属性:整数属性和字符属性,整数属性:字符类型即单字节的整数类,字符属性:数据值即为相应字符的Ascii码。字符类型名:char。可分为可打印字符:小写字母、大写字母、数字、标点符号、空格等;非打印字符:换行和报警字符或响铃等控制字符(3.4)布尔型(bool):只有“真”、“假”两个值。可执行判断运算。如boolflag=true;(3.5)字符串(string):是类类型,用双引号“”表示,可执行字符串比较,连接应用时要加#includestring如stringstr=“dfhdsf”;三、如何声明常量4.常量:值的直接表示。如1、3、1.57、“A‟等,又称直接量。(4.1)整型常量可用十进制、八进制和十六进制表示:如十进制:123,-234;八进制:0123十六进制:0x123,0x3a2f(4.2)浮点数常量有两种表示法:(1)十进制表示:1.23,3.14;(2)科学计数法:尾数e指数123e2=123002.25e-3=0.00225;注意:尾数不能为空,指数必须为整数(4.3)字符常量:”a‟,“S‟,”2‟等用一对单引号括起来的数据。字符串常量用双引号(4.4)命名常量:为值指定一个描述性的文字,增加程序的可读性。在C++语言中,用const修饰,如constdoublePI=3.14;见PI即知3.14。注意一般变量名需大写,如PI。二、算术运算符号及其运行规则a)整数除整数b)%求模运算5.算术运算符:+(加)-(减)*(乘)/(求商)%(求余)(5.1)“-”可为二元运算符,也可为一元运算符,其余所有的算术运算符都是二元运算符。(5.2)优先级:高*/%,低+--(5.3)整型与整型数运算,结果为整型,如5/2=2;整型与浮点数运算,结果为浮点数,如5/2.0=2.5;字符与整型数运算,结果为整型;字符与浮点数运算,结果为浮点数。浮点数与浮点数运算,结果为浮点数。“%”运算符:取余,其两边都必须是整型数。6.关系运算符:,=,==,=,,!=(6.1)优先级:高于赋值运算符,低于算术运算符。关系运算符内部:==和!=较低(6.2)关系表达式:用关系运算符将二个表达式连接起来称为关系表达式。关系表达式的结果是true或false。“等于”运算符是由两个等号组成。常见的错误是在比较相等时用一个等号。==(相等),=(赋值)7.逻辑运算符:&&(and)||(or)!(not)(7.1)优先级:!高于关系运算符高于&&高于||(7.2)逻辑表达式:由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”逻辑表达式在执行时,先处理左边。如左边已能决定此逻辑表达式的结果,则右边不执行。因此,在&&逻辑表达式中,应把false可能性较大的条件放在左边,在||表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间8.赋值运算符:=的优先级比算术运算符低(8.1)赋值语句:把一个值赋给一个变量。如x=y+z;x=3.14;赋值语句的左边是变量,右边是表达式。(8.2)赋值表达式格式:变量=表达式如x=x+2。作用:将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。赋值运算符是右结合的(8.3)左值(lvalue):在C++中,能出现在赋值运算符左边的表达式称为左值右值(rvalue):赋值运算符右边的表达式的值(8.4)赋值语句:赋值表达式后面加上分号。(8.5)将赋值表达式作为更大的表达式的一部分。如:a=(x=6)+(y=7)等价于分别将x和y的值设为6和7,并将6和7相加,结果存于变量a(8.6)其他运算符与赋值运算符结合的运算符称为复合赋值运算符。格式:变量op=表达式;等价于:变量=变量op表达式;常用的复合赋值运算符有:+=,-=,*=,/=,%=如:balance+=deposit;balance-=surcharge;x/=10;salary*=2;(8.7)赋值和运算时的自动类型转换,在进行赋值操作时,会发生类型转换,将取范围小的类型转为取值范围大的类型是安全的反之是不安全的,如果大类型的值在小类型能容纳的范围之内,则平安无事强制类型转换:①(类型名)(表达式);或类型名(表达式);如z=(double)x/y;②静态转换(static_cast):用于编译器隐式执行的任何类型转换格式:转换类型类型名(表达式)如z=static_castdouble(x)/y;1.单个分号组成的语句成为空语句2.用{}括起来的一组语句称为复合语句。在逻辑上看成一个语句。v复合语句可以放在任何单语句出现的地方。3.在复合语句中可以定义变量,但必须定义在最前面。4.逗号表达式语句格式:表达式1,表达式2,…,表达式nv逗号运算符的优先级是所有运算符中最低的如a的初值为0,则表达式a+=1,a+=2,a+=3,a+=4,a+=5的结果为155.前置++i,---i(先执行i+1或i-1,再使用i值)6.后置i++,i---(先使用i值,再执行i+1或i-1)If语句c)形式d)三种If语句的执行流程9.控制语句:改变程序中语句的执行次序。(9.1)if语句:①两个分支:条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。格式(1)if(条件测试)语句;即else语句可省略格式(2)if(条件测试)语句1;else语句2;eg.if(grade=60)cout“passed”;eg.if(grade=60)cout“passed”;elsecout“failed”;(3)多分支语句:条件1为true时所执行的程序块1,条件1为false但满足条件2时执行的语句块2,。依次类推,条件n-1为false但满足条件n时执行else语句。常见的有3分支语句:if—elseif-else。eg.if(grade=90)cout“A”;elseif(grade=80)cout“B”;elseif(grade=70)cout“C”;elseif(grade=60)cout“D”;elsecout”E”;(9.2)条件语句使用注意①条件的结果值应该是true或false,它们是C++中bool类型的值②条件可为任意表达式,不一定是关系表达式。0为false,非0为true。③if语句可以没有else子句。合理的缩排。④if语句的then子句和else子句含有if语句,称为if语句的嵌套。egif(x100){if(x90)语句1;elseif(x80)语句2;else语句3;}else语句4;⑤歧义性:如最后一个else跟哪个if配对.。egif(y!=0)if(x!=0)result=x/y;elsecout“error:y==0”endl;配对原则:每个else子句是和在它之前最近的一个没有else子句的if语句配对。⑥在每个if-else语句后加一对大括号{}是一种良好习惯,特别是有两个以上的复合语句需要执行时。(9.2)条件表达式:作用:更加简练的用来表达条件执行的机制?:运算符:问号冒号运算符形式:(条件)?表达式1:表达式2eg:max=xy?x:y;循环语句e)形式f)三种循环语句的区别g)三种循环语句的执行流程10.循环语句:一个完整的循环结构一般由四部分组成:(10.1)For语句:主要用于计数循环v格式:for(表达式1;表达式2;表达式3)语句;or{语句快;}可以理解为:for(循环变量赋初值;循环条件;循环变量增值)符合循环条件时的执行语句v循环体可以是复合语句或空语句。v循环里所有语句的一次完全执行称为一个循环周期。v执行过程:先执行表达式1,再执行判断表达式2,如果为true,执行一次循环体(即一个循环周期),接着执行表达式3,然后重新执行判断表达式2,若为true,又执行一次循环体,重复直至判断表达式2为false,,最后跳出整个循环。若开始执行条件表示2为false,循环体一次也不执行。vFor循环的三个表达式可以是任意表达式。三个表达式都是可选的。v如果循环不需要任何初始化工作,则表达式1可以缺省。如循环前需要做多个初始化工作,可以将多个初始化工作组合成一个逗号表达式,作为表达式1。如for(inti=0,;i=10;++i);v表达式2也不一定是关系表达式。它可以是逻辑表达式,甚至可以是算术表达式。当表达式2是算术表达式时,只要表达式的值为非0,就执行循环体,表达式的值为0时退出循环。v如果表达式2省略,即不判断循环条件,循环将无终止地进行下去。无终止的循环称为“死循环”,最简单的死循环是for(;);(10.2)While语句:与for循环等价,可相互代替。v格式:while(表达式)语句;or{语句块;}v执行过程:先计算出条件表达式的值。如果是false,循环终止;如果是true,整个循环体将被执行,而后又回到while语句的第一行,再次对条件进行检查,若为true,接着执行循环体,重复直到条件为false,,跳出整个循环。v用途:用于循环次数不定的循环。循环是否结束取决于某一个变量的值(标记控制重复)v在for和while语句之后一般没有分号,有分号表示循环体就是分号之前的内容(空循环体)(10.3)Do-While语句v格式:do语句;or{语句块;}while(表达式);v执行过程:首先执行语句,然后判断表达式的值。如果表达式为0,继续向下执行,否则
本文标题:C++知识点(整理版)
链接地址:https://www.777doc.com/doc-4613728 .html