嵌入式Linux学习DAY5

1.代码创作原则

     提高健壮性(鲁棒性)

 如:提取数字,防止用户输入非规定字符(字母或其余符号),可在scanf部分时操作,如用scanf(%d%d%d,&a,&b,&c);使用户输入的内容运行后只有数字能被匹配。

注意:之前输入的非法字符仍在缓冲区内,因此在下次输入数据时,要将上次缓冲区内的数据清除,可用输入空字符来将残留数据取代

2.选择结构设计

选择条件判断:

关系条件有:

嵌入式Linux学习DAY5_第1张图片

符合关系则为1(真);不符合关系则为0(假),在值中,非0为真,即为1

逻辑运算有:
与&&:

          注:一旦左为0,则右就不参与运算。

或ll :

          注:一旦左为1,则右就不参与运算。

非!  :

优先级为:非>与>或 ,例:a++ ll b++(a=0,b=0)=0,因为a++是先用后加。

逻辑运算的关系是表达式的关系,不是数值的关系。错例:嵌入式Linux学习DAY5_第2张图片

                                                                                     改正:嵌入式Linux学习DAY5_第3张图片

3.语句

3.1 if语句

1形式为:

      if(表达式)//判断条件

     {    

        语句

                }

如果if判断为真则执行语句,如果为假,则跳过。注意:表达式后不加“;”,加后就将if与执行语句隔开了,表示只做判断,不做语句执行,而期待做执行的语句成为了必然要执行的语句。

2形式为:

       if(表达式)

      {

        语句1

                  }else

      {

        语句2

                  }    如果表达式成立,则运行语句1,否则运行语句2.

3.2 多分支语句 if.....else if语句

       if(表达式1)

      {

        语句1;

                  }if else(表达式2)

      {

        语句2;

                  }if else(表达式3)

       {

        语句3;

                  }.......

顺序执行,符合那个表达式就执行那个表达式对应语句

3.3条件运算

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

表达式1:问题          表达式2:问题成立            表达式3:否则

如:a>b?a:b                             a是否大于b,大于,则显示a,否则显示b

3.4switch语句

switch(表达式)  //整型表达式

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

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

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

.......default:语句

                           注意:不加break,则可以俩个case用一个语句,如:case1:

                                                                                                                case2:语句;break;

                                         这样将会两个case执行一个语句。

                           注意2:case本质是标签;switch只会匹配一次;default写错不影响使用,因为                                            其本质为除去标签后的所有标签。

今日重大错误:

if(a=0)并不能起判断作用,if(a==0)才是判断的正确形式 

你可能感兴趣的:(学习)