C Primer Plus (第六版) 中文版 随手笔记(六)

声明:本篇文章只是个人知识盲区、知识弱点、重点部分的归纳总结,望各位大佬不喜勿喷。梳理顺序是按照书籍的实际顺序梳理,转载请注明出处。

作者:sumjess

适用:这本书我已经看过4遍了,但是该书的知识点我并不是都常用,所以总会有忘记的,所以来写这本书的随手笔记,记录重点、易忘点。该博客可以当做字典,也可以当做你的笔记。

目前内容:第七章总结

第七章:C控制语句:分支和跳转


1、if语句:

    (1)if语句被称为分支语句或者选择语句,因为它相当于一个交叉点,程序要在两条分支中选择一条执行;

    (2)如果满足条件可执行的话,if语句只能测试和执行一次,而while语句可以测试和执行多次;

    (3)注意,即使if语句由复合语句构成,整个if语句仍被视为一条语句。

2、if else语句:

    (1)多重选择else if:

            格式:if....

                      else if....

                      ....

                      else if....

                      else....

    (2)else 与 if 配对:

             如果没有花括号,else与离他最近的if匹配,除非最近的if被花括号括起来;

3、逻辑运算符:

    (1)关系运算和逻辑运算:

             ① C语言6种关系运算符:>、<、==、>=、<=、!=   ,前四个优先级大于后两个;

             ②算数优先级高于关系运算符高于赋值运算符;

             ③&&逻辑与,||逻辑或,!逻辑非;

             ④1(真)、0(假);

             ⑤与或逻辑表达式的值,八字口诀:一真或真,一假与假;

    (2)条件表达式构成的选择结构:

            表达式1 ? 表达式2 : 表达式3

            若表达式1?成立,则输出表达式2,否则为表达式3.

            注意:条件运算符优先于赋值运算符,但低于关系运算符和算术运算符。

4、循环辅助:continue和break

    (1)continue语句:

                 用于跳过本次循环余下的语句,转去判断是否需要执行下次循环,continue终止此次循环,不会终止if。

                 如  for (1; 2;3)/while(表达式n)

                 a;

                 b;

                 continue;

                 c;

                 d;

         如果执行continue语句,则跳过c、d语句,转去执行语句3、语句2/判断表达式n是否成立,因此将for语句转换成continue语句时,由于continue后跳过循环中余下的语句,所以自增自减等需要放在循环语句的continue之前,否则转换不等价

    (2)break语句:

        break如果用于循环适用于终止循环

        break如果用于switch,则是用来终止switch

        break不能直接用于if,除非if属于循环内部的一个子句  如 if (表达式)  break 是错误的

# include <stdio.h>
 
int main (void)
{
  int i;
 
  for (i=0; i<3; ++i) 
 {
   if (3 >2)
       break;  //break 虽然是if内部的语句,但break终止的是外部的for循环程序
  printf("嘿嘿!\n") //永远不会输出,因为break终止循环
  }
  
return 0; 
}
#include <stdio.h>

int mian (void)
{
  int i, j;

 for (i=0; i<3; ++i)
 {
    for (j=0; j<4; ++j)
         break;         // break 只能终止离它最近的循环
      printf("您好!\n")   //输出三次
 }

  return 0;
}

上例为多层循环中使用break 语句,它只能终止离它最近的循环。同样,在多层switch嵌套中,break也只能终止离它最近的switch

break和continue详解

    (3)switch语句:

            ① break语句可用于循环和switch语句中,但是continue只能用于循环中。

            ② switch在圆括号中的测试表达式的值应该是一个整数值(包括char类型)。

            ③ case标签必须是整数类型(包括char类型)的常量或整型常量表达式(即,表达式中只包含整型常量)  


    (4)goto语句:

            不建议使用(可读性是会降低的,看到goto还要去找相应的标签,肯定降低可读性。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值