第六章 循环控制.

Slides:



Advertisements
Similar presentations
While 迴圈 - 不知重複執行次數
Advertisements

CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第一章 C语言概述 计算机公共教学部.
C 语言程序设计 主讲人:王 英.
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
第3章 While循环程序设计.
C语言程序设计教程 (第4版) 第5章 循环结构 李丽娟 2013年2月.
第三章 控制结构.
EBNF与操作语义 请用扩展的 BNF 描述 javascript语言里语句的结构;并用操作语义的方法描述对应的语义规则
C#程序设计基础 $5 流程控制.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
C程序设计.
第 四 章 循环结构 while语句 do {} while 语句 break和continue语句
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
循环结构 NEAU ACM-ICPC TEAM 主讲人:NEAU_ACM_Team.
C程序设计.
第3章 C语言的基本语句 和程序结构设计.
Introduction to the C Programming Language
第5章 循环结构程序设计 5.1 为什么需要循环控制 5.2 用while语句实现循环 5.3 用do---while语句实现循环
第六章 循环结构程序设计 概述 while 语句 do-while 语句 for 语句 循环的嵌套 几种循环的比较
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
第五章 循环结构的C程序设计 5.1 while循环语句 5.2 do-while循环语句 5.3 for循环语句 5.4 多重循环
本章中將會更詳細地考慮有關重複的概念,並且會 介紹for和do…while等兩種用來控制重複的敘述 式。 也將會介紹switch多重選擇敘述式。 我們會討論直接和迅速離開某種控制敘述式的 break敘述式,以及用來跳過重複敘述式本體剩餘 部份的continue敘述式。 本章會討論用來組合控制條件的邏輯運算子,最後.
第二章 Java语言基础.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
計數式重複敘述 for 迴圈 P
第六章 循环控制.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第九章 预处理命令.
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
C++大学基础教程 第3章 C++控制语句 北京科技大学 信息基础科学系.
第4章 PHP流程控制语句.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言概述 第一章.
程式結構&語法.
第三章 C++的语句和简单的程序设计 主要内容:
第 二 章 数据类型、运算符与表达式.
Java软件设计基础 3. 流程控制.
C语言程序设计.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
目录 5.1循环结构程序设计的概述 5.2 用while语句实现循环结构程序设计 5.3 用do-while语句实现循环结构程序设计
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
Instructor:Po-Yu Kuo 教師:郭柏佑
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
《计算机应用基础》 第9章 程序设计基础(二).
第2章 认识C语言 教学要点 2. 1 项目二C语言程序识读 2 .2 项目三班级成绩排名 2 .3 知识链接 返回.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第九节 赋值运算符和赋值表达式.
项目1 C程序设计起步 学习目标: 通过该项目你可以知道: C语言的用途。 C语言的基本符号和关键字。 C语言程序的结构及特点。
College of Computer Science & Technology
1.2基本算法语句 1.2.3循环语句.
输入语句 输出语句 赋值语句 条件语句 循环语句
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
程序设计基础.
#include <iostream.h>
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
五 循环结构程序设计 厦大附中信息技术.
多重條件選擇敘述
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
1.2.3 循环语句.
考察点:switch\while\for System.in\Scanner char vs int
Presentation transcript:

第六章 循环控制

§6.1 概述 循环:反复执行称为“循环体”的程序段的过程。 循环控制常用于数学迭代、对象遍历等问 题的求解,几乎所有实用程序都包含循环。 C语言中用如下语句实现循环: 1、用goto语句和if语句构成循环。 2、用while语句构成循环。 3、用do-while语句构成循环。 4、用for语句构成循环。

§6.2 goto语句 一般形式: goto 语句标号 作 用: 无条件转向“语句标号”处执行。 “语句标号”是一个标识符,它表示程序指令 作 用: 无条件转向“语句标号”处执行。 “语句标号”是一个标识符,它表示程序指令 的地址。这个标号不能是数字。 结构化程序设计方法主张限制使用goto语句。 goto语句有两种用途: 一是与if语句一起构成循环结构; 二是从循环体中跳转到循环体外。Break和continue

