您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 编程语言基础-语言--第4章-循环程序设计
第4章循环程序设计4.1while循环while语句是一种称为“当型”的循环。它的一般形式是:while(表达式){语句序列;}while语句它的执行过程表达式语句序列假(0)真(非0)注意:循环必须在有限的次数内结束,否则会出现“死循环”,在程序中应避免出现死循环。while循环执行的特点是先判断条件,后执行循环体,因此,循环次数可能为0。例4-1:编程求1+2+3+4+5之和。#includestdio.hmain(){intsum,i;sum=0;/*累加器sum置0*/i=1;/*循环变量i赋初值1*/while(i=5){sum=sum+i;/*将i值累加到sum中*/i=i+1;/*改变循环变量i的值*/}printf(1+2+3+4+5=%d,sum);getch();}运行结果:1+2+3+4+5=15执行过程如表4-1所示。变量名sumi循环条件(i=5)初始状态01真第1轮循环后0+1=12真第2轮循环后0+1+2=33真第3轮循环后0+1+2+3=64真第4轮循环后0+1+2+3+4=105真第5轮循环后0+1+2+3+4+5=156假(结束循环)4.2do_while循环do_while语句是称为“直到”型的循环结构,是另一种形式的循环。它的一般形式是:do{语句序列}while(表达式);do_while语句的执行过程真(非0)表达式语句序列假(0)例4-2:比较dowhile语句和while语句:#includestdio.hmain(){charch;ch=getchar();do{putchar(ch);ch=getchar();}while(ch!='*');getch();}运行结果*AB*↙*AB#includestdio.hmain(){charch;ch=getchar();while(ch!='*'){putchar(ch);ch=getchar();}getch();}运行结果:*AB*↙无输出例4-3输入一个整数,按相反次序输出。例如,输入54321,输出12345。4.3for循环for语句的一般形式是:for(表达式1;表达式2;表达式3){语句序列}for语句的执行过程表达式1表达式2语句序列表达式3假(0)真(非0)例4-4:从键盘上输入10个整数,求其和。main(){inti,num,sum;sum=0;for(i=1;i=10;i++){scanf(%d,&num);sum=sum+num;}printf(这10个整数的和为:%d,sum);getch();}说明:当求累加值时,存放累加值的变量sum的初值应该为0。for括号中用两个分号分隔的三个表达式:“表达式1”只在循环开始时执行一次;“表达式2”是循环条件,在每一轮循环开始前进行计算,如果结果为真则执行循环体,否则退出for循环;“表达式3”用于循环变量的更新。可以省略for语句括号中的一个或几个表达式,但不能省略分号。例4-5:从键盘上输入若干个整数,直到输入0为止,求它们的乘积。for语句一般用于循环次数比较明确的情形,而while或do_while语句则用于循环次数难以判定的情形。main(){intn;longt=1;/*累乘初值为1*/scanf(%d,&n);/*输入第一个整数*/while(n!=0){t=t*n;scanf(%d,&n);/*输入下一个整数*/}printf(%ld\n,t);/*输出长整型数据*/getch();}运行时,输入:5470↙则输出:1404.4多重循环一个循环的循环体中又包含另一个循环,称为循环嵌套。这个嵌套重复下去,就是多重循环,也称为嵌套循环。while、do_while、for可以相互嵌套,自由组合。例4-6:打印九九乘法表。main(){inti,j;for(i=1;i10;i++)printf(%8d,i);printf(\n---------------------------------);printf(-----------------------------------\n);for(i=1;i10;i++){for(j=1;j=i;j++)printf(%2d*%d=%-3d,i,j,i*j);printf(\n);/*换行*/}getch();}格式符“%8d”的作用是使输出的每个数据占8个字符位置,右对齐;“%-3d”表示占3列,左对齐。4.5break语句和continue语句breakbreak语句也可以用于循环结构中,使程序提前跳出循环,结束循环,转移到循环后面的语句。例4-7:求不同半径的圆柱体的体积,只计算体积在100以下的圆柱体。continue语句continue语句的作用是:流程跳过循环体中该语句后的所有语句,提前结束本轮循环,直接进入下一轮循环。continue语句与break语句的区别是:前者只是结束本次循环,而不是结束整个循环;后者则是结束整个循环。例4-8:输出50到100之间所有不能被7整除的数。4.6循环结构应用实例例4-9:判断一个数是否为素数。例4-10:找出100到200之间所有的素数。例4-11:输入两个整数,求它们的最大公约数。方法是,采用“碾转相除法”,即反复模除取余,直到余数为0。本章小结用于实现循环结构的语句有:while语句、do_while语句、for语句。循环结构的特点是:循环体内的代码可能被反复执行多次。while语句和for语句都是先判断循环条件再决定是否执行循环体,可能一次循环也不执行。do_while语句则是先执行循环体再判断循环条件,至少执行循环体一次。break和continue是循环的辅助语句,continue只能用于循环语句。
本文标题:编程语言基础-语言--第4章-循环程序设计
链接地址:https://www.777doc.com/doc-4059850 .html