前言:
而今大家对“c语言阶乘求和代码”大致比较着重,我们都需要分析一些“c语言阶乘求和代码”的相关内容。那么小编也在网摘上搜集了一些关于“c语言阶乘求和代码””的相关文章,希望我们能喜欢,我们快快来了解一下吧!1、while循环基本语法结构
while(条件表达式) { //语句块;}执行过程
符合括号中的条件表达式,循环继续执行,直到不符合条件表达式,退出循环,注意使用过程中不能出现无出口的死循环
特点
先判断条件表达式,再执行循环的语句块,循环可能一次都不执行。
经典示例
计算1到100的所有整数和
public class Test01 { public static void main(String[] args) { int i = 1; int num = 0; while(i<=100) { num = num + i; i ++; } System.out.println(num); }}//控制台输出:5050
分析:
定义一个变量i,用于表示1到100的整数,定义一个num,用于计算总和,当运行到while时,判断i是否小于等于100,如果小于100,则将每个数的总和加到num中,完成后i自增1,直到i等于101时,退出循环。
2、do while循环基本语法结构
do { 循环语句}while(循环条件);执行过程
先执行do语句块中的循环操作,再去判断是否符合while中的循环条件,如果符合循环条件,则循环继续,如果不符合循环条件,则退出循环
特点
先执行循环操作,再判断循环条件是否符合,循环至少会执行一次
经典示例
1、逆序输出5~1
public class Test01 { public static void main(String[] args) { int i = 5; do { System.out.println(i); i --; }while(i >= 1); }}//控制台输出:5 4 3 2 1
分析:
定义一个变量i,程序运行到do时,先输出变量i,然后将变量i自减1,再去判断循环条件,如果i大于等于1,则循环继续执行,如果循环条件不成立,则直到i==0,循环退出。
2、阶乘求和:1!+2!+ 3!+ ... +10!
public class Test01 { public static void main(String[] args) { int i = 1; int sum1 = 0; do { int j = 1; int sum2 = 1; while(j <= i) { sum2 = sum2*j; j ++ ; } sum1 = sum1 + sum2; i++; }while(i <= 10); System.out.println(sum1); }}//控制台输出:4037913
分析:
外层do while循环用于控制10个阶乘的累加,定义一个变量i,用于表示十个阶乘,定义sum1用于表示10个阶乘的和,比如i=1,则sum1=1!;i=2,则sum1=1!+2!;i=3,则sum1=1!+2!+3!...依次类推;
内层嵌套的while循环用于求每个阶乘,定义一个变量j用于记录每个阶乘需要相乘的数的个数,比如j=1,则sum2=1;j=2,则sum2 = 1*2;j=3,则sum2=1*2*3...,依次类推;j<=i,则进行求阶乘的操作,即当i=1时,j计算的是1的阶乘;i=2时,j计算的就是2的阶乘,依次类推,完成操作后自增1;
最后当计算完10个阶乘和后,退出循环。
3、for循环基本语法结构
for(初始化参数;判断循环条件;更新循环变量) { 循环体;}执行过程
先初始化参数,然后判断循环条件,如果符合循环条件,则执行循环体,然后更新循环变量,再去判断循环条件,如果循环条件符合,则继续执行循环体,之后更新循环变量,如果循环条件不符合,则退出循环。
特点
整个循环中,初始化参数只会执行一次。循环中可以使用continue关键字,用于跳过当次循环,继续下次循环。
for循环的应用范围最大,平时使用也是最多的。
public class Test01 { public static void main(String[] args) { for(int i=0;i<=3;i++) { if(2==i) { continue; } System.out.println(i); } }}//控制台输出: 0 1 3经典示例
输出10个斐波那契数列:1、1、2、3、5、8、13 、21、34、55,从第三个数开始,该数是前面两个数的和
public class Test01 { public static void main(String[] args) { int i1 = 1; int i2 = 1; int printOut = 0; System.out.println(i1); System.out.println(i2); for(int i=1;i<=8;i++) { printOut = i1 + i2; System.out.println(printOut); i1 = i2; i2 = printOut; } }}//控制台输出:1 1 2 3 5 8 13 21 34 55
分析:
因为前两个数固定为1,所以可以直接定义以及输出,要输出10个数,所以循环8次,从i=1开始循环,到i<=8循环结束,正好循环8次,定义一个printOut的变量用于计算前两个数之和,每次一次循环,先计算前两数之和,并在控制台输出,然后将i2的值赋值给i1,然后将计算出来的和(即后面的那个数)赋值给i2,这样每次循环时计算的i1 + i2实际都是不一样的值,比如i=1时,计算的是1+1,此时再去赋值,则i1变成了1,i2变成了2,;当i=2时,i1为2,i2为3,依次类推。
标签: #c语言阶乘求和代码 #java中的while语句 #java跳出当前循环的语句