C语言的基本语法单位

2019/12/13 21:31
阅读数 274
更多精彩,请点击上方蓝字关注我们!

运算符和表达式

运算符: 描述各种操作的符号。

表达式:用运算符将操作对象连接成符合C语言语法的式子。

常见运算符与注意事项

C语言中的运算符非常丰富,主要包括:


算术运算符:+-*/%++- -

关系运算符:>>=<<===!=

逻辑运算符:!&&||

位运算符:<<>>~^&|

赋值运算符:=、复合赋值运算符

条件运算符: ? :

逗号运算符: ,

指针运算符:&*

求字节数运算符:sizeof

强制类型转换运算符:(类型关键字)

分量运算符:->.

数组下标运算符:[ ]

其他运算符:括号()、函数调用等

学习运算符不需要死记硬背,伴随各章节的学习逐个掌握即可


使用运算符时,需要考虑运算符的以下特征:

(1) 运算符连接的运算对象的个数

   如果一个运算符只能对一个运算对象进行运算,则称为单目运算符。依次类推,可以连接两个运算对象的称为双目运算符,连接三个运算对象的称为三目运算符。

(2) 运算符的优先级

   当一个表达式中同时出现多个运算符时,优先级决定了运算的先后次序。C语言对其种类繁多的运算符共规定了15个级别的优先级。

(3) 运算符的结合性

   结合性分为“左结合”和“右结合”两种,左结合是指优先级相同的运算符按从左到右的顺序运算,右结合是从右到左运算。

基本算术运算符

C语言提供5个基本算术运算符和两个单目的正、负运算符


算术表达式:

由算术运算符、常数、变量、函数和圆括号组成。

例如:a+ b+ a*b/c +2.8

1) 优先级:* / % 高于 +  -

2 结合性:“左结合性”或称为“自左至右的结合方向”即运算对象先与左边的运算符结合。

例如:a - b + c

注意: /是除法运算符,当两个整数相除时为整除,即商为整。

    例如: 9/2=4;  -9/2=-4;(若有一个是负数,采取向零取整  

     %是取余数运算符,只能作用于两个整数。运算结果的符号与被除数的符号一致。

    例如: 9%2=1 ;   -9%2=-1 ;  9%-2=1;   


赋值运算符和赋值表达式

1.一般赋值运算符:  =

赋值表达式:由赋值运算符将一个变量和一个表达式连接起来的式子。

形式:变量名=常量或表达式

功能:将右边常量或表达式的值赋给左边的变量。

       例:a=3;   b=c+d ;

说明:

① 赋值后,原来左边的变量值被右边表达式的值替换;

② 如果右边表达式的值的类型与左边变量的类型不一致,以左边变量的类型为准,将表达式值的类型转换为左边变量的类型。

③ 结合方向“从右向左”。

   例:  x=y=a+b;


2.复合赋值运算符在赋值符“=”之前加上其它运算符。

共有10种复合赋值运算符:

    += ,-=,*=,/=,%=   (算术运算有关)

    <<=,>>=,   &=,^ =|= (与位运算有关)

逗号运算符和逗号表达式

1.逗号运算符:即“,”

优先级:所有运算符中级别最低的运算符。

2.逗号表达式

形式:表达式1,表达式2,……,表达式n

求解过程:顺次求解表达式1,表达式2……

         最后求解表达式n

表达式值:逗号表达式的值为表达式n的值。

结合性:左结合

例如:

a=3*5,a*4               表达式的值60

a=3*5,a*4,a+5           表达式的值20

x=(a=4%3 , a+1, a*10)   表达式的值10


自增、自减运算符 (++、--

作用:使变量的值增加1或减1,如:

++i,--i(使用之前,先使i的值加(减)1

i++,i--(使用之后,使i的值加(减)1

++i        先执行i=i+1,再使用i的值

i++         先使用i的值,再执行i=i+1

例如:int  a=1 ,  b;    b=++a  ;    b=a++ ;

说明:

1++- -为单目运算符

2++ - -只能用于变量,而不能用于常量或表达式。

  例如:10++,(x+y)++, ++’a’,  b++  中合法的为:b++

3)自增、自减运算符为右结合性(即自右至左)。

例如:-a++=-(a++)

sizeof运算符

sizeof运算符是C语言特有的一种运算符,其语法形式如下:

sizeof(运算对象)

该运算符的作用是获得运算对象占用内存空间的字节数,结果是整数类型。其中,运算对象可以是数据类型关键字、常量、变量和表达式。


“阅读原文”我们一起进步

本文分享自微信公众号 - 电子荣耀(gh_05453579ed9d)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部