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

posted @ 2022-03-07 20:42  蓝银杏-SSW  阅读(108)  评论(0编辑  收藏  举报
//结束