C语言程序设计笔记5:循环控制
这个系列是用来解决学校C语言课程的,并不适用于ACM和OI
本系列博客分为2部分,分别是 C语言程序设计笔记(网课) 和 课堂总结(线下课)
欢迎转载ssw02的博客: https://www.cnblogs.com/ssw02/p/15994555.html
C语言程序设计笔记5-1
1.for循环语句
我们在上一节中学习了while这个循环语言,但是我们发现while循环虽然简洁,但是多种条件(起始、过程、结束)的时候相当的麻烦。这个时候我们使用另外一种循环语句来实现可能更加方便。
for( 起始语句 ; 终止判断语句 ; 控制条件语句 ){
执行代码块
}
举个例子:给定一个大于1小于10的数n, 求n!
#include<stdio.h>
using namespace std;
int fac = 1 , n ;
int main(){
scanf("%d",&n) ;
for( int i = 1 ; i <= n ; ++i )fac *= i ;//i从1开始,只要i小于等于n,fac就乘上当前的i,再执行i自加
printf("%d",fac) ;
}
这里强调一下,for循环语句并不是一定需要 起始语句 终止判断语句 控制条件语句 这三个部分,如下
#include<stdio.h>
using namespace std;
int fac = 1 , n ;
int main(){
scanf("%d",&n) ; int i = 1 ;
for( ; ; ++i ){//这里我就把起始语句和终止判断语句提了出来
fac *= i ; if( i <= n )break ; //break语句我们下面讲
}
printf("%d",fac) ;
}
2.break和continue
我们在制定了一个循环流程后,有的时候我们需要程序在某些参数满足一定条件后就终止,而不是等到终止判断语句来结束;又或者有的时候我们想要跳过某个特定值所在的循环流程的时候,我们就需要有相应的工具。
break;
单独使用可以跳出当前所在的循环(相当于直接结束循环)
continue;
单独使用可以本轮循环语句进入下一轮
举个例子:我们要计算 10!/5,并且强制要求使用while(1)循环
#include<stdio.h>
using namespace std;
int main(){
int fac = 1 , i = 0 ;
while(1){
i++ ;
if( i > 10 )break ;//终止条件,break会直接跳出整个循环
if( i == 5 )continue ; //i=5时跳过当前这一轮循环,不执行fac*= i,进入下一轮;
fac *= i ;
}
printf("%d",fac) ;
}
C语言程序设计笔记5-2
这个版块全是习题详细请见:课堂总结5