第4章分支控制与循环控制语句
C语言循环语句课件四章

Page 14ຫໍສະໝຸດ while语句(当型循环)
❖例 求自然数1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 while语句实现。
▪ 流程图
开始
sum=0 i=1
i<=10 false
true sum=sum+i
i=i+1
输出sum
结束
Page 15
while语句(当型循环)
▪ 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例 如6=1+2+3
8. 求水仙花数:是指一个n(>=3)位数字的数,它等于每个数 字的n次幂之和。
9. 输入两个正整数m和n,求其最大公约数和最小公倍数。
Page 29
3.求1~599中能被3整除,且至少 有一位数字为5的所有整数。
❖ 判断a、b、c中是否有5:将1~599中三位整数i分 解成个位、十位、百位,分别存放在变量a、b、 c中。然后判断这三个变量是否含5。将三位整数i (设i=513)分解成个位、十位、百位的方法是: c=i/100; //百位 b=i%100/10; //十位 a=i%100%10; //个位
❖ 流程图
❖ 注意:在循环体中,一般应该 包含改变条件表达式的语句。
语句
true 表达式
false
Page 19
do…while语句(直到型循环)
❖例 用do…while语句求自然数 1~10之和。
▪ 分析:本题需要用累加算法,累加 过程是一个循环过程,可以用 do…while语句实现。
▪ 流程图
❖ 表达式1和3可以是简单表达式,也可以是逗号表 达式
▪ for(i=0,j=100;i<=j;i++,j--) k=i+j;
c语言控制语句总结

概述:程序有三种控制结构 1.顺序结构 2.条件判断(选择、分支)结构 3.循环(重复)结构 4.1 C语言的选择分支结构 一、if语句 1.单分支结构 if(条件)语句 2.双分支结构 if(条件)语句1 else 语句2
if 语句的执行流程
假 条件式 真 假 条件式 真
接上页 { delta=b*b-4*a*c; if(delta>=0) { x1=(-b+sqrt(delta))/(2*a); x2=(-b-sqrt(delta))/(2*a); printf(“x1=%.2f,x2=%.2f\n”,x1,x2); } else { re=-b/(2*a);im=fabs(sqrt(-delta)/(2*a)); printf(“x1=%.2f+%.2fi\n”,re,im); printf(“x2=%.2f-%.2fi\n”,re,im); } }
switch(m) { case 2: if(!(y%4)&&y%100||!(y%400)) days=29;else days=28; break; case 4:case 6:case 9:case 11:days=30;break; default: days=31; } printf(“The number of days is %d.\n”,days); }
例4:输入年号y,月份m,输出该年该月天数。 分析:2月:闰年29天,平年28天; 4,6,9,11月: 30天;1,3,5,7,8,10,12月:31天 #include “stdio.h” void main() { int y,m,days; printf(“Input year and month:”); scanf(“%d%d”,y,m); if(y<1||y>10000) { printf(“year isn’t correct.\n”);return; } if(m>12||m<1) { printf(“month isn’t correct.\n”);return; }
神奇的循环控制语句if、for、case、while

神奇的循环控制语句if、for、case、while ⼀、if 循环控制(单分⽀与多分⽀)单个判断(单分⽀循环)if []thenfiif []thenelsefi多个判断(多分⽀循环):if []thenelif []thenelif []thenfi⼆、for循环控制(1)for 变量名 in 值1 值2 值3do执⾏动作done(2)for 变量名 in `命令`do执⾏动作donefor i in `seq 1 10` # 从1 到10 do echo "变量i的值为:${i}" done还有⼀种写法:for i in $(cat 123.txt) # $() 相当于 ` ` 写法不同 do echo "变量i的值为:${i}" doneping -c 2 只Ping 2次echo -e "\n" 换⾏的话⼀定要加上-e(3)for (( 条件 )) do 执⾏动作 donefor (( i=0;i<10;i++ ))doecho "i的值是${i}"done三、case循环控制应⽤场景:case循环常使⽤于多重分⽀,与if不同的是,if可以判断多个条件,case⼀次只能判断⼀种条件case 变量 in值1 )执⾏动作1;; # 2个分号表⽰语句结束!值2 )执⾏动作2;;值3 )执⾏动作3;; *) # * 表⽰匹配不到 执⾏动作4 ;;esacecho "你想查询哪个城市的天⽓"read citycase $city in'深圳')echo "温度18~24度天⽓晴";;'北京')echo "温度14~28度天⽓⾬";;'杭州')echo "温度14~18度天⽓阴";;*)echo "sorry,没找到所在城市";;esac四、while 循环应⽤场景:while循环是条件循环也是不定循环,只要条件判断式成⽴,循环就会⼀直进⾏着。
第4章流程控制笔记

