六、C语言中的运算符与表达式

一、算术运算符与算术表达式

(一)算术运算符

1、基本的算术运算符:

+

加法运算符或正值运算符

-

减法运算符或负值运算符

*

乘法运算符

/

除法运算符,整数与整数相除结果为整数,且多数C编译系统采取“向0取整”

%

求余运算符,两个数进行除法运算后,将余数作为结果

 向0取整:如商为1.7则结果为1,商为-1.7则结果为-1;即向0的方向取出现的第一个整数。

2、自增、自减运算符

1)用法:

①变量名++、变量名—

②++变量名、--变量名

2)两种用法相同的地方在于描述的都是“变量=变量+1”的功能,而区别在于:

①运算符在变量的右边,则先使用变量当前值,下一次再执行+1的操作;

②运算符在变量的左边,则直接先对变量进行+1的操作,然后再使用变量。

举例说明:

#include <stdio.h>

int main()

{

int i=1;

int j=1;

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

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

printf("j=%d",++j);

return 0;

}

运行结果:

i=1

2

j=2

分析:

i++,是先使用i的值,再使用一次则加1,因此,第一次输出和第二次输出虽然代码一样,但结果不一样

j++,是先对j进行加1的操作,然后再使用j的值,因此,结果是2

3)注意事项:

①自加、自减运算符只能用于变量不能用于常量或表达式;

②自加、自减运算符的结合方向为“自右向左”。

例如:i=-3,那么-i++执行两次后的结果是什么呢?

  由于-和++这两种运算符的优先级相同,且结合方向都为自右向左,因此,先执行++然后在执行-,即类似于-(i++),那么,第一次执行的结果为-(3)=--3,第二次执行的结果为-(3+1)=-4。

3、算术表达式

①用算术运算符和括号将运算对象连接起来的、符合C语法规则的式子,称为C算术表达式;

②运算对象包括常量、变量、函数等;

③结合方向:自左向右;

④按算术运算符的优先级别执行运算次序;

⑤不同类型的运算对象进行运算前,先进行类型转换(原则:谁表示的范围大就按谁的类型来进行转换),然后进行运算;

⑥强制类型转换,形如:(类型名)(表达式),这里表达式如果只是单独的变量时,括号可省略不写。

 二、赋值运算符和赋值表达式

1、赋值运算符

1)基本的赋值运算符:=

    形式:变量名 = 表达式

作用:将一个数据赋值给一个变量,数据类型与变量类型相同时直接进行赋值,不相同时会进行类型转换后再进行赋值。

2)复合的赋值运算符:(二元运算符)=

所谓二元运算符,是指能够使两个表达式进行运算的运算符,如a+b,(a+b+c)*(e-6/7)等等

种类:+=  、 -=  、 *=  、 /=  、 %=  、 <<=  、 >>=  、&=  、^=  、 |=

2、赋值表达式

形式:变量 赋值运算符 表达式

如:a = 3、a=(3+a)*b等

结合方向:自右向左 

三、逗号运算符和逗号表达式

1、逗号运算符:,

   作用:将多个表达式连接起来

2、逗号表达式:

  ①形如:表达式1,表达式2,表达式3,……表达式n

②逗号表达式的结果:整个逗号表达式的值是表达式n的值,在多数情况下,使用逗号表达式的目的是分别得到各个表达式的值,而并非一定需要得到和使用整个表达式的值。

③逗号表达式常用于for语句中。

举例说明:

#include <stdio.h>

int main()

{

for(int i=0,j=0 ; i<10,j<10 ; i++,j++)

{

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

}

return 0;

}

 3、逗号运算符是所有运算符中级别最低的,在使用时需要注意的是并非所有的逗号都是逗号运算符,更多的是作为间隔来使用,例如:printf(“%d,%d”,a,b);这里逗号是作为间隔用于a、b两个变量之间。 

扫描下方二维码,获取更多C语言资料↓↓↓↓

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值