首页 > 其他分享 >嵌入式课程day04-C语言运算符和选择结构

嵌入式课程day04-C语言运算符和选择结构

时间:2024-10-31 17:46:11浏览次数:13  
标签:操作数 int C语言 运算符 && printf day04 表达式

2.3运算符

2.3.1运算符介绍

运算符:具有一定运算规则的符号。

操作数:运算符的操作对象。

~a    --- a 就是~运算符的操作数。 --- 单目运算符: 运算符只有一个操作数

3 + 5 --- 3 5就是+运算符的操作数。--- 双目运算符: 运算符有2个操作数     

表达式1 ? 表达式2 : 表达式3  ---  表达式1 表达式2 表达式3 就是 ?:运算符的操作数。 --- 三目运算符: 运算符有3个操作数 

优先级:()  单目  双目  三目  赋值复合

表达式:可以是常量  变量  操作数和运算符的组合

注:表达式一定有结果 。

2.3.2运算符分类:

赋值运算符  = 

算术运算符: + - * /(除)? %(取余 取模)

系运算符: > < >= <=  ==(等于) !=(不等于)

逻辑运算符: &&  ||  !

其他运算符: ++ --  : += -= ,

位运算符:& | ^ ~ <<  >>

2.4赋值运算符  =

原则:赋值符号的两边类型要一致。

如果不一致,会以左侧为准,尝试将右侧的值转换为左侧的类型,如果类型转换不了报警告或者报错。 (如果两边类型不一致,赋值的时候又不想报错,报警告,就用 强制类型转换)。

强制类型转换:  (转换的数据类型)值

2.5算术运算符:

例: + - * / %

2.5.1除以:/

规则: 如果两边都是整型结果是整型,如果有小数那结果就是小数。

2.5.2取余 取模:%

规则:两边必须都要是整型

m % n 它的结果可能是 0 ~ n-1 中的某一个数。

如果 m % n == 0 情况下,m就是n的倍数   n是m的因数    m能被n整除

如果 m % n != 0 情况下,m不是n的倍数   n不是m的因数  m不能被n整除

2.5.3使用场景:

场景1:偶数  奇数 判断           

场景2: / % 结合 做数据分离

数据分离 :对应位上的数字 = 数据 / 对应位的权重 % 进制数。 

数据分离思想解决问题

现在距离国庆节还有126 4217 0860毫秒,那么是几天几小时几分几秒呢?
1s=1000ms,1分=60s,1时=3600s,1天=86400s

#include<stdio.h>
int main()
{
	long int x=12642170860;
	int y=x/1000;
	printf("是%d天%d小时%d分%d秒",y/86400,y%86400/3600,y%86400%3600/60,y%86400%3600%60);
    return 0;
}

2.6关系运算符

>        <        <=        >=        !=

关系运算符的运算结果:

关系成立——真,关系不成立——假。

例:3>5不成立——假

0=='0'——假

0=='\0'——真

练习:输入一个成绩,判断该成绩是否合格

#include<stdio.h>
int main()
{
    float grade;
    scanf("%f",&grade);
    if(grade>=60)printf("及格");
    printf("不及格");
    return 0;
}

 2.7逻辑运算符

&&        ||        !

2.7.1逻辑与:&&

格式:表达式1&&表达式2。

规则:“全真则真,有假则假”。

结果:真,假

表达式1表达式2表达式1&&表达式2
不用看也不用执行

举例说明

#include<stdio.h>
int main()
{
    int a=1,b=2;
    int c;
    c=(a==2)&&(b=3);
    printf("%d,%d",b,c);
    return 0;
}
//输出2,0

 此题中的表达式a==2结果为假,故b=3不执行。返回b的值3,c的值0;

应用场景:并且、同时。 

练习:如果这个数据是3的倍数同时格式数字是7则输出yes,否则输出no。

#include<stdio.h>
int main()
{
    int n;
    scanf("%d",&n);
    if(n%3==0&&n%10==7)
    printf("yes");
    else printf("no");
    return 0;
}

输入27,输出yes,输入6,输出no。

2.7.2逻辑或:||

格式:表达式1||表达式2。

规则:有真则真,全假为假。

表达式1表达式2表达式1&&表达式2
不用看也不用执行

 场景:或者,不在某一个范围内

 2.7.3逻辑非:!

格式:!表达式

规则:"真变假,假变真"

表达式!表达式

场景:判断表达式为假的时候,!表达式等价于表达式==0。

练习:!E等价于什么?C

A、E==1

B、E!=1

C、E==0

D、E!=0

标签:操作数,int,C语言,运算符,&&,printf,day04,表达式
From: https://blog.csdn.net/m0_56934903/article/details/143386064

相关文章