黑马程序员--IOS基础第四天(C语言)

来源:互联网 发布:软件开发价格评估 编辑:程序博客网 时间:2024/06/07 04:08

  1. 变量易出问题:1)使用前未初始化 2)两个整形数做减法(b=1-1.5//b=0

  2. 程序的结构有三种:顺序结构、分支结构、循环结构

  3. 分之语句if的使用:

    格式:

     if(表达式/常量/变量)

     {语句块1 }

 原理:先计算小括号中的表达式的值。为真(1),会执行大括号语句,为假(0),不执行

  1. if。。。else。。。语句:

    格式:

     If(表达式/常量/变量)

          { 语句块1 }

           else

    {语句块2}

原理:先计算小括号中表达式的值。为真(1),会执行块语句1,为假(0),执行语句块2

注意:不管真假,都会执行一个语句块

  1. if语句的高级用法:

    如果表达式1位真,则执行语句块1,否则判断表达式2,如果为真执行语句块2,否则再判断表达式3,如果真执行语句块3,当表达式1,23都不满足,会执行最后一个else语句

  2. if语句使用注意点:、

  1. if(条件)可以直接写分号,表示什么也不干。例如:ifa>3);

  2. 如果if之后的代码块只有一句话,可以省略大括号。例如:ifa>2printf“a>2”

  3. 永真式和永假式:if1{永远执行}if0{绝不执行}

  4. if语句结合return语句:

    int a=3ifa==3return 0//在一个函数中,return语句之后的语句都不会执行

  5. if作用域的问题:

      ifa==3{ int num=10}

    printf(“%d”,num;//打印不出num,因为num仅在if语句中,if结束后,内存清空,不再有num

  6. 容易疑惑的地方,作用域的紊乱:ifa==3int num=10//错误 

  1. Switch分之语句:

  1. 使用格式

    Switch(表达式){

    Case 常量表达式1:语句1

    Case 常量表达式2:语句2

    。。。。

    case 常量表达式n:语句n

    default语句n+1

    }

    语义是:计算表达式的值,并逐个与其后的常量表达式比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执行default后的语句。

  2. Case语句的穿透问题:某个case语句执行后,并没有结束,而直接向下执行其他的case语句。这种现象就称之为case穿透。

    如何方式case穿透?:我们只需在每一个case语句结束之后,加上一句break

    Break 作用是结束switch语句

    Switch(表达式){

    Case 常量表达式1:语句1break

    Case 常量表达式2:语句2break

    。。。。

    case 常量表达式n:语句nbreak

    default语句n+1

    }

  1. If语句和switch语句的选择:

  1. 分之比较多且无法穷尽或进行大量列举时,最好用if

  2. 如果分支不是很多,但是使用if代码代码量比较大时,可以选用switch

  1. Switch使用注意事项:

  1. switch语句的表达式类型:a可以放一个整型变量b可以放一个整型常量switch10

    c 可以放一个返回值是整型的表达式switch5+5

    d 可以放可以转化为int类型的表达式switch‘a’

  2. 功能代码部分可以写任意多句:

  3. Case语句可以有任意多句,可以不用加括号“{}”

  4. break语句是可选的,可以加,也可以不加。

  1. case语句的注意事项:

  1. 可以是常量  case 10

  2. 如果放表达式,那么只可以是常量表达式 case 5+5

  3. Default语句的位置可以任意放,不一定要放在最后

  4. Case的穿透问题,同样适用于default语句

  5. 如果default语句放在switch语句的最后,可以不加break。放其他位置,必须加break

  6. Case后面不能是实数

  7. Case 语句之后,默认的第一句话不能定义变量。如果第一句话非要定义,应该加大括号

  8. 编译器bug

 

0 0