while循环结构

迭代语句通常称为循环,它重复执行操作直到满足某个条件才停下来。while和for语句在执行循环体之前检查条件,do while语句先执行循环体,然后再检查条件。

在 C 语言中, while 循环用于在给定条件为真时,重复执行一段代码。
 
其基本语法结构为:

while 
{
    // 循环体,要重复执行的代码
}

执行过程如下:
 
首先计算 条件表达式 的值,如果值为真(非零),则执行 循环体 中的语句。执行完 循环体 后,再次计算 条件表达式 的值,若仍为真,继续执行 循环体 ;若 条件表达式 的值为假(零),则结束 while 循环,执行后续的代码。

例子如下:

#include <stdio.h>

int main()
{
    int i = 1;
    while (i <= 5)
    {
        printf("%d ", i);
        i++;
    }
    return 0;
}

while循环与for循环的区别:

在 C 语言中, while 循环和 for 循环有以下一些区别:
 
1. 语法结构:
 
  while 循环的语法结构为: while(条件表达式) { 循环体 } 
  for 循环的语法结构为: for(初始化表达式; 条件表达式; 更新表达式) { 循环体 } 
2. 初始化部分:
 
  while 循环在循环开始前,没有专门的初始化部分。相关的初始化操作通常在 while 循环之前进行。
  for 循环将初始化、条件判断和更新操作都集中在一个语句中,使得循环的控制更加清晰和简洁。
3. 适用场景:
 
 如果循环的条件判断在循环开始前不太容易确定,或者初始化操作比较复杂且与循环条件没有直接关系,可能更适合使用 while 循环。
 当循环的次数明确或者需要在循环过程中进行多个控制操作(如初始化、条件判断和更新)时, for 循环通常更方便。
4. 灵活性:
 
  while 循环相对来说更加灵活,因为它的结构更简单,只关注条件判断。
  for 循环由于其完整的结构,在一些情况下可以使代码更具可读性和可维护性。
 
 

关于while循环的一些例子:

输入任意正整数,逆序输出该正整数。

#include<stdio.h> 
int    main(){
   int n;
    scanf("%d", &n);
    while(n){
    printf("%d", n%10);
    n /= 10;
    }
    return    0;}

输入正整数n,统计1到n的范围内1共出现多少次。

#include<stdio.h>
int main()
{
    int n, i, temp, count = 0;
    scanf("%d", &n);
    for(i = 1; i <= n; i++){
    temp = i;
    while(temp){
    if(temp % 10 == 1) 
    count++;
    temp /= 10;
    }}
    printf("%d", count);
    return 0;
}

回文数是指一个数字从左到右和从右到左读取都相同的数。例如,数字121、5335和6084806都是回文数,而123和987不是回文数,因为它们不能以其数字的原始顺序反向读取。输入一个正整数n,若是正整数则输出"是回文数",否则输出"不是回文数"。

#include<stdio.h>
int main()
{
    int n, revs = 0, temp;
    scanf("%d", &n);
    temp = n;
    while(n){
    revs = revs*10+n%10;
    n /= 10;
    }
    if(temp==revs)
    printf("%d是回文数",temp);
    else
    printf("%d不是回文数",temp);
    return 0;
}

水仙花数只是自幂数的一种,自幂数是指一个 n 位数,它的每个位上的数字的 n 次幂之和等于它本身,其它位数的自幂数名字包括:一位自幂数:独身数 {0,1,2,3,4,5,6,7,8,9}三位自幂数:水仙花数 {153,370,371,407}四位自幂数:四叶玫瑰数 {1634,8208,9474}五位自幂数:五角星数{54748,92727,93084}六位自幂数:六合数 {548834}七位自幂数:北斗七星数 {1741725,4210818,9800817,9926315}八位自幂数:八仙数 {24678050,24678051,88593477}九位自幂数:九九重阳数 {146511208,472335975,534494836,912985153}十位自幂数:十全十美数 {4679307774}通过编程计算输出所有的一位自幂数至七位自幂数。

#include<stdio.h>
int main()
{
    int i, j, sum, temp;
    for(i = 1; i <= 7; i++){
        for(j = pow(10, i-1);j < pow(10, i);j++){
        sum = 0;
        temp = j;
        while(temp){
        sum += pow(temp%10, i);
        temp /=10;
        }
        if(sum == j)printf("%d\t", sum);
        }
        printf("\n");}
    return 0;
}

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值