第四章流程控制主要学习内容:1、理解java语言中复合语句的使用方法;2、掌握if条件语句的使用方法;3、了解if语句与Switch语句之间的区别;4、掌握while循环语句的使用方法;5、掌握do-While循环语句的使用方法;6、了解while和do-while语句的区别;7、了解for语句的使用方法;8、了解foreach语句If语句:if执行的条件,如果条件成立,则执行if 后的语句,如果不成立,则跳出条件语句,往下执行;If语句分为简单的if条件语句,if……else语句和if……else if多分支语句;程序流程图:If语句中的表达式可以是一个单纯的布尔变量或常量,也可以是使用关系或布尔运算符的表达式;当条件成立执行语句体的时候,若语句体中仅有一条语句,则可以省略条件语句中的大括号“{}”;虽然if后面的复合语句只有一条,省略大括号并无语法错误,但是为了增强程序的可读性最好不要省略;If-else语句:如果满足某种条件,就进行某种处理,否则进行另一种处理;有时根据编程需要,else或if后面的括号里可以没有语句;对于if-else语句有时可以使用三元运算符进行简化;对于扩展的if-else if语句的执行,则是满足什么条件执行什么语句;If语句只执行条件为真的命令语句,其他的语句都不会执行;Switch语句:switch语句必须是整形和字符型,常量值1~N也必须是整形或字符型;switch语句首先计算表达式的值,如果表达式的值和某个case的值相同,则执行该case后的若干语句,直到遇到break为止,此时如果该case语句中没有break语句,则继续执行case后的若干语句,直到遇到break为止;若没有一个常量的值与表达式的值相同,则执行default后面的语句;default语句是可选的,如果它不存在,而且switch 语句中的值不与任何case的值相同,则switch语句不做任何处理;程序流程图:While 循环语句:while 语句也称条件判断语句,它的循环方式是利用一个条件来控制是否要继续反复执行这个语句;新手最需要注意的就是,在while 的表达式后面加上一个“;”这样会使循环进入无限循环也就是死循环,需要很多的时间去调试,很麻烦的;Do-while循环语句:程序流程图:从流程图中我们可以看出,while和do-while的区别就是do-while先执行一次循环体;For循环:For循环的表达式1只执行一次;。
第4章 C语言程序的基本控制结构

