C语言程序设计 第4章循环结构.pptx
第4章循环结构,C语言程序设计,循环结构是在一定条件下反复执行某段程序的流程结构。在C语言中,有三种类型的循环语句while语句、dowhile语句和for语句。,,4.1while语句,1.while语句(1)while语句的一般形式如下while(表达式)循环语句;注意while后的表达式通常为关系表达式或逻辑表达式,当表达式的值为0时,表示条件为假;非0时,表示条件为真。循环体若是复合语句,需用“”括起来。如果第一次计算时表达式的值就为0,则循环语句一次也不被执行,流程直接跳过while语句,执行下一条语句。,,4.1while语句,在循环体中应有使循环趋向于结束的语句。(2)执行过程计算while后表达式的值,当值为非0时,执行循环体中的语句并重新计算表达式的值;当值为0时,退出while循环。(如图4-1-1所示),,4.1while语句,注意进入while循环后,一定要有能使此表达式的值变为0的操作,或者有能在某种情况下强行终止循环的语句(如break语句);否则,循环将会无休止地进行下去,即进入死循环。在程序设计中,是不允许死循环出现的。while语句的表达式可以是任何类型,只要表达式的值为真就可继续循环。例如intx0,n2;while(n--)printf(dn,x*2);上述语段将执行2次循环,每执行一次,n值减1,循环体输出表达式x*2的值。,,4.1while语句,应该注意条件的选择以避免死循环。例如inta5,n0;while(a5)printf(dn,n);上例中,while语句的循环条件为赋值表达式a5,因此该表达式的值永远为真,而循环体中又没有其他的终止循环的语句而形成死循环。如果while(表达式)后加了分号“;”,则循环体为空。,,4.1while语句,2.while语句实例【例4.1.1】用while语句计算123100。算法步骤一先赋变量sum初始值为0,i初始值为1。步骤二当i小于等于100时,重复执行步骤三和四,否则执行步骤五。步骤三sumi后赋给sum。步骤四i1后赋给i,转回步骤二继续执行。步骤五输出sum的值。流程图如图4-1-2所示。,,4.1while语句,,4.1while语句,程序运行结果sum5050,,4.1while语句,【分析】变量sum的初始值为0,i的初始值为1,计算while后表达式的值1100为真,执行循环体中的语句sumi相当于sumsumi,i相当于ii1后,此时sum的值为1,i的值为2,并重新计算while(i100)表达式的值,若为真继续执行循环体,为假则退出循环体,从而继续执行输出sum的值。在循环体中若没有改变循环变量的值,导致循环条件永远为真,程序会出现死循环。,,4.1while语句,【例4.1.2】求s112131415110。算法步骤一先赋变量s初始值为0,i初始值为1。步骤二当i小于等于10时,重复执行步骤三和四,否则执行步骤五。步骤三s1/i后赋给s。步骤四i1后赋给i,转回步骤二继续执行。步骤五输出s的值。流程图如图4-1-3所示。,,4.1while语句,,4.1while语句,程序运行结果s2.928968,,4.1while语句,【分析】变量s的初始值为0,i的初始值为1,计算while后表达式的值i10为真,执行循环体中的语句ss(float)1/i,i相当于ii1后,此时s的值为1.0,i的值为2,并重新计算while(i10)表达式的值,若为真继续执行循环体,为假则退出循环体,从而继续执行输出s的值。在C语言中,构造s的表达式时,由于i为整型,则表达式1/i的值为整型,当i的值为2时,则表达式1/i的值为0,故采用(float)1/i,强制转换为float型后再进行计算,当i的值为2时,则表达式(float)1/i的值为0.5。将语句“ss(float)1/i;”改为“ss1.0/i;”也可。,,4.1while语句,【例4.1.3】求s13579,其和大于等于500的最大项。算法步骤一先赋变量s初始值为0,i初始值为1。步骤二当s小于等于500时,重复执行步骤三和四,否则执行步骤五。步骤三si后赋给s。步骤四i2后赋给i,转回步骤二继续执行。步骤五输出i-2的值。流程图如图4-1-4所示。,,4.1while语句,,4.1while语句,程序运行结果i45,,4.1while语句,【分析】变量s的初始值为0,i的初始值为1,计算while后表达式的值0500为真,执行循环体中的语句ssi,ii2,此时s的值为1,i的值为3,并重新计算while(s500)表达式的值,若为真继续执行循环体,为假则退出循环体,从而继续执行输出i-2的值。本题是利用求和变量s作为循环条件,由于求和项i在退出循环体时多加了一次,故应输出i-2,而不是i的值。,,4.2dowhile语句,1.dowhile语句(1)dowhile的一般形式如下do循环语句;while(表达式);注意do是C语言的关键字,必须与while配对使用。while(表达式)后的分号“;”不可少,它是dowhile语句的结束标志。while后括号中的表达式可以是任意合法的表达式,由它来控制循环是否执行。,,dowhile之间的循环体可以是一条可执行语句,也可以是由“”构成的复合语句。(2)执行过程先执行循环体,然后判断表达式的值,若表达式的值为非0,再返回重新执行循环语句,如此重复;若表达式的值为0,则退出循环语句,执行下一条语句。(如图4-2-1所示),4.2dowhile语句,,注意dowhile语句先执行循环语句,后判断表达式的值,因此,dowhile语句的循环语句至少被执行一次。dowhile语句可以组成多重循环,也可以和while语句相互嵌套。如果dowhile语句的循环体由多个语句组成时,必须加“”组成一个复合语句。dowhile和while语句可以相互替换,但要注意修改循环控制条件。要把dowhile的条件设为假。循环体中一定要有相应的语句改变表达式的值或有强行终止循环的语句(如break语句),否则将成为死循环。,4.2dowhile语句,,4.2dowhile语句,2.dowhile语句实例【例4.2.1】用dowhile语句计算123100。算法步骤一先赋变量sum初始值为0,i初始值为1。步骤二sumi后赋给sum。步骤三i1后赋给i。步骤四当i小于等于100时,重复执行步骤二和三。步骤五输出sum的值。流程图如图4-2-2所示。,,4.2dowhile语句,,4.2dowhile语句,程序运行结果sum5050,,【分析】变量sum的初始值为0,i的初始值为1,先执行循环体中的语句sumi相当于sumsumi,i相当于ii1后,此时sum的值为1,i的值为2,计算while后表达式的值1100为真,继续执行循环体,然后重新计算while(i100)表达式的值,若为真继续执行循环体,为假则退出循环体,从而继续执行输出sum的值。在循环体中若没有改变循环变量的值,导致循环条件永远为真,程序会出现死循环。,4.2dowhile语句,,4.2dowhile语句,【例4.2.2】用dowhile语句计算算法步骤一先赋变量s初始值为0,i初始值为1。步骤二s1/i后赋给s。步骤三i2后赋给i。步骤四当i小于等于20时,重复执行步骤二和三。步骤五输出s的值。流程图如图4-2-3所示。,,4.2dowhile语句,,4.2dowhile语句,程序运行结果s2.133256,,【分析】变量s的初始值为0,i的初始值为1,先执行循环体中的语句ss1.0/i,然后执行ii2后,此时s的值为1.0,i的值为3,计算while后表达式的值320为真,继续执行循环体,然后重新计算while(i20)表达式的值,若为真继续执行循环体,为假则退出循环体,从而继续执行输出s的值。语句ss1.0/i也可写成ss(float)1/i,但如果语句ss1.0/i写成ss1/i,则会导致运行结果出错。对于while(i20)写成while(i20)或写成while(i19)均可,不影响运行结果。,4.2dowhile语句,,【例4.2.3】用dowhile语句计算100以内能被3整除且个位不为7的数的和。算法步骤一先赋变量s初始值为0,i初始值为1。步骤二如果i30且i107,则si后赋给s。步骤三i1后赋给i。步骤四当i小于等于100时,重复执行步骤二和三。步骤五输出s的值。流程图如图4-2-4所示。,4.2dowhile语句,,4.2dowhile语句,,4.2dowhile语句,程序运行结果s1512,,【分析】变量s的初始值为0,i的初始值为1,先执行循环体中的if语句,此时条件(i30表达式2;表达式3)循环语句;但注意省略表达式1时,其后的分号不能省略。此时,应在for语句之前给循环变量赋初值。如果省略表达式2for(表达式1;;表达式3)循环语句;则表示表达式2的值始终为真,循环将无终止地进行下去。例如,4.3for语句,,for(i1;;i)printf(d,i);将无限循环输出1,2,3,4,5,6,如果省略表达式3for(表达式1;表达式2;)循环语句;此时,也将产生一个无穷循环。因此,程序设计者应另外设法保证循环能正常结束,可以将循环变量的修改部分(即表达式3)放在循环语句中控制。例如,4.3for语句,,for(i1;i100;)sumi;i;上述for语句中没有表达式3,而是将表达式3(i)放在循环语句中,作用相同,都能使循环正常结束。注意表达式2后面的分号不能省略。可以同时省略表达式1和表达式3for(;表达式2;)循环语句;,4.3for语句,,即省略了循环的初值和循环变量的修改部分,此时完全等价于while语句。同时省略表达式1、表达式2和表达式3,但两个分号不能缺省for(;;)循环语句;相当于赋循环变量的初值,循环控制条件始终为真,不修改循环变量,故循环将无终止地进行下去。在for语句中,表达式1和表达式3不仅可以使用简单表达式,也可以使用逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。在逗号表达式内按自左至右求解,整个表达式的值为其中最右边的表达式的值。例如,4.3for语句,,for(i1;i100;i,sumsumi)相当于for(i1;i100;i)sumsumi;在for语句中,表达式一般为关系表达式或逻辑表达式,但也可以是其他表达式(如字符表达式、数值表达式)。for语句的循环语句可以是空语句。空语句用来实现延时,即在程序执行中等待一定的时间。例如for(i1;i1000;i);注意以上语句最后的分号不省略,则代表一个空语句。,4.3for语句,,4.3for语句,2.for语句实例【例4.3.1】用for语句计算123100。算法步骤一先赋变量sum初始值为0,i初始值为1。步骤二当i小于等于100时,重复执行步骤三和四,否则执行步骤五。步骤三sumi后赋给sum。步骤四i1后赋给i,转回步骤二继续执行。步骤五输出sum的值。流程图如图4-3-2所示。,,4.3for语句,,程序运行结果sum5050,4.3for语句,,【分析】变量sum的初始值为0,计算表达式1的值即i的值为1,计算表达式2的值即i100,如果i100为真,则执行for循环体,再计算表达式3的值即i,然后再计算表达式2的值,依此类推;如果表达式2为假,则结束循环,执行for语句下面的一条语句,输出sum的值。,4.3for语句,,【例4.3.2】输出500以内的所有水仙花数。水仙花数是一个三位数,其各位数立方和等于该数本身(例如135333153)。算法步骤一i初始值为100。步骤二当i小于等于500时,重复执行步骤三和四,否则执行步骤五。步骤三分离数i各位上的数字,如果各位数字上的立方和等于该数本身i,则输出数i。步骤四i1赋给i,转回步骤二继续执行。步骤五程序结束。流程图如图4-3-3所示。,4.3for语句,,4.3for语句,,4.3for语句,,程序运行结果153370371407【分析】计算表达式1的值即i的值为100,计算表达式2的值即i500,如果i500为真,则执行for循环体,分离出个、十、百位上的数字g、s、b,执行if条件中的表达式,如果为真输出i,再计算表达式3的值即i自动加1,然后再计算表达式2的值,依此类推;如果表达式2为假,则结束循环,程序结束。,4.3for语句,,【例4.3.3】用for语句计算s1-35-7-99101。算法步骤一先赋求和变量s初始值为0,标志变量f初始值为1,循环变量i初始值为1。步骤二当i小于等于101时,重复执行步骤三、四和五,否则执行步骤六。步骤三执行sf*i赋给s。步骤四f乘以-1赋给f。步骤五i2后赋给i,转回步骤二继续执行。步骤六输出s的值。流程图如图4-3-4所示。,4.3for语句,,4.3for语句,,程序运行结果s51,4.3for语句,,【分析】变量s的初始值为0,f的初始值为1,计算表达式1的值即i的值为1,计算表达式2的值即i101,如果i101为真,则执行for循环体,执行sf*i赋给s和f乘以-1赋给f,再计算表达式3的值即ii2,然后再计算表达式2的值,依此类推;如果表达式2为假,则结束循环,执行for语句下面的一条语句,输出s的值。,4.3for语句,,4.4循环结构的嵌套,1.循环结构的嵌套在一个循环体内又完整地包含了另一个循环,称为循环嵌套。循环的嵌套可以是多层,但每一层循环在逻辑上必须是完整的。在书写上,循环的嵌套应采用缩进的形式,以使程序层次分明,可读性强。(1)循环嵌套的形式while与while二重嵌套while()while(),,dowhile与dowhile二重嵌套dodowhile();while();,4.4循环结构的嵌套,,for与for二重嵌套for(;;)for(;;)(2)循环嵌套的说明三种循环语句不仅各自可以嵌套,而且还可以互相嵌套。例如,4.4循环结构的嵌套,,while与dowhile二重嵌套while()dowhile();,4.4循环结构的嵌套,,while与for二重嵌套while()for(;;),4.4循环结构的嵌套,,dowhile与for二重嵌套dofor(;;)while();,4.4循环结构的嵌套,,使用嵌套时,应注意一个循环结构应完整地嵌套在另一个循环体内,不允许循环体间交叉。除了上述二重嵌套外,还可以有三重嵌套、四重嵌套等多层嵌套。嵌套的外循环和内循环的循环控制变量不得同名,但并列的内、外循环允许有同名的循环控制变量。例如,4.4循环结构的嵌套,,4.4循环结构的嵌套,2.循环结构嵌套的实例【例4.4.1】求s1357。,,4.4循环结构的嵌套,,【例4.4.2】输出以下图案。,4.4循环结构的嵌套,,4.4循环结构的嵌套,,4.4循环结构的嵌套,【分析】外循环包括两个内循环,两个内循环为并列的关系,其中,外循环用来控制图案的行数,第一个内循环用来控制该行的空格个数,第二个内循环用来控制该行的*个数。,,4.5break和continue语句,while、dowhile和for循环三种循环异同点用while和dowhile循环时,循环变量的初始化的操作应在循环体之前,而for循环一般在表达式1中进行;while循环和for循环都是先判断表达式,后执行循环体,而dowhile循环是先执行循环体后判断表达式,也就是说dowhile的循环体至少被执行一次,而while循环和for循环的循环体可能一次都不执行。在循环体中都有改变循环变量的值的操作,从而最终终止循环。这三种循环都可以用break语句跳出循环,用continue语句结束本次循环。,,4.5break和continue语句,1.break和continue语句在循环体中的作用(1)break语句使用break语句可以使流程跳出switch语句体,在循环结构中,也可以使用break语句使流程跳出本层循环体,从而提前结束本层循环。break语句的一般形式如下break;注意break语句只能用于switch语句体和循环体中,不能用于其他语句中。break语句在循环语句中只能用于循环体内,而不能用在循环语句上。如“for(i1;i10;break,i)”是不正确的。,,4.5break和continue语句,break语句只能跳出一层循环,即从当前循环层中跳出,可能还在外层的循环体中。如果要跳出多层循环,可使用goto语句。当循环体中嵌套有switch语句时,如果break语句出现在switch语句体中,则只表示跳出switch语句体,而非跳出循环。(2)continue语句continue语句的一般形式如下continue;其作用是结束本次循环,即跳过本次循环体中余下的尚未执行的语句,立刻进行下一次的循环条件判定。,,4.5break和continue语句,具体来说,对于while和dowhile语句,遇continue语句后,转向执行while之后圆括号内的条件表达式的判断;对于for语句,遇continue语句后,转向执行表达式3。注意continue语句只能用于循环语句中,执行continue语句并没有使整个循环终止,只是结束本次循环,而break语句的作用则是跳出本层循环,终止当前层的循环。,,4.5break和continue语句,2.break和continue语句实例【例4.5.1】输入数n,判断该数是否为素数。算法步骤一输入数n。步骤二i初始值为2。步骤三当i小于n时,重复执行步骤四和五,否则执行步骤五。步骤四执行表达式ni0,若为真则转步骤五,否则执行i1赋给i,重复执行步骤三。步骤五执行表达式in,若为真输出n是合数,否则输出n是素数。流程图如图4-5-1所示。,,4.5break和continue语句,,4.5break和continue语句,,4.5break和continue语句,程序运行结果请输入整数n1010是合数【分析】先输入数n,计算表达式1的值即i的值为2,计算表达式2的值即in时则退出循环体。然后继续执行表达式in,若in为真则输出n是合数,否则输出n是素数。,,4.5break和continue语句,【例4.5.2】输出100200之间不能被3整除的数。算法步骤一i初始值为100。步骤二当i200时,重复执行步骤三和四,否则执行步骤五。步骤三计算表达式i30,若为真则转步骤四,否则输出数i。步骤四执行i1赋给i,重复执行步骤二。步骤五运行程序结束。流程图如图4-5-2所示。,,4.5break和continue语句,,4.5break和continue语句,,4.5break和continue语句,程序运行结果100101103104106107109110112113115116118119121122124125127128130131133134136137139140142143145146148149151152154155157158160161163164166167169170172173175176178179181182184185187188190191193194196197199200【分析】计算表达式1的值即i的值为100,计算表达式2的值即i200时则退出循环体,程序结束。,,4.6循环结构程序实例,1.数位分离【例4.6.1】程序填空将1001000之间个位、十位、百位均相同的三位数输出来。(例如111、222),,4.5break和continue语句,【参考答案】1i1002i3i/100,,4.6循环结构程序实例,1.数位分离【例4.6.1】程序填空将1001000之间个位、十位、百位均相同的三位数输出来。(例如111、222),,【参考答案】1i1002i3i/100,4.6循环结构程序实例,,4.6循环结构程序实例,1.数位分离【例4.6.1】程序填空将1001000之间个位、十位、百位均相同的三位数输出来。(例如111、222),,【参考答案】1i1002i3i/100,4.6循环结构程序实例,,4.6循环结构程序实例,【例4.6.2】程序填空从键盘输入一个十进制整数,将其转换为二进制后反序再转成新的十进制后输出。(例如111011110113),,【参考答案】1n2n03n24n/25x,4.6循环结构程序实例,,4.6循环结构程序实例,【例4.6.3】程序填空求的值,其中a为一个数字,要求a以及所加数字个数由键盘输入。(例如333333333333333),,【参考答案】1a2in3st4t*10a5s,4.6循环结构程序实例,,4.6循环结构程序实例,2.累加累乘累加累乘问题通常采用(1)在求和求积问题中,一般采用循环语句实现反复累加和累乘。循环体中的赋值语句形式的选择,应根据题目中各项间的特点而定。例如求累加一般用sst形式的赋值语句;求阶乘(n)一般需要用pp*t形式的赋值语句;其他类型的亦根据其计算式中每一项的特点来定,如求121222n,可以用t2n和sst形式的赋值语句。(2)循环体内的变量通常先给定初始值。一般累乘器的变量初始值为1,累加器中的变量初始值为0,也可将第一、二次循环得出的结果与所求式子第一、二项相比,来确定初值。,,(3)对变量赋初始值的语句应放在循环体之外。对于双重循环,则内循环体中的变量取初始值的语句应在内循环外;外循环体中的变量取初始值的语句应在外循环体外。【例4.6.4】程序填空求s123n(n由键盘输入)。,4.6循环结构程序实例,,【参考答案】1stdio.h203i1e-53t/i4i5e,4.6循环结构程序实例,,【例4.6.8】程序填空求,4.6循环结构程序实例,,【参考答案】102i2314j5si/t,4.6循环结构程序实例,,4.6循环结构程序实例,3.数列【例4.6.9】程序填空斐波那契数列的前几项是1,1,2,3,5,8,13,21,要求输出该数列的前20项,每行输出10个。,,【参考答案】1i32b3c4c5i100,4.6循环结构程序实例,,【例4.6.10】程序填空有一数列求此数列的前10项之和。,4.6循环结构程序实例,,【参考答案】1n2a3ab4t5s,4.6循环结构程序实例,,4.6循环结构程序实例,4.素数所谓素数就是只能被1和其本身所整除的数。因为如果一个数不是质数而是合数,那么一定可以由两个自然数相乘得到,其中一个大于或等于平方根,另一个小于或等于平方根,并且成对出现。即一个因子比它的平方根小,另一个因子要比它的平方根大(例如16,其中2、8均是它的因子,8大于4,而2小于4);或者等同于平方根(例如93*3)。当进行质数判断的时候不需要判断到全部数字,只需要判断到平方根就可以了。判断一个数m是否为素数的算法(1)令nm开二次方向下取整。(2)循环检查从2开始到n的每一个数字是否能整除m,如果能,终止循环,返回m非素数。,,4.6循环结构程序实例,(3)循环结束,返回m为素数。【例4.6.11】程序填空判断m是否为素数。,,【分析】让m被2除,如果m能被2中任何一个整数整除,则提前结束循环,此时i必然小于或等于k(即);如果m不能被2中任何一个整数整除,则在完成最后一次循环后,i要自动加1,因此ik1,最后才终止循环。在循环之后判别i的值是否大于k,若是,则表明未曾被2k之间任一整数整除过,因此输出该数是素数。【参考答案】1math.h2sqrt(m)3break4ik5m,4.6循环结构程序实例,,【例4.6.12】程序填空求100到200间的所有素数,输出时每个数占5个字符宽度,10个一行。(要求在奇数中找素数。),4.6循环结构程序实例,,【参考答案】1math.h2sqrt(m)3mi04m5n100,4.6循环结构程序实例,,4.6循环结构程序实例,5.素数最大公约数和最小公倍数辗转相除法求两整数a和b最大公约数算法如下步骤一ab得余数c。步骤二若c等于0,则b即为两数的最大公约数,结束。步骤三若c不等于0,则ab,bc,再转回执行步骤一。例如a25,b15,a/b110,15/1015,10/520,最后一个为余数为0的除数是5,5就是所求最大公约数。最小公倍数两数的积除以最大公约数。,,【例4.6.13】程序填空用辗转相除法求两数的最大公约数,两数由键盘输入。,4.6循环结构程序实例,,【参考答案】1r2r03n4mn5n,4.6循环结构程序实例,,【例4.6.14】程序填空用辗转相除法求两数的最大公约数和最小公倍数,两数由键盘输入。,4.6循环结构程序实例,,【参考答案】1m2m3m*n4rm5m,4.6循环结构程序实例,,注意m与n也可以不交换,只是要多循环一次。用辗转相除法求几个数的最大公约数,可以先求出其中任意两个数的最大公约数,再求这个最大公约数与第三个数的最大公约数,依次求下去,直到最后一个数为止。最后所得的那个最大公约数,就是所有这些数的最大公约数。若求三个数的最小公倍数,先求两个数的最小公倍数,然后再求出这个最小公倍数与第三个数的最小公倍数,即为这三个数的最小公倍数。,4.6循环结构程序实例,,6.闰年【例4.6.15】程序填空输出从公元2000年至3000年所有闰年的年号,每输出10个年号换一行。判断公元年是否为闰年的条件(1)公元年数如能被4整除,而不能被100整除,则是闰年。(2)公元年数能被400整除的也是闰年。,4.6循环结构程序实例,,4.6循环结构程序实例,,【参考答案】102i403i40004i5n100,4.6循环结构程序实例,,【例4.6.16】程序填空输入一个年月日,要求输出这一天是该年的第几天。(例如2000年3月2日是该年的第62天。),4.6循环结构程序实例,,4.6循环结构程序实例,,【参考答案】1imonth2break3304year40year1000||year40005daysday,4.6循环结构程序实例,,4.6循环结构程序实例,7.统计判断【例4.6.17】程序填空求由键盘输入的五个数中的最大值和最小值。,,【参考答案】1stdio.h2i13j10-i4j2*i-15n,4.6循环结构程序实例,,【例4.6.22】程序填空编写程序打印如下图形。,4.6循环结构程序实例,,4.6循环结构程序实例,,【参考答案】1i42j4-i3k2*i-14i35k7-2*i,4.6循环结构程序实例,,【例4.6.23】程序填空编写程序打印如下图形,图案的行数由输入的整数确定。,4.6循环结构程序实例,,4.6循环结构程序实例,,【参考答案】1n2jn-i3k2*i-14c5n,4.6循环结构程序实例,,4.6循环结构程序实例,9.其他【例4.6.24】程序填空将一张100元钞票换成等值的10元,5元,2元和1元的小钞,每次换成40张小钞,要求每一种小钞都要有,编程求出所有可能的换法总数并输出各换法的组合。,,4.6循环结构程序实例,,【参考答案】1i2ijkm403i*10j*5k*2m*11004m5s,4.6循环结构程序实例,本章主要介绍了循环结构中的while语句、dowhile语句和for语句;掌握循环结构语句的一般形式和执行过程,理解break和continue语句在循环体中的作用;能运用循环语句进行简单的循环结构程序设计,能初步分析程序运行结果。,,本章小结,1.程序填空要求计算1-23-45-100的值。,,习题,2.程序填空要求统计10个整数中的奇偶数的个数。,,习题,3.程序填空要求按下图所示格式输出99乘法表。,,习题,4.程序填空求前100个素数,要求输出时每个数占5个字符宽度,且10个一行。,,习题,5.程序填空要求输出如下所示图案的程序。,,习题,6.程序填空求s123n(n由键盘输入)。,,习题,7.编程,,习题,8.编程输出100到999之间的各位数字之和等于15的所有整数,输出时每10个一行。,,习题,9.编程求n的阶乘。,,习题,10.编程求s13579,其和小于等于500的最大项。,,习题,谢谢观看THANKYOU,