c语言中11%2,2_C语言中的数据类型 (八)运算符

本文介绍了C语言中的基本运算符,包括赋值、算术、位操作和复合赋值等,以及运算符的优先级和结合性。此外,还讲解了复合语句(代码块)、空语句的使用,以及类型转换在表达式中的应用。示例代码展示了自增、自减、逗号运算符以及条件运算符的用法。
摘要由CSDN通过智能技术生成

1          运算符表达式和语句

1.1       基本运算符

1.1.1          =

数据对象:泛指数据在内存的存储区域

左值:表示可以被更改的数据对象

右值:能赋给左值的量

1.1.2          +

1.1.3          –

1.1.4          *

1.1.5          /

1.1.6          %

取余数

1.1.7          +=

加等于

1.1.8          -=

减等于

1.1.9          *=

乘等于

1.1.10      /=

除等于

1.1.11      %=

取余等于

1.1.12      ++

自加1

,i++先计算表达式的值,然后再++

,++i是先++,再计算表达式的值

1.1.13      --

自减一

1.1.14      逗号运算符

int a = 2;

int b = 3;

int c = 4;

int d = 5;

int i = (a = b, c + d);

逗号表达式先求逗号左边的值,然后求右边的值,整个语句的值是逗号右边的值。

1.1.15      运算符优先级

优先级

运算符

结合性

1

++(后缀),--(后缀),()(调用函数),{}(语句块),.,->

从左到右

2

++(前缀),--(前缀),+(前缀),-(前缀),!(前缀),~(前缀),sizeof,*(取指针值),&(取地址),(type)(类型转化)

从右到左

3

*, /, %

从左到右

4

+,-

从左到右

5

<< >>

从左到右

6

< > <= >=

从左到右

7

== !=

从左到右

8

&

从左到右

9

^

从左到右

10

|

从左到右

11

&&

从左到右

12

||

从左到右

13

?

从右到左

14

=,*=,%=,+=,-=,<<=,>>=,&=,|=,^=

从右到左

15

,(逗号运算符)

从左到右

1.2       复合语句

{}代码块

1.3       空语句

只有一个;号的语句就是空语句,空语句在C语言里面和合法的,并且是在某些场合必用的

1.4       类型转化

double f = (double)3 / 2;

()为强制类型转化运算符

#include

intmain01()

{int a = 10;int b = 3;int c = a %b;

printf("c = %d\n", c);//a = a + 5;//语法正确,但是是个菜鸟

a += 5;

a= a + 1;

a+= 1;

a++;

a= a - 1;

a-= 1;

a--;return 0;

}intmain02()

{int i = 5;//i++;//++i;//int a = ++i;//int a = i++;

int a = i++ + ++i;//i = i + 1;//int a = i + i;//i = i + 1;

printf("%d\n", a);

printf("%d\n", i);return 0;

}intmain03()

{int a = 2;int b = 3;int c = 4;int d = 5;int i = (a = b, a +d);

printf("i = %d\n", i);

a= 2; b = 3; c = 4; d = 5;

i= (a + (b - c)) *d;

printf("i = %d\n", i);

a= 4;

b= 3;

c= 8;

i= a = b =c;

printf("i = %d\n", i);

{

i= 100;

a= 30;

}

;//空语句

printf("i = %d\n", i);for (; ; )//循环语句,代表复合语句内部的代码要执行3次

{

printf("hello\n");

}return 0;

}intmain()

{//double f = 3 / 2;//c语言两个整数相除的结果自动转化为一个整数//double f = (double)3 / 2;//(double)3,意思是将整数3强制转化为double型//double f = 3.0 / 2;

int a = 3;int b = 2;double f = (double)a /b;

printf("%f\n", f);return 0;

}

资料来源:传智播客 仅供学习研究

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值