瘦瘦的第二颗桃子(分支语句)

1.分支语句

  • if
  • switch
  1. 语法结构
    if(表达式)
    语句;
    else
    语句;

if(表达式)
语句一;
else if(表达式二)
语句二;
else
语句三;//多分支
2.代码展示

#include<stdio.h>
int main()
 {
        int score=0;
        scanf("%d",&score);
        if(score>90)
        {
               printf("优秀\n");
         }
      else   if(score>80)
        {
               printf("良好\n");
         }
       else  if(score>70)
        {
             printf("中等\n");
         }
       else   if(score>600)
        {
               printf("及格\n");
         }
         else
         {
               printf("不及格");
            }
        }

注意:

  1. if和else后一定要加花括号,这是一种良好的编程习惯。
  2. 分支语句只会进行一个语句,从上往下,满足条件则执行语句,之后分支不再进行。
  3. 把使用频率最高的写在第一个分支,减少判定。
  4. else 永远和最近的if及语句结合。
  5. 如下两个代码段:
int n=1;
if(n==5)
{
       printf("haha\n");
 }
int n=5;
    if(5==n)
{
       printf("haha\n");
 }
  • 推荐使用第二个代码段,防止写程序时把==写成=,便于更好的修改程序中的错误。

switch语句
switch(整型表达式)//只能进行整型判断
{
语句项;
}
//一些case语句
case 整型常量表达式
语句;

一. break
在switch语句中,我们没办法实现直接分支,搭配break才能真正实现。
比如:

#include<stdio.h>
int main()
{
         int day=0;
         switch(day)
         {
              case 1:
                       printf("星期一\n");
                       break;
              case 2:
                       printf("星期二\n");
                       break;
               case 3:
                       printf("星期三\n");
                       break;
               case 4:
                       printf("星期四\n");
                       break;
                case 5:
                       printf("星期五\n");
                       break;
                 case 6:
                       printf("星期六\n");
                       break;
                 case 7:
                       printf("星期天\n");
                       break;   
                }
               return 0;
           }     

又或者如下:

#include<stdio.h>
int main()
{
         int day=0;
         switch(day)
         {
              case 1:
              case 2:
              case 3:
              case 4:
              case 5:
                       printf("周内\n");
                       break;
                 case 6:
                 case 7:
                       printf("周末\n");
                       break;   
                }
               return 0;
           }     

同时,要是都不满足,则需要一个defacult子句;和case一样,都需要加break。
每一个switch语句中放一个default子句是一个好习惯。

练习
输出m,n的值

#include<stdio.h>
int main()
{
       int n=1;
       int m=2;
       switch(n)
       {
           case 1:
                    m++;        // m=3,n=1
            case 2:
                    n++;       //n=2,m=3
             case 3:
                             switch(n)
                             {
                                      case 1:
                                                 n++;
                                       case 2:
                                                   m++;       //m=4
                                                   n++;        //n=3
                                                   break;
                                }
                 case 4:
                          m++;       //m=5
                          break;
                    defaut:
                           break;
             }
             printf("m=%d,n=%d",m,n);
             return 0;
}                  
  • 小结

  • if(0){ 代码块}相当于注释

  • scanf在vs中使用不安全,有两种解决方案:
    #pragma warning(disable:4996)
    #define +宏
    3.c语言没有布尔类型(bool)

  • 三种注释的办法:

  • //

  • /* */

  • if(0){ }

猜你喜欢

转载自blog.csdn.net/shoushou_/article/details/89483384