0
点赞
收藏
分享

微信扫一扫

c语言语法基础之—运算符

看山远兮 2022-04-13 阅读 91
c语言

1. 算术运算符
+(加), -(减) , *(乘) , /(除) , %(求余)

除法运算的注意事项:
被除数和除数都是int类型,则商一定是整数(原因:如果商是小数,结果会自动舍去小数点后面的数字)
例如:
16 / 4 = 4
16 / 5 = 3

被除数和除数只要有一个是float类型,则商也是小数(原因:如果商是小数,结果也会保留小数点后面的数字)
例如:
16 / 4.0 = 4.0
16.0 / 4 = 4.0
16.0 / 5 = 3.2
16 / 5.0 = 3.2

求余运算的注意事项:
求余的运算对象必须都是整数
求余的符号与被求余的数的符号一致

例如:
13 % 3 = 1
13 % -3 = 1
-13 % 3 = -1

#include <stdio.h>
int main (void)
{
	printf ("%d", 13%3);//结果:1 
	printf ("%d", -13%3);//结果:-1 
	printf ("%d", 13%-3);//结果:1 
 } 
1
2
3
4
5
6
7

2. 关系运算符
<(小于), >(大于), ==(等于), !=(不等于),
<=(小于等于) , >=(大于等于)

"=“与”=="的区别:
"="的意思是将右边的东西赋值给左边

而"=="的意思就是数学意义上的等于

3. 逻辑运算符
||(或) , &&(且), !(非)

该逻辑运算符与数学的或且非符号对真假的判定方法一致

&&左右两边的表达式均为真,则总判断为真
||左右两边的表达式只要有一个为真的,则总判断为真
C语言对真假的处理:
(1)非零则真,零则假;
(2)真用1表示,假用0表示
(1)验证的小例子:

#include <stdio.h>
int main (void)
{
	if (1)
	printf ("哈哈");
	if (-5)
	printf ("嘻嘻");
	if (0)
	printf ("呵呵"); 
 } 
 //结果:哈哈嘻嘻 
  
1
2
3
4
5
6
7
8
9
10
11
12

(2)验证的小例子:

#include <stdio.h>
int main (void)
{
	int a,b;
	a = (3>2) && (5<4);//整体为假
	b = (3>2) || (5<4);//整体为真
	printf ("a=%d", a);//结果:a=0 
	printf ("b=%d", b);//结果:b=1 
 } 
 
1
2
3
4
5
6
7
8
9
10

4. 赋值运算符
= , += , -= , *=, /=

对于a += 3;它等价于 a = a+3;
对于a *= 3;它等价于 a = a * 3;

优先级别:算术>关系>逻辑>赋值

5. 自增运算符
前自增和后自增的相同点及不同点
前自增 ++i ,后自增 i++
相同点:都使i的值加1
不同点:
前自增使表达式的值为i+1之后的值
后自增使表达式的值为i+1之前的值
验证的小例子:


#include <stdio.h>
int main (void)
{
	int a, b, c;
	a = 5;
	b = a++;
	c = ++a;
	printf ("a=%d", a);//结果:a=7(前自增和后自增使a加了两次1) 
	printf ("b=%d", b);//结果:b=5 (后自增使b的值为a+1之前的值)
	printf ("c=%d", c);//结果:c=7 (前自增使c的值为a+1之后的值)
 } 
 
1
2
3
4
5
6
7
8
9
10
11
12

使用该运算符的注意事项:该运算符应单独使用,不要将它作为表达式的一部分
使用时应屏蔽掉前自增和后自增的差别

使用该运算符的好处
使代码更简练
该运算符的运算速度更快

6. 三目运算符
格式:(A ? B : C)
等价于
if (A)
B;
else
C;
即如果式子A成立,则执行B;如果不成立,则执行C。

验证的小例子:

#include <stdio.h>
int main (void)
{
	int a = 1;
	int b = -1;
	(a>0 ? a++ : a--) ;
	(b>0 ? b++ : b--);
	printf ("a=%d", a);//结果:a=2 
	printf ("b=%d", b);//结果:b=-2 
 } 
1
2
3
4
5
6
7
8
9
10

7. 逗号表达式
格式:(A,B,C,D)
功能:从左到右执行
最终表达式的值为最后一个式子的值
验证小例子:


#include <stdio.h>
int main (void)
{
	int i, j;
	i = 2;
	j = (i++, i+3, i++, i-1);
	printf ("j=%d", j);//结果:j=3 
 } 
举报

相关推荐

0 条评论