第三部分、类型转换,运算符和条件结构(上)

2019年10月10日C语言学习

知识补充
在这里插入图片描述在这里插入图片描述

一、类型转换

1.自动类型转换

原则:把范围小的类型的值转换到范围大的类型的值

short < int < long < float < double

2.强制类型转换

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

二、运算符

1.赋值运算符

单等号=(计算顺序:从右向左)

复合赋值运算符

int num = 10;
num += 5;//等价为num = num + 5;
//输出结果为num=15;

2.算术运算符

一元运算符:++、–

二元运算符:+、-、*、/、%(mod取余)

以下示例为++前置与后置的区别:

int num = 10;
num ++;//等价为num = num + 1;
//输出结果为num=11;

int num = 10;
++num;//等价为num = num + 1;
//输出结果为num=11;

int num = 10;
int result = num ++;
//输出结果为result=11,num=11;

int num = 10;
int result = ++ num;
//输出结果为result=10,num=11.

3.关系运算符

==(恒等)、!=(不等)、> 、<、>=、<=

拓展:C语言中,0表示false,1表示true

4.逻辑运算符

运算符表达式说明
&&并且条件1&&条件2两个条件同时为真,结果为真
||或条件1||条件2两个条件中只要有一个为真,结果为真
!条件条件为真,结果为假;反之亦然

三、运算符优先级

从上往下运算符级别依次降低

()、sizeof、++、-- (最高级

!

算术运算符

关系运算符

&&

||

赋值运算符(最低级

四、条件结构

if结构(if…else…、if…else if…else…)

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

if结构语句实例

#include <stdio.h>

void main()
{
    double flowerprice;//鲜花的价格
    
    //打印剧情
    printf("在一个月黑风高的夜晚\n");
    printf("一个小男生用自己的零花钱给女生买了一束鲜花\n");
    printf("小女生问小男生鲜花的价格:“这花多少钱?”\n");
    printf("小男生回答说:");
    
    //录入鲜花价格
    scanf("%lf",&flowerprice);
    
    //模拟小女孩反应
    if(flowerprice > 999999)
    {
        printf("小女孩直接昏了过去!\n");
    }
    else if(flowerprice >= 100000 && flowerprice <= 999999)
    {
        printf("明天就结婚!\n");
    }
    else if(flowerprice >= 10000 && flowerprice < 100000)
    {
        printf("拉拉手意思意思,明天再约!\n");
    }
    else
    {
        printf("好吧,我们是朋友,你是个好人!\n");
    }
}

switch结构

switch(表达式)
{
    case 常量1:
        语句1;
        break//跳出switch循环结构
    case 常量2:
        语句2;
        break......
    default://所有case都不满足条件时,执行default
        语句;
}

注意:
1.表达式只能为整型或字符型;

2.case后的常量表达式的值不能相同;

3.case后允许多条语句,不需要大括号;

4.如果不添加break语句,需要注意执行顺序,没有break会继续向下执行语句,直至遇到break;

5.case与default的字句的先后顺序可以自行改变,但default不在最后时需要加上break;

6.default语句可以省略。

switch结构与多重if结构对比

相同点:都是用来处理多分支条件的结构

不同点:switch:等值条件判断----条件是有限个的时候

​ 多重if:判断某个连续区间时的情况

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值