学习C语言两个月后的收获(篇目三) #算术操作符 #强制类型转换 #关系操作符 #条件操作符 #逻辑操作符

一. 算术操作符

目录

一. 算术操作符

1. 双目操作符 : + 、- 、* 、/ 、%

a. / : 除号 。分为整数的除法和小数的除法

整数的除法:

小数的除法:

b. % :模(取余) 分有整除求模和负数求模  !!!没有小数求模!!!

整数求模:

负数求模:

二. 强制类型转换:  (类型)

三. 关系操作符:

1.返回值:

   2.  >  、<  、 >=  、<=  、 ==  、 !=  讲解                        

四 . 条件操作符

计算逻辑:

五. 逻辑操作符 :

1.&& :

2. || :

3. ! :


1. 双目操作符 : + 、- 、* 、/ 、%

注:双目操作符,顾名思义就是有两个操作数的操作符

a. / : 除号 。分为整数的除法和小数的除法

整数的除法:

'/' 两边的操作数是整除故而进行整数的除法。

整数的除法取值规则:不管余数是多少,不会四舍五入,直接舍弃余数部分而得到整数部分

int i = 5 / 2 ; // i = 2;
小数的除法:

就是平时正常的除法.但是要求 '/' 的两个操作数至少有一个为小数(浮点型)

int i = 5 / 2.0 ; //i = 2.5

int n = 5.2 / 2 ; //n = 2.5

int j = 5.0 / 2.0; // j = 2.5

b. % :模(取余) 分有整除求模和负数求模  !!!没有小数求模!!!

整数求模:

只要这两个整数相除的余数

int i = 5 % 2 ; // i = 1

int j = 11 % 4 ; // j = 3
负数求模:

结果的正负号由第一个运算数的正负号决定

int i = -5 % 2 ; //i = -1

int j = 5 % 2 ; // i = 1

int n = -5 % -2 ; // n = -1

2. 单目操作符 : ++ , -- ,+(正号) 、- (负号)

a.++ : 前置++ 、后置++

前置++ :先自增,再使用

 int a = 2;

int b = ++a ; // a = 3 ; b = 3;
//实质为 a = a+1; --> a = 3 ;
//       b = a; --> b =3

后置++ :先使用,再自增

int a = 2 ;

int b = a++ ; //b = 2; a = 3;
//实质为 b = a; --> b = 2 ;
 //     a = a+1; --> a = 3;

b.-- :前置-- 、后置--

前置-- : 先自减 ,再使用

int a = 2;

int b = --a;  // a = 1;b = 1;

//实质为:a = a-1; --> a = 1; 
//       b = a ; --> b = 1;             

后置--:先使用,再自减 

int a = 2 ;

int b = a-- ; //  b = 2 ; a = 1;

//实质为 : b = a ;--> b = 2;
//         a = a-1;--> a = 1;

c.+(正号)

d.-(负号)

3. 赋值操作符 : += 、-= 、*= 、/= 、%=

                           >>= 、<<= 、&= (按位与) 、|= (按位或) 、^= (按位异或) (--->还未学到)

注意初始化赋值的区别;

初始化: 在变量创建的时候给它一个值

赋值:在变量创建好了之后,再给它一个值

int i = 1; //初始化

i = 2; //赋值 

二. 强制类型转换:  (类型)

int i = 3.14; //int 是整型,而3.14是浮点型。初始化类型不匹配--> 编译器会报错

int i = (int) 3.14; //强制类型转换

srand((unsigned int ) time (NULL)) ;  中的(unsigned int)也是强制类型转换。

因为srand 参数的类型要求为 unsigned int ,而time() 的返回值类型为 time_t。

三. 关系操作符:

  >  、<  、 >=  、<=  、 ==  、 != 

1.返回值:

通常返回 1 或者 0 用来表示这个表达式的真假

同时要注意多个关系运算符不能连用.     

   2.  >  、<  、 >=  、<=  、 ==  、 !=  讲解                        

上述代码,输入c = 222; 并不在 2-11 这个范围之内,但还是输出了 "hahahaha" , 为什么呢?

因为,表达会因为其真假而返回1或者0,在 a < c <b ,这个表达式中,会先判断左边部分,也就是 a<c这部分,显然 2 < 222 是成立的,所以 a<c 返回了1,接下来 1与 b 进行比较, 1 < b 也成立,c < b 这个表达式又返回1,非0 为真---> for(1) 就会执行打印 "hahahaha" 的语句

a. > :大于

b. < :小于

c. <= : 小于等于

d . >= :大于等于

e. == :相等运算符

在条件判断时,注意区别 ’=‘ 与 ‘==’ ,‘=’ 是赋值‘==’ 才表示相等

f. != : 不相等运算符

四 . 条件操作符

(条件操作符又称三目操作符,需要接受三个操作数)

 exp1 ? exp2 : exp3   ----> (我这样理解的:)  条件真or假 ? 真 : 假

计算逻辑:

如果exp1 为真,那么就计算 exp2 ,exp2的计算结果就为整个表达式的结果;

如果exp1 为假,那么就计算 exp3,  exp3的计算结果就为整个表达式的结果。

                     可以用来判断大小再做减法

也可以单纯判断大小

五. 逻辑操作符 :

  &&  、 ||  、 ! 

上述例子说到,多个关系运算符不能连用。想要表达多个关系就可以用上关系操作符

1.&& :

逻辑与操作符 ---> '与'--->and --->可以理解为并且的意思  

总之:只要有一个为假(不满足条件),便都为假

真 && 真 ----> 真  (同真则真,同假则假,一假一真为假)

2. || :

逻辑或操作符  ---> 可以理解为或者的意思

 总之:至少有一个满足条件,就可以执行

3. ! :

反逻辑操作符  (颠倒真假)

1为真,故而会执行 if 语句:

!--> 逻辑取反操作符 --> 将真的变成假的 --> 执行else的语句

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值