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语言三大循环的使用以及示例

相关推荐
Wang's Blog8 小时前
Java 项目实战: 交友项目 - FastDFS:入门案例
java·开发语言·交友
apcipot_rain9 小时前
C++转Java日记(03)
java·开发语言·c++
布莱克6059 小时前
C++ 中 map 的 insert 与 emplace:key 已存在时会覆盖吗?
开发语言·数据结构·c++·算法·map
xys_6789 小时前
深挖C++:类和对象(中)
开发语言·c++
灿飞屋10 小时前
Rust 编程其实很简单
开发语言·rust
MOONICK11 小时前
QT元数据
开发语言·qt
D e re k ZH12 小时前
C++ 系统学习手记:从语法细节到工程实践
开发语言·数据结构·c++·算法
灿飞屋13 小时前
Kotlin与Java虚拟机三:控制流
android·java·开发语言·后端·python·kotlin·安卓
石小石Orz13 小时前
AI 正在蚕食我们的编码能力
前端·后端·算法