zoukankan      html  css  js  c++  java
  • C中的流程控制

    一、 流程控制

    l 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。

    l 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。

    l 循环结构:在给定条件成立的情况下,反复执行某一段代码。

    二、 选择结构-if

    1. 简单使用

    l if (表达式)  语句1; 

    u if(count>50)  开班;  上课;

    l if(表达式)  语句1;  else 语句2;

    u f(count>50)  开班;  else 不开班;

    l if(表达式)  {  }

    u if(count>50)  {开班布置课室;}  else {}

    u { }的作用域

    l if -else if-else

    u ifa==0) else if (a>0)  else 

    u 特点:只有一个括号会被执行

    l 复合条件

    u 上课时间的取值范围(9~12 ||  14 ~17)

    l 陷阱

    u if(a!=0)  { a不是0;} else {a0;}

    u if (a); {  }

    u if (a=0)  

    u a == 0;

    u if (10) int a = 9;

    2. 习题

    1> 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出“星期一”

    2> 输入一个整数month代表月份,根据月份输出对应的季节。

    春季:345

    夏季:678

    秋季:91011

    冬季:1212

    3> 输入一个整数score代表分数,根据分数输出等级(A-E(用两种方式)

    A90~100

    B80~89

    C70~79

    D60~69

    E0~60

    三、 选择结构-switch

    1. 简单使用

    l switch(表达式) { case 数值1: break; … default: break;}

    l 举例

    int a = 10;

     switch (a) {

         case 0:

             printf("这是一个0");

             break;

         case 5:

             printf("这是一个5");

             break;

         case 10:

             printf("这是一个10");

             break;

         default:

             printf("什么也不是");

             break;

     }

    l 简述break的作用

    l 在case中定义变量

    2. ifswitch的对比

    l 很多情况可以互换

    l if用得比较多,比较灵活,switch只能某个单值

    3. 习题

    switch替代if实现if中的习题

    四、 循环结构-while

    1. 简单使用

    l 连续printf(“俯卧撑”)20;

    l while(表达式) { }

    l continue:输出5次休息一下

    l break的使用:某次的时候停止循环

    2. 特点

    只有条件成立才会执行循环体

    3. 习题

    1> 提示用户输入一个正整数n,计算1+2+3+…+n的和

    2> 提示用户输入一个正整数n,计算1-2+3-4+5-6+…+n的和

    4. 陷阱

    while(条件);

    五、 循环结构-do while

    l 特点:一定会执行一次循环体

    l whiledo while循环对比

    int i=0;
    while(i<0){
     i++;
    }

    int i=0;
    do{
     i++;
    } while(i<0);

    六、 循环结构-for

    1. 简单实用

    l 运行过程

    l 初始化语句等可以是多句(把printf放到for的括号中)

    2. for循环嵌套

    好友列表1

    好友1

    好友2

    好友列表2

    好友1

    好友2

    好友列表3

    好友1

    好友2

    3. 陷阱

    1> 死循环 for(;;);

    2> for循环体内部变量的作用域

    3> 作用域混淆

    for (int i = 0; i<5; i++)  int a = 10;

    4. while循环和for循环的比较

    l 可以互换

    l for循环的变量可以及时回收

    5. 习题

    1> 提示用户输入一个正整数n,如果n5,就输出下列图形,其他n值以此类推

    2> 输出九九乘法表

    七、 breakcontinue

    1. break

    l 使用场合:switch循环结构

    l 循环嵌套下的break

    2. continue

    l 使用场合:循环结构

    l 循环嵌套下的continue

  • 相关阅读:
    C#多态联系之虚方法
    FileStream 操作文件复制
    [Android] Android 用于异步加载 ContentProvider 中的内容的机制 -- Loader 机制 (LoaderManager + CursorLoader + LoaderManager.LoaderCallbacks)
    [Android] Android 异步定时任务实现的三种方法(以SeekBar的进度自动实现为例)
    [Android] Android Butterknife 8.8.1 在 Activity 和 Fragment 、 Adapter 中的使用
    [Android] Android v4包CompoundButtonCompatLollipop.class重复问题
    [Android] Android 常见第三方库汇总地址
    [Android] Android ViewPager 中加载 Fragment的两种方式 方式(二)
    [Android] Android ViewPager 中加载 Fragment的两种方式 方式(一)
    [Android] Android : lambda expressions are not supported at this language level(需设置project language level)
  • 原文地址:https://www.cnblogs.com/ljcgood66/p/4963797.html
Copyright © 2011-2022 走看看