【学习笔记之我要C】if分支语句与switch分支语句

简介: 【学习笔记之我要C】if分支语句与switch分支语句

一、if分支语句

int main () {
  /*
  格式1:
  if(表达式)
    语句;
  格式2:
  if(表达式)
    语句1;
  else
    语句2;
  格式3:
  if(表达式)
    语句1;
  else if
    语句2;
  if
    语句3;
  */
  return 0;
}

ifelse可以不跟{},但是这样,ifelse只能管住自己之后的一行代码。并且,在没有{}else自动与距离他最近的一个if进行匹配。

int main () {
  int age = 10;
  if (age >= 18)
    printf("成年了!\n");
    //这串代码不管是否满足 age>=18 的条件都执行的
    printf("可以谈恋爱!\n");
  else
    printf("未成年!\n");
    //这串代码不管是否满足 age<18 的条件都执行的
    printf("不能谈恋爱!\n");
  //下面的大面什么都不会打印
  //因为else与第二个if匹配了
  /*int a = 0;
  int b = 1;
  if (a == 1)
    if (b == 2)
      printf("heh\n");
  else
    printf("haha");*/
  return 0;
}

 所以,为了代码结构清楚明了,我们要在每个ifelse加上{}来表明他们的作用范围。

二、switch分支语句

int main () {
  /*switch语句:
  switch(整型表达式){
    语句项;
  }
  语句项:
  case 整型常量表达式
    语句;
  */
  return 0;
}

case 整型常量表达式用来进入一个分支,但是他不会跳出分支;所以下面的代码不管从哪个分支开始,都会执行到第七个分支才会停止。

int main() {
  int day = 0;
  scanf("%d", &day);
  switch (day) {
  case 1:
    printf("星期一\n");
  case 2:
    printf("星期二\n");
  case 3:
    printf("星期三\n");
  case 4:
    printf("星期四\n");
  case 5:
    printf("星期五\n");
  case 6:
    printf("星期六\n");
  case 7:
    printf("星期天\n");
  }
  return 0;
}

我们跳出分支语句就需要用到break

int main() {
  int day = 0;
  scanf("%d", &day);
  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;
}

这样,我们的代码就不会执行到底了,但是这时候又会出现另一个问题,那就是总会有些人的脑子构造和我们不一样,1-7他偏偏都不喜欢,就喜欢这7个数之外的数,之后就需要用到我们的default子句。

int main() {
  int day = 0;
  scanf("%d", &day);
  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;
  default:
    printf("输入错误\n");
    break;
  }
  return 0;
}

注意:每个switch语句只能有一个default子句。

目录
相关文章
|
5月前
|
Go C语言
分支语句与循环语句,详细讲解
分支语句与循环语句,详细讲解
|
6月前
|
Python
phython单分支if语句
phython单分支if语句
|
6月前
|
Python
phytthon多分支if-elif-else语句
phytthon多分支if-elif-else语句
|
11月前
分支和循环语句(2)补充goto语句
分支和循环语句(2)补充goto语句
52 1
|
5月前
|
Java
JavaSE——流程控制-介绍、分支结构(if分支、switch分支、使用switch分支的注意事项)
JavaSE——流程控制-介绍、分支结构(if分支、switch分支、使用switch分支的注意事项)
41 1
|
3月前
|
编译器 C语言
语句、分支与循环详解
语句、分支与循环详解
|
6月前
|
Java
深入理解多分支语句 switch
深入理解多分支语句 switch
35 3
|
11月前
|
C语言
分支语句和循环语句(1)
分支语句和循环语句(1)
50 0
分支语句及其应用
分支语句及其应用
51 0
分支语句(if、if-else、if-else if...else、switch)
在c语言中有三种程序结构。 1 . 顺序结构 2 . 分支结构 3 . 循环结构 本文章讲的是分支结构