基本数据与表达式
一、C++的数据类型
对于这些数据类型,根据其数值型和字符型数据的字节和数值范围应用于不同的程序中,下面为基本类型的分类及使用:
1、整形
(1)int
数据类型按示数范围的不同可以分为:短整型(short int)有符号短蒸熟,无符号短整数,有符号整数,无符号整数,长整数(后缀L或l),有符号长整数,无符号长整数(后缀U或u)等。
十进制整数:没有小数点,可带正负号,不能以0开始,由数字0——9组成的符号串。
八进制整数:以0为前缀,没有小数点,由数字0——7组成的符号串。(注:八进制只能表示正整数)
十六进制整数:以0x或0x为前缀,没有小数点,由数字0——9及a——f或A——F组成的符号串。(注:十六进制只能表示正整数)
(2) bool
逻辑类型,只有两个值:true和false。
(3)enum
用户自定义的一种数据类型。
2、浮点数
浮点数又称实型(实数),浮点数由整数和小数部分组成。
指数示数法(科学示数法):尾数 E|e 指数
ex:12E8 e-7
(1)单精度浮点数 (float) 后缀为F或f。
(2) 双精度浮点数(double) 不加后缀。
(3)长双精度浮点型(long double) 后缀为L或l。
3、字符型
char 字符型数据用一对单引号‘ ’
‘A’ 表示字符 A 表示标识符
’4‘表示字符 4 表示整数值。
注意空字符与空格字符的区别。空字符(’\0‘)ASCII值为0,空格字符ASCII为32
C++语言常用转义字符如下图所示:
二、C++的运算符与算术表达式
算术运算符:+ - * / % ++ –
关系运算符: > < == >= <= !=
逻辑运算符:! && ||
位运算符: << >> ~ | ^ &
赋值运算符:=及扩展的复合运算符
条件运算符:? :
逗号运算符:,
指针运算符:* &
求字节运算符:sizeof
下标运算符:【】
强制类型运算符:类型符
分量运算符:. ->
其他:() :: new delete
基本算数运算符
+(加号) 加法运算
–(减号) 减法运算
(星号) 乘法运算
/(正斜线) 除法运算
%(百分号) 求余运算10%3=1
^(乘方) 乘幂运算
! (阶乘) 连续乘法
|X| x为任何数 (绝对值) 求正
求a%b方法:
1.求整数商: c = a/b;
2.计算余数: r = a - cb
ex:(5%2=1 5%3=2 10%5=0 )
求余运算在取c的值时,向0方向舍入;
求出的结果: 等于0,或者 结果的绝对值=a的绝对值对b的绝对值求余, 结果的符号与a的符号相同
-5%2 = -1 6%(-4)=2 (-6)%(-4)=-2
自增与自减
前置 ++i, --i (先执行i+1或i-1,再使用i值)
后置 i++, i-- (先使用i值,再执行i+1或i-1)
i++; //结果等价于 i=i+1;
++i; //结果等价于 i=i+1;
++i与i++的区别在于: 如果++i与i++又作为分量参加其他运算的话, ++i是先令i加1然后参加其他运算; i++是先令i参加其他运算,而后再令i加1。
例: x=i++; //结果等价于{ x=i; i=i+1; }
x=++i; //结果等价于{ i=i+1; x=i; }
++ – 只能用于变量,不能用于常量和表达式 因为表达式在内存内没有具体空间,常量所占的空间不 能重新赋值 。
++ --结合方向: 自右向左
优先级:++ – ------>* / % ----->+ -
强制类型
强制类型转换的一般形式为 (类型名)(表达式)
ex: (double)a (将a转换成double类型)
(int)(x+y) (将x+y的值转换成整型)
(float)(5%3) (将5%3的值转换成float型)
( 注:如果要进行强制类型转换的对象是一个变量,该变量 可以不用括号括起来。 如果要进行强制类型转换的对象是一个包含多项的表 达式,则表达式应该用括号括起来。 在强制类型转换时,得到一个所需类型的中间变量, 但原来变量的类型未发生变化。 )
赋值运算符
符号: =
格式: 变量标识符=表达式
(注:左侧必须是变量,不能是常量或表达式)
复合赋值运算符
分类:+= -= *= /= %= <<= >>= &= ^= |= //位运算
赋值表达式:一般形式为 <变量> <赋值运算符> <表达式>