C语言第一篇-运算符与表达式(上)
码字不易。有些是以前上大学教材上复制过来的大部分自己写的算是自己复习会坚持每天更一小节如果有心学的朋友可以备好电脑,不明白的可以留言看见尽量回复。
一、 分类
C语言一共有34种运算符,10种运算类型,本节我们要掌握的有算术运算符(+、-、*、/、%)、关系运算符(>、>=、==、!=、)>单目运算符>算术运算符(先乘除后加减)>关系运算符>逻辑运算符(不包括!)条件运算符>赋值运算符>逗号运算符
三、 算术运算符合和算术表达式
1. 基本的算数运算符
(1). +加法运算或正值运算符
4+4、+5、
(2). .- 减法运算或负值运算符
6-4、-10、-29
(3). *乘法运算
注意符号,不是x,而是*
(4). /除法运算
注意符号,不是÷,也不是\,而是/
整数除于整数,还是整数。1/2的值是0,这个并不是二分之一, 不会四舍五入,直接截断取值。
(5)%取余运算
取余:即两个整数相除之后的余数
注意:%两侧只能是整数,正负性取决于%左侧的数值 2.注意:
(1).当运算对象是负数时,不同机器的运算结果也可能是不同的。
(2).双目运算符两边的数值类型必须一致才能进行运算,所得结果也是相同类型的数值。
(3).双目运算符两边的数值类型如果不一致,必须由系统先进行一致性转换。 转换规则:char->short->int->unsigned->long->double->float
(4).C语言规定,所有实数的运算都是以双精度方式进行的,若是单精度数值,则需要在尾数后面补零,转换长双精度数才能进行运算。
2. 算术表达式
(1).算术表达式是用算术运算符和括号将运算量(也称操作数)连接起来的、符合C语言语法规则的表达式。其中运算对象包括函数、常量、变量。
(2).算术表达式的运算规则:
A.在算术表达式中,可以使用多层圆括号,但括号必须配对。运算时从内层括号开始,由内向外依次计算各表达式的值。
B.在算术表达式中,对于不同优先级的运算符,可按运算符的优先级由高到低进行运算,若表达式中运算符的优先级相同,则按运算符的结合方向(算术运算符的结合方向是从左到右)进行运算。
C.如果一个运算符两侧的操作数类型不同,则先利用自动转换或强制转换,使两者具有相同数据类型,然后再进行运算。
四、 关系运算(比较运算)和关系表达式
1. 关系运算符:
C语言提供了6种关系运算符:>(大于)、>=(大于等于)、==(等于)、!=(不等于)、3>2,先判断4是否大于3,再判断1是否大于2
3. 优先级:
关系运算符中(==、!=)的优先级相等,(、>=)的优先级相等,且前者的优先级低于后者:2==3>1,先判断3是否大于1,再判断2是否等于1。
4. 关系表达式
(1).定义:由关系运算符连成的表达式。关系运算符的两边可以是C语言中任意合法的表达式。
(2).关系运算符的结果是一个整数值——“0或者1”,用非零值表示“真”,用零值表示“假”
(3).当关系运算符两边值的类型不一致时,系统将自动转化。
5. 5.注意:
A.当关系运算符两边值的类型不一致时,如一边是整型,另一边是实型,系统将自动将整型转化为实型数,然后再进行比较。
B.若复合语句中有关系运算式和算术运算式时,因为算术运算符的优先级高于关系运算符,所以应该先算出算术表达式的值再去判断关系表达式的值。