C语言程序设计谭浩强版 八
来源:互联网 发布:奇葩男士网络剧 编辑:程序博客网 时间:2024/06/05 14:51
6.1 循环控制概述
循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某
程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为
循环体。C语言提供了多种循环语句,可以组成各种不同形式的循环结构。
1) 、用goto语句和if语句构成循环;
2) 、用while语句;
3) 、用do-while语句;
4) 、用for语句;
6.2 goto语句以及用goto语句构成循环
goto语句是一种无条件转移语句,其一般形式为:goto 语句标号;
语句标号用标识符表示,它的定名规则与变量名相同,即由字母,数字和下划线组成,
其第一个字符必须是字母或者下划线,不能用整数来做标号。
goto语句通常不用,主要因为它将使程序层次不清,且不易读,但在多层嵌套退出时, 用
goto语句则比较合理。
例6.1 用goto语句和if语句构成循环,。
#include<stdio.h>int main(void){ int i,sum = 0; i = 1; loop: if(i <= 100) {sum = sum + i;i ++;goto loop; } printf("%d\n",sum);}
6.3 while语句
while语句的一般形式为:while(表达式)语句
其中表达式是循环条件,语句为循环体。
while语句的语义是:计算表达式的值,当值为真(非0)时, 执行循环体语句。
例6.2 用while语句求
#include<stdio.h>int main(void){ int i,sum = 0; i = 1; while(i <= 100) {sum = sum + i;i++; } printf("%d\n",sum);}
使用while语句应注意以下几点:
1)、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的
值为真(非0)即可继续循环。
2)、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
例6.3 统计从键盘输入一行字符的个数。
#include<stdio.h>int main(void){ int n = 0; printf("input a string:\n"); while(getchar() != '\n') {n++; } printf("%d\n",n);}
使用while语句应注意以下几点:
1)、while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的
值为真(非0)即可继续循环。
2)、循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。
6.4 do-while语句
do-while语句的一般形式为:
do
语句
while(表达式);
与while循环的不同在于:它先执行循环中的语句,然后再判断表达式是否为真,
如果为真则继续循环;如果为假, 则终止循环。因此, do-while循环至少要执
行一次循环语句。
例6.5 用do-while语句求
#include<stdio.h>int main(void){ int i,sum = 0; i = 1; do {sum = sum + i;i ++; } while(i <= 100); printf("%d\n",sum);}
6.5 for语句
在C语言中,for语句使用最为灵活,它完全可以取代 while 语句。
它的一般形式为:for(表达式1;表达式2;表达式3) 语句
for语句最简单的应用形式也是最容易理解的形式如下:
for(循环变量赋初值;循环条件;循环变量增量) 语句
例如: for(i=1; i<=100; i++)
{
sum=sum+i;
}
6.6 循环的嵌套
例6.7 循环的嵌套
#include<stdio.h>int main(void){int i,j,k;for(i = 0;i < 2;i++) for(j = 0;j < 2;j++) for(k = 0;k < 2;k++)printf("%d %d %d\n",i,j,k);}
6.7 几种循环的比较
1) 、四种循环都可以用来处理同一个问题,一般可以互相代替。
但一般不提倡用goto型循环。
2)、 while和do-while循环,循环体中应包括使循环趋于结束的语句。
for语句功能最强。
3) 、用while和do-while循环时,循环变量初始化的操作应在while和
do-while语句之前完成,而for语句可以在表达式1中实现循环变
量的初始化。
6.8 break和continue语句
6.8.1 break语句
break语句可以使流程跳出switch结构,继续执行switch语句下面的一个语句,
实际上,break语句还可以用来从循环体内跳出循环体。
例6.8
#include<stdio.h>int main(void){int i = 0;char c;while(1){c = '\0';while(c!=13 && c!=27){c = getchar();printf("%c\n",c);}if(c == 27)break;i++;printf("The No. is %d\n",i);}printf("The end");}
6.8.2 continue 语句
continue其作用为结束本次循环,即跳出循环体中下面尚未执行的语句,接着
进行下一次是否执行循环的判定。
continue语句和break语句的区别是:
continue语句只结束本次循环,而不是终止整个循环的执行
break语句是结束整个循环过程,不再判断执行循环的条件是否成立。
例6.9
#include<stdio.h>int main(void){char c = '\0';while(c!=13){c = getchar();if(c == 0x1B)continue;printf("%c\n",c);}}
- C语言程序设计谭浩强版 八
- C语言程序设计谭浩强版 十 八
- C语言程序设计谭浩强版 一
- C语言程序设计谭浩强版 二
- C语言程序设计谭浩强版 三
- C语言程序设计谭浩强版 四
- C语言程序设计谭浩强版 五
- C语言程序设计谭浩强版 六
- C语言程序设计谭浩强版 六
- C语言程序设计谭浩强版 七
- C语言程序设计谭浩强版 九
- C语言程序设计谭浩强版 十
- Linux C语言程序设计(八)——树的基本概念介绍
- C语言程序设计谭浩强版 十 一
- C语言程序设计谭浩强版 十 二
- C语言程序设计谭浩强版 十 三
- C语言程序设计谭浩强版 十 四
- C语言程序设计谭浩强版 十 五
- thinphp IS_POST对网站安全有帮助吗
- Django自动添加当前日期时间到数据库
- RDD学习笔记
- Debian8开源显卡驱动安装
- 51Nod-1042-数字0~9的数量
- C语言程序设计谭浩强版 八
- [leetcode] 238. Product of Array Except Self
- 自己的故事自己讲-从一个挖煤的如何入门编程的故事。
- 技能树
- 【LEETCODE】376- Wiggle Subsequence [Python]
- Hamachi(蛤蟆吃)使用步骤及问题解决【非官方=,=】
- Java内部类基础
- Golden Dream - 8月
- [leetcode] 347. Top K Frequent Elements