C语言一共有34种运算符,包括了常见的加减乘除运算。
1 算术运算
(1) 加法运算(+):除了能做加法运算,还能表示正号:+5、+90
(2) 减法运算(-):除开能做减法运算,还能表示符号:-10、-29
(3) 乘法运算(*):注意符号,不是x,而是*
(4) 除法运算(/): 注意符号,不是÷,也不是\,而是/。整数除于整数,还是整数。1/2的值是0,这个并不是二分之一
(5) 取余运算(%): %两侧只能是整数, 正负性取决于%左侧的数值
2 赋值运算
(1) 简单赋值(=):int a =10 +5;等号左边不能是常量,比如10 = 11
(2) 复加减乘除余(+=,-=,*=,/=,%=):a += 4,相当于a = a + 4
3 自增自减
(1) ++ 自增运算符。如a++,++a,都等价于a = a+1
(2) -- 自减运算符。如a--,--a,都等价于a = a-1
(3) 5++是错误的
(4) int b = a++;int b = ++a; 前者是先把a赋值给b,a自身加1;后者是a自身先加1,再把a赋值给b
4 sizeof
sizeof用来计算一个变量或者一个常量、一种数据类型所占的内存字节数。用法如下: sizeof(变量\常量), sizeof变量\常量, sizeof(数据类型),不能是sizeof 数据类型
5 关系运算
默认情况下,我们在程序中写的每一句正确代码都会被执行。但很多时候,我们想在某个条件成立的情况下才执行某一段代码。在C语言中,条件成立称为“真”,条件不成立称为“假”,因此,判断条件是否成立,就是判断条件的“真假”。怎么判断真假呢?C语言规定,任何数值都有真假性,任何非0值都为“真”,只有0才为“假”。也就是说,108、-18、4.5、-10.5等都是“真”,0则是“假”。关系运算符的运算结果只有2种:如果条件成立,结果就为1,也就是“真”;如果条件不成立,结果就为0,也就是“假”。
关系运算符包括==、!=、<、<=、>、>=。==、!=的优先级相等,<、<=、>、>=的优先级相等,且前者的优先级低于后者。关系运算符的结合方向为“从左往右”,关系运算符的优先级小于算术运算符。
6 逻辑运算
逻辑运算的结果只有2个:“真”为1,“假”为0
6.1 逻辑与 &&
(1) 使用格式:“条件A&& 条件B”
(2) 运算结果:只有当条件A和条件B都成立时,结果才为1,也就是“真”;其余情况的结果都为0,也就是“假”。因此,条件A或条件B只要有一个不成立,结果都为0,也就是“假”
(3) 运算过程:总是先判断条件A是否成立。如果条件A成立,接着再判断条件B是否成立:如果条件B成立,“条件A &&条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”。如果条件A不成立,就不会再去判断条件B是否成立:因为条件A已经不成立了,不管条件B如何,“条件A &&条件B”的结果肯定是0,也就是“假”
(4) C语言规定:任何非0值都为“真”,只有0才为“假”。因此逻辑与也适用于数值。比如 5&& 4的结果是1,为“真”;-6 && 0的结果是0,为“假”
6.2 逻辑或 ||
(1) 使用格式:“条件A&& 条件B”
(2) 运算结果:当条件A或条件B只要有一个成立时(也包括条件A和条件B都成立),结果就为1,也就是“真”;只有当条件A和条件B都不成立时,结果才为0,也就是“假”。
(3) 运算过程:总是先判断条件A是否成立。如果条件A成立,就不会再去判断条件B是否成立:因为条件A已经成立了,不管条件B如何,“条件A || 条件B”的结果肯定是1,也就是“真”。如果条件A不成立,接着再判断条件B是否成立:如果条件B成立,“条件A || 条件B”的结果就为1,即“真”,如果条件B不成立,结果就为0,即“假”
(4) C语言规定:任何非0值都为“真”,只有0才为“假”。因此逻辑或也适用于数值。比如 5 ||4的结果是1,为“真”;-6 || 0的结果是1,为“真”;0 || 0的结果是0,为“假”
6.3 逻辑非 !
(1) 使用格式:“!条件A”
(2) 运算结果:其实就是对条件A进行取反:若条件A成立,结果就为0,即“假”;若条件A不成立,结果就为1,即“真”。也就是说:真的变假,假的变真
(4) C语言规定:任何非0值都为“真”,只有0才为“假”。因此,对非0值进行逻辑非!运 算的结果都是0,对0值进行逻辑非!运算的结果为1。!5、!6.7、!-9的结果都为0,!0的结果为1
6.4 优先级
逻辑运算符的优先级顺序为:小括号() > 负号 - >!> 算术运算符 > 关系运算符 >&&>||
7 三目运算符
三目运算符只有一个,?: 。语法格式如下
(expression) ? if-ture-statement : if-false-statement;
三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回true,则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数的值
8 流程控制
(1) 顺序结构:默认的流程结构。按照书写顺序执行每一条语句
(2) 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码,包括if 和switch
(3) 循环结构:在给定条件成立的情况下,反复执行某一段代码,包括while 和 for
(4) break,使用在switch和循环结构,作用是跳出该switch或循环体;continue,使用在循环结构,作用是终止本次循环,接着开始下一次循环 |
|