1. 流程控制

  • 顺序结构:默认的流程结构。按照书写顺序执行每一条语句。
  • 选择结构:对给定的条件进行判断,再根据判断结果来决定执行哪一段代码。
  • 循环结构:在给定条件成立的情况下,反复执行某一段代码。

 

 

  1. 选择结构-if

  1. 简单使用

  • if (表达式) 语句1;
  • if(count>50) 开班; 上课;

 

  • if(表达式) 语句1; else 语句2;
  • f(count>50) 开班; else 不开班;

 

  • if(表达式) { }
  • if(count>50) {开班; 布置课室;} else {}
  • { }的作用域

 

  • if -else if-else
  • if(a==0) else if (a>0) else
  • 特点:只有一个括号会被执行

 

  • 复合条件
  • 上课时间的取值范围(9~12 || 14 ~17)

 

  • 陷阱
  • if(a!=0) { a不是0;} else {a是0;}
  • if (a); { }
  • if (a=0)
  • a == 0;
  • if (10) int a = 9;

 

  1. 习题

  2. 输入一个整数day代表星期几,根据day的值输出对应的星期几,比如day==1,就输出"星期一"
  3. 输入一个整数month代表月份,根据月份输出对应的季节。

春季:3、4、5

夏季:6、7、8

秋季:9、10、11

冬季:12、1、2

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

A:90~100

B:80~89

C:70~79

D:60~69

E:0~60

 

  1. 选择结构-switch

  1. 简单使用

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

int a = 10;

switch (a) {

case 0:

printf("这是一个0");

break;

case 5:

printf("这是一个5");

break;

case 10:

printf("这是一个10");

break;

default:

printf("什么也不是");

break;

}

  • 简述break的作用
  • 在case中定义变量

 

  1. if和switch的对比

  • 很多情况可以互换
  • if用得比较多,比较灵活,switch只能某个单值

 

  1. 习题

用switch替代if实现if中的习题

 

  1. 循环结构-while

  2. 简单使用

  • 连续printf("俯卧撑")20次;
  • while(表达式) { }
  • continue:输出5次休息一下
  • break的使用:某次的时候停止循环
  1. 特点

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

  1. 习题

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

while(条件);

 

  1. 循环结构-do while

  • 特点:一定会执行一次循环体
  • while和do while循环对比

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

 

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

 

  1. 循环结构-for

  1. 简单实用

  • 运行过程
  • 初始化语句等可以是多句(把printf放到for的括号中)

 

  1. for循环嵌套

好友列表1

    好友1

    好友2

好友列表2

    好友1

    好友2

好友列表3

    好友1

    好友2

 

  1. 陷阱

  2. 死循环 for(;;);
  3. for循环体内部变量的作用域
  4. 作用域混淆

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

 

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

  • 可以互换
  • for循环的变量可以及时回收

 

  1. 习题

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

  1. 输出九九乘法表

 

  1. break和continue

  1. break

  • 使用场合:switch\循环结构
  • 循环嵌套下的break

 

  1. continue

  • 使用场合:循环结构
  • 循环嵌套下的continue

内容来源:传智播客李明杰老师授课内容

