您好,欢迎访问三七文档
任务1:编程求1+2+3+……+n的值。任务2:编程求“水仙花数”。“水仙花数”:各位数字立方和等于本身的三位整数。任务3:编程输出如下格式的“九九表”1*1=12*1=22*2=23*1=33*2=63*3=9……9*1=99*2=189*3=27……9*9=81任务4:编程判断一个整数是否为素数。本讲任务预备知识$6.1循环结构及语句一、循环结构:?循环体YN当型循环当条件成立循环体预备知识$6.1循环结构及语句一、循环结构:循环体直到条件成立循环体?NY直到型循环预备知识$6.1循环结构及语句二、while语句:格式:while(表达式){循环体}表达式:0—不成立非0—成立循环体:为单个语句时,大括号可省略运行过程:1、计算表达式的值。2、若表达式的值非0,则执行循环体。否则,结束循环。3、循环体执行完毕后,回到第1步继续运行。注意:在通常情况下,循体中应该有语句使表达式的值发生变化,并最终使表达式的值为0(结束循环),否则将会导致死循环。表达式循环体YN[编程]编程求1+2+3+……+n的值。#includestdio.hvoidmain(){intsum=0,n,i=1;scanf(%d,&n);while(i=n){sum+=i;i++;}printf(SUM=%d\n,sum);}任务1预备知识$6.1循环结构及语句二、do-while语句:格式:do{循环体}while(表达式);表达式:0—不成立非0—成立循环体:为单个语句时,大括号可省略运行过程:1、执行循环体。2、计算表达式的值。3、若表达式的值非0,则返回第1步继续运行。否则,结束循环。注意:在通常情况下,循体中应该有语句使表达式的值发生变化,并最终使表达式的值为0(结束循环),否则将会导致死循环。循环体表达式NY预备知识循环体表达式NY循环体表达式NY循环体while语句和do-while语句的异同:while语句的循环体可能一次都不执行,do-while语句的循环体至少执行一次。循环体至少执行一次以上,而且相关变量初值、循环体和表达式均相同的while语句和do-while语句功能是相同的。[编程]编程求1+2+3+……+n的值。#includestdio.hvoidmain(){intsum=0,n,i=1;scanf(%d,&n);do{sum+=i;i++;}while(i=n);printf(SUM=%d\n,sum);}任务1预备知识$6.1循环结构及语句二、for语句:格式:for(表达式1;表达式2;表达式3){循环体}表达式2:0—不成立非0—成立循环体:为单个语句时,大括号可省略运行过程:1、计算表达式1的值。2、计算表达式2的值。3、若表达式2的值非0,则执行循环体。否则,结束循环。4、执行循环体后,计算表达式3的值,返回第2步继续运行。表达式2循环体YN表达式1表达式3Y预备知识for语句和while语句的转换:1、表达式1可以移到for语句的前面成为与for语句顺序结构的独立语句。2、表达式2可以移到循环体的后面,成为循环体的一部分。3、将for改为while,去掉小括号中的分号。注意:当表达式省略时,分号不能省。若表达式3省略,则条件永远成立。表达式2循环体YN表达式1表达式3Y[编程]编程求1+2+3+……+n的值。#includestdio.hvoidmain(){intsum=0,n,i;scanf(%d,&n);for(i=1;i=n;i++){sum+=i;}printf(SUM=%d\n,sum);}任务1[编程]编程求1+2+3+……+n的值。#includestdio.hvoidmain(){intsum=0,n,i;scanf(%d,&n);i=1;for(;i=n;){sum+=i;i++;}printf(SUM=%d\n,sum);}任务1[编程]编程求“水仙花数”。#includestdio.hvoidmain(){inti,b,s,g;for(i=100;i=999;i++){b=i/100;s=i/10%10;g=i%10;if(b*b*b+s*s*s+g*g*g==i)printf(%d,i);}putchar('\n');}任务2预备知识$6.2循环的嵌套循环的嵌套:在循环语句的循环体中包含循环语句。外循环内循环外循环每循环一次,内循环都要完成完整的循环。循环可以多重嵌套。三种循环语句可以相互嵌套。任务3任务3:编程输出如下格式的“九九表”1*1=12*1=22*2=23*1=33*2=63*3=9……9*1=99*2=189*3=27……9*9=81[编程]编程输出如下格式的“九九表”。#includestdio.hvoidmain(){inti,j,s;for(i=1;i=9;i++){for(j=1;j=i;j++){s=i*j;printf(%d*%d=%-2d,i,j,s);}putchar('\n');}}任务3预备知识$6.3循环相关语句1、break语句格式:break;回顾:用于switch语句,功能是什么?功能:用于循环语句中,结束其所在的这一层循环。2、continue语句格式:continue;功能:结束其所在的这一层循环的本次循环。3、goto语句格式:goto语句标号;功能:无条件转去执行语句标号所在的语句。注意:语句标号应遵循标识符命名规则。在转入位置的语句标号要加冒号。[分析]写出如下程序的运行结果。#includestdio.hvoidmain(){inti,j;i=1;while(i=2){for(j=1;j=5;j++){if(j==3)break;printf(%d+%d=%d,i,j,i+j);}printf(“\n”);i++;}}例题程序运行结果:1+1=21+2=32+1=32+2=4若将break改为continue,则输出变为:1+1=21+2=31+4=51+5=62+1=32+2=42+4=62+5=7例题[编程]编程判断一个整数是否为素数。#includestdio.h#includemath.hvoidmain(){intbj,k,n,i;scanf(%d,&n);bj=1;k=(int)sqrt(n);for(i=2;i=k;i++){if(n%i==0){bj=0;break;}}if(bj)printf(%d是素数。\n,n);elseprintf(%d不是素数。\n,n);}任务4思考:要求100以内的所有素数,程序应该怎么修改?上机实训掌握while、do-while、for语句基本知识及应用;掌握break和continue语句基本知识及应用;掌握循环结构程序设计基本方法。[详见实训06循环结构程序设计]作业:教材P113--118页第一、二、三(3、4、6)题。
本文标题:C语言程序设计06
链接地址:https://www.777doc.com/doc-3357787 .html