初学者的笔记-----标准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:输入一个月份,判断该月有多少天,忽略闰平年问题(2月28天)

三、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:计算出所有的三位水仙花数

                练习4:输入一个正整数,判断是否是素数

四、while循环语句

        while(表达式)

        {

            //  循环体

        }

        当表达式为真时执行循环体,执行完后重新判断表达式,以此类推,直到表达式为假,结束循环

        while相当于for的精简版本    for(; 表达式; )

        for循环专门负责解决明确知道循环次数的问题

        while循环专门负责解决不确定循环次数的问题

五、do-while循环语句

        do{

            //  循环体

        }while(表达式); //  表达式为真循环继续,为假结束循环

        先执行循环体,再判断循环条件,该循环体至少执行一次

        适合先干活、后检查的特殊情况,例如输入密码、文件内容判断

        问:for\while\do-while  区别?

六、循环嵌套

        循环语句中包含了循环语句

        外层循环执行一次,内层循环执行n次

        练习5:输入一个正整数,判断是否是回文数

        练习6:模拟输入6位密码,输入的密码正确显示"登录成功",否则输入错误提示还剩几次机会,并继续输入密码,最多错3次,否则显示"账号已锁定,请联系柜台",并结束程序

        作业1:打印99乘法表

        作业2:编程解决百钱百鸡问题

        作业3:计算出100~1000之间所有的素数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值