BSP学习Day5,C语言基础,关系运算符,逻辑运算符,赋值运算符,自增自减运算符,三元运算符,位运算符,if语句

运算符

1.关系运算符

定义:>大于  <小于   >=大于等于  <=小于等于  ==等于  !=不等于 

printf("%d\n",a>b);
printf("%d\n",a<b);
printf("%d\n",a>=b);
printf("%d\n",a<=b);
printf("%d\n",a==b);
printf("%d\n",a!=b);

2. 逻辑运算符

定义:与&&,或||,非!;假设A=1,B=0;

与  &&,两者参与运算的两个表达式都为真时,结果才为真,否则为假; 

或 ||   参与运算的两个表达式只要有一个为真,结果就为真;两个表达式都为假时结果才为假;

非 ! 参与运算的表达式为真时,结果为假;参与运算的表达式为假时,结果为真。 

3.赋值运算符

 这里的=相当于赋值给左边的变量。

4.自增,自减运算符

有++和--。这里是自增和自减,这里分为两种情况,如果自增(自减)运算符在前是先+(-)1,再输出。

反之,符号在后面时,就是先输出,再=(-)1。实际运算时,要根据需求去放置自增符的位置,代码如下:

 

#include<stdio.h>
int main()
{
	int i;
	scanf("%d",&i);
	printf("%d\n",++i);
	printf("%d\n",i++);
	printf("%d\n",i--);//前置--,先-1再使用 
	printf("%d\n",--i);//后置--,先使用再-1
	return 0;
} 

输入数字5结果如下:

 

 5.条件运算符

表达式1 ?表达式2 :表达式3

条件运算符是C语言中唯一的一个三元运算符,其求值规则为:如果表达式1的值为真,则以表达式2 的值作为整个条件表达式的值,否则以表达式3的值作为整个条件表达式的值。条件表达式通常用于赋值语句之中。条件运算符也就是if else的简写。 

做一个相关三个数 比大小的案例:

#include<stdio.h>
int main()
{	
    int a;
    int b;
    int c;
    int d;
    printf("请输入三个数:"); 
    scanf("%d%d%d",&a,&b,&c);
    d =(a>b? a:b)>c? (a>b? a:b):c;
    printf("%d\n",d);
    return 0;
}

6.位运算符

位运算符作用于位,并逐位执行操作,并且是针对二进制数去进行操作的。

 定义:与& 或| 非~ 异或^  左移>> 右移<<

与&运算  将每位进行进行与运算,最后输出结果 有0则0,都1才1;

或|运算  将每一位进行或运算,最后输出结果 有1就1,都0才0;

~非运算  对每一位进行取反,符号位也取反;

^异或运算  相同为0,相异为1;一个数异或两次

  1. a ^ b = b ^ a //交换率
  2.  a ^ b ^ c = a ^ (b ^ c) = (a ^ b) ^ c; 结合律
  3. c= a ^ b  可以推出 a =  b ^ c. (常用于加密)
  4. a ^a = 0.
  5. a^0 = a
  • 如何不用额外变量交换两个数?
#include<stdio.h>
int main()
{
	int a=8;
    int b=2;
    a = a ^ b;
    //此时的a = a ^ b
    b = a ^ b;
    //换言之
    //b = a ^ b ^ b;
    //b = a ^ b ^ b;
    //a = a ^ b;
    a = a ^ b;
    //换言之
    //a = a ^ b ^ a ^ b ^ b;
    printf("%d %d",a,b);
    return 0;
    
} 

 

a >> n 右移动运算,将a所有的位数向右移动n位

a << n 左移动运算,将b所有的位数向左移动n位

7.if 语句

if条件 主要应用于以特定的条件判断,然后进行相应的运算,流程图如下:

 if(表达式){语句;}

if(…) {…} else {…}语句

1.用于双分支控制的条件语句;

2.用于非此即彼的关系时;

if...else if...else 语句

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

慕容离875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值