c语言从0->1入门——循环语句(二)

简介: c语言从0->1入门——循环语句(二)

关于作者:

2019NOIP退役成员,学习c语言已有多年经验, 更懂得考试的题目,和初学者学习时所遇到的问题

华为云享专家,以及CSDN的新星创作者,有写博客的一定能力

关于本栏目

本栏目的宗旨是带你入门c语言,作者打算用题海+c语言的概念来完成本栏目,

适用人群: 面向广大的编程爱好者和大学生来进行创作

学完本栏后你能达到的水平:计算机二级水平左右,入门c语言学习

题目:主要来源于网络和c语言的入门算法题目

写在前面的话(第八天)

记住我们的宗旨:努力去做,让一切交给时间来评判!

今天我们学习俩个语句:while和do…while语句

while语句

while(condition)//为真执行循环体
{
   statement(s);
}

while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。

#include <stdio.h>
 //输出0-9
int main ()
{
   int a = 0;
   while( a < 10 )
   {
      printf("a 的值: %d\n", a);
      a++;
   }
   return 0;
}

do…while语句

do
{
   statement(s);

}while( condition );

与while循环不同的地方是:
do...while循环至少执行一次

#include <stdio.h>
int main ()
{
   int a = 0;
   do
   {
           printf("我虽然不满足条件,但是也执行一次");
       }while(a>0);
   return 0;
}

案例

我们来做一个案例,巩固一下这俩天学的知识:

假设用户的密码是一个三位整数,令用户输入密码,如果输入成功,则提示welcome,如果输入失败,则提示”bad password“,如果三次都没有输入成功,则锁定,提示:"user locked"

用do…while+if判断:

#include <stdio.h>
int main()
{
    int key = 123;
    int times = 0;//次数
    bool passed = 0;
    do
    {
        times++;
        int input = 0;
        printf("请输入密码:");
        scanf_s("%d", &input);
        if (key == input)
        {
            passed = 1;
            break;
        }
        else
        {
            printf("bad password\n");
        }
    } while (times < 3);
    if (passed)
    {
        printf("Welcome");
    }
    else
    {
        printf("user locked");
    }
    return 0;

}
使用 while, for 分别输 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);
}
#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);
}
用 continue 语句求输出 100~200 之间的不能被3整除的数
#include<stdio.h>
int main()
{
    int n;
    for(n=100;n<=200;n++)
    {
        if(n%3==0)
            continue;
        printf("%d",n);
    }
    printf("\n");
    return 0;
}

最后

留一个作业:

打印房子问题:
观察下面图片,来写出代码:

在这里插入图片描述
在这里插入图片描述

#include<iostream>
using namespace std;
int main()
{
    int n,m;
    cin >> n >> m;
    for(int i = 1; i<=n; i++)
    {
        for(int j = 1;j<=m; j++)
        {
            cout<<"+-";
        }
        cout<<"+"<<endl;
        for(int j = 1;j<=m; j++)
        {
            cout<<"|*";
        }
        cout<<"|"<<endl;
    }
    for(int j = 1;j<=m; j++)
    {
        cout<<"+-";
    }
    cout<<"+"<<endl;
    return 0;
}

循环就到此结束了,这块很重要还请多花时间来学习!!!

相关文章
|
15天前
|
C语言
C语言之循环语句
C语言之循环语句
24 0
|
19天前
|
JavaScript C语言
C语言/JS循环语句执行速度控制 | C语言爱心
C语言/JS循环语句执行速度控制 | C语言爱心
16 0
|
19天前
|
存储 自然语言处理 编译器
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(3)
|
5天前
|
C语言
初识C语言~循环语句
初识C语言~循环语句
|
11天前
|
存储 缓存 算法
C语言循环语句的探讨与实践
C语言循环语句的探讨与实践
19 1
|
13天前
|
C语言
【C生万物】C语言分支和循环语句
【C生万物】C语言分支和循环语句
|
16天前
|
编译器 C语言
函数深入解析(C语言基础入门)
函数深入解析(C语言基础入门)
|
16天前
|
C语言
数组深入剖析(C语言基础入门)
数组深入剖析(C语言基础入门)
|
19天前
|
算法 C语言 芯片
振南技术干货集:振南当年入门C语言和单片机的那些事儿(1)
振南技术干货集:振南当年入门C语言和单片机的那些事儿(1)
|
26天前
|
C语言
【C语言】用三种循环语句 计算1到1000之间能被2或3整除的数的总和
【C语言】用三种循环语句 计算1到1000之间能被2或3整除的数的总和

相关实验场景

更多