写点什么

C 语言编程—循环语句

作者:向阳逐梦
  • 2023-05-24
    四川
  • 本文字数:1459 字

    阅读完需:约 5 分钟

C语言编程—循环语句

有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。

编程语言提供了更为复杂执行路径的多种控制结构。

循环语句允许我们多次执行一个语句或语句组,下面是大多数编程语言中循环语句的流程图:

循环类型

C 语言提供了以下几种循环类型。点击链接查看每个类型的细节。

循环控制语句

循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。

C 提供了下列的循环控制语句。点击链接查看每个语句的细节。

无限循环

如果条件永远不为假,则循环将变成无限循环。for 循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。

#include <stdio.h> int main (){   for( ; ; )   {      printf("该循环会永远执行下去!\n");   }   return 0;}
复制代码

当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C 程序员偏向于使用 for(;;) 结构来表示一个无限循环。


注意:您可以按 Ctrl + C 键终止一个无限循环。

使用 while, for 分别输 1~100 以内的所有的奇数和偶数的和:

使用 while:

#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);}
复制代码

使用 for:

#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);}
复制代码

用 do while 求算术平方根:

#include <stdio.h>
double DoSqrt(double z){ double a=1; double b=0; double c=0; do{ if(b*b<z){ b+=a; } else{ c=b; b-=a; a/=10; } }while(a>0.000001);
return (b+c)/2;}
int main(){ double x, y; printf("请输入一个数字:"); scanf("%lf", &x); if(x<0){ printf("输入错误。"); } else { y=DoSqrt(x); printf("%g 的平方根为: %g.\n", x, y); }
int z=1; do{ main(); z++; }while(z>10);
return 0;}
复制代码

我们看一个简单的列子,求 100 以内的素数。

#include<stdio.h>#include<math.h>int main(){    int i,j;    printf("100以内的素数有:\n");    for(i=2;i<100;i++){        for(j=2;j<sqrt(i);j++){            if(i%j==0){            break;            }        }            if(j>sqrt(i)){            printf("%d,\t",i);            }    }}
复制代码

第一个循环里面。i 遍历从 2 到 100 以内的所有数字,第二个循环是在 2 到 sqrt(n)之间看看是不是可以整除 i。可以整除则不是素数,相反不可以整除,则是素数。

int fun(int n){    for(i=2;i<=sqrt(p);i++){              if(x%i==0){            return 0;  //不为素数          }            else{            return 1; //为素数           }        }}
复制代码

这个是求素数的关键代码。希望初学者要牢记于心,烂熟于心

发布于: 刚刚阅读数: 4
用户头像

向阳逐梦

关注

人生享受编程,编程造就人生! 2022-06-01 加入

某公司芯片测试工程师,嵌入式开发工程师,InfoQ签约作者,阿里云星级博主,华为云·云享专家。座右铭:向着太阳,追逐梦想!

评论

发布
暂无评论
C语言编程—循环语句_向阳逐梦_InfoQ写作社区