老九C 运算符和条件结构 15-21

数据类型:用来规定变量空间有多大
int/q 4
float 4
doiuble 8
char 1

++/- - 自增自减

#include<stdio.h>
int main()
{
    int num = 10;
    num++;
    printf("%d\n", num);
}
#include<stdio.h>
int main()
{
    int num = 10;
    num = num + 5;      //num += 5
    printf("%d\n", num);
}

int main()
{
    double num = 6;      //小类型转大类型 - 自动类型转换
    int num1 = (int)num; //大类型转小类型 -强制类型转换
}

类型转换

short -> int -> long ->

运算符和表达式

运算符

赋值运算符
=: 计算顺序 “从右往左”

算数运算符
一元:++, –
二元:+,-,*,/,%

//前置后置
int main()
{
    int num =5;
    int result = num++;     //先赋值,再++   result=5
    int result = --num;     //先--,再赋值   result=4
}

关系运算符
关系运算符可以比较大小,高低,长短

>	 <
> =		<=
==		!=
int main()
{
    printf("5 > 8 么? %d\n", 5>8);   //返回0,即假
    printf("5 < 8 么? %d\n", 5<8);   //返回1,即真
}

逻辑运算符 0是假 1是真

运算符表达式说明
&&并且条件1&&条件2两个同时为真才是真
II或条件1II条件2两个条件有一个为真就是真
!!条件条件为真的时候结果为假/假的时候结果为真

以下需要换成二进制后运算

运算符作用说明
&按位与两个操作数同时为1结果为1,否则为0
I按位或两个数只要有一个为1就是1
~按位非操作数为1结果为0;操作数为0结果为1
^按位异或两个操作数相同,结果为0;不相同结果为1
<<左移右侧空位补0
>>右移左侧空位补符号位
>>>无符号右移左侧空位补零
sizeof运算符

可以测量数据占内存空间大小
sizeof(type name)

int main()
{
    //sizeof
    printf("整型占%d个字节\n", sizeof(int));
}

表达式

=: 计算顺序 “从右往左”

短路运算

不会考虑&&后的真假

int num = 10;
    int result = num++ >11 && --num <20;
    printf("%d\n%d\n", num, result);

运算符优先级
(); sizeof; ++ –
!
算数运算符
关系运算符
&&
||
赋值运算符

例子

printf("%d\n", !((18+45%3*5)>16));

条件结构

if结构

if(条件为真)
{
	//代码块1
}
else if
{
	//代码块2
}
else
{
	//代码块3
}

一个例子

int main()
{
    double flowerPrice; //鲜花价格
    //打印剧情
    printf("在一个月黑风高的夜晚\n");
    printf("一个小男生用自己零花钱买花\n");
    printf("小女生文小男生鲜花的价格,'这着花多少钱啊'\n");
    printf("小男孩说:");
    //录入鲜花价格
    scanf("%lf", &flowerPrice);
    //模拟小女生的反应
    if(flowerPrice > 9999999)
    {
        printf("小女生直接晕了过去!\n");
    }
    else if(flowerPrice > 100000 && flowerPrice <= 9999999) //10w到99w
    {
        printf("明天就结婚!\n");
    }
    else if(flowerPrice >= 10000 && flowerPrice <100000)
    {
        printf("拉拉手,明天再约\n");
    }
    else
    {
        printf("我们是普通朋友\n");
    }
}

switch结构

switch是一把(杀鸡刀), 处理数轴中某个几个点的情况

switch(表达式){
case 常量1:
	语句1;
	break;	//终止,跳出switch结构
case 常量2;
	语句2;
	break;
...
default:	//默认的
	语句;
}

例子

switch后只能是整型,字符型
case后可以有多条语句
case和default的顺序可以变换

int main()
{
    //想知道某个月有多少天
    //逻辑,输入月份,根据月份判断当月的天数
    int month; //用户输入月份
    printf("请输入月份,我告诉你天数\n");
    scanf("%d", &month);
    switch(month)
    {
    case 1:
        printf("31\n");
        break;
    case 2:
        printf("28\n");
        printf("烟花2月下扬州\n");
        break;
    default:
        printf("你傻逼\n");
               
    }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值