编程C本: 帖子 7 – WHILE循环, 的…而仲Ç

在以前的帖子, 我们变得与我们反复多次该实用程序的循环熟悉. 本文中,我们继续学习 2 其他类型的循环具有类似的功能使用循环,但有一点不同的环路 的…而.

你知道,我们需要登录的网站? 如Facebook或谷歌简单. 如果你写了错误的用户名或密码将不能任凭多少签下时候你输入更多. 每一个错误是,他们再次赶上我们在. 很显然,在排位赛我们经常看到一个for循环重复某些特定时间 1 到n,… 但日志不知道有多少次,只有新的是真实的,新的结局. 这是怎样的,而循环等…而.

1. WHILE循环

While循环结构

WHILE循环

结构, 流程图,以及它是如何工作的,而循环

例 1:

在任何数量的写一个程序,直到它停止输入负数.

#include <stdio.h>

int main()
{
    int x = 1; // make x >= 0 is true -> while will run

    while (x >= 0)
    {
        printf("Nhap vao mot so : ");
        scanf("%d", &x);
    }

    printf("Ok, Program is finish!\n");

    return 0;
}

注意: 以上你只需要声明只值分配给变量x 1 以保证原始while循环条件右内执行命令, 然后每个条目,然后输入该公司的X收到什么. 如果没有设置启动 1 它可以x将接收 1 随机值,可以使循环用声音失败.

结果:

输入一些 : 4
输入一些 : 5
输入一些 : 2
输入一些 : 0
输入一些 : 1
输入一些 : -3
行, 计划是完成!

例 2:

打印数量 9 关于 0 降序. 数位于 1 当前.

通常情况下,你会觉得循环. 确定标准. 但在这里我想让你知道如何使用做得好,而.

#include <stdio.h>

int main()
{
    int n = 10;

    while (n--)
    {
        printf("%d ", n);
    }

    printf("\n");

    return 0;
}

简单. 但要注意在上面的代码中while循环位的条件是什么?

这是其他N 0 或不. 书写时 while (n--) 即检查其余n 0 与否或可以理解为右Ñ (正确的是 0) 打印作业数n. 仍然工作 n-- 那么就减去ñ 1 独立单元. 而在结果的重要注意事项:

9 8 7 6 5 4 3 2 1 0

为什么 0 仍然在打印而根据分析,当n = 0 即条件为假, 错了,他们必须逃跑,而? 这是由于表达 n-- 我们的. 当n = 1 然后 n-- 将N值 0. 但通过除在后面n中的表达它的检查次数n之后作出= 0. 即当n = 1 表达 while(n--) 仍然是正确的,然后删除新的N 0 并执行工作, 所以,当将打印打印数 0.

2. 环…而

循环结构…而

循环...而

结构, 流程图,以及它是如何工作循环…而

例 1

保存您的Facebook密码前. 编写一个程序,输入密码登录.

#include <stdio.h>
#include <string.h> // for strcmp function

int main()
{
    char p[20] = "Iloveyou";      // pass saved
    char pass[20];              // pass must enter

    do 
    {
        printf("Enter your password: ");
        gets(pass);
    } while ( strcmp(p, pass) != 0);

    printf("Ok. You are login success!\n");

    return 0;
}

结果:

输入您的密码: 办事处
输入您的密码: nguyenvanquan
输入您的密码: ILOVEYOU
输入您的密码: ILOVEYOU
行. 您是登录成功!

注意: 在上面的代码, 我已经使用了功能 strcmp的比较 2 链, 该功能位于库 文件string.h

STRCMP功能比较字符串和字符串P合格并给出结果:

  • 1 如果p比传球更大
  • 0 如果p相同的通
  • -1 如果p小于通

因此,我们必须条件 strcmp(p, pass) != 0 即 2 该序列是不相同.

详细对比 2 链, 您参考可言 比较 2 在C字符串 – STRCMP

3. 比较, 使用循环, 而, 的…而

  • 循环常用知道确定的迭代次数.
  • 通常while循环, 的…在使用未知数量的迭代
  • 当调用while循环, 的…而, 如果条件为假, while循环将不被执行一次,但环…而变现 1 时间.

锻炼

  1. 编写一个程序,重复输入一个字符工作并打印出该字符的ASCII码, 当进入 0 然后停止. ( 参考 ASCII编码 )
  2. 编写打印出信件的程序: “你爱我不?”, 并为用户输入c (有) 或k (不). 当进入C,停止程序, 即使他们自己也开始进入重新输入ķ^^. (发送女朋友/男朋友)
  3. 进入 1 号码, 其成就主要因素分析.
  4. 编写一个程序,找到USCLN, 的BSCNN 2 号码.