6-运算符与表达式(2)

一、表达式

a)C语言中表达式由操作符和操作数组成。

b)最简单的表达式只有一个操作数。

 

iNumber2;   //也是表达式

 

 

c)表达式本身什么事也不做,只是返回结果值,返回的值有时忽略。

 0;

12;

35;

d)要使用表达式的值

1、把表达式放在赋值语句的右边   =的右操作数

2、在函数中去使用表达式(在以后函数会讲)

 1  #include <stdio.h> //标准的输入输出头文件 预处理
 2 
 3 int main()
 4 {
 5     int iNumber1,iNumber2,iNumber3; //声明变量 1
 6     iNumber1 = 5; //赋值表达式
 7     iNumber3 = 15;
 8 
 9     iNumber1 + 6; //算术表达式 
10 
11     iNumber2 = iNumber1 + 6; //复合表达式
12 
13     iNumber1 = 12;
14     return 0;
15 }

 

二、运算符的优先级与结合性。

 

a+b*c-d/f

在计算表达式值的时候,尤其是符合表达式,

1、表达式求值时,先计算优先级高的运算符。

2、如果有同级的,从左到右。

3、逗号是最低的。

 

三、关系运算符与关系表达式

>(大于)   <(小于)   ==(等于)  >=(大于或者等于)   <=(小于或者等于) !=(不等于)

1、关系表达式的返回值只能为1(关系成立)或者0(关系不成立)。

iNumber1 > iNumber2;

//iNumber1 是不是大于iNumber2  是 返回值为1  不是返回值为0

iNumber1 == iNumber2;

//iNumber1 是不是等于iNumber2  等于 返回值为1  不等于返回值为0

2、关系运算符的优先级低于算术运算符,高于赋值运算符。

temp = iNumber1 > iNumber2 + 7;

先计算iNumber2+7;在计算 iNumber1> iNumber2 + 7;最后再赋值

 

总结:关系表达式: 1、返回值为102、优先级小于算术运算,大于赋值运算;

 3<=  >=  :只需要满足一种情况都是成立的。4、关系表达式都是双目运算。

四、逻辑运算符与逻辑表达式

&& (逻辑与)   ||(逻辑或)   !(逻辑非)

1、返回值是1(真)或者0(假)

2、在程序中用两个!!得到的是表达式的逻辑值。

与:只要有假,就是假;

 

或:只要有真,就为真

 

if () 语句  满足if()里面的表达式,就执行{}里面的语句

 1 #include <stdio.h> //标准的输入输出头文件 预处理
 2 
 3 int main()
 4 {
 5     int iNumber1, iNumber2, iNumber3,temp; //声明变量 1
 6     iNumber1 = 6;
 7     iNumber2 = 5;
 8     iNumber3 = 10;
 9 
10     temp = iNumber1 > iNumber2&&iNumber3 > iNumber2; //关系表达式和逻辑表达式的复合表达式
11 
12     if (temp)//如果为真  那么就。。。。。
13     {
14         printf("iNumber1>iNumber2\niNumber3>iNumber2\n");  //没有用
15     }
16     else     //否则 执行这个
17     {
18         printf("条件不成立\n");
19     }
20      
21 
22     return 0;
23 }

 1 #include <stdio.h> //标准的输入输出头文件 预处理
 2 
 3 int main()
 4 {
 5     int x, y; //声明变量 1
 6     printf("请输入一个X值:\n");
 7 
 8     scanf("%d", &x); 
 9 
10     if (x > 0&&x<=5)  //判定 4 成立
11     {
12         y = x + 1; //计算
13         printf("y=%d=%d+1\n", y, x);  //打印
14     }
15 
16     if (x>5&&x<=10)   ////判定 4 不成立
17     {
18         y = x * x;
19         printf("y=%d=%d*%d\n", y, x,x);
20     }
21 
22     if (x <= 100 && x > 0)  //判定 4 成立
23     {
24         y = x - 1; //计算
25         printf("y=%d=%d-1\n", y, x);  //打印
26     }
27 
28     return 0;
29 }

 

 

五、位运算符

&(位逻辑与)   |(位逻辑或)  ^(位逻辑非)  ~(取补)

PlaysoundSND_FILENAME|SND_ASYNC|SND_LOOP);

原码  反码  补码

0 1 2 3 4 5 6 7 8 9

高级语言C语言独有的 通过控制内存的位,来控制程序。

 

六、% 算术运算符 取余

25%2  -->  25/2=12 -->  25-2*12 -->  1   

2%25  -->  2/25=0  -->  2-25*0 -->   2

 

253%10---25*10=250 ---253-250 ----3

 

168  ----->  / 16   ----> %  6

168------> 168-160  ----> 160=16*10  ---->8

 1 #include <stdio.h> //标准的输入输出头文件 预处理
 2 
 3 //从键盘输入一个3位数  然后逆序输出
 4 int main()
 5 {
 6     int x;   //168
 7     int a, b, c;
 8 
 9     printf("请输入一个三位数:\n");
10     scanf("%d", &x);
11 
12     a = x / 100;  //  a=1.68截尾 1
13     b = x / 10 % 10;  
14     c = x % 10;
15 
16     printf("%d%d%d", c, b, a);
17     return 0;
18 }

 

重点:/  %

七、逗号运算。

1、用来分隔变量,表达式。

2、也可以用来计算。

表达式1,表达式2,表达式3

计算表达式1,再计算表达式2,最后计算表达式3,最后的值是表达式3的值。

 1 #include <stdio.h> //标准的输入输出头文件 预处理
 2 
 3 int main()
 4 {
 5     int a, b, c,temp;
 6     a = 1;
 7     b = 2;
 8     c = 3;
 9 
10     a + b, b + c, a + c, b - c;  //表达式的值 ?  -1
11 
12     temp = (a + b, b + c, a + c, b - c);  //表达式  ?  3
13     //       3      5      4      -1
14     //,的优先级是最低的
15     
16     printf("%d", temp); 
17 
18     return 0;
19 }

 

转载于:https://www.cnblogs.com/tiantiancode/p/11126382.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值