c语言中循环的介绍与简单应用

c语言中一共有三个循环,分别如下:

while ; do{}while(); for( ; ; );

while循环的使用方式,我们写一个显示平方表的方法应用一下

cpp 复制代码
#include<stdio.h>  
int main()  
{  
    int i = 0, n = 0;  
    printf("Enter number of entries in table: ");
    scanf("%d",&n);  
    i = 1;  
    while(i <= n)  
    {  
        printf("%10d => %10d\n",i,i*i);  
        ++i;   
    }  
    printf("\n");  
    return 0;  
}

在有循环语句的程序中,通常循环开始前对循环条件进行初始化;而在循环体语句中要包

含修改循环条件的语句,否则循环将不能终止而陷入死循环

我们再看一个例子:对用户输入的整型数列求和

cpp 复制代码
#include<stdio.h>  
int main()  
{  
    int n = 0,sum = 0;  
    printf("Enter intergers ( 0 to terminate): ");  
    scanf("%d",&n);  
    while(n != 0)  
    {  
        sum += n;  
        scanf("%d",&n);  
    }  
    printf("The sum is: %d \n",sum);  
    return 0;  
}

while循环和do ...while循环的区别在于,前者需要先判断,满足条件后才能进入循环,后者直接先运行一边循环体,再判断看是否继续执行循环体。也就是说do while循环至少执行一遍

do语句本质上就是while语句,只不过其控制表达式是在每次执行完循环体之后再进行判断

示例1:计算输入整型数值的位数

cpp 复制代码
#include<stdio.h>  
int main()  
{  
    int digits = 0,n;  
    printf("Enter a nonnegative integer: ");  
    scanf("%d",&n);  
    do  
    {  
        n /= 10;  //n = n/10;  
        digits++;  
    }while(n > 0);  
    printf("The Number has %d digit \n",digits);  
   return 0;  
}

对于"向上加"(变量自增) 或 "向下减"(变量自减) 的循环来说,for 语句通常是最好的选择。

for循环的常用方法如下:

cpp 复制代码
// 从0向上加到n-1  
for(i = 0; i < n; ++i) ...  
// 从1向上加到n  
for(i = 1; i <= n; ++i) ...  
// 从n-1向下减到0  
for(i = n-1; i >= 0; --i) ...  
//从n 向下减到1  
for(i = n; i > 0; --i) ...  
  
// 编写的控制表达式中把 i < n 写成 i <= n , 会犯"循环次数差一次" 错误

在使用for循环的时候可以在循环条件中省略表达式

for 循环中的"表达式1(初始化条件)"、"表达式2(循环条件)"和"表达式3(自增或自减)"都

是可选项,都可以省略(但分号';' 必须保留)

cpp 复制代码
int main()
{
    const int n = 10;
    int sum = 0; 
    int i = 1;  
    for(i = 1;i <= n;++i)     //1 常规写法
    {  
        sum = sum + i;  
    }  
    printf("sum : %d \n",sum);
    
    sum = 0;
    i = 1; 
    for(; i <= n;++i)         //2 省略表达式1, i= 1;
    {  
        sum = sum + i;
}
    printf("sum : %d \n",sum);
    
    sum = 0;
    i = 1;
    for(; i<=n;)             //3 省略表达式1和表达式2,  i= 1; ++i;
    {
        sum = sum + i;
        ++i;
    }
    printf("sum : %d \n",sum);
    
    sum = 0; 
    i = 1;
    for(;;)                   //4 省略表达式1,表达式2和表达式3,
    {
        if(i > n) break;  // 先判断,后执行
        sum = sum + i;
        ++i;
    }
    
    sum = 0; 
    i = 1;
    for(;;)                   //4
    {
        sum = sum + i;
        ++i;
        if(i > n) break;  // 后判断, 先执行
    }
    
    
    // 5 将循环语句写入表达式3中,注意使用,逗号分隔,不能使用分号';'分割。
    for(sum = 0, i = 1, i<= n; sum = sum+i,++i);  
    printf("sum : %d \n",sum);

如何写无限循环?

cpp 复制代码
while(1) { } 
for( ; ; ) {  }

以上就是c语言三大循环的使用以及示例

相关推荐
郝学胜-神的一滴1 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
dsyyyyy11011 小时前
JS复习,难点,易错点总结
开发语言·javascript·ecmascript
a187927218312 小时前
【算法】动态规划第四篇:背包收官——min 哨兵、计数世界与组合排列分水岭
算法·leetcode·动态规划·dp·01背包·算法讲解·决策合并
HRTOS2 小时前
HRTOS 4.0 驱动库:06_Storage 存储设备驱动——24C02 EEPROM与I²C驱动开发
c语言·驱动开发·嵌入式硬件·51单片机
2601_962297482 小时前
在python3中、下列输出变量a的正确写法是_2020超星大数据Python免费答案
数据结构·python·算法·编程·字符串操作
“AI国潮设计-小江”2 小时前
Python实战 | SDXL精准控制“普宁英歌舞×星空蛋糕”IP落地,附核心Prompt与商用授权思路
开发语言·人工智能·python·prompt·aigc
辰烨chenye3 小时前
LeetCode Hot 100 题解 · 子串篇
算法·leetcode·职场和发展
辰烨chenye3 小时前
LeetCode Hot 100 题解 · 堆篇
java·算法·leetcode
手写码匠3 小时前
华为云Flexus+DeepSeek征文|DeepSeek 应用监控告警体系实战:从“用户投诉才知道“到“故障前就发现“
人工智能·深度学习·算法·aigc