流程控制(二)(Day6)

if-else语句:
//单分支语句
...
if (表达式) //注意: if后面 没有分号 
{
  语句;
}
...

语义:
如果 表达式 判断 为真,
则,执行if中的 语句,
    语句执行结束,
    表示if语句结束,
    程序继续往下执行if后面的语句
如果 表达式 判断 为假 
则,表示if语句结束,程序继续往下执行if后面的语句


注意:
   1.语法 掌握 --- 形式写对 
   2.含义 理解 
   3.放到程序中,程序的流程 - 理解
 
if-else //双分支语句
语法:
if (表达式)

    语句1;
}else 
{
    语句2;
}

语义:
如果 表达式 判断 为真,
则,执行 语句1
否则,执行语句2
---------------------
语句1 或者 是语句2 执行完之后,
表示if语句结束,程序继续往下


针对代码的优化要做到:高内聚 低耦合  


练习1:
   从键盘输入两个数,找出最大值


练习2:
   输入三个数,找出三个数中的最大值


  
//形式3 
if-else-if  //多分支语句 
语法:
if (表达式1)  
{
    语句1;
}else if (表达式2)
{
    语句2;
}else if (表达式3)
{
    语句3;
}...
else  //注意: 只剩最后一种情况时,此时else可以不加判断
{
   语句n; 
}

注意:
   if 后面不能加分号 

语义:
如果 表达式1 判读为真,则,执行 语句1
否则,继续 判断 表达式2,如果表达式2为真 ,则,执行 语句2
否则,继续 判断 表达式3,如果表达式3为真 ,则,执行 语句3
...

练习:
 
学生成绩:
90-100 --- A 
80-89  --- B
70-79  --- C
60-69  --- D 
<=59   --- E  
  
  
   90 <= score && score <=100 //
   
  score;
  if ( [90-100])
    打印A;
  else if ([80-89])
     打印B;
  else 


  
注意:
1.允许单独的if语句出现 ,但是不想允许 单独的else语句出现 
2.每一个else 必然 对应一个if
3.if 与else 配对关系
  else 总是和离它最近的前面的尚未使用的if配对 
  
if ()
{
    if ()
    {

    }else 
    {
    }
}else 
{
    if ()
    {

    }else 
    {

    }
}


条件运算符:
?: //运算符 


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

运算过程: //实际上是if-else语句的简写 
问 一下 表达式1? 真加?
真  执行 表达式2
假  执行 表达式3 


练习:
   判断一个年份是否为闰年?
   
   闰年:
     (1).能被4整除,但是 不能被100整除     //2022 2008 2024 
     (2).能被400整除  //世纪年份 -- 2000 1900 2100


    year%4==0&&year%100!=0||year%400==0
     
练习:
   从键盘输入一个月份和年份,打印月份对应的天数 
   
   月份: 1 3 5 7 8 10 12 -- 31天  (大月)
         4 6 9 11  -- 30天 (小月)
         2 -- 闰年 or 平年 
   
   
缩进对齐:
  单行对齐 命令模式下 按两下等号 
  多行对齐 shift+v 选中,按一下等号 
  全局对齐 gg=shift+g 
  
  
-------------------------------------------------
switch  //多分支语句 
语法:
switch(表达式)
{
    case 常量表达式 1:
        语句 1;
        break;
    case 常量表达式 2:
        语句 2;
        break;
    case 常量表达式 n:
        语句 n;
        break;
    default :
       语句 n+l;
       break;

含义:
   求解 表达式?
   根据 表达式的结果,去匹配 case后面的 常量表达式的结果,
   匹配(值相等)成功之后,
   则执行对应的case下面的 语句,
   直到遇到了break
   或者是
   switch 语句的 } (右花括号)


注意:
  1.switch 表达式 与case 只会匹配一次 
  2.switch 中的 表达式 必须是一个整型表达式 或者是与整型兼容的类型的表达式 
    不能是浮点型 
  3.case 后面,必须是一个常量表达式 
    不能出现变量 
  4.case xxxx:
    default:   //标签 
    
    标签 用来 程序中某些代码 做个标记 
  5.default 位置 是灵活的 
  6.建议,case和default统一都写上break 
  7.switch提供了 多种情况,匹配同一种操作 
  
   switch()
   {
        case 1:
        case 2:
        case 3:
            printf("xxx\n");
            break;
   }

   
   多分支:
练习: 1.分数等级 

score/10
90-100: A
80-89:  B
70-79:  C 
60-69:  D 
  <59:  E 

总练习题

1.

2.

3.

  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值