C语言学习——运算符号

1.运算符号是啥
C语言中的运算就是对数据进行操作、处理的过程。那么运算符又干什么的呢?运算符就是指定该运算的处理方式。
※ 算术运算符 ※ 赋值运算符※ 关系运算符※ 逻辑运算符※ 三目运算符

2.算术运算符
C语言基本算术运算符如下表:
除法运算中注意:
如果相除的两个数都是整数的话,则结果也为整数,小数部分省略,如8/3 = 2;而两数中 有一个为小数(不分前后) ,结果则为小数,如: 9.0/2 = 4.500000
取余运算中注意:
该运算只适合用两个整数进行取余运算 ,如:10%3 = 1;而10.0%3则是错误的;运算后的符号取决于被模数的符号,如(-10)%3 = -1;而10%(-3) = 1。取决于前者
注:C语言中没有乘方这个运算符,也不能用×,÷等算术符号。

3.自增与自减运算符
注意:无论是a++还是++a都等同于a=a+1,在表达式执行完毕后a的值都自增了1,无论是a--还是--a都等同于a=a-1,在表达式执行完毕后a的值都自减少1,但是在一开始的代码输入时必须先取值(即:a++),而在末尾段若出现a++或者a+
那么最终的值仍为a(没运算),因为a++的意思是先取值再运算,a++的值只有在下一次运算上才用的上,但是如果下一次是printf("%d\n",a)的话,即没有运算,则取没运算的a
例如:c=b++ 的值仍为b 而不是b+1,只有再下一次运算时的值才为b才变为b+1

4.赋值运算符
C语言中赋值运算符分为简单赋值运算符和复合赋值运算符,之前我们已经接触过简单赋值运算符“=”号了,下面讲一下复合赋值运算符:
复合赋值运算符就是在简单赋值符“=”之前加上其它运算符构成,例如+=、-=、*=、/=、%=。
如:
分析:定义整型变量a并赋值为3,a += 5;这个算式就等价于a = a+5; 将变量a和5相加之后再赋值给a
同理:a *= 2 意思是 a = a * 2
注意:复合运算符中运算符和等号之间是不存在空格的。

5.关系运算符
下面是C语言中的关系运算符:
关系表达式的值是“真”和“假”,在C程序用整数1和0表示,0表示不存在的,假
1表示存在的,真
注意:>=,<=,==,!=这种符号之间不能存在空格。
例子

6.逻辑运算符
下面我们看一下C语言中的逻辑运算符:
那么前面的那个算式写成计算机可以看的懂的算式就是:x>7 && x<100;
逻辑运算的值也是有两种分别为“真”和“假”,C语言中用整型的1和0来表示。其求值规则如下:
1) 与运算(&&)
参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 && 7>5 ,运算结果为真;
2) 或运算(||)
参与运算的两个变量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:5>=5||5>8,运算结果为真;
3) 非运算(!)
参与运算的变量为真时,结果为假;参与运算量为假时,结果为真。例如:!(5>8),运算结果为真。
例如:


7.三目运算符
C语言中的三目运算符:“?:”,其格式为:
 表达式1 ? 表达式2 : 表达式3; 

执行过程是:
先判断表达式1的值是否为真,如果是真的话执行表达式2;如果是假的话执行表达式3。
注意输出: printf("%c\n", price <= money? 'y': 'n')



8.运算符大比拼之优先级比较
优先级别为1的优先级最高,优先级别为10的优先级别最低。
来看一看下面的例子:
解析:C语言中运算符中最高等级的为(),因此执行过程为:
1、先计算a>3和a+3的结果,计算后算式为1*a-14%3;
2、再计算1*a和14%3的结果,计算后算式为11-2;
3、最后算出结果为9。



















猜你喜欢

转载自blog.csdn.net/weixin_41055137/article/details/80071311