您的位置:首页 > 编程语言 > C语言/C++

OC学习笔记之C中的运算符

2015-08-17 16:18 337 查看

C运算符简表



运算符的基本使用

分类:

按照功能划分:算术运算符,关系运算符,逻辑运算符,按位运算符

按照参与运算的操作数个数:单目运算,双目运算,三目运算

运算符的优先级:

15级,1级最高,15级最低

运算符的结合性

优先级必须相同,左结合右结合

算术运算符

左结合

* / %第三级

+ —第四级

例子:int a = 10;int b = 10;

a*b/3-5*6+10————->(等级不同)按等级划括号(a*b/3)-(5*6)+10————>(第三等级)等级相同从左向右((a*b/3)

从左向右运算的结果为33,5*6的结果为30)———->(第四等级,从左向右)33-30+10=13

%的使用注意事项:

1)m和n都不能为小数

2)m<0时,结果为负数

3)n<0时,对结果无影响,结果的正负性取决于m,而不是n

算术运算符的类型转换类型

分为隐式类型转换(自动转换)和显示类型转换(强制转换)

隐式类型转换:

int a = 10;

float b = 10.01;

当执行a+b的操作时,a会自动转换为float类型进行运算

显示类型转换

(要转换的类型)要转换的变量或者表达式。

(int)(a+b);

转换的规则:(char|short)—–>int——->float———>unsigned———>long———->double

注意事项:

1)用一个大数+一个特别小的数,如果使用float会有问题,因为float的有效数位只有7位

int num = 1000;

float f3 = 0.00006

2)强制类型转换时临时转换

(int)f;这里的f只是临时转换,并没有真正转换他的值

表达式:用运算符按照一定的规则,连接起来的式子

分为算术表达式,关系表达式,逻辑表达式。表达式一定有返回值,表达式后面加上分号,表示一个表达式语句;

赋值运算符:

就一个”=”号。14级,把等号右边的值给等号左侧的变量,等号左侧必须是一个变量

a+b=5;//这种写法是错误的

赋值运算符的结合性:右结合

int a,b,c;

a = b = c = 10;————–>a = (b = (c = 10));

复合赋值运算符:

14级

+=,-=,*=,/=,%=

a+=3;——–>a = a+3;

自增自减运算符:

2级

右结合,单目

1)前缀表达式

++x,–x:先完成变量的自增自减操作,再用X的值作为表达式的值,即先变后用

int a = 3,b = 0;

b = a++;

printf(“%d,%d”,a,b);结果是4,4;

2)后缀表达式

x++,x–:先用后变

int a = 3,b = 0;

b = a++;

printf(“%d,%d”,a,b);结果是4,3;

注意事项

++5;//错误的写法,不能是常量

++(a+3);//错误的写法

result = a+++b++;

sizeof运算符

单目,作用:以字节的形式给出了其操作数占用的存储的大小

用法:sizeof(常量/变量/结构体名称);

1)计算常量在内存中占用的字节数

sizeof(1);//4字节,默认int类型

sizeof(2.3f);//4字节

sizeof(2.3);//8字节,默认double类型

sizeof(‘a’);//4个字节,char类型的常量占4个字节,存储的时候会转换为ascii码存储

2)sizeof运算符计算变量在内存中占用的字节数

int a = 10;

float f1 = 2.3f;

double d1 = 2.4;

char ch = ‘a’;

sizeof(a);//4

sizeof(f1);//4

sizeof(d1);//8

sizeof(ch);//1

3)sizeif用于计算一种数据类型在内存中占用的字节数

sizeof(int);//4

sizeof(float);//4

sizeof(double);//8

sizeof(char);//1

逗号运算符

//用于计算

result = (a+b,a-b,a*b);

result = ((a+b,a-b,a*b),a++,a–);

//简化代码

a++,b–;

//定义变量的时候,就不是使用的逗号表达式

int a = 10,b = 11,c = 11;

关系运算符

0为假,非零即真,左结合

,<,>=,<=这四个是六级

==,!=是七级

逻辑运算符

&&,||,!

!在2级

&&在11级

||在12级

左结合

逻辑运算的短路问题,逻辑或短路,逻辑与短路

三目运算符(条件运算符)

表达式1?表达式2:表达式3————–>如果表达式的值为真,那么真个表达式的值就是表达式2的值,如果为假,

就是表达式3的值

例子:result = b>a?10:100;

注意:?和:必须同时出现,结合性为自右向左
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c语言