亲宝软件园·资讯

展开

C语言循环结构

Zoroxs 人气:0

总述

生活中不止处处是选择,还时常面临着重复做某事,比如呢,我们日复一日的学习、敲代码、

C语言中提供了 —while循环—for循环—do-while循环来表达循环

接下来,对三种循环进行分别介绍

while循环

while循环的流程图大致就是这样子

语法结构

while( expression )   //判断表达式是否成立,成立就执行循环体,不成立则不进入
循环体;

接下来我们使用一下while循环,打印1-10的数字

#include <stdio.h>
int main(){
    int i = 1;
    while(i < 11)
        printf("%d ",i++);
    return 0;
}

这便是while最简单的用法,接下来看一下while中的break和continue

while循环中break和continue

break

看到break大家肯定不陌生,选择结构中的switch-case就要搭配着break使用哦

#include <stdio.h>
int main(){
    int i = 1;
    while(i < 11)
    {
        if( 5 == i)
            break;
        printf("%d ",i++);
    }
    return 0;
}

可以看出,当i=5的时候,直接跳出了整个循环不再执行

break是直接跳出循环,也是直接跳出switch-case

continue

在英语中,continue是继续的意思 ,在循环中,表示跳过这次循环进行下一次循环

#include <stdio.h>
int main() {
    int i = 1;
    while (i < 11)
    {
        if (5 == i)
            continue; // 把break换成continue试一下
        printf("%d ", i++);
    }
    return 0;
}

大家可以猜一下,可想而知,大家可能会认为结果是 1 2 3 4 6 7 8 9 10 跳过5,我们来分析一下

光标一直在闪烁,死循环,那怎么样才能达到跳过5的效果呢,

核心问题在于**这样i的值没办法变化,那我们把i放在continue前面来试试**

#include <stdio.h>
int main() {
    int i = 0;
    while (i < 11)
    {
        i++;
        if (5 == i)
            continue;
        printf("%d ", i);
    }
    return 0;
}

这样continue就不会跳过循环因子 -i 的变化,所以不会死循环,来看结果

成功跳过了5,大家在while循环中使用continue时一定要注意循环因子的问题

continue 在while循环中的作用就是:

for循环

语法结构

for( 表达式1 ; 表达式2 ; 表达式3)

循环体;

for循环中break和continue

break

for循环中break与while循环中break完全相同,表示跳出循环

#include <stdio.h>
int main() {
	int i = 0;
	for (i = 1; i < 10; i++) {
		if (5 == i)
			break;
		printf("%d ", i);
	}
	return 0;
}

break基本没啥区别,就是跳出循环

continue

for循环中continue跳出的依然是此次循环,但是并不会跳过表达式3

#include <stdio.h>
int main() {
	int i = 0;
	for (i = 1; i < 10; i++) {
		if (5 == i)
			continue;
		printf("%d ", i);
	}
	return 0;
}

依然是跳过5,continue不会跳过表达式3,意味着i++可以执行,不会造成死循环

当然,一个人想写bug谁也拦不住他

比如:

for循环中省略表达式的问题

for循环中有3个表达式,都可以省略,但是分号一个不能少

int main(){
    int i = 0;
    //可以写成这样
    for (i=0;i<10;)
        ;
    //还可以这样
    for(i = 0;;)
        ;
    //甚至是这样
    for(;;);  //三分号一个也不能少
}

for(;

加载全部内容

相关教程
猜你喜欢
用户评论