05循环

05循环

前言:

关于程序流:一般有顺序,循环,分支。

类型:

入口条件循环:while,for

出口条件循环:do while

while循环:
形式:
while (expreesion)
	statement
//在expression变为假之前,重复执行statement
//statement可以为一个简单语句或一个复合语句(加{})
例子:

将用户输入的整数进行加法运算:

#include<stdio.h>
int main(void)
{
    long num;
    long sum = 0l;
    int status;
    printf("Please enter an integer to be sumed.");
    printf("q to quit");
    status = scanf("%ld", &num);
    while(status == 1)
    {
        sum = sum + num;
        printf("Plese enter next integer (q to quit): ");
        status = scanf("%ld", &num);
    }
    printf("Those integers sum to %ld.\n", sum);
    return 0;
}

使用 while分别输 1~100 以内的所有的奇数和偶数的和:

#include  <stdio.h>

int main(){
    int  sum=0;
    int  num=1;
    int  sum2=0;
    int  num2=2;
    while(num<100){
        sum=sum+num;
        num=num+2;
    }
    printf("奇数和为:%d\n",sum);

    while(num2<=100){
        sum2=sum2+num2;
        num2=num2+2;
    }
    printf("偶数和为:%d\n",sum2);
}
for循环
形式:
for(initialize; test; update)
    statement
//在test为假之前重复执行循环
例子:

使用for分别输 1~100 以内的所有的奇数和偶数的和:

#include  <stdio.h>

int main(){

    int  sum=0;
    int sum2=0;
    int num,num2;
    for(num=1;num<100;num=num+2){
        sum=sum+num;
    }

    printf("奇数和%d\n",sum);
    for(num2=2;num2<=100;num2=num2+2){
        sum2=sum2+num2;
    }
    printf("偶数和%d\n",sum2);
}
do while循环
形式:
do
    statement
while(expression);
例子:

在用户输入13之前反复读取输入值

#include  <stdio.h>

int main(void)
{
    const int secret_code = 13;
    int code_entered;
    do
    {
        printf("to enter the triskaidekaphobia therapy club,\n");
        printf("please enter the secretv code number: ")
        scanf("%d",%code_entered);
    }while(code_entered != secret_code);
    printf("Congratulation! You are cured!\n");
    return 0;
}
嵌套循环
举例
#include <stdio.h>
#define ROWS 6
#define CHARS 10
int main(void)
{
    int row;
    char ch;
    for(row = 0; row < ROWS; row++)//外部循环
    {
        for(ch = 'A';ch < ('A' + CHARS):ch++)//内部循环
            printf("%c",ch);
        printf("\n");
    }
    return 0;
}

运行这个程序会产生下列输出:

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

ABCDEFGHIJ

#include <stdio.h>
int main(void)
{
    const int ROWS = 6;
    const int CHARS = 6;
    int row;
    char ch;
    for(row = 0; row < ROWS; row++)//外部循环
    {
        for(ch = ('A' + row);ch < ('A' + CHARS):ch++)//内部循环
            printf("%c",ch);
        printf("\n");
    }
    return 0;
}

输出结果为:

ABCDEF

BCDEF

CDEF

DEF

EF

F

循环关键字
break

程序终止包含他的循环,并进行程序的下一阶段。

如果break语句位于嵌套循环里,它只影响包含他的最里层的循环。

for(int i = 1, i < 5; i++)
{
    printf("%d", i);
    break;
}

该程序只打印一个1。

int p, q;
scanf("%d", &p);
while( p > 0)
{
    printf("%d \n",p * q);
    if(q > 100)
        break;//跳出里层循环
    scanf("%d", &q);
}
if(q > 100)
    break;//跳出外层循环
scanf("%d", &p);
continue

进行下一次循环

for(i = 1; i <= 5; i++)
{
    printf("前半句");
    continue;
    printf("后半句\n");
}

该程序只会打印五个“前半句”

例子:打印20以内的奇数:

for(i = 1; i <= 20; i++)
{
    if(i % 2 == 0)
    {
        continue
    }
    printf("%d", i);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值