流程控制(2)

接上篇 7. if的常见问题解析

空语句问题:

-----------------------------------------------------------------------------------------------------------------------------

循环:

定义:某些代码会被重复执行

分类:一、for

1.  格式:

                         for(1;2;3)

                                语句A;

2.执行的流程【重点】:1-2-语句A-3 一次循环结束-2-语句A-3 两次循环结束.....

3.  范围问题

4.  举例

 循环的好处:通过改一个地方改变功能

循环举例1:

 循环举例2:for和if的嵌套使用

注意:

    for(i = 0; i < 4; ++i) //循环4次
        printf("aaaa\n");

    for(i = 5; i < 90; ++i) //循环90-5=85次
        printf("aaaa\n");

 

 

 练习:

求1-100之间的奇数之和

 求1-100之间的奇数的个数

 求1-100之间的奇数的平均值

 求1-100之间的奇数之和和偶数之和

举例:1 + 1/2 + 1/3 + ...+ 1/100

这个程序语法没问题,但是得到结果不对 

因为int是整型,得到的结果一定是整型

 注意:float必须用%f输出

若i仍想定义为int型,可在用时强制类型转换

 强制类型转换

格式:(数据类型)(表达式)

功能:把表达式的值强制转化为前面所执行的数据类型

例子:(int)(4.5+2.2)——最终值为6

          (float)(5)——最终值为5.00000

问题:为什么循环更新的变量不能定义成浮点型? 

因为浮点型是非准确存储

5. 多个for循环的嵌套使用【非常重要】

for(1;2;3)

        for(4;5;6)

                A;

                B;

先执行1——执行2成立——执行4——执行5成立——执行A——执行6——执行5成立....——执行5不成立——执行3——执行2——执行内部for——执行3——执行2不成立——执行B——退出循环

补充:自增自减、三目运算符、逗号表达式

①自增自减:最终都使i值加1,但是

                        i++   :后自增,整体表达式的值是i加1之前的值;也就是先运算在加1

                        ++i   :前自增,整体表达式的值是i加1之后的值;也就是先加1再运算

例如:i = j = 3;k = i++;m = ++j——最终i=4,j = 4, k = 3, m = 4

为什么会出现自增自减这种运算符?——代码更精炼;自增速度更快;

学习自增要注意以下几个问题:

1.i++和++i单独成为一个语句,不要把它作为一个完整符合语句的一部分来使用

2.编程时应尽量避免掉前自增与后自增的差别

②三目运算符:    (A) ?(B) : (C)   

等价于:

                if(A)

                        B;

                else

                        C;    

③逗号表达式

格式:(A  , B , C , D)

功能:从左到右执行,最终表达式的值是最后一项的值,即D的值。

例如: int i;int j = 2;i = (j++ , ++j , j + 2 , j - 3);——最后i的值:1

复习:多个for循环嵌套时执行顺序【重点】

下节课讲:while、do...while                 break和continue

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值