loop: if (i <= 100) /*标号表示程序指令的地址,当i≤100时,执行加法 */ { sum = sum+ i; [例6.2] 用If语句和goto语句构成循环 sum=sum+i i=i+1 i<=100 假 真 i=1,sum=0 main() { int i,sum=0; i = 1; loop: if (i <= 100) /*标号表示程序指令的地址,当i≤100时,执行加法 */ { sum = sum+ i; i++; goto loop; /*无条件转向标号loop处的指令 */ } printf("%d",sum);

§6.3 while语句 一般形式:while (表达式) 语句 作用:实现“当型”循环。 当“表达式”非0(真)时, “语句”是被循环执行的程序,称 为“循环体”。 特点:先判“表达式(条件)”,后执行语句。 循环体如果包含一个以上的语句,应该以复 合语句形式出现。 在循环体中应有使循环趋向于结束的语句。 语句 表达式 假 真

[例6.3] 用while循环实现1~100的累加。 main() { int i,sum=0; /*为循环赋初值 */ i = 1; while (i <= 100) /*“当型”循环*/ sum = sum + i; i++; /* 使循环趋于结束*/ } printf("%d",sum);

§6.4 do-while语句 一般形式: do 语句 while (表达式) 特点:“直到型”循环结构。 先执行一次“语句”,再判别“表达式”。当“表达式” 为非0时,再执行“语句”,直到“表达式”为0时,循 环结束。 语句 条件P 非0

main() { int i,sum=0; i = 1; do { sum = sum + i; i++; } [例6.4] 用d0_while循环实现1~100的累加。 main() { int i,sum=0; i = 1; do { sum = sum + i; i++; } while (i<=100); printf("%d",sum);

§6.5 for 语句 for语句常用于循环次数已知的循环控制; 也可以用于循环次数不确定而只给出循环结束条件的 情况,它完全可以代替while语句。 一般形式: for(表达式1;表达式2;表达式3) 语 句 循环初始条件 判别循环条件 修改循环条件 执行过程: (1)求表达式1; (2)求表达式2,若为“真”,执行“语句”; 若为假,转第(5)步。 (3)求表达式3。 (4)转第(2)步。 (5)执行for语句以外的语句。

for (i=1;i<=100;i++) sum = sum + i; 变量”。 这是for语句的典型用法:已知循环次数。 (本例100次)

main() { int i,sum=0; for(i=1;i<=100;i++) sum=sum+i; printf("%d\n",sum); } i = 1; while (i <= 100) { sum = sum + i; i++; }

关于For语句的几点说明: 1、for语句中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值,否则不执行for循环。 真,将无限循环。例如:for(i=1; ;i++) sum=sum+i; 它相当于: i=1; while(1) {sum=sum+1; i++;} 3、 for语句中的“表达式3”也可以省略,但此时程序员应设 法保证循环能正常结束。如: for(i=1;i<=100; ) 否则将无限循环。 { sum=sum+i; i++; }

4、for语句中的表达式1、3省略,只有表达式2,即只给出循环的条件,如无初值,for 将不执行,后者将出错。 for(;i<=100;) while(i<=100) { sum=sum+i; { sum=sum+i; i++; } i++; } 5、 for语句中的三个表达式都省略,如:for( ; ; ) 相当于:while(1) 无终止的执行循环体。 6、表达式1可以是设置循环变量初值的赋值表达式,也可以 是其他与循环无关的表达式。 如: for(sum=0,i=1;i<=100;i++,j- - ) sum=sum+i; 7、表达式一般是关系表达式(如i<=100)或逻辑表达式 (如s<b && x<y),也可以是数值表达式或字符表达式。

例:表达式1、表达式3是空语句。 #include <stdio.h> main() { char c; for ( ;(c=getchar())!=‘\n’; ) printf(“%c”,c); } 运行: computer ↙ (输入) computer (输出) 输出c

§6.8 break语句和continue语句 一、break语句 作用:跳出所在的多分支switch语句,跳出所在 的while、do-while、for循环语句(提前结束循 环)。 #define pi 3.14 main() { int r; float area; for (r=1;r<=10;r++) { area = pi*r*r; if (area > 100) break; printf("%d,%6.2f\n",r,area); } #include "stdio.h" main() { char grade; printf(“请输入学生的等级:"); scanf("%c\n",&grade); switch (grade) { case 'A':printf("85~100\n");break; case 'B':printf("70~84\n");break; case 'C':printf("60~69\n");break; case 'D':printf("<60\n");break; default: printf("error\n"); } } 当r=6时,area>100,执行 break语句,提前结束循环, 不再计算r =7~10的area。 运行结果: 1 3.14 2 12.57 3 28.27 4 50.27 5 78.54 6 113.10 7 153.94 8 201.06 9 254.47 10 314.16

§6.8 break语句和continue语句 二、continue语句 作用:提前结束本次循环体的执行,接着进行下 一次循环条件的判别。 [例5.5] 把100~200之间不能被3整除的数输出。 main () { int n; for (n=100; n<=200; n++) { if (n%3 == 0) continue; printf("%d",n); } 当n能被3整除时,执行continue 语句,结束执行本次循环的循环 体,即跳过printf语句。

三、break语句和continue语句的区别 while (表达式1) while (表达式1) { ┇ { ┇ if (表达式2) if (表达式2) break; continue; ┇ ┇ } } break语句跳出循环 continue语句结束本次 循环体的执行,进入下 一次循环

课堂练习 例、小游戏猜数字 main( ) { int x=67,y; printf(“Please input a number: \n”); scanf(“%d”,&y); if (y<x) { printf(“It is smaller!\n”); goto loop; } if (y>x) { printf(“It is bigger!\n”); goto loop; } if (y==x) printf(“It is ok!\n”); } loop: