C Primer plus 5th 第七章学习笔记

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

一 .getchar 和putchar

N01. 用途:getchar 和putchar是专门面对字符I/o设计。

No2. 注意 getchar()没有参数,其返回来着输入设备的下一个字符,用法:ch = getchar(),putchar(ch),特别注意字符是以整数被存储;

二.程序跳转

着重分析break ,continue

N0.1 适用范围:

Break: 3种循环+ switch

 

Continue: 3种循环 (不包括switch语句)

 

为什么continue 不能和switch语句一起使用?

解:因为 对于continue 语句而言,它只能跳过本次循环中,continue之后的语句,最终必须能回到下一个循环周期的开始至少得执行下一个循环的判断条件),而显然switch语句一旦跳出之后,不可能有下一个循环的判断条件。

     Continue语句的适用对象就只能够是:for ,while ,do while 这三大循环。

NO2. 两者的主要区别

  Break:可以这样理解,break 跳出的是一层循环。对于 3大循环,其跳出包含它的循环,对于switch语句测跳过其剩余部分,此时整个switch语句执行完。

 

Continue:可以理解成为,continue跳出一次循环,关键是其必须开始下一次循环的判断

 

一句话概括:

   Break:  终止一层循环或结束一个switch语句;

   Continue:中断一次循环 (必须能开始下一次循环判断)

No3. 相关例程详解:

  // 特别注意 (ch = getchar ( ) )的外括号不/能省略,因为!=优先级比=高

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

{

if( ch == ‘ ’ )  //激发中断操作

 continue;   //这两个是一个整体

         //continue执行一次,跳过一次下面的两条语句,回到 while的判断条件处。

    

putchar(ch);

chcount++;

}

详解: 这是回显并统计非空格字符。 我们每遇到一个空格,就continue中断一次计数操作,简而言之,用continue 中断空格

   

While大循环的结束于 continue无直接关系,只由 (ch = getchar ( ) ) ! = ‘\n’ ) 这个判断语句决定,即只要不遇到因回车引起的换行符,程序一直执行。

 

三、switch

NO1. Switch 起止

Switch 起:定位到 switch 关键字后的判断整数与某标签值匹配。

      止:直到遇到下一个break 语句或者到switch语句结束

NO2.swtich 语句注意事项

 

switch (ch)

        {

            case 'a' ://这个冒号必不可少

            case 'A': a_ct++;

                        break;

            default :  break;

          }      

 四、相关零碎知识点总结

NO1.  if( ch !=  ‘ “ ’  && ch ! = ‘   \ ‘   ’)   P165

   字符不是双引号并且它不是单引号 ,注意单引号要用转义符号,单引号不用。

NO2. !运算符优先级很高,高于乘法,和增量运算符优先级相同,仅次于圆括号。 P166

逻辑运算符(处理语句与语句之间)优先级:  !(非) >  &&  > ||  

    优先级: !=  ==  >  =

     

你可能感兴趣的:(c,Plus,Primer,5th)