实验八跳转控制一实验目的1)掌握c语言中break语句的使用规则与方法;2)掌握c语言中continue语句的使用规则;3)了解C语言中goto语句的使用规则与使用场景;二程序示例[源程序8-1]在while循环中使用break语句。1#include<stdio.h>2int main()3{4int num =0;5while(num<=100)67printf("value of variable num is: %d)n", num);8if (num==2)9t10break;11112num++;13114printf("Outof while-loop");15return O;16 1[程序输出]value of variable num is: 0value of variable num is: 1valueof variablenum is:2Outof while-loop[程序分析]本例主要演示C语言在while循环中使用break语句的基本使用方法,在for,do...while循环中的使用方法也与此相同
实验八 跳转控制 一 实验目的 1) 掌握 C 语言中 break 语句的使用规则与方法; 2) 掌握 C 语言中 continue 语句的使用规则; 3) 了解 C 语言中 goto 语句的使用规则与使用场景; 二 程序示例 [源程序 8-1] 在 while 循环中使用 break 语句。 1 #include <stdio.h> 2 int main() 3 { 4 int num =0; 5 while(num<=100) 6 { 7 printf("value of variable num is: %d\n", num); 8 if (num==2) 9 { 10 break; 11 } 12 num++; 13 } 14 printf("Out of while-loop"); 15 return 0; 16 } [程序输出] value of variable num is: 0 value of variable num is: 1 value of variable num is: 2 Out of while-loop [程序分析] 本例主要演示 C 语言在 while 循环中使用 break 语句的基本使用方法, 在 for,do.while 循环中的使用方法也与此相同
程序第4行首先定义整型变量num,此变量主要用于后续while循环计数。程序第5行为while循环的条件表达式,num的数值小于等于100时循环一直进行,即当num的数值大于100时循环终止。程序第7行至第10行为while循环的循环体,其中第7行通过printf语句输出当前num的数值,第8行为if条件判断语句,当num的数值等于2时程序执行第10行break语句跳出while循环后执行第14行printf语句,当num的数值不等于2时,程序执行第12行语句对num的数值进行自增1操作后继续while循环。从本例可以看出,break指令的作用是跳出当前循环并执行后续语句,当前循环也随即终止。同样break指令也会在if和swith...case条件分支结构中使用产生同样的跳转效果。[源程序8-2]在do...while循环中使用continue语句。1#include<stdio.h>2int main ()34inta=10;56do (7if(a == 15) (8a=a+1;9continue;1011112printf("value of a: %d)n",a);13a++;1415) while(a<20 );1617return O;18 1[程序输出]value of a:10value of a: 11value of a: 12value of a: 13value of a: 14value of a:16
程序第 4 行首先定义整型变量 num,此变量主要用于后续 while 循环计数。 程序第 5 行为 while 循环的条件表达式,num 的数值小于等于 100 时循环一 直进行,即当 num 的数值大于 100 时循环终止。 程序第 7 行至第 10 行为 while 循环的循环体,其中第 7 行通过 printf 语句输 出当前 num 的数值,第 8 行为 if 条件判断语句,当 num 的数值等于 2 时程序执 行第 10 行 break 语句跳出 while 循环后执行第 14 行 printf 语句,当 num 的数值 不等于 2 时,程序执行第 12 行语句对 num 的数值进行自增 1 操作后继续 while 循环。 从本例可以看出,break 指令的作用是跳出当前循环并执行后续语句,当前 循环也随即终止。同样 break 指令也会在 if 和 swith.case 条件分支结构中使用产 生同样的跳转效果。 [源程序 8-2] 在 do.while 循环中使用 continue 语句。 1 #include <stdio.h> 2 int main () 3 { 4 int a = 10; 5 6 do { 7 if( a == 15) { 8 a = a + 1; 9 continue; 10 } 11 12 printf("value of a: %d\n", a); 13 a++; 14 15 } while( a < 20 ); 16 17 return 0; 18 } [程序输出] value of a: 10 value of a: 11 value of a: 12 value of a: 13 value of a: 14 value of a: 16
value of a: 17value of a:18valueofa:19[程序分析]本例主要演示C语言在do...while循环中使用continue语句的基本使用方法,在for,while循环中的使用方法也与此相同。程序第4行首先定义整型变量a,并初始化为10,此变量主要用于后续if条件分支语句的判断。程序按照如下流程进行:1、程序从第6行开始do...while循环;2、进入循环后首先执行第7-13行的指令后判断while的条件表达式:a)如果a的数值小于20,则继续从第7行开始执行:i.若变量a的数值不等于15时直接执行第12和13行指令ii.若变量a的值等于15时执行第8行指令将变量a的值进行加1操作并再执行第9行指令后跳转到第15行进行while条件表达式的判断:如果表达式成立,则继续从第7行执行循环体>如果表达式不成立,则直接退出循环体后执行第17行b)如果a的数值大于等于20,则终止当前循环后执行第17行指令。从本例可以看出,continue指令的作用是终止当前循环后立即开始下一次循环,并跳过当前循环结束位置与下一次循环开始初始位置间的所有程序。1、对于for循环,continue指令会立即执行循环终止条件的判断:a)如果终止条件成立,则终止当前for循环;b)如果终止条件不成立,则在执行更新表达式后开始下一次循环。对于continue和do...while循环,continue指令会立即执行对应循环2、条件表达式的判断:a)如果终止条件成立,则终止当前for循环;b)如果终止条件不成立,则开始下一次循环
value of a: 17 value of a: 18 value of a: 19 [程序分析] 本例主要演示 C 语言在 do.while 循环中使用 continue 语句的基本使 用方法,在 for,while 循环中的使用方法也与此相同。 程序第 4 行首先定义整型变量 a,并初始化为 10,此变量主要用于后续 if 条件分支语句的判断。 程序按照如下流程进行: 1、 程序从第 6 行开始 do.while 循环; 2、 进入循环后首先执行第 7-13 行的指令后判断 while 的条件表达式: a) 如果 a 的数值小于 20,则继续从第 7 行开始执行: i. 若变量 a 的数值不等于 15 时直接执行第 12 和 13 行指令 ii. 若变量 a 的值等于 15 时执行第 8 行指令将变量 a 的值进行加 1 操作并再执行第 9 行指令后跳转到第 15 行进行 while 条件表达 式的判断: 如果表达式成立,则继续从第 7 行执行循环体 如果表达式不成立,则直接退出循环体后执行第 17 行 b) 如果 a 的数值大于等于 20,则终止当前循环后执行第 17 行指令。 从本例可以看出,continue 指令的作用是终止当前循环后立即开始下一次循 环,并跳过当前循环结束位置与下一次循环开始初始位置间的所有程序。 1、 对于 for 循环,continue 指令会立即执行循环终止条件的判断: a) 如果终止条件成立,则终止当前 for 循环; b) 如果终止条件不成立,则在执行更新表达式后开始下一次循环。 2、 对于 continue 和 do.while 循环,continue 指令会立即执行对应循环 条件表达式的判断: a) 如果终止条件成立,则终止当前 for 循环; b) 如果终止条件不成立,则开始下一次循环
[源程序8-3]goto指令实现程序跳转。1#include<stdio.h>2int main()3{4int num = 26;56if (num % 2 == 0)7// jumptoeven8goto even;9else10// jumpto odd11goto odd;1213 even:14printf("%d is even", num);15I/ returnifeven16return O;17 odd:18printf("%d is odd", num);1920return O;21 [程序输出]26 is even[程序分析]本例主要演示C语言goto指令的基本使用方法,示例中//表示注释语句,及其后面一行语句不参与程序编译。程序第4行首先定义整型变量num,并初始化为26,此变量主要用于后续if条件分支语句的判断。程序第6行为if条件判断:1、若num数值对2的余数等于0,则执行第8行语句跳转至第13行继续执行,2、若num数值对2的余数不等于0,则执行第11行语句跳转至第17行语句继续执行。需要注意,goto语句在一定程度上会影响程序的结构,使用不当会对程序的执行逻辑有较大影响,建议谨慎使用
[源程序 8-3] goto 指令实现程序跳转。 1 #include <stdio.h> 2 int main() 3 { 4 int num = 26; 5 6 if (num % 2 == 0) 7 // jump to even 8 goto even; 9 else 10 // jump to odd 11 goto odd; 12 13 even: 14 printf("%d is even", num); 15 // return if even 16 return 0; 17 odd: 18 printf("%d is odd", num); 19 20 return 0; 21 } [程序输出] 26 is even [程序分析] 本例主要演示 C 语言 goto 指令的基本使用方法,示例中//表示注释语句, 及其后面一行语句不参与程序编译。 程序第 4 行首先定义整型变量 num,并初始化为 26,此变量主要用于后续 if 条件分支语句的判断。 程序第 6 行为 if 条件判断: 1、 若 num 数值对 2 的余数等于 0,则执行第 8 行语句跳转至第 13 行 继续执行, 2、 若 num 数值对 2 的余数不等于 0,则执行第 11 行语句跳转至第 17 行语句继续执行。 需要注意,goto 语句在一定程度上会影响程序的结构,使用不当会对程 序的执行逻辑有较大影响,建议谨慎使用
三、程序编写1、编写控制台程序,使用while循环与break结合,实现对用户输入整数的判断,只有当输入数据为偶数时程序结束,若输入数据为奇数时需要提示用户“数据不符合要求,重新输入”。2、编写控制台程序,使用for循环与continue结合,实现对1-500范围内斐波那契数据的输出。3、编写控制台程序,试用goto循环实现整数1-10的输出
三、程序编写 1、编写控制台程序,使用 while 循环与 break 结合,实现对用户输入整数的判断, 只有当输入数据为偶数时程序结束,若输入数据为奇数时需要提示用户“数据不 符合要求,重新输入”。 2、编写控制台程序,使用 for 循环与 continue 结合,实现对 1-500 范围内斐波那 契数据的输出。 3、编写控制台程序,试用 goto 循环实现整数 1-10 的输出