标准C语言课堂笔记day02

一、类型转换
    只有相同类型的数据才能运算,如果类型不相同的数据需要先转换相同类型后再进行计算。
    自动类型转换:
        转换规则:
            以不丢失数据为基础,可以适当地牺牲一些空间
            1、字节少的向字节多的转
            2、有符号的向无符号的转
            3、整型向浮点型转
            注意:char short如果与不同类型的数据运算时,会先提升为int类型后参与运算
    强制类型转换:
        (新类型名)数据;
        这种方式有可能会丢失数据,慎重使用

二、switch开关分支语句
    switch(n) //n可以是数值、表达式,运算结果必须是整数
    {
        case val:   //如果val==n,则打开执行开关
                    //val必须是常量
            ...
            break;  //关闭执行开关,结束switch
            //如果每个case后都加break,形成了分支结构
            //switch中不能使用continue配合
            //case a ... b:  可以表示[a,b],但是只有GNU编译器才支持该语法,不建议使用
        case val1:
            ...
        default:
            //如果所有的case都没有打开,则最后打开default,并且放在任何位置都可以最后打开
    }

    练习1:输入一个月份,判断是什么季节
        123 春
        456 夏
        789 秋
        101112 冬
        other 月份有误
    练习2:输入一个月份,判断该月有多少天,忽略闰平年问题

三、for循环语句
    循环就是一种让代码反复执行的方法,到达你想要效果
    for循环是一种非常灵活、变样多样且危险(相比其他循环)的循环
    for一般使用一个变量来引导循环的执行,该变量叫做循环变量i
    for([1];[2];[3])
    {
        [4]
    }
    [1]、给循环变量赋初值,C99以上标准才可以在此处定义循环变量 -std=gnu99
    [2]、判断循环变量是否到达边界,如果没到达,进入循环
    [4]、被反复执行的代码,称为循环体
    [3]、改变循环变量,防止出现死循环,一般对循环变量进行自加、自减
    1、2、4、3、2、4、3...

    大括号问题:
        1、建议上下对齐
        2、如果循环体中只有一行代码,大括号可以省略
            但是不利于扩展,一般的商业代码都要求大括号不能省略
    for循环各种写法:
    for(;;)
    {
        //  死循环
    }

    int i=0;
    for(; i<10; i++)
    {

    }

    for(int i=0; ; i++)
    {
        if(i >= 10)
        {
            break;
        }
    }

    for(int i=0; i<10;)
    {
        ...
        i++;
    }
    练习3:计算出所有的三位水仙花数
        abc == a*a*a + b*b*b + c*c*c
        for 100~999
    练习4:输入一个正整数,判断是否是素数
            2以上的数,只能被1和它本身整除
    
四、while循环语句
    while(表达式)
    {
        // 循环体
    }
    当表达式为真时执行循环体,执行完后重新判断表达式,以此类推,直到表达式为假,结束循环
    while相当于for的精简版本    for(;表达式;)
    for循环专门负责解决明确知道循环次数的问题
    while循环专门负责解决不确定循环次数的问题

五、do-while 循环语句
    do{
        //  循环体
    }while(表达式); //表达式为真循环继续,为假结束循环
    先执行循环体,再判断循环条件,该循环体至少执行一次
    适合先干活、后检查的特殊情况,例如输入密码、文件内容判断
    
    问:for\while\do-while 区别?

六、循环嵌套
    循环语句中包含了循环语句
    外层循环执行一次,内存循环执行n次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值