选择结构和循环结构讲解
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
do-while后要加分号;
do
循环体
Yes
表达式真?
No
下一语句
do-while循环语句语义图
6、for语句和foreach语句
for循环语句
❖ 语法
for(表达式1;表达式2;表达式3)
❖ 语句1(或块1) //循环体
❖ 语义:
先求解表达式1,然后判断表达式2 是否为真,若为真,执行循环体后再 执行表达式3,重复判断表达式2直 到表达式2为假时退出循环,执行for 语句后的下一语句
创建一个控制台应用程序PiecewiseFunction:
选择 结构
如果x>0,则f=1
如果x=0,则f=0 如果x<0,则f=-1
2、if语句——二分支选择语句
if语句的语义
❖ if(表达式) 语句(或语句块);
❖ 如果括号中表达式的值为 true,则执行后面的语句 或语句块,否则什么都不 做。
表达式真?
Yes
循环体
No
下一语句
while循环语句语义图
do-while循环语句
❖ 语法
do 语句1(或块1)//循环体 while(表达式);
❖ 语义
首先执行循环体,再判断表 达式是否为真,若为真,继 续执行循环体。当表达式为 假时,停止循环
❖ 区别while语句:
循环体至少执行一次以上
goto转移语句与标号
❖ 语法: goto 标号;
❖ 语义:转移到标号所指的语句执行
❖ 比较如下两段程序:
❖ 程序段1:
程序段2:
❖ i=1,s=0;
for(i=1;i<=100;i++)
❖ loop: if(i<=100)
s+=i;
❖{
printf(“s=%d\n”,s);
❖ s+=i++; //s=i,i++;
continue转移语句
❖ continue语句 ❖ 结束本次循环,下次循环继续
while(表达式1) {
❖ 语句序列1; ❖ if(表达式2)
continue;
❖ 语句序列2;
}
while
表达式1真?
Yes
语句序列1
表达式1真? continue;
No No 语句序列2 Yes
下一语句 continue转移语句语义图
if-else语句的语义
语义:表达式为真时,执行语句1(或语句块1), 否则执行语句2(或语句块2),称此结构为分支 结构(或选择结构)
语法:
if(表达式) 语句1(或语句块1);
else 语句2(或语句块2);
注意:仅执行一条语句或者一块语句块!
if
表达式真?
else
Yes
语句1(块1)
语句2(块2)
7、跳转语句
break转移语句
❖ break-中断,跳出循环语句
用于条件语句和循环语句 while(表达式1) {
❖ 语句序列1; ❖ if(表达式2)
break;
❖ 语句序列2;
}
while
表达式1真?
Yes
语句序列1
表达式1真? break;
No No
语句序列2
Yes
下一语句 break转移语句语义图
下一语句 if语句语义图
if…else if…else…语句的语义
if(表达式1) 语句1或块1;
else if(表达式2) 语句2或块2;
else 语句3或块3;
3、switch语wenku.baidu.com——多分支选择语句
❖ if—二分支 switch—多分支 ❖ 用switch格式 ❖ switch(表达式) ❖{
❖ goto loop;
❖}
return语句
❖ 程序在执行时,一旦遇到return语句,整个函数 的执行立即结束。如果函数的类型为void,则 return后面不带返回值,否则要带相应的返回值。
for
求解表达式1 表达式2真?
Yes
循环体
求解表达式3 No
下一语句 for循环语句语义图
foreach语句
❖ 语法
❖ foreach (数据类型 变量 in 集合表达式) { 语句序列;}
❖ 语义: 取出集合表达式中的每一个元素并保存到变量中,每保 存一次变量后执行一次循环体,集合表达式中有多少个 元素就有多少次变量保存和循环体执行操作。
case 常量表达式1:语句1(块1);break; …… case 常量表达式n:语句n(块n);break; default: 语句n+1(块n+1); break; ❖}
switch语句使用注意事项
❖ break是中止语句,表示中止执行switch语句 的判断,跳到switch结构的结尾处
{
Console.Write("n = ");
int n = int.Parse(Console.ReadLine());
int i = 1; int sum = 0;
循环控制变量 //累加器
while (i <= n)
循环条件表达式
{
sum = sum + (2 * i - 1); while语句
❖ switch语句只是找出一个路口进去,一旦找 到,就从此标号开始执行,不再进行标号判 断,所以break必须加上结束switch语句。除 非是特意不加break语句以实现多个分支共享 一段代码。
4、一个简单的循环结构程序
——等差数列求和
static void Main(string[] args)
i++;
}
Console.Write("1+3+5+...+{0}={1}",2*n-1,sum);
Console.ReadLine();
}}}
5、while语句和do…while语句
while循环语句
while
❖ 语法:
while(表达式)
❖ 语句1(或块1) //循环体
❖ 语义
当表达式为真,则执行循环 体,然后继续判断表达式。 当表达式为假时,停止循环
选择结构和循环结构
主要内容
❖ 1、一个简单的选择结构程序 ❖ 2、if语句——二分支选择语句 ❖ 3、switch语句——多分支选择语句 ❖ 4、一个简单的循环结构程序 ❖ 5、while语句和do…while语句 ❖ 6、for语句和foreach语句 ❖ 7、跳转语句
1、一个简单的选择结构程序
do
循环体
Yes
表达式真?
No
下一语句
do-while循环语句语义图
6、for语句和foreach语句
for循环语句
❖ 语法
for(表达式1;表达式2;表达式3)
❖ 语句1(或块1) //循环体
❖ 语义:
先求解表达式1,然后判断表达式2 是否为真,若为真,执行循环体后再 执行表达式3,重复判断表达式2直 到表达式2为假时退出循环,执行for 语句后的下一语句
创建一个控制台应用程序PiecewiseFunction:
选择 结构
如果x>0,则f=1
如果x=0,则f=0 如果x<0,则f=-1
2、if语句——二分支选择语句
if语句的语义
❖ if(表达式) 语句(或语句块);
❖ 如果括号中表达式的值为 true,则执行后面的语句 或语句块,否则什么都不 做。
表达式真?
Yes
循环体
No
下一语句
while循环语句语义图
do-while循环语句
❖ 语法
do 语句1(或块1)//循环体 while(表达式);
❖ 语义
首先执行循环体,再判断表 达式是否为真,若为真,继 续执行循环体。当表达式为 假时,停止循环
❖ 区别while语句:
循环体至少执行一次以上
goto转移语句与标号
❖ 语法: goto 标号;
❖ 语义:转移到标号所指的语句执行
❖ 比较如下两段程序:
❖ 程序段1:
程序段2:
❖ i=1,s=0;
for(i=1;i<=100;i++)
❖ loop: if(i<=100)
s+=i;
❖{
printf(“s=%d\n”,s);
❖ s+=i++; //s=i,i++;
continue转移语句
❖ continue语句 ❖ 结束本次循环,下次循环继续
while(表达式1) {
❖ 语句序列1; ❖ if(表达式2)
continue;
❖ 语句序列2;
}
while
表达式1真?
Yes
语句序列1
表达式1真? continue;
No No 语句序列2 Yes
下一语句 continue转移语句语义图
if-else语句的语义
语义:表达式为真时,执行语句1(或语句块1), 否则执行语句2(或语句块2),称此结构为分支 结构(或选择结构)
语法:
if(表达式) 语句1(或语句块1);
else 语句2(或语句块2);
注意:仅执行一条语句或者一块语句块!
if
表达式真?
else
Yes
语句1(块1)
语句2(块2)
7、跳转语句
break转移语句
❖ break-中断,跳出循环语句
用于条件语句和循环语句 while(表达式1) {
❖ 语句序列1; ❖ if(表达式2)
break;
❖ 语句序列2;
}
while
表达式1真?
Yes
语句序列1
表达式1真? break;
No No
语句序列2
Yes
下一语句 break转移语句语义图
下一语句 if语句语义图
if…else if…else…语句的语义
if(表达式1) 语句1或块1;
else if(表达式2) 语句2或块2;
else 语句3或块3;
3、switch语wenku.baidu.com——多分支选择语句
❖ if—二分支 switch—多分支 ❖ 用switch格式 ❖ switch(表达式) ❖{
❖ goto loop;
❖}
return语句
❖ 程序在执行时,一旦遇到return语句,整个函数 的执行立即结束。如果函数的类型为void,则 return后面不带返回值,否则要带相应的返回值。
for
求解表达式1 表达式2真?
Yes
循环体
求解表达式3 No
下一语句 for循环语句语义图
foreach语句
❖ 语法
❖ foreach (数据类型 变量 in 集合表达式) { 语句序列;}
❖ 语义: 取出集合表达式中的每一个元素并保存到变量中,每保 存一次变量后执行一次循环体,集合表达式中有多少个 元素就有多少次变量保存和循环体执行操作。
case 常量表达式1:语句1(块1);break; …… case 常量表达式n:语句n(块n);break; default: 语句n+1(块n+1); break; ❖}
switch语句使用注意事项
❖ break是中止语句,表示中止执行switch语句 的判断,跳到switch结构的结尾处
{
Console.Write("n = ");
int n = int.Parse(Console.ReadLine());
int i = 1; int sum = 0;
循环控制变量 //累加器
while (i <= n)
循环条件表达式
{
sum = sum + (2 * i - 1); while语句
❖ switch语句只是找出一个路口进去,一旦找 到,就从此标号开始执行,不再进行标号判 断,所以break必须加上结束switch语句。除 非是特意不加break语句以实现多个分支共享 一段代码。
4、一个简单的循环结构程序
——等差数列求和
static void Main(string[] args)
i++;
}
Console.Write("1+3+5+...+{0}={1}",2*n-1,sum);
Console.ReadLine();
}}}
5、while语句和do…while语句
while循环语句
while
❖ 语法:
while(表达式)
❖ 语句1(或块1) //循环体
❖ 语义
当表达式为真,则执行循环 体,然后继续判断表达式。 当表达式为假时,停止循环
选择结构和循环结构
主要内容
❖ 1、一个简单的选择结构程序 ❖ 2、if语句——二分支选择语句 ❖ 3、switch语句——多分支选择语句 ❖ 4、一个简单的循环结构程序 ❖ 5、while语句和do…while语句 ❖ 6、for语句和foreach语句 ❖ 7、跳转语句
1、一个简单的选择结构程序