C语言_简单操作符

1.算术操作符

在写代码时,会进行计算。C语言中有一组操作符叫:算术操作符。分别是:+、-、*、/、%。而且都是双目操作符
注:
操作符也叫运算符,都是一个意思。

1.1 +、-和*

+-*用来进行加法、减法和乘法。

int i = 2 + 6;
int j = 2 - 6;
int k = 2 * 6;
printf("%d  %d  %d",i,j,k);//输出 8  -4  12

1.2 /

/用来进行除法。

int i = 7 / 2;
float j = 7 / 2;
float k = 7 / 2.0;
printf("%d  %f  %f",i,j,k);//输出 3  3.000000  3.5

注:
/两边的操作数都是整数时,则进行的是整数除法,结果只返回整数部分,因此j的类型纵然是float,也只会算出3.000000,而不是3.5。

若想得到表达式正确的带有浮点数的结果,则/两边的操作数必须至少有一个浮点数类型,上方代码中,第三行进行的就是浮点数除法

1.3 %

%进行求模()运算。

printf("%d",6 % 2);//输出 1
printf("%d",-6 % 2);//输出 -1

注:
%只能用于整数,不可用于浮点数

负数求模时,***第一个操作数***决定结果的正负,第一个操作数为正(负),则结果为正(负)。

2.赋值操作符:=和复合赋值

在变量创建时给定一个初始值叫初始化,在变量创建好以后,再给一个值,这叫赋值。
示例:

int a = 100;//初始化
a = 200;//赋值,这里的等号就是赋值操作符

注:
赋值运算符与数学中的等号不同,其区别在于赋值运算符单纯的指把等号右边的值赋予左边的变量,而数学上则指的是左边值等于右边值。

2.1 连续赋值

示例:

int a = 4;
int b = 2;
int c = 1;
a = b = c + 2;//连续赋值,每个表达式都是从右向左依次赋值的

注:
虽说C语言的语法是支持连续赋值的,但是此操作会让我们的代码变得不太直观,因此,我们最好还是拆开写。最好把连续赋值操作变为:

int a = 4;
int b = 2;
int c = 1;
b = c + 2;
a = b;

2.2 复合赋值符

在基于我们对赋值操作符的理解下,理论上,可以进行一个数的自加、自减的操作,如下代码:

int c = 0;
c = c + 2;
c = c - 2;

此时,用复合赋值符可以简化以上的代码:

int c = 0;
c += 2;
c -= 2;

注:
复合赋值符共有10种,分别是:+=、-=、*=、/=、%=、>>=、<<=、&=、|=、^=

3.单目操作符

单目操作符是指只作用于一个单一操作数的操作符,其种类有四种:++、--、+、-

3.1 ++和–

3.1.1 前置

int a = 0;
int b = 0;
b = ++a;//先进行a = a + 1,然后b = a
printf("%d  %d",a,b);//输出结果是:1  1

此代码变量a进行先加运算。

int a = 0;
int b = 0;
b = --a;//先进行a = a - 1,然后b = a
printf("%d  %d",a,b);//输出结果是:-1  -1

此代码变量a进行先减运算。

3.1.1 后置

int a = 0;
int b = 0;
b = a++;//先进行b = a,然后a = a + 1
printf("%d  %d",a,b);//输出结果是:1  0

此代码变量a进行后加运算。

int a = 0;
int b = 0;
b = a--;//等价于b = a,然后a = a - 1
printf("%d  %d",a,b);//输出结果是:-1  0

此代码变量a进行后减运算。

3.2 +和-

这里的+是正号,-是负号,是单目操作符
+对正负值没有影响,我们一般给变量赋值一个正数时,默认不写,但写了也不会报错。
-用来改变一个值的正负号,负数加-变正数,正数加-变负数。

示例:

int i = 2;
int j = -2;
int k = -i;
printf("%d  %d",j,k);//输出 -2  -2
int i = -6;
int j = 6;
int k = -i;
printf("%d  %d",j,k);//输出 6  6

4.强制类型转换

强制类型转换的语法形式如下:

(类型)

进行赋值操作时,当左边的类型与右边的类型不同时,编译器会有警告。

int c = 2.23;//c是int类型,2.23是double类型

为了消除警告,我们可以用强制类型转换。

int c = (int)2.23;//意思是将2.23转换成int类型,只取其整数部分。

注:
我们在写代码时,尽量避免没必要的强制类型转换,能不用则不用。

5. 逗号操作符

示例:

int i = 0;
int j = i,i+2,i*2,i-6;
printf("%d",j);//输出 -6

逗号操作符,又称顺序求值运算符,由其分割开的多个表达式组在一起后叫做逗号表达式,代码执行时逗号表达式从左向右依次运行,最后返回逗号表达式中的最后一个子表达式的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值