zoukankan      html  css  js  c++  java
  • 重拾C之语句,操作符和表达式

    1.C中的if语句和其他语言的If语句中,只存在一个差别,c并不具备布尔类型,而是用整型来代替,这样,括号中的式子可以是任何可以产生整型结果的表达式,c中的关系操作符的结果是整型0或1

    2.break和continue语句的任何一条如果出现在嵌套的循环内部,它只是对最内层的循环起作用,你无法使用break或continue语句影响外层循环的执行

    3.空语句 while((ch = getchar())!=EOF && ch != ' ')

                  ;

    这种形式清楚地显示了循环体是空的,而不至于使人误以为程序接下来的一条语句才是循环体

    4.for语句和while语句执行过程的区别在于出现continue语句时,在for语句中,continue语句跳过 了循环体的剩余部分,直接回到调整部分,在while语句中,调整部分是循环体的一部分,所以,continue将会把他也跳过

    5.switch语句中的括号里面的值必须是整型,每一个switch语句只能有一个default子句,但是,它可以出现在语句列表的任何位置

    6.goto语句可以出现在同一个函数中的任何位置,要想立即从深层嵌套的循环中退出只能有一个方法,就是使用goto语句,还可以使用一种好的方案来避免使用goto语句,把所有的循环都放到一个单独的函数里,当到达最内层的循环时,可以使用return语句离开这个函数

    7.for循环的可读性比while循环强,因为它把用于控制循环的表达式收集起来放在一个地方

    8.逻辑移位和算术移位:尤其是右移,逻辑移位,用零补位,算术移位,则是用符号位决定补位,而且,由于不同的编译器对于右移操作采用的移位方式不一定一致,所以,一个程序如果使用了有符号数的右移位操作,它就是不可移植的

    9.用int ch =getchar() ,而不是用char ch=getchar()的原因是eof需要的位数比字符型值所提供的位数要多,会被截短,而易产生错误

    10.尽量使用复合赋值符,sizeof操作符判断它的操作数的类型长度,以字节为单位表示,操作数可以是个表达式,也可以是两边加上括号的类型名

    11.&&操作符会出现短路求值,三操作符的作用有的时候可以减少书写,逗号操作符的使用

      a = get_value();

      count_value(a);

      while(a > 0 ){

      a = get_value();

      count_value(a);

      }

      可以简化成while(a=getvalue(),count_value(a),a>0){......}

    12.左值必须是一个很确定的存储地址值 ,表达式中尽量不要混用布尔值和整型值

  • 相关阅读:
    iOS No such file or directory
    获取图片某点或区域的颜色
    GCD 异步分组执行
    FMDB
    键盘样式风格有关设置
    libc++abi.dylib handler threw exception
    苹果Xcode帮助文档阅读指南2
    面试集锦-常量,const, const 对指针的影响
    支付宝遇到的坑和解决方案
    闲谈
  • 原文地址:https://www.cnblogs.com/lingxianxia/p/4340685.html
Copyright © 2011-2022 走看看