C语言–(四)常用运算符

程序 = 数据 + 算法

常用运算符

==========================================

知识点:

1.赋值运算符
2.算术运算符
3.关系运算符
4.逻辑运算符
5.自增、自减运算符
6.复合运算符

==========================================
赋值运算符 =
1.作用:
1.初始化
2.赋值
2.用法
左值 = 右值
变量

3.变量在 "=" 左右时的不同
1)当变量为左值时候对变量赋值
2)当变量为右值时读取该变量的值.

===========================================
算术运算符  +  –  *  /     % 取余/模
1.作用 10/3 = 3 10%3 = 1 10%5 = 0
1)进行普通的数学运算
2.用法
+ – *

3. / %
【相关说明】
(1)商运算有一方是浮点数就是普通的数学运算,如果都整型就是取商运算
(2)模运算不能对浮点数进行操作

练习:
1.定义两个整型变量,从终端输入值, 分别实现+、-、*、/、%运算并输出计算结果.
2.从键盘输入矩形的长和宽,计算出矩形的周长和面积.

===========================================
关系运算符 >    <        >=       <=       ==       !=
1. 比较两个数的大小

a = 3;
b = 4;
a != b ;

关系表达式的值只有1或者0两种。
成立=1 不成立 0
比如两个数a和b比较大小,用关系运算符:

练习:
1)从键盘接受一个成绩,判段成绩是否在80分以上
【补充】
if语句简单使用
作用
根据判断条件决定是否执行指定内容
语法介绍
形式一:
if(关系表达式)
{
执行语句;(若干条)
}

形式二:
if( 关系表达式 )
{
表达式1;
}
else
{
表达式2;
}

补充:表达式与语句的区别 语句是以分号结束的
2) 输入两个int类型的数, 将两个数从小到大排序
int a;
int b;
要求:如果a>b交换两个数,再进行输出。

===========================================
逻辑运算符 && 且 || 或者 !

什么是逻辑运算
逻辑运算用来判断一件事情是“对”的还是“错”的,或者说是“成立”还是“不成立”,逻辑判断的结果只有二个值,称这二个值为
“逻辑值”,用数的符号表示就是“1”和“0”。其中“1”表示该逻辑运算的结果是“成立”的,如果一个逻辑运算式的结果为“0”,那么这个逻辑运算式表达的内容“不成立“。

大家还记得在初中物理时学过并联和串联电路吗,我们的逻辑运算符 && 且 ||就和它们很相似,下面我们来看

|| 并联电路导通条件

 表达式1||表达式2

   0 || 0 = 0
0 || 1 = 1
1  || 0 = 1
1 || 1 = 1

&& 串联电路导通条件

表达式1 && 表达式2
0 && 0 = 0
0 && 1 = 0
1 && 0 = 0
1 && 1 = 0

 

! 开关按扭
!表达式
!0 = 1
!1 = 0

现在要判断一个变量的值是否在12到30之间,很自然想到了这样一个
表达式: a = 20 12<a< 12 === 12 < (12<20) ===12<1 = 0
a>12 && a < 30

1.作用
1)进行逻辑上的并且,或者,非的操作
并且: && (逻辑与)
或者: || (逻辑或)
非: ! (逻辑非)

2.需求:现在需要判断要买的物品是否在可承受的范围
移动硬盘: 250 <= 价格 <= 300
价格<250或者 是 价格>300
质量风险 太贵

3.练习
1)闰年判断
闰年条件: year
1.能被4整除并且不能被100整除 year%4==0 && year %100!=0   

2.或者能被400整除 year %400 == 0

(year%4==0 && year %100!=0) || year %400 == 0

2) ! 单目 !0 =1 !1 =0
===========================================
条件运算符:
? :
关系表达式 ? 表达式1 : 表达式2;
【相关说明】关系表达式成立 返回的是表达式1的结果不成立 返回的是表达式2的结果.
eg:输入两个变量 求变量的最大值.

===========================================
自增、自减运算符
(1)自增运算符 ++
作用:实现变量的自动加1操作
【相关说明】:前置自增和后置自增
a++ 与 ++a的区别
1)a++:在使用变量之后,变量自身加1
2)++a:在使用变量之前,变量先自身加1

(2)自减运算符: —
作用:实现变量的自动减1操作
【相关说明】:前置自减和后置自减
a—- 与 —-a的区别
1)a—-:在使用变量之后,变量自身减1
2)—-a:在使用变量之前,变量先自身减1

(3)思考:常量是否可以进行自增操作
5++ 是否成立?

============================================
逗号运算符
作用:把多个表达式连接起来。
一般形式:表达式1,表达式2,…,表达式n;
【相关说明】
1、从第一表达式开始执行,一直执行到最后一个表达式
2、逗号表达式返回最后一个表达式的结果

eg:
b=3,c=8,d=6
测试以下表达式的值,并最输出b,c,d的值:
s1 = ++b, c–, d+3 ;

===========================================
复合赋值运算符 (算术、赋值)
+= -= *= /= %= a += 5 === a = a + 5
作用 :简化表达式,提高程序运行效率

=====================================================
C语言运算符优先级和口诀

一共有十五个优先级: 
1   ()  []  .  ->
2   !  ~   -(负号) ++  —   &(取变量地址)*   (type)(强制类型)    sizeof 
3   * / %
4   + – 
5   >> <<  
6   > >= < <= 
7   == !=   
8   &  
9   ^   
10  |   
11  &&
12  ||
13  ?:
14   =  +=  -=  *=  /=   %=  |=   ^=   &=   >>=   <<=
15  ,
就着多吧   结合性:2   13  14  是从右至左   其他都是  从左至右有问题可以在交流的 
 
共同进步 
 

括号成员第一;        //括号运算符[]() 成员运算符.  ->
全体单目第二;        //所有的单目运算符比如++、 –、 +(正)、 -(负) 、指针运算*、&乘除余三,加减四;   //这个"余"是指取余运算即%
移位五,关系六;    //移位运算符:<< >> ,关系:> < >= <= 等
等于(与)不等排第七;    //即== 和!=
位与异或和位或;    //这几个都是位运算: 位与(&)异或(^)位或(|)    
"三分天下"八九十;  
逻辑或跟与;            //逻辑运算符:|| 和 &&
十二和十一;            //注意顺序:优先级(||)  底于 优先级(&&) 
条件高于赋值,        //三目运算符优先级排到13 位只比赋值运算符和","高
逗号运算级最低!    //逗号运算符优先级最低 

设a=6, 求赋值表达式a+=a-=a-a*a 的值。

==============
【总结为】
算关逻赋

 

转载于:https://www.cnblogs.com/iOSteemo/p/4303695.html

Published by

风君子

独自遨游何稽首 揭天掀地慰生平