1、第第第第6 6 6 6章章章章 循环控制结构循环控制结构循环控制结构循环控制结构2024/9/7 周六2/62本章学习内容本章学习内容本章学习内容本章学习内容 计数控制的循环计数控制的循环 条件控制的循环条件控制的循环 forfor语句,语句,whilewhile语句,语句,do-whiledo-while语句语句 continuecontinue语句,语句,breakbreak语句语句 嵌套循环嵌套循环 结构化程序设计的基本思想结构化程序设计的基本思想 程序调试与排错程序调试与排错2024/9/7 周六3/62Example:Example:Example:如何确定程如何确定程序的输入和序的
2、输入和输出呢输出呢?Draw a flowchart for the following problem:Draw a flowchart for the following problem:读入读入5 5个整数,计算并显示它们的和个整数,计算并显示它们的和.Input:5 个整数个整数n1,n2,n3,n4,n5 Output:n1,n2,n3,n4,n5的和的和Input example:2 3 4 5 6Output example:20问题的提出问题的提出问题的提出问题的提出2024/9/7 周六4/62Input n1Input n2Input n3input n4input n5o
3、utput sumsum n1+n2+n3+n4+n52 2n1Assume input example:2 3 4 5 63 3n24 4n35 5n46 6n52020sumend使用了使用了6个不个不同的变量同的变量start问题的提出问题的提出问题的提出问题的提出2024/9/7 周六5/626.1循环控制结构与循环语句标记控制标记控制标记控制标记控制Sentinel Sentinel ControlledControlled计数控制计数控制计数控制计数控制Counter ControlledCounter Controlled1,2,3,4,1,2,3,4,4,3,2,1,4,3,2
4、,1条件控制条件控制条件控制条件控制Condition Condition ControlledControlled如何对循环进行控制呢如何对循环进行控制呢如何对循环进行控制呢如何对循环进行控制呢?2024/9/7 周六6/62counter 1,sum 0counter6sum sum+nfalsetruecounter+output suminput n1countersum01 6true2n0+2222 6true32+3533 6true45+4944 6true59+51455 6true614+62066 6falsecountercontrolled 计数器每次增计数器每次增1
5、使用了使用了3个变量个变量Assume input example:2 3 4 5 66.26.2计数控制的循环计数控制的循环计数控制的循环计数控制的循环startend2024/9/7 周六7/626.2计数控制的循环计数控制的循环counter initial valuecounter initial valuetest countertest counterstep nstep xfalsetrueupdate counterupdate counter循环体循环体循环体循环体(Body of Body of LoopLoop)2024/9/7 周六8/62当型循环当型循环Conditi
6、on is tested first 计数控制计数控制Loop is controlled by a counterSyntaxforfor(initial value;condition;update counter)statement;Orforfor(initial value;condition;update counter)statement;statement;for循环语句循环语句循环起始条件循环起始条件循环起始条件循环起始条件循环结束条件循环结束条件循环结束条件循环结束条件循环变量增值循环变量增值循环变量增值循环变量增值复合语句复合语句compound statementcom
7、pound statement被当做一条语句看待被当做一条语句看待循环变量控制循环次循环变量控制循环次数,不要在循环体内数,不要在循环体内改变这个变量的值改变这个变量的值2024/9/7 周六9/62i 0,sum 0i 5sumsum+nfalsetruei+output suminput nint i,sum,n;sum=0;for(i=0;i 5;i+)scanf(“%d”,&n);sum=sum+n;printf(“%d”,sum);for循环语句循环语句startend2024/9/7 周六10/62A条条条条 件件件件P P P P直直到到型型循循环环假假真真条件控制的循环条件控制
8、的循环A当当型型循循环环真真假假假条条条条 件件件件P P P P2024/9/7 周六11/62 当型循环当型循环Condition is tested first 条件或计数控制条件或计数控制 Loop is controlled by condition or a counter 语法语法whilewhile(condition)(condition)statement;statement;Orwhilewhile(condition)(condition)statement;statement;statement;statement;No No semicolon!while循环语句循
9、环语句2024/9/7 周六12/62直到型循环直到型循环Statements in the loop are executed first(at least once),and condition is tested last条件或计数控制条件或计数控制 Loop is controlled by condition or a counter 语法语法dodododo statement;statement;statement;statement;statement;statement;statement;statement;whilewhilewhilewhile(condition);(
10、condition);(condition);(condition);statement;statement;statement;statement;Dont forget the Dont forget the semicolon!do-while循环语句循环语句2024/9/7 周六13/62【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+n1+2+3+n的值的值的值的值 循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环#include main()int i,n,sum;printf(Input
11、n:);scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+i;printf(sum=%dn,sum);2024/9/7 周六14/62【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+n1+2+3+n的值的值的值的值 循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环#include main()int i,n,sum;printf(Input n:);scanf(%d,&n);sum=0;for(i=1;i=n;i+)sum=sum+i;printf(sum=%dn,su
12、m);sum=0的作用?的作用?2024/9/7 周六15/62【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+n1+2+3+n的值的值的值的值 循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环循环次数已知,计数控制的循环#include main()int i,n,sum;printf(Input n:);scanf(%d,&n);/sum=0;for(i=1;i=n;i+)sum=sum+i;printf(sum=%dn,sum);2024/9/7 周六16/62#include main()int i,n,sum;print
13、f(Input n:);scanf(%d,&n);sum=0;i=1;dosum=sum+i;i+;while(i=n);printf(sum=%dn,sum);#include main()int i,n,sum;printf(Input n:);scanf(%d,&n);sum=0;i=1;while(i=n)sum=sum+i;i+printf(sum=%dn,sum);循环条件第一次就为假(如输循环条件第一次就为假(如输入入1)时会怎样?)时会怎样?【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+31+2+3+n+n的值的值的值的值2024/9/7 周六17/6
14、2A当当型型循循环环真真假假条条条条 件件件件P P P P假假条条条条 件件件件P P P P Testing Condition First【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+1+2+3+n+n的值的值的值的值#include main()int i,n,sum;printf(Input n:);scanf(%d,&n);sum=0;i=1;while(i=n)sum=sum+i;i+printf(sum=%dn,sum);2024/9/7 周六18/62条条条条 件件件件P P P P直直到到型型循循环环A假真真条条条条 件件件件P P P PA假
15、假Testing condition last【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+1+2+3+n+n的值的值的值的值#include main()int i,n,sum;printf(Input n:);scanf(%d,&n);sum=0;i=1;dosum=sum+i;i+;while(i=n);printf(sum=%dn,sum);2024/9/7 周六19/62注意注意注意注意 在在在在forforforfor和和和和whilewhilewhilewhile语句之后一般没有分号语句之后一般没有分号语句之后一般没有分号语句之后一般没有分号 有分号
16、表示循环体就是分号之前的内容有分号表示循环体就是分号之前的内容有分号表示循环体就是分号之前的内容有分号表示循环体就是分号之前的内容空语句空语句空语句空语句表示循环体内什么都不做表示循环体内什么都不做表示循环体内什么都不做表示循环体内什么都不做 while while while while(i 100)(i 100)(i 100)(i 100);i+;i+;i+;i+;死循环死循环死循环死循环 for for for for(i=0;i 100;i+)(i=0;i 100;i+)(i=0;i 100;i+)(i=0;i 100;i+);printf(%d,i);printf(%d,i);pri
17、ntf(%d,i);printf(%d,i);用于延时用于延时用于延时用于延时注意!注意!2024/9/7 周六20/62#include main()int i,j,n,sum=0;printf(Input n:);scanf(%d,&n);for(i=1,j=n;i=j;i+,j-)sum=sum+i+j;printf(sum=%dn,sum);如何减少循环的次数?如何减少循环的次数?如何减少循环的次数?如何减少循环的次数?【例例例例6.16.1】计算并输出计算并输出计算并输出计算并输出1+2+3+1+2+3+n+n的值的值的值的值2024/9/7 周六21/62#include main
18、()int i,j,n,sum=0;printf(Input n:);scanf(%d,&n);for(i=1,j=n;i=j;i+,j-)sum=sum+i+j;printf(sum=%dn,sum);2024/9/7 周六22/62逗号运算符(逗号运算符(逗号运算符(逗号运算符(Comma OperatorComma Operator)主要用在循环语句中,同时对多个变量赋初值等主要用在循环语句中,同时对多个变量赋初值等主要用在循环语句中,同时对多个变量赋初值等主要用在循环语句中,同时对多个变量赋初值等 forfor(i=1,j=100;i j;i+,j)(i=1,j=100;i j;i+,
19、j)表达式表达式表达式表达式1,1,1,1,表达式表达式表达式表达式2,2,2,2,表达式表达式表达式表达式n n n n循环起始条件循环起始条件循环变量增值循环变量增值循环结束条件循环结束条件2024/9/7 周六23/62【例例6.2】计算并输出计算并输出n!=1 2 3 n#include main()int i,n;long p=1;printf(Please enter n:);scanf(%d,&n);for(i=1;i=n;i+)p=p*i;printf(%d!=%ldn,n,p);2024/9/7 周六24/62【例例6.3】计算并输出计算并输出1!,2!,3!,n!#incl
20、ude main()int i,n;long p=1;printf(Please enter n:);scanf(%d,&n);for(i=1;i=n;i+)p=p*i;printf(%d!=%ldn,i,p);2024/9/7 周六25/62 使用嵌套循环的注意事项使用嵌套循环的注意事项 使用复合语句,以保证逻辑上的正确性使用复合语句,以保证逻辑上的正确性即用一对花括号将各层循环体语句括起来即用一对花括号将各层循环体语句括起来即用一对花括号将各层循环体语句括起来即用一对花括号将各层循环体语句括起来 内层和外层循环控制变量不能同名,以免造内层和外层循环控制变量不能同名,以免造成混乱成混乱 采用
21、右缩进格式书写,以保证层次的清晰性采用右缩进格式书写,以保证层次的清晰性 注意!注意!6.36.3嵌套循环嵌套循环嵌套循环嵌套循环2024/9/7 周六26/62#include#include main()main()int i,j,n;int i,j,n;long p,sum=0;long p,sum=0;/p/p是各项阶乘,是各项阶乘,是各项阶乘,是各项阶乘,sumsum是累加和是累加和是累加和是累加和printf(Input n:);printf(Input n:);scanf(%d,&n);scanf(%d,&n);for(i=1;i=n;i+)for(i=1;i=n;i+)p=1;
22、p=1;/每次循环每次循环每次循环每次循环p p都赋值为都赋值为都赋值为都赋值为1 1for(j=1;j=i;j+)for(j=1;j=i;j+)p=p*jp=p*j;/累乘求积累乘求积累乘求积累乘求积 sum=sum+psum=sum+p;/累加求和累加求和累加求和累加求和 printf(1!+2!+%d!=%ldn,n,sum);printf(1!+2!+%d!=%ldn,n,sum);【例例6.46.4】输入输入n n值,计算并输出值,计算并输出 1!+2!1!+2!+3!+n!+3!+n!2024/9/7 周六27/62选择三种循环的一般原则选择三种循环的一般原则选择三种循环的一般原则
23、选择三种循环的一般原则 如果循环次数已知,计数控制的循环如果循环次数已知,计数控制的循环如果循环次数已知,计数控制的循环如果循环次数已知,计数控制的循环用用用用forforforfor 如果循环次数未知,条件控制的循环如果循环次数未知,条件控制的循环如果循环次数未知,条件控制的循环如果循环次数未知,条件控制的循环用用用用whilewhilewhilewhile 如果循环体至少要执行一次如果循环体至少要执行一次如果循环体至少要执行一次如果循环体至少要执行一次用用用用do-whiledo-whiledo-whiledo-while 这只是这只是这只是这只是“一般一般一般一般”原则,不是原则,不是原
24、则,不是原则,不是“必要必要必要必要”原则原则原则原则2024/9/7 周六28/626.46.4 条件控制的循环条件控制的循环条件控制的循环条件控制的循环例例例例6.66.6:猜数游戏猜数游戏猜数游戏猜数游戏想一个想一个1100之间的数之间的数猜对猜对:right!猜错猜错:wrong!并提示并提示大小大小2024/9/7 周六29/62只猜1次直到猜对为止最多猜10次猜多个数10次猜不对就猜下一个数循序渐进式编程循序渐进式编程循序渐进式编程循序渐进式编程:猜数游戏:猜数游戏:猜数游戏:猜数游戏例例例例6.6,6.6,例例例例6.7,6.7,例例例例6.8,6.8,例例例例6.9,6.9,例
25、例例例6.106.102024/9/7 周六30/62猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数 怎样模拟计算机怎样模拟计算机怎样模拟计算机怎样模拟计算机“想想想想”一个数呢?一个数呢?一个数呢?一个数呢?随机函数随机函数随机函数随机函数rand()rand()产生产生产生产生0,RAND_MAX 0,RAND_MAX 之间的随机数之间的随机数之间的随机数之间的随机数magic=rand();magic=rand();#include#include RAND_MAXRAND_MAX在在在在stdlib.hstdlib.h中中中中定义,不大于双字节整定义,
26、不大于双字节整定义,不大于双字节整定义,不大于双字节整数数数数的的的的最大值最大值最大值最大值32767 32767 产生产生产生产生0,b-1 0,b-1 之间的随机数之间的随机数之间的随机数之间的随机数magic=rand()%b;magic=rand()%b;产生产生产生产生a,a+b-1 a,a+b-1 之间的随机数之间的随机数之间的随机数之间的随机数magic=rand()%b+a;magic=rand()%b+a;2024/9/7 周六31/62#include#include#include#include main()main()int magic;/int magic;/计算
27、机计算机计算机计算机“想想想想”的数的数的数的数int guessint guess;/用户猜的数用户猜的数用户猜的数用户猜的数magic=randmagic=rand()%100+1()%100+1;/;/生成一个生成一个生成一个生成一个1-1001-100的整数的整数的整数的整数printf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d,&guess);scanf(%d,&guess);if(guess magic)if(guess magic)printf(Wrong!Too big
28、!n);printf(Wrong!Too big!n);else if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelseprintf(Right!n);printf(Right!n);例例例例6.66.6只猜1次2024/9/7 周六32/62#include#include#include#include main()main()int magic;/int magic;/计算机计算机计算机计算机“想想想想”的数的数的数的数int guess;/int gu
29、ess;/用户猜的数用户猜的数用户猜的数用户猜的数int counter=0;/int counter=0;/计数器,记录用户猜的次数计数器,记录用户猜的次数计数器,记录用户猜的次数计数器,记录用户猜的次数 magic=rand()%100+1;/magic=rand()%100+1;/生成一个生成一个生成一个生成一个1-1001-100的整数的整数的整数的整数dodoprintf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d,&guess);scanf(%d,&guess);counte
30、r+;counter+;/计数器变量计数器变量计数器变量计数器变量countercounter加加加加1 1if(guess magic)if(guess magic)printf(Wrong!Too high!n);printf(Wrong!Too high!n);else if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelseprintf(Right!n);printf(Right!n);while(guess!=magic);while(guess!=m
31、agic);printf(counter=%dn,counter);printf(counter=%dn,counter);直到猜对为止例例例例6.76.72024/9/7 周六33/62猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数 每次运行程序时计算机所每次运行程序时计算机所每次运行程序时计算机所每次运行程序时计算机所“想想想想”的数都是一样的,的数都是一样的,的数都是一样的,的数都是一样的,这是什么原因呢?这是什么原因呢?这是什么原因呢?这是什么原因呢?函数函数函数函数rand()rand()rand()rand()产生的只是伪随机数产生的只是伪随机数产
32、生的只是伪随机数产生的只是伪随机数 随机函数随机函数随机函数随机函数srandsrand为函数为函数为函数为函数rand()rand()rand()rand()设置随机数种子来实现对函数设置随机数种子来实现对函数设置随机数种子来实现对函数设置随机数种子来实现对函数randrandrandrand所产生所产生所产生所产生的伪随机数的的伪随机数的的伪随机数的的伪随机数的“随机化随机化随机化随机化”通过输入随机数种子,产生通过输入随机数种子,产生通过输入随机数种子,产生通过输入随机数种子,产生0,1000,1000,1000,100之间的随机数之间的随机数之间的随机数之间的随机数scanf(%u,&
33、seed);scanf(%u,&seed);srand(seed);srand(seed);magic=rand()%100+1;magic=rand()%100+1;2024/9/7 周六34/62#include#include#include#include main()main()int magic,guess,counter=0;int magic,guess,counter=0;unsigned int seed;unsigned int seed;printf(Please enter seed:);printf(Please enter seed:);scanf(%u,&see
34、d);scanf(%u,&seed);srand(seed);srand(seed);magic=rand()%100+1;magic=rand()%100+1;dodoprintf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d,&guess);scanf(%d,&guess);counter+;counter+;if(guess magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);else if(gue
35、ss magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelseprintf(Right!n);printf(Right!n);while(guess!=magic);while(guess!=magic);printf(counter=%dn,counter);printf(counter=%dn,counter);直到猜对为止例例例例6.76.72024/9/7 周六35/62猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数猜数游戏用到的库函数 使用计算机读取其时钟
36、值并把该值自动设置为随机使用计算机读取其时钟值并把该值自动设置为随机使用计算机读取其时钟值并把该值自动设置为随机使用计算机读取其时钟值并把该值自动设置为随机数种子,产生数种子,产生数种子,产生数种子,产生0,1000,1000,1000,100之间的随机数之间的随机数之间的随机数之间的随机数 函数函数函数函数time()time()time()time()返回以秒计算的当前时间值,该值被转返回以秒计算的当前时间值,该值被转返回以秒计算的当前时间值,该值被转返回以秒计算的当前时间值,该值被转换为无符号整数并用做随机数发生器的种子换为无符号整数并用做随机数发生器的种子换为无符号整数并用做随机数发生
37、器的种子换为无符号整数并用做随机数发生器的种子#include#include srand(time(NULL);srand(time(NULL);magic=rand()%100+1;magic=rand()%100+1;函数函数函数函数time()time()time()time()能为程序员提供代表时间的字符串,使能为程序员提供代表时间的字符串,使能为程序员提供代表时间的字符串,使能为程序员提供代表时间的字符串,使用用用用NULLNULLNULLNULL作为函数参数,使其不具备此功能作为函数参数,使其不具备此功能作为函数参数,使其不具备此功能作为函数参数,使其不具备此功能2024/9/7
38、 周六36/62#include#include#include#include#include#include main()main()int magic,guess,counter=0;int magic,guess,counter=0;srand(time(NULL);srand(time(NULL);magic=rand()%100+1;magic=rand()%100+1;dodoprintf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d,&guess);scanf(%d,&gu
39、ess);counter+;counter+;if(guess magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);else if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelseprintf(Right!n);printf(Right!n);while(guess!=magic);while(guess!=magic);printf(counter=%dn,counter)
40、;printf(counter=%dn,counter);直到猜对为止例例例例6.76.72024/9/7 周六37/62#include#include#include#include#include#include main()main()int magic,guess,counter=0;int magic,guess,counter=0;srand(time(NULL);srand(time(NULL);magic=rand()%100+1;magic=rand()%100+1;dodoprintf(Please guess a magic number:);printf(Please
41、 guess a magic number:);scanf(%d,&guess);scanf(%d,&guess);counter+;counter+;if(guess magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);else if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelseprintf(Right!n);printf(Right!n);while(while(gu
42、ess!=magic&counter10guess!=magic&counter10););printf(counter=%dn,counter);printf(counter=%dn,counter);例例例例6.86.8最多猜10次2024/9/7 周六38/62#include#include#include#include#include#include main()main()int magic,guess,counter=0;int magic,guess,counter=0;srand(time(NULL);srand(time(NULL);int ret;int ret;/保存
43、函数保存函数保存函数保存函数scanf()scanf()函数的返回值函数的返回值函数的返回值函数的返回值 magic=rand()%100+1;magic=rand()%100+1;dodoprintf(Please guess a magic number:);printf(Please guess a magic number:);scanf(%d,&guess);scanf(%d,&guess);counter+;counter+;if(guess magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);e
44、lse if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelse printf(Right!n);printf(Right!n);while(guess!=magic&counter10);while(guess!=magic&counter magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);else if(guess magic)else if(guess magic)pr
45、intf(Wrong!Too small!n);printf(Wrong!Too small!n);elseelse printf(Right!n);printf(Right!n);while(guess!=magic&counter10);while(guess!=magic&counter magic)if(guess magic)printf(Wrong!Too big!n);printf(Wrong!Too big!n);else if(guess magic)else if(guess magic)printf(Wrong!Too small!n);printf(Wrong!Too
46、small!n);elseelse printf(Right!n);printf(Right!n);while(guess!=magic&counter10);while(guess!=magic&counter10);printf(counter=%dn,counter);printf(counter=%dn,counter);printf(Do you want to continue(Y/N or y/n)?);printf(Do you want to continue(Y/N or y/n)?);scanf(%c,&reply);scanf(%c,&reply);while(repl
47、y=Y|reply=y);while(reply=Y|reply=y);2024/9/7 周六41/62 breakbreak语句语句语句语句 和和和和 continuecontinue语句语句语句语句对对对对forfor、whilewhile、dodo-whilewhile循环进行内部手术循环进行内部手术循环进行内部手术循环进行内部手术BreakBreak?退出一层退出一层循环或循环或switchContinueContinue?中断此次中断此次循环,开始下一次循环,开始下一次6.56.5流程的转移控制流程的转移控制流程的转移控制流程的转移控制 2024/9/7 周六42/62n?10Ple
48、ase enter n:10n=10Please enter n:-10Program is over!【例例6.11】演示演示break与与continue-10#includeincludemainmain()()intinti,n;i,n;forfor(i=1;i=5;i+)(i=1;i=5;i+)printf(Pleaseentern:);printf(Pleaseentern:);scanf(%d,&n);scanf(%d,&n);if if(n0)(n0)breakbreak;printf(n=%dn,n);printf(n=%dn,n);printf(Programisover!
49、n);printf(Programisover!n);2024/9/7 周六43/62n?10Please enter n:10n=10Please enter n:-10Please enter n:20n=20Please enter n:-20Please enter n:30n=30Program is over!【例例6.12】演示演示break与与continue-1020-2030#includeinclude mainmain()()intint i,n;i,n;forfor(i=1;i=5;i+)(i=1;i=5;i+)printf(Please enter n:);prin
50、tf(Please enter n:);scanf(%d,&n);scanf(%d,&n);ifif(n 0)(n 0)continuecontinue;printf(n=%dn,n);printf(n=%dn,n);printf(Program is over!n);printf(Program is over!n);2024/9/7 周六44/62 语句标号(语句标号(语句标号(语句标号(LabelLabel)举例)举例)举例)举例error:error:gotogoto语句举例语句举例语句举例语句举例gotogoto error;error;一般形式一般形式一般形式一般形式gotogot