700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > C语言学习——了解循环结构语句

C语言学习——了解循环结构语句

时间:2019-06-14 06:22:33

相关推荐

C语言学习——了解循环结构语句

目录

1.循环结构——while语句

2.循环结构——do...while语句

3.循环结构——for语句

4.循环程序举例

1.循环结构——while语句

基本格式:while(表达式)

{语句}

简单使用:如在屏幕上输出十行“*”

#include<stdio.h>int main(){int i=1;while(i<=10) //设置循环条件,循环10次{printf("******************");i++;}return 0;}

如果使用传统的方式只使用printf函数要满足上述条件则我们要连续打出十行一样的代码,这显然太耗时间并且浪费感情,当我们使用while循环语句时这个问题就很好的被解决了,同时也提高了我们的效率。

进阶使用:如计算出1.01的365次方

#include<stdio.h>int main(){int i=1;float sum=1.01;while(i<=365)//设置循环条件,使语句执行365次{sum*=1.01;i++;}printf("1.01的365次方=%.2f\n",sum);return 0;}

1.01的365次方也就是将1.01乘365次,如果我们一遍一遍的打代码进行计算的话那简直是栓q,另外这也反映出计算机的能力,计算机的计算能力非常强大,并且计算不会出错,因此我们可以利用这一点来完成许多有意思的事情。

2.循环结构——do...while语句

基本格式:do

语句

while(表达式);

注意:do...while语句的特点是,先无条件地执行循环体,然后判断循环条件是否成立。

而while语句是先进行判断循环条件是否成立,如果成立才能开始执行循环体。

简单使用:如计算出前100个数的和,即1+2+3+...+100

#include<stdio.h>int main();{int i=1,sum=0;do{sum+=i;i++;}while(i<=100);printf("前100的和为%d\n",sum);return 0;}

do...while循环语句的使用和while循环语句很相似,但是一定要注意分清两者在使用上的不同之处。

3.循环结构——for语句

基本格式:for(表达式1;表达式2;表达式3)

语句

运行流程:先求解表达式1,然后判断表达式2的真(非0)假(0),如果为假则结束for语句,如果为真则执行语句接着再求解表达式3然后继续重新判断表达式2的真假。

简单使用:计算前100个数的和

#include<stdio.h>int main(){int i,sum;for(i=1,sum=0;i<=100;i++){sum+=i;}printf("前100个数的和为%d\n",sum);return 0;}

注意:(1).for语句的一般形式中的“表达式1”可以省略,此时应在for语句之前给循环变量赋初值。省略表达式1是,其后的分号不能省略。

(2).如果表达式2省略,即不判断循环条件,循环无终止地进行下去。也就是认为表达式2始终为真。

(3).表达式3也可以省略,但应另外设法保证循环能正常结束。

(4).可以省略表达式1和表达式3,只有表达式2,即只给循环条件。在这种情况下,完全等同于while语句。由此可见for语句比while语句功能强,除了可以给出循环条件外,还可以赋初值,使循环变量自动增值等。

(5).3个表达式都可以省略,即不设初值,不判断条件(认为表达式2为真值),循环变量不增值。无终止的执行循环体。

(6).表达式1可以是设置循环变量初值的赋值表达式,也可以是于循环变量无关的其他表达式。表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式,即包含一个以上的简单表达式,中间用逗号间隔。

(7).表达式2一般是关系表达式(如i<=100)或逻辑表达式(如a<b&&x<y),但也可以是数值表达式或字符表达式,只要其值为非0,就执行循环体。

4.循环程序举例

【例】判断整数m是否为素数。

首先我们先捋清楚思路,素数是指除了1和它本身以外,不能被任何整数整除的数。判断一个数是否是素数,只需把m被2~m-1的每一个整数去除,如果都不能被整除,那么m就是一个素数。又因为m的每一对因子必然有一个小于等于根号m,另一个大于等于根号m,所以只需将m被2~根号m之间的整数除即可。

#include<stdio.h>#include<math.h>int main(){int m,i;printf("请输入一个整数:");scanf("%d",&m);float k=sqrt(m);//表示k为根号m,注意使用时要用头文件#include<math.h>for(i=2;i<=k;i++){if(m%i==0)break;//若满足条件则用break跳出整个循环}if(i>k)printf("m是素数");//i>k则说明2~根号m之间的数都不能被整除else printf("m不是素数");return 0;}

【例】求100~200之间的全部素数。

本题的解题思路为依个检查100~200的所有数是否时素数,在上面例子的基础上,用一个嵌套的for循环。

#include<stdio.h>#include<math.h>int main(){int m,i,n=o;float k;for(m=101;m<=200;m+=2)\\大循环,将数值赋给m{k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0)break;\\若满足条件,则用break跳出循环if(i>k)\\则为素数{printf("%d",m);n++;}if(n%10=0)printf("\n");\\用n来实现一行输出10个数}printf("\n");return 0;}

好了,这次先分享到这,期待你下一次在这里读我的博客。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。