《C语言程序设计》第06讲_循环结构I-教学课件(非AI生成).ppt
逗号运算符(CommaOperator)多数情况下,并不使用整个逗号表达式的值,更常见的情况是要分别得到各表达式的值主要用在循环语句中,同时对多个变量赋初值等for(i=1,j=100;ij;i++,j--)表达式1,表达式2,…,表达式n循环起始条件循环变量增值循环结束条件*注意在for和while语句之后一般没有分号有分号表示循环体就是分号之前的内容空语句——表示循环体内什么都不做while(i100);
i++;死循环for(i=0;i100;i++);
printf(%d,i);用于延时注意!*for语句for语句使用说明for([表达式1];[表达式2];[表达式3]){ 循环体;}三个表达式都是可选的(都可以为空),但分号不能少如果表达式2为空,那么就假定该循环条件为真则创建一个无限循环循环结构for(i=0;;i++){printf(“%2d”,i);}for(i=0;1;i++){printf(“%2d”,i);}=Ctrl+C强行终止无限循环,结束程序的执行*【例】计算并输出
n!=1×2×3×…×n
*选择三种循环的一般原则如果循环次数已知,计数控制的循环用for如果循环次数未知,条件控制的循环用while如果循环体至少要执行一次用do-while这只是“一般”原则,不是“原则”*转移控制语句——goto语句、break和continue语句break语句的作用:循环体中使用break语句可以提前结束整个循环。Continue语句的作用:循环体中使用continue语句可以提前结束本次循环。return语句标准库函数exit()流程的转移控制*break语句和continue语句对for、while、do-while循环进行内部手术Break?退出一层循环或switchContinue?中断此次循环,开始下一次流程的转移控制*n???10Pleaseentern:10↙n=10Pleaseentern:-10↙Programisover!【例】演示break与continue
-10#includestdio.hmain(){ inti,n; for(i=1;i=5;i++) { printf(Pleaseentern:); scanf(%d,n); if(n0) break; printf(n=%d\n,n); } printf(Programisover!\n);}*n???10Pleaseentern:10↙n=10Pleaseentern:-10↙Pleaseentern:20↙n=20Pleaseentern:-20↙Pleaseentern:30↙n=30Programisover!【例】演示break与continue
-1020-2030#includestdio.hmain(){ inti,n; for(i=1;i=5;i++) { printf(Pleaseentern:); scanf(%d,n); if(n0) continue; printf(n=%d\n,n); } printf(Programisover!\n);}*语句标号(Label)举例error:goto语句举例gotoerror;一般形式goto语句与语句标号*用if—goto构成循环结构形式:语句标号:if(表达式){语句/语句组goto语句标号;}kk:if(ab){a=a-2;gotokk;}此结构构成的是“当型”循环。功能:无条件转去执行语句标号所指语句行。*【例】输入n值,计算并输出1!+2!+3!+…+n!
利用前项计算后项嵌套的控制结构*【例】输入n值,计算并输出1!+2!+3!+…+n!
每次单独计算累加项嵌套的控制结构*九·九表打印例题4-17嵌套的控制结构*开始forI=1to9forJ=1toI输出I*J输出表头