#include<stdio.h> main() { int c1,c2; scanf("%c",&c); c1=c-1;c2=c+1; printf("%c%4c%4c\n",c1,c,c2); printf("%d%4d%4d\n",c1,c,c2); }
4.2 顺序结构
运行结果:
4.3选择结构
入口
入口
A 语句1 B
真
表达 式
假
条件 语句2 循环体
出口
图4.1 顺序结构
出口 出口
图4.2 选择(分支)结构 图4.3 循环结构
上述三种基本控制结构的共同特定是具有单入口和单出口。 还有一种goto语句,又叫转向语句,在本章的4.4.5小节中将会讲解到。 我们在编写程序时,力求使用前三种基本结构语句。
4.3选择结构
例4.3 幼儿园里三个小朋友站队要求小个站在前面,高个站在后面。 分析:我们可以把个子最小的小朋友放在a位置上,较高的小朋友放在b位 置上,个子最高的小朋友放在c位置上。输入三个数,a,b,c,要求按由小到 大的顺序输出。先比较a和b,若a大于b,则a与b对换,再比较a和c,若a 大于c,则a与c对换,这时a的值是最小的,最后比较b和c,若b大于c,则b 与c对换。这样操作之后就使a<b<c的关系成立。然后顺序输出a,b,c既可。
! 逻辑非,单目运算符,自右至左结合。其运算规则是:当 运算量为0,运算结果为1;反之,当运算量为1,运算结果为0。 && 逻辑与,双目运算符,自左至右结合。其运算规则是: 只有当运算符两边的运算量都是非0时,运算结果才为1,否则为0。 || 逻辑或,双目运算符,自左至右结合。其运算规则是:只 要运算符两边的运算量有一个为为非0,运算结果就为1。只有两 个运算量都为0,结果才是0。 这三个运算符的优先级,逻辑非!最高,逻辑与&&次之,逻 辑或||最低。!(逻辑非)的优先级高于算术运算符和关系运算符, 而&&(逻辑与)和||(逻辑或)的优先级低于算术运算符和关系运算符。 由 此可见: a>b&&c>d 相当于 (a>b)&&(c>d) a= =0||b= =0 相当于 (a= =0)||(b= =0) !a&&b= =c 相当于 (!a)&&(b= =c)
第4章控制语句练习题答案

一、选择题1.下列语句序列执行后,m 的值是int a=10, b=3, m=5;if( a==b ) m+=a; else m=++a*m;A) 15 B) 50 C) 55 D) 52.下列语句序列执行后,k 的值是。
int i=4,j=5,k=9,m=5;if(i>j||m<k) k++; else k--;A) 5 B) 10 C) 8 D) 93.下列语句序列执行后,k 的值是。
int i=10, j=18, k=30;switch( j - i ){ case 8 : k++;case 9 : k+=2;case 10: k+=3;default : k/=j;}A) 31 B) 32 C) 2 D) 334.若a和b均是整型变量并已正确赋值,正确的switch语句是A) switch(a+b); { ... } B) switch( a+b* ) { ...... }C) switch a { ...... } D) switch ( a%b ) { ...... }5.下列语句序列执行后,r 的值是。
char ch='8'; int r=10;switch( ch+1 ){case '7': r=r+3;case '8': r=r+5;case '9': r=r+6; break;default: r=r+8;}A) 13 B) 15 C) 16 D) 186.设int 型变量 a、b,float 型变量 x、y,char 型变量 ch 均已正确定义并赋值,正确的switch语句是。
A) switch (x + y) { . B) switch ( ch + 1 ) { ...... }C) switch ch { ...... } D) switch ( a + b ); { ...... }7.下列语句序列执行后,k 的值是。
Python基础教程第4章

Python基础教程第4章第4章:条件和循环在编程中,我们经常需要根据不同的条件来执行不同的操作。
Python提供了一些语句用于实现这些条件和循环。
if语句if语句用于根据条件判断来执行不同的代码块。
它的基本语法如下:```if condition:code block```其中,condition是需要判断的条件,如果满足这个条件,就会执行code block中的代码。
if-else语句if-else语句扩展了if语句,使我们可以在条件不满足时执行另外一段代码块。
它的语法如下:```if condition:code block1else:code block2```其中,如果condition满足,则执行code block1、如果condition 不满足,则执行code block2if-elif-else语句if-elif-else语句是if-else语句的扩展,可以实现多个条件的判断。
它的语法如下:```if condition1:code block1elif condition2:code block2else:code block3```其中,如果condition1满足,则执行code block1、如果condition1不满足,但condition2满足,则执行code block2、如果condition1和condition2都不满足,则执行code block3循环循环语句用于重复执行一些代码块。
Python提供了两种循环:for循环和while循环。
for循环for循环用于遍历一个可迭代对象(如列表、字符串等),并对其中的每个元素执行相同的操作。
它的基本语法如下:```for variable in iterable:code block```其中,variable是循环变量,每次循环会逐个取出可迭代对象(iterable)中的元素,并将其赋值给variable。
C语言程序控制结构资料

