C语言之运算

逻辑运算

初步认识

  • 逻辑运算是对逻辑量进行的运算,结果只有0/1
  • 逻辑量是关系运算或逻辑运算的结果
  • 在这里插入图片描述

注意:下面的式子应该如何写成c的表达式
×:4<x<6
:他会从左至右依次计算,x>4的结果是一个逻辑值,是0/1
√:x>4&&x<6
在这里插入图片描述

  • 如何判断一个字符c是否是大写字母?
  • c>=‘A’&&c<=‘Z’

进一步理解

! age<20
!是单目运算符,优先级比<要高
所以先对!age进行运算,在判断是否小于20

  • 优先级表格:
    在这里插入图片描述

短路

  • 逻辑运算是自左向右进行,如果左边的结果已经能决定结果,就不会做右边的计算
  • a == 6&&b ==1
    – 若左边不成立,则不判断b
  • a == 6&&b +=1
    – 若左边不成立,则不对b赋值
  • 对于&&,左边是false时就不做右边
  • 对于||,左边是true时就不做右边

SO:不要把赋值,包括复合赋值组合进表达式

位运算

  1. ~:是取反,例如:0取反为1,1取反为0
    在这里插入图片描述

  2. &:按位与,例如:1&1=1 0&1=0
    在这里插入图片描述

  3. |:按位或,x|y只要有一个为1,则结果为1
    . 在这里插入图片描述

  4. ^:按位异或,x ^ y相等则为0,不等则为1
    在这里插入图片描述

  5. <<:是左移,例如:1<<n,表示1往左移n位,即结果为1*2^n

  6.  >>:是右移,类似左移,但数值除以2的n次方
    

解释:左右移,是按照二进制方式进行的,
手动分割线——————————
左移过程中有可能导致变化,例如:
1的二进制是:000…0001
执行该步骤后,1<<2
结果为,000…0100

四则运算

注意:除法运算
若相除的都是整数,则结果也为整数,小数部分省略:
8/3=2
如果两数中有一个位小数,则结果为小数:
2.0/5=0.400000

注意:取余运算
只适合两个整数进行运算:
10%3=1
10.0%3=1 ×
含负号的运算准则:两个数取余,余数总为正数
(-10)%3=2
10%(-3)=1
例如:
5%3=3x1+2,商为1,余数为2
(-5)%(-3)=(-3)x2+1,商为2,余数为1
5%(-3)=(-3)x(-1)+2,商为-1,余数为2
(-5)%3=3x(-2)+1,商为-2,余数为1

注意:c语言中没有乘方这个运算符,即不能使用^符号

逗号运算

#include <stdio.h>
int main(void)
{
	int i;
	i=(3+4,5+6);
	printf("%d\n",i);
//当出warning时,i=11
	
	return 0;
}

so:
i=(3+4,5+6) 逗号运算的结果是,逗号后面的东西

for(i=0,j=10;i<j;i++,j--)
//逗号运算的使用

bool运算

  • 头文件:#include <stdbool.h>
  • 之后就可以使用bool、true、false

自增自减运算符

a++/++a => a=a+1
a–/--a => a=a-1

三目运算

c语言中三目运算符:“?:”,
格式:
表达式1?表达式2:表达式3;
执行过程:
判断表达式1,为真则执行表达式2,为假则执行表达式3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值