类型、运算符与表达式
1. 变量:装数据的容器,数据变,容器不变
变量在使用前要先定义,基本格式:变量类型 变量名1,变量名2,……;
Ex:int a,b,c;int a=0,b,c=0;//初始化
2. 变量名:由字母(‘_’被看作字母)和数字组成的序列,但第一个字符必须是字母;大小写字母是有区别的;关键字不能作为变量名
3. 四种基本类型
char 字符型,占用一个字符长度,存放一个字符
int 整型,通常占4个字节
float 单精度浮点型
double 双精度浮点型
4. 施加在基本类型上的限定符
short int a;//int可省略不写
long int a;
short 限定符尽可能的使int变短,long尽可能的使int变长
signed与unsigned可用来限定char型和所有整型
signed 整型等价于整型
unsigned 整型使得原有整型长度不变,符号位变成了数据位,仅能表示0和正数
signed char 强制char可以存储有符号整数
unsigned char 强制char可以存储无符号整数
5. 整数常量进制表示
O 表示八进制
OX 表示十六进制
6.字符常量
使用单引号将字符括起来,参与运算时对应的是ASCII码值
7. 转义字符(一般不可显示的,带有功能性的字符)
\a 响铃符
\n 换行符
\0 字符串结束的标识
8. 字符串常量
用双引号包裹起来的≥0的字符组成的序列为字符串常量
9. 算数运算符:+、-、/、*、%、++自增、--自减
%取余:x%y结果是x除以y的余数部分;x和y必须是整型操作数;在有负操作数的情况下,取模运算结果的符号取决于具体机器的实现
/除法:整数除法会截断结果中的小数部分
++自增:y=++x表示先自加后赋值;y=x++表示先赋值后自加
10. 关系运算符:<、>、<=、>=、==等于、!=不等于
x>y x大于y返回真,否则返回假
x>=y x不小于y返回真,否则返回假
x==y x等于y返回真,否则返回假
11. 逻辑运算符:&&且,||或,!非
12. 赋值运算符:=、+=、-=、/=、%=
a%=10;等价于a=a%10;
13. 位运算符:&、|、<<左移一位、>>、^
<<左移一位:包含处理函数#include<bitset>
Ex:
#include<iostream>
#include<bitset>
using namespace std;
int main(){
short int x=-178;
short int y=x<<1;
cout<<bitset<sizeof(x)*8>(x)<<endl;
cout<<bitset<sizeof(y)*8>(y)<<endl;
cout<<y<<endl;
return 0;
}
结果:
1111111101001110
1111111010011100
-356
14. 类型转换(只体现在结果上不改变被转换变量的类型)
(1)自动转换
a. 赋值语句中的自动转换:float a=100;int b=a;
Ex:
#include<iostream>
using namespace std;
int main(){
unsigned int a=1;
int b=-2;
long c=-2;
cout<<a+b<<endl;
cout<<a+c<<endl;
return 0;
}
结果:
4294967295
-1
b. 混合运算中的自动转换,短的类型向长的类型转换:1+1.1
(2)强制转换
(类型名)表达式
Ex:(float)a;//将变量a转换为float类型
(int)(b+c);//把表达式a+b的结果转换成int型
(float)5;//将数值5(默认为int类型)转换为float型