- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[理学]第5章循环语句
第5章 循环语句 循环的本质:不断地重复某种动作。 对计算机程序而言,循环必须具备两个重要因素: 1. 在一定的条件下,重复执行一组指令 2. 必然出现不满足条件的情况,使循环终止 5.1 for语句 一、语法结构 for (初始表达式;条件表达式; 循环表达式) 语句体 一种形式灵活的循环语句。 ?、计算初始表达式的值。 ?、判断条件表达式,若条件表达式的值?0,则执行语句体,转第?步; 若条件表达式的值=0,则跳出循环体。 ?、计算循环表达式。 ?、转到第?步。 二、执行过程 三、流程 =0(假) ?0(真) 计算初始表达式 求条件表达式的值 语句体 计算循环表达式 for循环外的语句 四、实例 用for循环来计算 ,程序如下: #include stdio.h main( ) { int i, sum; sum=0; for (i=1; i=100; i++) sum+=i; printf(sum=%d, sum); } 五、 for语句的几种特例 (1) 可以省略初始表达式, 但须保留分号 ; 且在for之前必须给循环变量赋值; 例: 任意输入两个整数a, b,求 #include stdio.hmain ( ){ int i, j, a, b, sum; printf (please input two number!\n); scanf (a=%d, b=%d, a, b); i=a; j=b; if (ab) {i=b; j=a;} for (; i=j; i++) sum=sum+i; printf ( \n sum=%d, sum);} (2) 条件表达式一般不可省略,否则为无限循环 相当于: while (1) { sum=sum+i; i++; } 例: for (i=1; ; i++) sum=sum+i; 相当于条件永真、永不为0, 若用while表示 (3) 循环表达式亦可省略,但在循环体中必须有语句 来修改循环变量,以使条件表达式在某一时刻 为0而正常结束循环。 例: for (sum=0,i=1;i=100; ) /* 没有循环表达式 */ { sum=sum+i; i++; /*此处为循环表达式 */ } (4) 若同时省略初始表达式,和循环表达式,则相当于while语句。 相当于 while (i=100) { sum+= i; i++; } 例: for ( ; i=100; ) {sum+=i; i++;} (5) 三个表达式均省略 即for(;;)语句则相当于while(1)语句,为无限循环。 (6)初始表达式、循环表达式可以是逗号表达式,以使循环变量值在修改时可以对其它变量赋值。 如: for (sum=0, i=1; i=100; i++, i++) 相当于:sum=0; for (i=1; i=100; i=i+2) (7) 条件表达式可以是关系表达式,也可以是数值表达式或字符表达式。只要值?0.即执行循环体. 例: for (i=0; (c=getchar( ))!=\n; i+=c); 条件表达式 5.2 while语句 1. 形式: while (表达式) 语句体 2. 执行过程: 先判断表达式的值。若?0.则执行其后面的语句体, 否则while执行完毕。 专门的当型循环语句––while语句 3. 流程图: ?0 =0 表达式 循环体语句 下一语句 例如:int n=0; while (n=10) n=n+1; (2) 语句中应有使表达式=0的语句。 否则会出现无限循环–––死循环。 (1)若while后面的语句为复合语句, 必须加{ } (3) 语句有可能一次也不执行 5.3 do...while语句 一、语法结构 do 语句体 while(条件表达式); 二、执行过程 先执行语句体,再判断条件表达式的值,若?0,再执行语句, 否则结束循环。 循环体语句 表达式 ?0 =0 三、 流程 #include stdio.hmain ( ){ int i, sum=0; i=1; do { su
文档评论(0)