第1-2章复习提纲
一、标识符:字母、数字、下划线组成的序列,用来定义变量名、函数名、自定义的数据类型名等。
注意:
只能由字母、数字或下划线组成;首字符必须是字母或下划线;不能与关键字相同。
二、常量:程序运行过程中,值不变的量。
1、字面常量:在程序中无需任何说明,就可以直接使用的常量。
⚫整型常量:十进制(缺省)、八进制(以0开头)、十六进制(以0X或0x开头)
长整型(以L或l结尾)、无符号整型(以U或u结尾)
⚫实型常量(浮点数):十进制小数形式、指数形式(科学计数法)
注意:用指数形式表示实型常量,E或e的前面必须有数字,E或e的后面必须是整数。⚫字符常量:基本表示(‘单个字符’),转义字符(’\整型常量或者单个字符’)注意:转义字符后边的整型常量应是八进制或十六进制,且取数范围应在0-255之间。八进制数可以不以0开头,而十六进制必须以X或x开头。
‘\’’ ’\\’ ‘\”’ 分别表示字符\,字符’,字符”
⚫字符串常量:基本表示(”字符序列”)
注意:字符串常量尾部存放一个0(’\0’),用来表示字符串的结束。
2、标识符常量:使用编译预处理指令定义或用C++中的常量说明符const说明后才可以使用的常量称为标识符常量。
宏定义:#define 符号常量名常量
const说明:const 类型符号常量名=常量;
三、变量:在程序运行过程中,其值可以改变的量。变量必须先用标识符来定义或说明,然后才能使用。
1、变量定义、初始化和赋值:
2、作用域:块作用域、文件作用域、函数原型作用域、函数作用域和类的作用域。
⚫全局变量(文件作用域):块外定义,静态存储,具有缺省值0
⚫局部变量(块作用域):块内定义,动态存储;进作用域分配内存空间,出作用域收回空间;局部优先,通过作用于运算符::只用同名的全局变量。
⚫局部静态变量:块内static定义,首次进作用域分配内存空间,程序结束收回空间。
3、存储类别:static auto register extern
四、用C++表达式描述数学表达式:
(一)运算符:
1、算术运算符:一元:—、+、++、--,二元:+、—、*、/、%
注意:
⚫除法运算符/:若两边的操作数均为整型数,则作整除运算,即结果只取整数部分。
如:3/4=0 3.0/4=0.75
⚫求模(求余)运算符%:其两边的操作数必须是整型数,结果是两数相除后的余数。
如:3%4=3 4%4=0
⚫++和—前置和后置的运算区别:这两个运算符的操作数必须是变量。自增、自减运算符允许其操作数放在其左边或右边。若++(或--)在变量之前,则先使变量的值加1(或减1)后,再把变量的值参与其他运算;若++(或--)在变量之后,则先把变量的值参与其他运算,然后再使变量的值加1(或减1)。
2、关系运算符:二元运算符:<、<=、>、>=、!=、==。前四个优先级相同,后两个优先级相同,前四个的优先级高于后两个。关系运算符的优先级比算术运算符低,但比赋值运算符
高。
注意:判断两个实数是否相等的正确方法是:判断两个实数之差的绝对值是否小于一个给定的允许误差数,如判断a和b的值,应采用如下方式:
fabs(a-b)<=1e-6 // fabs()为求绝对值的库函数。
3、逻辑运算符:逻辑运算符有三种:!&& ||
真值表如下:
a b !a !b a&&b a||b
0 0 1 1 0 0
0 1 1 0 0 1
1 0 0 1 0 1
1 1 0 0 1 1
注意:
⚫参加逻辑运算的操作数,其值为非0是,表示逻辑真;而0表示逻辑假。逻辑运算的结果为逻辑真时,取值为1;否则,取值为0;其运算结果可作为一个整数再参与逻辑、关系和算术运算。
⚫逻辑运算的优化:求解逻辑表达式的过程中,一旦能确定逻辑表达式的值时,就不必再逐步求值了。
示例:
int a=16,b=10,i;
float x=10;
i=a<b&&(x=25)>b; //i的值为0,x的值为10,加虚线的部分没有进行运算。
(二)表达式
表达式:由运算符、括号和操作数构成的,能求出一个值的式子叫做表达式。
1、表达式求值前,表达式中的每一个变量都应有一个确定的值,即初值。
2、依据括号、优先级和结合性按顺序求值。
⚫赋值表达式:
赋值运算符为=,它的作用是将一个数值或将一个表达式的值赋给一个变量。故=左边是变量。赋值号优先级仅高于逗号运算符,结合性为左结合性。
复合赋值表达式的一般格式:
〈变量〉〈复合赋值运算符〉〈表达式〉
它等同于:
〈变量〉=〈变量〉〈运算符〉(〈表达式〉)
注意:=和==的区别。
⚫逗号表达式:一般形式为:〈表达式1〉,〈表达式2〉,〈表达式3〉,……〈表达式n〉从左向右的顺序依次计算各表达式的值,并把最右端表达式的值作为整个表达式的值。逗号表达式的优先级最低。
注意:逗号运算符和逗号分隔符的区别。
(三)数据类型转换:
在运算过程中,若某一个运算符的左右操作数的类型不同,则系统先把精度低的操作数转换成与另一个操作数相同精度的操作数后再进行运算。若赋值运算符右边的数据类型和其左边的变量类型不一致但属于可类型转换时,由系统自动进行转换:实型数赋给整型变量,去小数,赋整数;整型数赋给实行变量时,添小数再赋。强制类型转换运算符将强制性地把
某一种类型的数据转换成另一种类型,格式为:
(<type>) <;表达式> 或<type> (<;表达式>)(第二种用于对整个表达式强制转换)(四)数学函数的使用:
数学表达式转换成C++表达式,有些需要用到数学函数,注意差异。
逗号表达式的运算顺序
(五)输入输出:
1)指定数制
①仅对整数有效;
②一但指定一直有效,直到重新指定;
③默认为为十进制;
④数制的转换。
int a,b,c;float x;char m;
cin>>a>>oct>>b>>c>>x>>m; //123 45 67 80 .90
cout<<hex<<a<<'\t'<<b<<'\t'<<dec<<c<<'\t'<<x<<'\t'<<m<<'\n';
输出:7b255580.
2)输入的数据类型与变量类型不一致时变量的值。
int x;floaty;char a,b,c,d,e;
cin>>x>>y>>a>>b>>c>>d>>e; //输入2.3 4.5 ‘a’ ‘b’ ‘c’
x、y、a、b、c、d、e的值分别是2、0.3、4、.、5、‘、a
五、选择和循环结构的基本概念:
1、选择结构:
(1)单条件语句
1)格式:if(条件)S;
2)执行过程;
3)空语句作S语句;
4)复合语句作S语句;
5)条件语句作S语句(嵌套)。
(2)双条件语句
1)格式:if(条件)S1;else S2;
2)执行过程;
3)else 配对。
(3)switch语句
1)格式:
switch(条件表达式)
{
case 常量表达式1:语句组1;break;
case 常量表达式2:语句组2;break;
…
case 常量表达式n:语句组n;break;
default:语句组;
}
2)执行过程;
3)注意问题:
①条件表达式:变量或常量、整型或字符型;
②常量表达式:常量、整型或字符型;
③break 的作用;
④ 可以没有default 。
2、循环语句:当型循环 while 语句,for 语句;直到型循环 do-while 语句。
3
4、break 和continue 语句:break 语句中止switch 和循环语句的执行,continue 语句中止本次循环。
5、return 语句
1)return 可以用来返回函数值,也可以用于中止函数执行。
2)一个有返回值的函数中可以有多个return 语句,即在函数体内每一个结束函数执行的出口处都有一个return 语句。当函数有返回值时,return 语句的一般格式为:
return <;表达式>;
表达式计算的值应与函数返回值类型相同。
(while 语句的执行流程) (do-while 语句的执行流程)
(for 语句执行流程)
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论