笔记:四则运算与关系运算

C语言支持下面四种类型的运算

1.四则运算,+,-,*,/,%(除法取余数);

2.关系运算,<,>,<=, >=,<=, ==,!= 
3.逻辑运算&&,||,!;

4.位运算(只操作数值0或1),&,|,^,>>,<<,~

四则运算(+,-,*,/,%)

1. 就是数学中的加,减,乘,除等运算;

2.遵循先乘除后加减的运算优先级;

3.可以使用括号改变运算顺序;(注意,C语言中的除法计算,除数不能为0)

示例分析
 

#include<stdio.h>
int main( )
{
int a = 5;
int b= 2;
double c = 3;
c = a / b;            //c=0.5
printf("c = %f\n",c);
c = a % b;        //c=1
printf("c = %f\n",c);

getchar();
return 0;
}

运行结果:

小结

1.整型数的除法运算结果会舍弃小数部分;

2.取余数(%)运算也是一种除法运算,结果为余数;

3.浮点数不能进行取余运算

关系运算(<,>,<=,>=, ==, !=);

1.比较两个值大小关系或相等关系的运算;

2.比较的结黒为逻辑值:真(1),假(0);

3.可以使用括号()改变关系运算的顺序

int a = 1;
int b =0;             //在C语言中,=是赋值,==是比较判断两个数值是否相等;
int c=a== b;       //先判断ab是否相等,由于a=1,b=0,ab不等,所以c=0;反之如果相等,c就为1;

示例分析

#include<stdio.h>
int main( )
{
int a=1;
int b=2;
int c=3;
int d=1;

/************判断ab是否相等“==”************/
c=a==b;              //先判断是否相等,由于a=1,b=0,ab不等,所以c=0;
printf("c=%d\n",c);
c=a==d;             //反之如果相等,c就为1;
printf("c=%d\n",c);

/************判断ab是否相等“==”************/
c=a!=b;             //判断是否相等,不相等为1
printf("c=%d\n",c);
c=a!=d;             //判断是否相等,相等为0
printf("c=%d\n",c);

/************四则运算与关系运算的混合运算************/
//四则运算与关系运算的混合运算,先分别计算a-b、a+b的运算结果,再对结果进行判断,
c= a-b >= a+b;           //a-b=1-2=-1,a+b=1+2=3,-1<3,结果为假,就是0
printf("c=%d\n",c);     
//仍然是四则运算与关系运算的混合运算,
c= a< b+c < b;          //加减法的优先级比关系运算高,1<2+3<2,从左到右,1<5结果为1,1<2结果为1,所以最终结果为1
printf("c=%d\n",c);

c=(a<b)+(c<b);          //由于加减法的优先级比关系运算高,利用括号(1<2),结果为1,(0<1),结果为1,1+1=2,所以1+1=2
printf("c=%d\n",c); 
c= a< 2 < b;            //1<2<2,从左到右1<2结果为假0,0<2结果为真1,最终结果为1
printf("c=%d\n",c);     

getchar();
return 0;
}

运行结果:

小建议:如果不同类型的运算同属出现在一个表达式中,那么尽量使用()指明运算顺序

运算优先级(从高到底)

1.四则运算:正负号 >乘除运算 >加减运算;

2.关系运算:大小比较运算 >相等比较运算;

3.赋值操作

小结

1.整型数除法有两种:取商(/),取余(%),得到的结果依旧是整型;

2.浮点数除法与数学中除法运算相同,结果为浮点数;

3.不同运算的优先级不同,可使用括号改变运算优先级;

4.同一个表达式中应避免不同的运算类型(四则运算,关系运算)
 

课后练习

#include<stdio.h>
int main( )
{
int a = 1;
int b = 2;
int c=0;
c=a != b+a*b;                            //第一步:b+a*b=2+1*2=2+2=4;第二步:a !=  b+a*b即为1 != 4,1不等4,值为真1,所以c=1;
printf("c = %d\n",c);

c=a==b<c== b;                       //第一步:b<c=2<1,值为假0;
printf("c =%d\n",c);
}

运行结果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值