iOS笔记:第四篇 C语言 流程控制


第一节  switch-case结构

一、switch-case结构

1. switch-case结构选择结构.

2. 语法:

     switch(表达式)

     {

        case 1:

             执行代码;

             break;

        case 2:

             执行代码;

             break;

        case 3:

             执行代码;

             break;

        default:

             执行代码;

             break;

     }

 3. 执行步骤

    先计算switch后的表达式的结果.然后将这个结果依次的从上到下的和每1case块后的值做相等比较。

    只要有1case后的值和表达式的结果相等就会执行该case块中的代码然后结束整个switch结果往下执行.如果不相等再判断下1.

    如果所有的值都不和表达式的结果相等那么就执行default中的代码.

4. ifswitch的区别.

    a. switch-case结构只能做等值判断,判断switch后的表达式的结果是否和case的值相等.

    b. if结构不仅仅可以判断等值还可以判断范围.

5. switch结构的使用注意.

    1). switch小括弧后的表达式不能是浮点型的.其他都是可以的.

    2). case后的break可以不写,但是后果很严重.

        case穿透:如果case的后面没有break,而这个case被匹配上了.就会执行这个case中的代码.并且往下面的case执行.

        遇到break才会结束.

    3). 如果多个case块的处理逻辑是一样的那么可以简写.

    4). case后面可以写1个表达式,但是表达式不能有变量参与否则报语法错误.

  5.  1case块中不要去访问另外1case块中定义的变量这样会出问题的.

        1case块可以写大括弧.

        建议:如果在case中要定义变量这个时候建议加上大括弧.

 6. 选择if还是switch

    凡是可以用switch写的代码都可以用if结构写.

    但是可以用if写的不一定可以使用switch

    建议:等值判断时使用switch

          范围判断使用if结构.

   

第二节  while循环

 1. 什么是循环

    同一件事情,反复不停的去做,这个叫做循环。

    循环的特点:

    1). 1件事情.

    2). 反复不停.

    3). 循环仍然有停止的时刻.

 2. 在代码世界中我们也会有类似的需求:

    同一段代码,我们希望它反复不停的执行指定的次数

 3. 如何让我们的代码反复不停的执行指定的次数呢?

    -> 使用简单复制和粘贴.

       缺点:代码冗余.,后期的维护和修改非常的不方便.

    -> 使用循环结构来将代码反复不停的执行指定的次数.

       优先:代码简洁,修改维护方便.

 4. 循环结构在C语言中有3.

    while循环结构 do-while循环结构 for循环结构.

    他们的功能:可以将一段代码反复不停的执行指定的次数.

    最大的区别语法不同,但是他们实现的功能都是一样的.

 5. while循环结构

   a.  作用:可以将一段代码进行反复不停的执行指定的次数.

   b.  语法:

       while(条件表达式)

       {

           执行代码;

           循环体;

       }

   c. 执行步骤

      1步骤:判断while后面的条件表达式的真假.

         1.1 如果为真,就执行循环体,循环体执行完毕之后再跳回第1步骤.

         1.2 如果为假,就结束while循环结构往下执行.

   d. 死循环.

      定义:每次执行完循环体,去判断条件表达式的真假,每次都得到真,则循环就永远没有结束的时候,像这种永远不会结束的循环我们叫做死循环.

      死循环的后果:就是一直在反复不停的执行循环体,不会结束,那么循环后面的代码是永远不会被执行到。

   e. 注意以下几点.

      C语言中的真假判断.结果为0就认为是假0就认为是真.

6. 如何使用循环结构.

   写循环之前.

   a. 你要确定那段代码是需要被反复不停的执行的.

   b. 什么时候需要结束循环.

