- 1、本文档共87页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第六章;C语言的重复语句用于设置循环。
循环是重复执行其他语句的一种语句,循环中重复执行的语句就是循环体
C语句中,每个循环都有一个控制表达式。
每次执行循环体时都要对控制表达式进行计算。
如果表达式为真,也就是不为零,那么继续执行循环。
;C 提供三种循环语句:
while语句:用于判定控制表达式在循环体执行之前的循环。
do语句:用于判定控制表达式在循环体执行之后的循环。
for语句:对于自增或自减计数变量的循环十分方便。
;使用while语句是最简单、最基本的设置循环??法。
While语句格式如下:
while ( 表达式) 语句
表达式即为控制表达式;语句则是循环体。
;while语句示例:
while (i n) /* 控制表达式 */
i = i * 2; /* 循环体 */
执行while语句时,首先计算控制表达式的值。
如果值不为零(真),那么执行循环体,接着再次判定表达式。
这个过程持续进行直到最终控制表达式的值变为零。;while语句示例:计算大于或等于数n的最小的2次幂:
i = 1;
while (i n)
i = i * 2;
设n为10时,下面跟踪显示了while语句执行情况:
i = 1; i现在值为1.
i n成立吗? 是,继续。
i = i * 2; i现在为2.
i n成立吗? 是,继续。
i = i * 2; i现在为4。
i n成立吗? 是,继续。
i = i * 2; i现在为8。
i n成立吗? 是,继续。
i = i * 2; i现在为16。
i n成立吗? 不成立,退出循环。
;虽然循环体必须是单独的一条语句,但这只是个技术问题。
如果需要多条语句,那么只要用一对大括号构造成单独一条复合语句就可以了:
while (i 0) {
printf(T minus %d and counting\n, i);
i--;
}
即使没有严格要求的时候,一些程序员始终使用大括号括住循环体:
while (i n) {
i = i * 2;
}
;下面的语句显示一串“倒数计数”信息:
i = 10;
while (i 0) {
printf(T minus %d and counting\n, i);
i--;
}
整个过程持续到显示信息为“T minus 1 and counting”。
;关于while语句的一些讨论:
在while循环终止时,控制表达式的值为假。因此,当通过表达式i 0控制循环终止时,i必须是小于或等于0的。
可能根本不执行while循环体。因为控制表达式是在循环体执行之前进行判定。
while语句常常可以有多重写法。更加简明的递减计数循环如下:
while (i 0)
printf(T minus %d and counting\n, i--);
;如果控制表达式的值始终是非零值的话,while语句将无法终止。
C语句程序员有时故意用非零常量作为控制表达式来构造无限循环:
while (1) …
除非循环体含有跳出循环控制的语句(break, goto, return)或调用了导致程序终止的函数,否则上述这种形式的while语句将永远执行下去。
;程序square.c用一个while语句显示平方值表格。
用户指定平方值表格的行数:
This program prints a table of squares.
Enter number of entries in table: 5
1 1
2 4
3 9
4 16
5 25;square.c
?
/* Prints a table of squares using a while statement */
?
#include stdio.h
?
int main(void)
{
int i, n;
printf(This program prints a table of squares.\n);
printf(Enter number of entries in table: );
scanf(%d, n);
?
i = 1;
while (i = n) {
printf(%10d%10d\n, i, i * i);
i++;
}
?
return 0;
}
;程序sum.c 对用户输入的整数数列求和:
This program
您可能关注的文档
- H3C交换机维护经典命令.ppt
- H3C 4G路由器解决方案.ppt
- 数据挖掘决策树算法ID3和C4.5.ppt
- C2C交易操作流程.ppt
- 核磁处理软件Mestre-C讲座5.ppt
- C&C++跨平台编码教程.ppt
- C&C08交换机的系统概述.ppt
- c语言指针教程.ppt
- C语言数组教程.ppt
- C语言顺序结构.ppt
- 2025年春新北师大版八年级物理下册全册课件.pptx
- 2025年春新北师大版八年级物理下册全册教学课件.pptx
- 2025年秋季新北师大版八年级上册物理全册教学课件.pptx
- 2025年秋季新人教版九年级上册化学全册课件.pptx
- 2025年新人教版八年级上册物理全册课件.pptx
- 2025年秋季新人教版九年级上册化学全册教学课件(新版教材).pptx
- 新人教版七年级上册英语全册课件(2025年新版教材).pptx
- 锂离子电池前驱体磷酸铁合成方法研究现状及展望.docx
- 2024年东盟石油和天然气更新报告(英文版)-东盟.docx
- DB3209_T 1207.2-2022 建设工程档案管理 第二部分:房屋建筑工程文件归档和档案移交范围.docx
文档评论(0)