c语言字符0与5循环显示出来,C语言(第5章循环控制)

《C语言(第5章循环控制)》由会员分享,可在线阅读,更多相关《C语言(第5章循环控制)(33页珍藏版)》请在人人文库网上搜索。

1、C语言程序设计,安徽农业大学 信息与计算机学院,循环结构:有规律地重复某些相同的操作。 循环语句: 1)while语句 2)do while 语句 3)for语句,第5章 循环结构程序设计,5.1.1 一般形式 while (表达式) 循环体语句块; ,功能:先计算表达式的值, 若表达式值为真(值非0),继续执行循环; 若表达式的值假(值为0),循环结束。 转向执行while语句之后的语句。,5.1.1 While语句(“当型”循环),有规律重复执行的操作,【例5.2】 编写一个程序,用户从键盘输入20个数,求它们的和并输出结果。,程序设计分析:使用循环结构,每次输入一个数x,将它累加到变量s。

2、um上,重复执行20次这样的操作,便得到最后的结果。,float x,sum=0; /*定义并初始化变量*/ int i=1; /*定义并初始化循环控制变量*/ printf (“请输入数据:n”); while(i=20) /*循环条件*/ scanf(“%f”, /*循环控制变量进行更新自增1 */ ,【例5.1】 编写一个程序,用户从键盘输入整数n,计算 s2+4+6+8+2n并输出计算结果s。 假如输入7,s=2+4+6+8+10+12+14 s=2*1+2*2+2*3+2*4+2*5+2*6+2*7 利用循环进行以下操作 (1)求出第i项 (2)累加到总和;,int i=1, x, 。

3、n, s=0; /*定义并初始化变量*/ scanf(“%d”,/*显示结果*/,1+3+5+2n-1; 1+1/3+1/5+.+1/(2n-1); 1+1/2+1/3+1/4+1/n; 2/1+3/2+5/3+8/5+;前n项之和. 1!+2!+3!+n!,用相似编程方法求以下各多项式之和:,编写一个程序,用户从键盘输入20个数,找出其中的最大值并输出。,5.1.2 while语句使用说明,1、 while语句是先判断条件,然后决定是否执行循环体。 2、为使循环能正常结束,应保证每次执行循环体后,表达式的值会有一种向“假”变化的趋势 。,如 i=5; while(i0) x+; ,3、在进入。

4、循环之前应做好有关变量的初始化赋值操作。如上例中,累加变量s初始化为0,i变量初始化为1。,5.1.3 do-while语句(”直到型”循环),一般形式:,do 循环体语句块; while(表达式);,功能:先执行循环体语句,然后计算表达式的值。 若表达式值为真(值非0),继续执行循环; 若表达式的值假(值为0),循环结束。,float x,sum=0; int i=1; printf (“请输入数据:n”); while(i=20) scanf(“%f”, ,float x,sum=0; int i=1; printf (“请输入数据:n”); do scanf(“%f”, while(i=。

5、20),【例5.4】用do-while语句完成【例5.2】的要求,用户从键盘输入20个数,求它们的和并输出结果。,#include void main( ) float x , sum=0; int i=1; /*定义并初始化循环控制变量*/ printf ( “请输入数据:” ); do scanf ( “%f”, ,【例5.3】用do-while语句完成【例5.1】的要求;计算s2+4+6+8+2n并输出计算结果s。,void main( ) int i=1, x, n, s=0 ; printf( “请输入n的值:” ); scanf ( “%d”, ,5.1.4 do-while语句使。

6、用说明,1、do-while语句与while语句的使用方法相同,都由循环继续条件来决定循环体语句是否继续被重复执行。 2、与while循环一样,为使循环能正常结束,也应保证每次执行循环体后,表达式的值会有一种向“假”变化的趋势,防止不要出现死循环。,5.2 for 循环结构和循环的嵌套,一般形式: for(表达式1;表达式2;表达式3) 循环体语句; 功能:先执行表达式1语句,然后判断表达式2的值是否为真(值非0);如果为真,则执行循环体语句,接着执行表达式3,再判断表达式2的值;如此重复执行,直到表达式2的值为0终止循环,跳转到循环体之后的语句执行。 for ( 循环变量赋初值;循环继续条件。

7、;循环变量更新 ) 循环体语句,【例5.6】 使用for循环语句实现例【5.2】的要求,用户从键盘输入20个数,求它们的和并输出结果。,#include void main() float x,sum=0; /*定义并初始化变量*/ int i; /*定义并初始化循环控制变量*/ printf ( “请输入数据:” ); for ( i=1; i=20; i+ ) scanf(“%f, ,【例5.5】用for语句完成【例5.1】的要求,计算s2+4+6+8+2n并输出计算结果s。,#include void main int i, x , n , s=0; /*定义并初始化变量*/ print。

8、f ( “请输入n的值:”) ; scanf ( “%d” , ,5.2.2 for循环语句使用说明,1、for语句可以取代while语句或do-while语句,尤其对于确定循环次数的循环,使用for语句让程序结构更加直观和容易理解。 2、for语句中()中的三条表达式语句可以省略,即可以将它们写在程序其他地方,但是它们之间的分号“ ;”不可省略。,如何选择循环语句,需要入口条件循环 涉及到循环控制变量初始化和更新的时候,即循环次数已知的情况( 用for语句) 不涉及循环控制变量的时候使用while循环 (while语句 ) 出口条件循环 do-while语句,5.2.3循环嵌套的形式,在一个。

9、循环体内有包含另一个完整的循环结构,这样的循环结构称为循环的嵌套,也就是多层循环。其中包含其他循环、处于外部的循环叫外层循环,被包含在内部的循环也叫内层循环。,(2) for (; ; ) while () (4)for (; ; ) for (; ; ) ,(1)while () for (; ; ) (3)for (; ; ) do while() ,#include void main( ) 定义并初始化变量; 请输入n的值; for( i=1; i= n; i+ ) /*外层循环*/ 计算i!值; /*内层循环计算i!*/ 将i!的值累加到s中;/*累加到s中*/ /*for循环结束*。

10、/ 显示计算结果; ,j=1; x=1; while(j=i) x=x*j; j+; ,int i,j,x,s=0;,【例5.7】编写程序,计算s1!+2!+3!+.+n!,其中n是由用户输入的整数(小于8),计算完成后显示结果。,#include void main( ) int i,j,x,n,s=0; printf(“请输入n的值:”); scanf(“%d”, /*显示结果*/ ,内层循环,外层循环,5.3流程转向语句,break语句: break; 作用:强行结束循环,跳出本层循环转向循环体外的下一条语句。 通常与if语句在一起使用: if(条件表达式) break;,#includ。

11、e void main ( ) int i=1, s=0; while ( i999 ) break ; /*终止循环*/ printf (“s=%d”, s ); ,例如:,注意:break语句只能跳出一层循环,如果它位于多层嵌套循环的内层,那么只能终止break语句所在的那层循环。,int i, j; for (i=0; i100) break; /*跳出内层循环*/ if (i100 ) break; /*跳出外层循环*/ ,continue语句 continue; 功能:跳过当前循环体剩余语句,直接开始执行下一轮循环。,通常与if语句在一起使用: if(条件表达式) continue;。

12、,【例5.9】计算1000以内所有不能被3整数的正整数之和并显示结果。,#include void main ( ) int i, s=0; for (i=1; i1000; i+) if ( i%3 = 0) continue ; /*结束本轮循环*/ s += i ; printf (“s=%d”, s ); ,【例5.11】编写一个程序,接收用户从键盘输入的字符,当用户输入回车时表示确认输入,统计用户输入了多少个字符(不含回车符)。,程序设计分析: 1)无法预知循环的执行次数; 2) 使用循环来接收用户的输入,每次接收一个字符都判断以下是否是回车符,如不是则把计数变量的值增加1。,5.4。

13、 循环结构程序举例,#include void main ( ) char c; int i=0; /*计数变量初始化*/ printf (“请输入字符串(以回车确认):n”); c=getchar( ); /*接收字符*/ while (c != n) /*判断是否是结尾*/ i+; /*计数增加1*/ c=getchar( ); /*继续接收字符*/ printf(“字符串中共%d个字符!”, i ); ,【例5.12】编写程序完成功能:输入一个大于或等于0的整数,计算它是一个几位数(0算一位整数)。,#include void main ( ) int x , n; printf (“请。

14、输入一个整数:”); scanf (“%d”, ,* * * * * * * * * * * * * * *,* * * * * * * * * * * * * * * * * * * * * * * * *,* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *,1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1,1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1,a。

15、 a b a b c a b z,图1,图2,图3,图4,图5,图6,输出图形,方法:主要是找规律 1、图形总共有几行并寻找其变化规律用循环控制实现 2、寻找每行符号的变化规律 每一行的空格个数与行数之间的关系(用一个内循环实现) 如果每行显示相同字符但字符个数不同,则按其规律找出显示的字符个数与行数之间的关系(用一个内循环实现) 如果每行显示不同的字符,则找到这些字符的变化规律与行数之间的关系(用一个或几个内循环实现),输出图形一般都要用二层循环嵌套实现,【例5.13】编程实现输出n层用字符“*”构成的“*”符金字塔图形,n是由用户输入的正整数。下图是5层“*”符金字塔图形:,同4(11)题,* * * * * * * * * * * * * * * * * * * * * * * * *,素数:只能被1和自身整除的数 x: 从2x-1中依次逐个判断能否被x整除,找到就提前终止循环。,【例5.15】用户输入一个数,判断它是不是素数并给出其他判断结果,选择填空题 课后编程题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值