ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

循环语句

2022-07-27 20:06:40  阅读:148  来源: 互联网

标签:语句 do while 循环 执行 表达式


循环语句

1、循环的概念:

循环就是重复做一件事, 在程序中指的是重复执行某段代码.循环包括三大循环:while语句,do while语句,for语句。

2、死循环的概念:

死循环就是重复执行代码, 不会停止. 死循环会造成程序卡死甚至崩溃等问题, 我们不能写会造成死循环的代码.

3、循环的用处:

循环的用处非常广泛, 特别是对大量的数据进行操作的时候, 如:求若干个数之和; (重复做加法)

一、while循环语句

while循环语法格式:

while(表达式){

  执行代码;

}

注意:

1、表达式可以是常量,变量或者其他表达式,该表达式会被强制转换为boolean类型, 表达式就是循环的条件, 条件成立则进入括号{}里面执行代码,否则不进入;

2、执行代码可以有多行, {}所包含的称为循环体.

3、 表达式不要一直是true, 避免死循环.

4、while循环的顺序是: 先判断表达式是否为true, 若true则执行执行代码, 然后再继续判断表达式是否为true, …. 直到判断表达式为false才会跳出循环, 执行while后面的代码

while示例:

 

 

 

 

 

 

 

 

 二、do while循环语句

do-while循环语法格式:

do {

执行代码;

} while(表达式)

注意:

1、 do-while和while比较类似, 也有表达式和执行代码.

2、do-while和while的区别在于判断条件的先后不一样, while是先判断条件, 而do-while是先执行再判断; 所以不管do-while表达式的条件是否成立, 都至少会执行一次循环体.

do while示例:

计算1加到100的和:

 

 

 

while 和 do while的区别

1、while是先判断后执行,do while 先执行后判断

2、do while最少执行一次 while最少执行0次

常用while来写一些执行多次的内容(最少没有规定 ) do while(规定最少执行一次)

三、for循环语句

for循环语法格式:

for (表达式1; 表达式2; 表达式3) {

  执行代码;

}

注意:

1、表达式1: 可写循环初始值, (可以不填)

2、表达式2: 循环条件

3、表达式3: 循环增量(减量)

4, 两个分号必须写.

for循环示例:

计算1加到100的和:

 

 

 四、循环的嵌套(循环嵌套最多套两层O(n^2))

一个循环语句内又包含另一个完整的循环语句; 三种循环都可以相互嵌套; 而for循环嵌套for循环的使用会更频繁

循环嵌套示例:

打印一个*组成的矩形:

 

 

 打印三角形:

 

 

 五、时间复杂度(判断内容执行效率 依照次数计算)

1、O(1)(每次执行一遍 常数阶)

 

 

 2、O(logN)(两个值来决定 对数阶)

 

 

 3、O(n)(由对应的一个值决定 线性阶)

 

 

 4、O(nlogn)(循环嵌套对应的指数阶循环)

 

 

 5、O(n^2)(双层循环嵌套 平方阶)

 

 

 时间复杂度O(1)<O(logn)<O(n)<O(nlogn)<O(n^2)

while的时间复杂度要低于for循环(算法的优化可以使用while来替代for)

六、break关键字

break的功能:

1、在switch语句中使流程跳出switch结构。

2、在循环语句中使流程跳出当前的循环

注意:

1、如果已执行break语句,就不会执行循环体中位于break后的语句。

2、在多层循环中,一个break语句只向外跳一层

break示例

1、判断一个数是不是合数(指自然数中除了能被1和他本身整除外,还能被其他的数整除(不包括0)的数)

 

 

2、判断一个数是不是素数(除了1和他本身外不能被其他数整除)

 

 七、continue关键字

continue的功能:

只能在循环语句中使用,使本次循环结束,即跳过循环体中下面尚未执行的语句,接着进行下次是否执行循环的判断。

注意:

1、continue语句只能用在循环里。

2、对于 while 和 do-while 循环,continue 语句执行之后的动作是条件判断;对于 for 循环,随后的动作是变量更新。

continue示例:

1、求1~100的;累加值,但是要跳过所有个位数为3的数。

 

 八、break和continue对比

 

 九、课后练习

1、关于while

(1)打印100以内7的倍数

 

 (2)打印100以内的奇数

 

 (3)打印100以内的所有的偶数和

 

 (4)打印图形

        // * * * * * * * * * *         // * * * * * * * * * *         // * * * * * * * * * *         // * * * * * * * * * *

2、for循环的练习

(1)一个新入职,月工资为2000元的员工,每年涨当年工资5%,20年后的月工资为多少?

 

 (2)山上有一口缸可以装50升水,现有15升水。老和尚叫小和尚下山挑水,每次可以挑5升。问:小和尚要挑几次水才可以把水缸装满?通过编程解决这个问题。

 

 

(3)打印100-200之间所有能被3或者7整除的数

 

 

(4)计算10的阶乘(1*2*3*4*5*6*7*8*9*10 n的阶乘1*2....*n)

 

 

(5)计算1+3+计5+.....+99的和

 

 

(6)99乘法表

 

 

(7)输出20~80之间能被3整除的整数,每行5个

 

 

(8)打印1000到2000之间所有的闰年,每行4个

 

 

(9)求:1-1/2+1/3-1/4...1/100

 

 

(10)输入两个数,求两个数的最小公倍数

 

 (11)输入两个值n a,如果n==3,a==2;输出2+22+222的值

 

 

(12)五位数中,堆成的数称为回文数,找出所有的回文数,如:12321

 

 

(13)求1!+2!+3!+4!+5!

 

 

(14)找出所有的水仙花数,三位数,各位立方等于该数本身。

        // 如:153=1^3+5^3+3^3

 

 

(15)任意输入两个数,如果第一个数小从第一个数打印到第二个数,如果第二个数小从第二个打印到第一个数

 

 

(16)输入两个数求最大公约数

 

 

(17)

宰相的麦子:相传古印度宰相达依尔,是国际象棋的发明者。有一次,国王因为他的贡献要奖励他,问他想要什么。达依尔说:"只要在国际象棋棋盘上(共64格)摆上这么些麦子就行了:第一格一粒,第二格两粒,....后面一格的麦子总是前一-格麦子数的两倍,摆满整个棋盘,我就感恩不尽了。”国王-想,这还不容易,刚想答应,如果你这时在国王旁边站着,你会不会劝国王别答应,为什么?

 

 

 3、break练习

(1)看代码判断打印的内容

 

 

标签:语句,do,while,循环,执行,表达式
来源: https://www.cnblogs.com/lym-2022/p/16526105.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有