《C语言参悟之旅》-读书笔记(三)

  第四章   流程控制

1.流程图(当初学的时候觉得很麻烦,现在觉得对整理编程思路帮助还是很大)

2.顺序结构

 

3.分支结构

 1)形式 (  else 总是与其前面最近的 if 配对 )

       A . if(表达式)    

           语句;

       B. if(表达式) 

           语句1;

          else

           语句2;

       C.if(表达式1)

           语句1;

         esle if(表达式2)

           语句2;

          ...........

         esle if(表达式m)

           表达式m;

        esle n;

注:

      I.在 if 语句中表达式通常是逻辑表达式(x&&y),关系表达式(a > b),也可以是赋值表达式(x = y) ,甚至可以是一个变量(x)!

          if( x=y )         //   赋值表达式    只要非零就成立

      II. if后面不要加 “ ;”

      III. if后面养成加括号的习惯

             if ( 表达式 )

             {

              }

            else

   {

    }

 IV,建议使用if( 0 == x)这种形式(因为很容易错写成 if ( x =0 ),你本来是想判断x是否等于零,但语句x = 0程序会编译通过,而if ( 0 = x)的话不会通过) 

   V,在多重分支结构中,建议将简单的部分放在if部分、复杂的放在else或者esle if部分,依次类推(1.提高运行效率 2.方便后面复杂的部分再进行细分)

2)switch

      swith(表达式)          

     {

           case 常量表达式1:         语句1;

           case常量表达式2:          语句2;

           .....

           case 常量表达式n :           语句n;

           default :                           语句 n  + 1; 

     }

           A.用在程序中需要对一个变量进行多种条件的判断时

   B. 在case后的各常量表达式的值不能相同

           C.在case后可以有多个语句,可以不用"{ }",

               case 常量表达式:

                       a = 0 ;

                       b = 1;

                       c = 2;       

          D.多个case可以共享一组执行语句( 飞机中的斜45飞行)

               case 10:

               case  9 : grade = ' A ';  break;

4.循环结构

  核心思想:

                  I 必须要初始化一个计算器

                  II.计算器和有限的值进行比较

                 III.每次执行循环、计算器的值都哟啊更新

1) while

              

注: A.while语句中的表达式一般是关系表达式或逻辑表达式,在语法上任何表达式都可以作为循环条件,只要表达式的值为真即可以继续执行循环

              int    x = 10;

             while( y = x -- )
              {

               }

2) do ...while(不管循环的条件怎样,都要保证至少进行一次循环)

       适用于:不确定循环

             while( (c ! =getchar() ) != ‘ \n ’)

                putchat( c );

3)for(   ;   ;      )

      {

      }     

注:以下形式也是可以的;

      A.for( i = 1; i < 100; i += 5   )

            {

            }

      B.for( i =10 ; i < 100; i *=1.5 )

           {

            }

      C:for( sum = 0, i =1; i = 1; i <= 100; i++ )    //表达式1和表达式3可以是逗号表达式

          {

           }   

      D.for(i = 0; (c = getchar( ) != '\n'; i += c))

    

 E.for( i = 1; i <  100 ; i = i + step )//step是一个变量 ,当不能

         

         可以调节step的大小,但如果step被设为10,循环将无法终止,形成死循环

     

4)循环的选择:

 A:如果是不确定循环,最后用while,如果是计数循环, 那最好用for( ) ( 内层循环变量的不同 )

 

5.跳转结构:

 1)break;

     A:break语句不仅能用于switch,还可以用在while , do ...while , for( )(通常都是遇到特殊情况才跳出, 所以break语句通常和if语句连在一起 )

      

     B.break语句不能用于switch和循环语句之外的语句,在多层循环中,break只能向外跳一层

2)continue

    作用是终止本次循环,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判断

注意:continue不能用于循环语句之外的语句

3)goto语句(会破坏程序结构,很少使用)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值