7. 循环的应用之一:确定循环体确定循环的次数.

   循环体的代码就会被循环结构反复不停的执行,所以将要反复执行的代码塞到循环体之中.

   1). 声明1int类型的变量.循环增量.并赋默认值为0.

   2). while的条件 i <次数

   3).在循环体之中,要去修改循环增量的值.

   原理:

   循环条件有循环增量参与.而循环增量的值每次循环都要变化.前面几次的变化不足以让这个条件表达式不成立.

   最后一次的变化就可以让这个条件表达式不成立从而结束循环.

   注意:

    1). 不要忘记在循环体之中修改循环增量的值.

   2). 当你确定这个是一个循环的时候,并且也知道循环多少次,先将循环指定次数的架子搭起,然后再分析每一次要做什么事情.然后将每一次要做的事情写在循环体之中.

   3). 找不到循环体的时候

      先用最简单的复制粘贴的方式来实现,复制的那段代码基本上就是循环体了.

8. 循环应用之二:确定循环体,但是不确定循环多少次.知道循环结束的条件.

   请用户输入密码.只要密码不正确(123)就让用户重新输入,直到输入正确为止.

   分析:

   循环体:接收用户输入密码;

   循环次数:不确定.

   循环结束:当密码正确的时候, 只要密码不正确那么就要反复的循环.

   解决方案:

   1). 先搭建循环,把循环体搞定.

   2). 在分析循环继续的条件.

   3). 在循环条件那个地方写上循环要继续的条件.

       一般情况下,那个变量应该定义在外面.

  //循环结束的条件是用户名正确并且密码正确

//   int userName = 0,pwd = 0;

//   while (1)

//   {

//       printf("请输入用户名和密码:");

//       scanf("%d%d",&userName,&pwd);

//       if(userName == 123456 && pwd == 888888)

//       {

//            break;

//       }

//   }

 9. 关于scanf的缓冲区.

   1. 用户输入的数据包括回车空格都会被放在缓冲区之中.

   2. 当接收数字(整型和浮点型)的时候,会自动忽略掉缓冲区中的空格回车 Tab

   3. 当我们接收字符型数据的时候,这个时候就不会忽略任何的数据了.

10. 循环的第三种应用:遍历指定范围的数.

    1-10之间的每1个整数打印出来。

    这肯定是1个指定次数的循环。

    实现步骤.遍历n-m之间的整数.

    1). 先定义1个循环增量并赋值为最小值n

    2). 循环条件 i <= m最大值.

    3). 在循环体之中,循环增量的值就是这个范围中的每1个整数.

    4). 记得在循环体之中修改循环增量的值.

    我们将循环增量的值给利用起来了.每次循环的时候打印循环增量的值都是不一样的因为循环增量的值每次循环的时候都在发生变化.

 11. 循环应用之四:求指定范围中符合特定条件的数.

    请找出1-100之间可以被7整除的数.

    思路与步骤:

    1). 先将这个范围之中的每1个整数遍历出来.

    2). 判断遍历出来的这个数是不是符合特定条件的.

 12. 循环的应用之五:求累加和与平均值.

    请计算1-10之间每1个整数的累积和.

    思路:

    1). 先准备一个容器.这个容器就是用来装累加和的.

    2). 把这一堆数中的每一个数遍历出来.

        将遍历出来的数累加到容器里面去.

    3). 当遍历完成以后,框中的数据就是这堆数据的总和.

    练习:

    让用户输入5个数求用户输入的5个数的累加和.

    #include <stdio.h>

    int main()

{

//   int sum = 0;

//   int i = 1;

//   while (i < 6)

//   {

//       int num = 0;

//       printf("请输入%d个数:",i);

//       scanf("%d",&num);

//       i++;

//     }

//    printf("这些数的和是:%d",sum);

//    return  0;

//    }

13. 循环应用之六:求最大值和最小值.

14. break

    1). break也可以使用在循环体之中.如果在循环体之中遇到了break,就表示立即结束当前循环结构.

        结束循环的方式:

        -> 判断循环条件得到假就结束.

        -> 在循环体之中遇到了break就结束.

    continue

    1). 只能用在循环体之中。如果在循环体之中遇到了continue就会立即结束当前次的循环,然后进入下次循环,当遇到了continue就会立即结束本次循环。如果循环体后还有         代码,是不会执行的,立即进入下次循环,

 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值