C语言第七节流程控制的更多相关文章

  1. Go语言基础之4--流程控制

    一.if else语句 1.1 基本语法1 语法1: if condition { //do something } 语法2: if condition { //do something } else ...

  2. 004-流程控制-C语言笔记

    004-流程控制-C语言笔记 学习目标 1.[掌握]关系运算符和关系表达式 2.[掌握]逻辑运算符和逻辑表达式 3.[掌握]运算符的优先级和结合性 4.[掌握]if-else if-else结构的使用 ...

  3. Swift语言指南(七)--语言基础之布尔值和类型别名

    原文:Swift语言指南(七)--语言基础之布尔值和类型别名 布尔值 Swift有一个基本布尔类型,叫做布尔(bool),布尔值又称逻辑值(logical),因为它只能为真(true)或假(false ...

  4. 网络1711班 C语言第七次作业批改总结

    网络1711班 C语言第七次作业批改总结 1.本次作业评分细则 1.1 基本要求(1分) 按时交 - 有分 未交 - 0分 迟交一周以上 - 倒扣本次作业分数 抄袭 - 0分 泛泛而谈(最多七分) 1 ...

  5. PIC12F629帮我用C语言写个程序,控制三个LED亮灭

    http://power.baidu.com/question/240873584599025684.html?entry=browse_difficult PIC12F629帮我用C语言写个程序,控 ...

  6. C语言第七讲,函数入门.

    C语言第七讲,函数入门. 一丶了解面向过程和面向对象的区别. 为什么要先讲面向过程和面向对象的区别? 面向过程,就是什么都要自己做.  比如你要吃饭. 那么你得自己做饭. 面向对象, 面向对象就是我要 ...

  7. WinForm 中使用 Action 子线程对主线程 控制进行访问

    /// <summary> /// 开启新线程执行 /// </summary> /// <param name="sender"></p ...

  8. Shell03---流程控制

    目录 Shell03---流程控制 1. 流程控制语句if基本概述 2. 流程控制语句if文件比较 3. 流程控制语句if整数比较 4. 流程控制语句if字符比较 5. 流程控制语句if正则比较 6. ...

  9. 自动化运维工具-Ansible之5-流程控制

    自动化运维工具-Ansible之5-流程控制 目录 自动化运维工具-Ansible之5-流程控制 playbook条件语句 单条件 多条件 多条件运算 示例 playbook循环语句 with_ite ...

随机推荐

  1. Apache Spark shell的实例操作

    1.scala> val inFile = sc.textFile("./spam.data") 作用是将spam.data当作文本文件加载到Spark中,将spam.dat ...

  2. 两年内从零到每月十亿 PV 的发展来谈 Pinterest 的架构设计(转)

    原文:Scaling Pinterest - From 0 To 10s Of Billions Of Page Views A Month In Two Years 译文:两年内从零到每月十亿 PV ...

  3. 恢复HDFS误删数据

    [恢复HDFS误删数据] HDFS会为每一个用户创建一个回收站目录:/user/用户名/.Trash/,每一个被用户通过Shell删除的文件/目录,在系统回收站中都一个周期,也就是当系统回收站中的文件 ...

  4. Ubuntu之系统交换分区Swap增加与优化

    http://os.51cto.com/art/201212/372860.htm   http://blog.csdn.net/xingyu15/article/details/5570225   ...

  5. Telnet连接Win7系统被拒绝的原因及解决方法

    有时要与计算机进行远程连接,会用到telnet.win7中telnet默认是没有开启的,所以这时连接会连接失败,其失败提示如下: 正在连接192.168.100.103...无法打开到主机的连接. 在 ...

  6. css控制图片自适应大小

    相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决.      该CSS的功能是:大于600的图片自动调整为600显示. <style ...

  7. AP(应付帐管理)

    --更新供应商地点 PROCEDURE update_vendor_site(p_init_msg_list IN VARCHAR2 DEFAULT fnd_api.g_false, x_return ...

  8. Ext的Panel总结(好文章)

    我刚才禁不住诱惑去看了一下Ext.Window的API文档,发现只是比Panel多了点什么最大化.最小化.关闭.置前.置后.动画引发目标设置.可调整大小这些功能.像什么标题栏.工具栏之类的东西在Ext ...

  9. 4.3、Libgdx启动类和配置

    (原文:http://www.libgdx.cn/topic/45/4-3-libgdx%E5%90%AF%E5%8A%A8%E7%B1%BB%E4%B8%8E%E9%85%8D%E7%BD%AE) ...

  10. 使用PageHeap.EXE或GFlags.EXE检查内存越界错误 (转)

    2011-05-27 20:19 290人阅读 评论(0) 收藏 举报 microsoftdebuggingstructureoutputimagefile 必先利其器之一:使用PageHeap.EX ...