0707标准C语言

类型转换

    只有相同类型的数据才能运算,如果类型不相同的数据需要先转换相同类型后再进行计算

    自动类型转换:

        转换规则:以不丢失数据为基础,可以适当地牺牲一些空间

        1、字节少的向字节多的转(优先级最高)

            char int

        2、有符号的向无符号的转

        3、整型向浮点型转

        注意:char shotr 如果与不同类型的数据运算时,会先提升为int类型后参与运算

    强制类型转换:

        (新类型名)数据;

        这种方式有可能会丢失数据,慎重使用

switch开关分支语句

    switch(n) //n可以是数值、表达式(运算结果必须是整数)

    {

        case val:  //如果val==n,则打开执行开关

            ...     //val必须是常量

            break; //关闭执行开关,结束switch

            //如果每个case后都加break,形成了分支结构

            //switch中不能使用coutinue配合

            //case  a ... b: 表示[a,b],但是只有GNU编译器才支持该语法,不建议使用        

        case val1:

            ...

        default:

            //如果所有的case都没有打开,则最后打开default,并且放在任何位置都可以最后打开

    }

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循环的各种写法:  i->j->k

    for(;;)

    {

        //  死循环

    }

    int i=0;

    for(;i<10;i++)

    {

        //死循环

    }

    for(int i=0;;i++)

    {

        if(i>=10)

        {

            break;

        }

        printf("i=%d\n",i);//循环到10

    }

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

    {

        ...

        i++;

    }

    练习3:计算出所有的三位水仙花数

        abc == a*a*a+b*b*b+c*c*c

    练习4:计算出所有素数       break; i>num/2  ? count计数 count++

while循环语句

    while(表达式)

    {

        // 循环体

    }

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

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

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

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

do-while循环语句

    do{

        //循环体

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

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

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

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

    for根据循环变量 while根据循环条件 do-while先循环一次

循环嵌套:

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

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

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

            12321   123321

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

        123456

        123     2次,请继续

        123     1次,请继续

        123     锁定,结束

    作业1:打印99乘法表

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

    公鸡5块钱,母鸡3块钱,小鸡3只一块钱,一百块钱买一百只鸡

    x

    y

    100-x-y

    5x+3y+(100-x-y)/3=100

    作业3:100-1000所有素数

    没有被整除过

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值