for语句和循环嵌套

简介: 一、while和do..while语句二、For语句及示例三、嵌套循环语句四、练习

for语句和循环嵌套

 

目录:

一、whiledo..while语句

二、For语句及示例

三、嵌套循环语句

四、练习

 

一、Whiledo...While语句

image.png

1.While语句

While 语句条件判断在循环的入口处,所以称之为人口条件循环。先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块。

 

示例:

入口条件循环

While(i<=100){

Sum=sum+i;

i=i+1

}

 

 

2.do...While语句

Do...While语句的条件判断在循环的出口处,所以称之为出口条件循环。(不论什么情况都会执行一次,注意后面结尾的分号)同样有循环体和条件表达式,但执行顺序与while不同,do while是先执行一次循环体之后再进行条件判断。

 

注意,在do while语句的条件判断后要加上一个分号;表示语句的结束。

示例:

出口条件循环

Do{

Sum=sum+i;

I=i+1;

}while(i<=100);

注意:分号一定需要添加

基本上每一个循环都离不开三个动作:

初始化计数器,循环条件,更新计数器

image.png    

二、For语句

For(表达式1;表达式2;表达式3

 

循环体

 

三个表达式用分号隔开,其中:

表达式1是循环初始化表达式 (初始化计数器)

表达式2是循环条件表达式   (循环条件)

表达式3是循环调整表达式   (更新计数器)

 

1.For语句示例

判断一个数是否为素数:

 

int main( )

{

//初始化count

int count;

//判断count是否小于10,满足条件继续执行,总共执行10

for ( count = 0; c<10; count++)

{

Printf(FIshC!\n)

}

return 0;

 

执行代码:

[fishc@localhost sle14]$ vi test1.c

 

[fishc@localhost sle14]$ gcc test1.c && ./a.out

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

FIshC!

 

小程序:判断数是否是素数

1.       素数是指在大于1的自然数中,除了1和此数自身外,无法被其他自然数整除的数。

 

2.       关于素数的求法很多,这里我们用比较朴素暴力的方式:迭代测试从2num/2所有整数是否能被整除(num为待测试的整数),如果没有出现能被整除的整数,那么它就是素数。

Int main()

{

Int i,num;

-Bool flag=1;

Printf(“请输入一个整数:”)

Scanf(%d,&num);

For(i=2;i<num/2;i++)

{

 If(num%i==0)

{

Flag=0;

}

}

If(flag)

{

Printf(%d是一个素数!\n,num);

}

Else

{

   Printf(%d不是一个素数!\nnum);

}

Return 0;

输入完成然后运行。

[fishc@localhost sle14]$  ./a.out

请输入一个整数:22

 

22不是一个素数!

image.png

 

 

2.灵活的for语句

表达式1,表达式2和表达式3可以按照需要进行省略(但分号不能省);

——for(;表达式2;表达式3

——for(表达式1;表达式2;)

——for(表达式1;;)

——for(;;)-》代表永远为真的循环while(1),即死循环

——.......

死循环:游戏开发需要用到死循环,使用break跳出循环

 

表达式1和表达式3可以是一个简单的表达式,也可以是逗号表达式(即用逗号分隔多个表达式)

Int main( )

{

    Int i, j;

    For(i=0,j=10;i<j;i++,j--)

{

     Printf(%d\n,i);

}

Return 0;

}

C99允许在for语句的表达式1中定义变量,才可以编译

C99新的标准

 

注意:循环表达式定义的变量出了循环就无法使用

 

三、嵌套循环


嵌套循环从内到外,先执行内层循环,再执行外层循环

示例:

int main( )

//定义变量

int ij;

//外层循环

for (i = 0; i < 3; i++){

//内层循环

for (j = 0; j < 3; j++){

printf"i = %d j = %d\n", ij

}

}

return 0;

 

执行:

[fishc@localhost sle14]$ gcc test4.c && ./a.out

I=0,j=0

I=0,j=1

I=0,j=2

I=1,j=0

I=1,j=1

I=1,j=2

I=2,j=0

I=2,j=1

I=2,j=2

 


四、练习


打印九九乘法表

使用嵌套循环

int main( )

int i,j;

for (i = 1; i <= 9; i++){

for (j = 1; j <= i; j++)

printf( "%d*%d=%-2d", i ji* j);

return 0;

 

执行:

[fishc@localhost sle14]$ gcc test5.c && ./a.out

image.png

相关文章
|
4月前
|
C语言
用while语句实现循环
用while语句实现循环
48 1
|
28天前
|
C#
C# 一分钟浅谈:循环结构 for 和 while 的应用
【9月更文挑战第1天】循环结构是编程中的基础概念,C# 中常用的 `for` 和 `while` 循环允许重复执行代码直至满足特定条件。`for` 循环基于计数,适用于已知循环次数的情况;`while` 循环基于条件,适用于未知循环次数的情况;`do-while` 循环则至少执行一次循环体。本文详细介绍了这些循环的语法和示例,并探讨了常见问题及其解决方法,如循环条件和更新表达式的错误设置。通过综合应用示例(如计算阶乘和斐波那契数列),帮助读者更好地理解和掌握循环结构的使用方法。正确使用循环可以提高程序的效率和可读性。
48 2
|
3月前
|
C++
C++一分钟之-循环结构:for与while循环
【6月更文挑战第18天】在C++中,`for`循环适合已知迭代次数,如数组遍历;`while`循环适用于条件驱动的未知次数循环。`for`以其初始化、条件和递增三部分结构简洁处理重复任务,而`while`则在需要先检查条件时更为灵活。常见错误包括无限循环和逻辑错误,解决办法是确保条件更新和正确判断。了解两者应用场景及陷阱,能提升代码效率和可读性。
46 6
|
4月前
|
C语言
用do…while语句实现循环
用do…while语句实现循环
36 1
|
4月前
|
C语言
用for语句实现循环
用for语句实现循环
36 1
|
4月前
|
Python
使用while语句实现循环
在编程中,循环是一种常用的控制结构,它允许代码块重复执行,直到满足某个条件为止。Python中的while语句是实现循环的常用方法之一。下面,我们将详细介绍如何使用while语句来实现循环,并附上示例代码。
41 2
|
4月前
|
存储
用do while语句实现循环
用do while语句实现循环
31 0
|
4月前
|
存储 Python
使用for语句实现循环
在编程中,循环结构是一种非常重要的控制流机制,它允许我们重复执行一段代码,直到满足特定的条件为止。在Python中,for语句是实现循环的一种常用方法。它通常用于遍历序列(如列表、元组、字符串)或迭代器,对序列中的每个元素执行相同的操作。本文将详细介绍如何使用for语句实现循环,并附上示例代码。
30 0
|
4月前
第6章循环结构(二)
第6章循环结构(二)
|
4月前
|
C# 计算机视觉
26.C#循环嵌套
26.C#循环嵌套
45 0