scanf("%d,%d", &num1, &num2);
sum=(float)num1+num2; /*求累计和*/
aver=sum/2.0;
/*求平均值*/
printf("sum=%.0f, aver=%.2f\n", sum,
aver);
}
运行情况:
30000,5005
sum=35005, aver= 17502.50
C语句:以“;”作结束符,编译后产生机器指令。 C语句分类:
表达式语句 空语句 控制语句 复合语句
3
4.1.1表达式语句
表达式语句是在表达式的末尾加上分号构成的语句。
z=x+sin(y);
如:
a-=a*a;
赋值语句
printf("This is a C
i++;
自增1语句
statement.");
运行情况:
输入: a=1, b=3, c=2 输出: x1=-1.00
x2=-2.00
scanf("a=%f,b=%f,c=%f",&a,&b,&c);
disc=b*b-4*a*c;
p=-b/(2*a);
q=sqrt(disc)/(2*a);
x1=p+q; x2=p-q;
printf("\nx1=%5.2f\nx2=%5.2f\n",x1,x2);
x=0,y=1;
逗号表达式语句 func(a,5);
x+y;
无意义
y=max(a,b);
printf(“This is a C program.\n”); 函数调用语句
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2010-11-01
朱寅非
信息技术系 南京城市职业学院
版权 ® 孔敏、朱寅非、井辉, 南京城市职业学院, 2010
JAVA 程序设计与实训指导---程序设计方法基础
课件3:2
第1章 面向对象的分析与 设计 第2章 程序设计入门 第3章 Java应用程序基本 结构与成分 第4章 分支控制与循环控 制语句 第5章 类与对象编程初步 第6章 再论类成员 第7章 方法重载、内部类 、系统类
请参见读一读 4-5
© Zhu Yinfei 2010
4.2 循环语句
课件3:15
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
for循环语句
课件3:16
© Zhu Yinfei 2010
4.1 if条件控制
课件3:4
• 基本的if结构 • if语句的嵌套
• switch语句
© Zhu Yinfei 2010
基本的if结构
课件3:5
• 使用if可以在某一条件为“真”的情况下执行某些语句 If结构能够使程序根据存储值做出简单判断 • 基本的if结构有两种形式
其中, while是保留字;boolExpr是一个求值结果为布尔类型的表达式,称为循环条件表达式 ;循环体Stmt是while语句的子语句,既可以是单语句也可以是块语句。 在执行 while 语句时,首先对条件表达式 boolExpr 求解,若结果为 true 则执行一次 Stmt 语 句;若为false则终止循环。每次执行完循环体Stmt后,将重新对条件表达式boolExpr求解, 然后根据结果决定是继续执行循环体还是跳出循环,如此往复
请参见读一读 4-4
© Zhu Yinfei 2010
4.2 循环语句
课件3:13
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
do…while循环
课件3:1 继承、接口和包
第11章 异常处理 第12章 图形用户界面设 计 第13章 文件的输入/输出 与数据库 第14章 实训
© Zhu Yinfei 2010
第 4章
分支控制与循环控制语句
课件3:3
学习目标:
• 掌握Java语言的分支结构—if语句和switch语句 • 掌握Java语言循环结构—while语句、do-while语句和 for语句
• continue关键字可用来结束某次循环重新开始下一次循环,可 以和while、for、do…while搭配使用
请参见读一读 4-9
© Zhu Yinfei 2010
4.2 循环语句
课件3:21
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
请参见读一读 4-3
© Zhu Yinfei 2010
第 4章
分支控制与循环控制语句
课件3:10
学习目标:
• 掌握Java语言的分支结构—if语句和switch语句 • 掌握Java语言循环结构—while语句、do-while语句和 for语句
© Zhu Yinfei 2010
4.2 循环语句
请参见读一读 4-2
© Zhu Yinfei 2010
4.1 if条件控制
课件3:8
• 基本的if结构 • if语句的嵌套
• switch语句
© Zhu Yinfei 2010
switch语句
课件3:9
• 开关语句switch的语法结构如下
使用开关语句时,一定要注意以下两个问题: ① case后面的常量必须是整数或字符型,而且不能有相同的值 ② 通常在每个case中都应该使用break语句提供一个出口,使流 程跳出开关语句。否则,在第一个case后面的所有语句都会被 执行,这种情况叫落空
请参见读一读 4-7
© Zhu Yinfei 2010
4.2 循环语句
课件3:19
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
continue语句
课件3:20
• for语句的一般形式为:
• 其中for是保留字,初始化表达式Init通常是一条赋值表达式或带有初始化变量定义(此变量 定义只在for循环内有效,一旦退出,该变量不再有效),条件表达式Expr的求解结果为布尔 类型,更新表达式Update通常也是一条赋值表达式,循环体Stmt可以是单语句或块语句
请参见读一读 4-6 请参见读一读 4-8
© Zhu Yinfei 2010
循环语句的嵌套
课件3:22
• 若某个循环语句的循环体中包含其他循环语句,则叫循环语句 的嵌套,这里的循环语句包括以上介绍的所有形式,都可以任 意组合进行嵌套
请参见读一读 4-10
© Zhu Yinfei 2010
4.2 循环语句
课件3:23
• while循环语句 • do…while循环语句
请参见读一读 4-1
© Zhu Yinfei 2010
4.1 if条件控制
课件3:6
• 基本的if结构 • if语句的嵌套
• switch语句
© Zhu Yinfei 2010
if语句的嵌套
课件3:7
• 普通if 语句中的Stmt1、Stmt2本身又是if语句结构, 称之为if语句的嵌套
• 例如
• do……while语句是while语句的一种变形。其特点是 先运行循环体,后判断条件为true时继续执行循环体 ,条件判断为false时,终止循环。其形式为:
• 其中do和while都是保留字,条件表达式Expr的值必须为布尔类型,循环体Stmt可以是单语句 或者是块语句。注意语句最后要以分号结束。 执行 do……while 语句时,首先执行循环体 Stmt ,然后才判断条件表达式 Expr 的求解结果 ,若求解的值为true则继续执行循环体Stmt,否则结束本次循环
课件3:11
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
while循环语句
课件3:12
• while语句是最基本的循环结构,其特点是先判断条件为true ,后运行循环体,直至判断条件为false,中断循环。其形式 为:
© Zhu Yinfei 2010
需要说明的是:循环的初始化、循环迭代和循环条件(终止部分)是循环建立的三个不可缺 少的要素。一般来说,循环的初始化需要在循环体外部进行设置,循环的迭代部分需要设置 在循环体中。当然,迭代表达式可以在循环体的开始处、中间或结尾处,这需要视具体的情 况而定。循环条件表达式一般在循环体执行前先执行(如while循环)或在循环体执行完后执 行(如:do……while循环)
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
循环语句小结
课件3:24
• 无论是while循环、do……while循环或者是for循环都有其共同的特点是: 1、初始化部分 用来设置循环的一些初始条件,都要对循环控制变量(如i )进行初始化; 2、循环体部分 这是反复被执行的一段代码,可以是单语句或者是块语句; 3、迭代部分 这是在单前循环结束,下一次循环开始执行的语句,常用来 使计数器(循环控制变量)加一或减一(如I=I+1或 I=I-1)。假如循环控制 变量没有变化,则循环条件表达式就永远没有可能结果为false,则发生死 循环。 4、终止部分 通常是一个布尔表达式,每次循环都要对该表达式求值,以 验证循环是否满足循环终止的条件。如循环条件为“i<=1000”。不满足该 条件,则跳出循环。
© Zhu Yinfei 2010
4.2 循环语句
课件3:17
• while循环语句 • do…while循环语句
• for循环语句 • break语句 • continue语句 • 循环语句的嵌套 • 循环语句小结
© Zhu Yinfei 2010
break语句
课件3:18
• break语句可以强迫一个循环立即终止,即使循环还没有结束 也被强迫终止,并且程序定位到循环体外的下一条语句开始执 行