学C的第六天(深入了解 分支语句 和 循环语句 )(1)

简介: C语言:结构化的程序设计语言,支持三种结构,顺序结构、选择结构、循环结构。生活中大大小小的事件基本都可以用这三种结构来描述,这是一种高度的抽象什么是语句?

C语言:结构化的程序设计语言,支持三种结构顺序结构选择结构循环结构。生活中大大小小的事件基本都可以用这三种结构来描述,这是一种高度的抽象

什么是语句?

//表达式
#include <stdio.h>
int main()
{ //一个大括号括起来的几条语句就是复合语句
  3 + 5; //这里的 3 + 5 就是表达式语句
  printf("hehe"); //这里的 printf() 就是函数调用语句
  ; //只有一个 ; 就是空语句
  return 0;
}

C语句可分为以下五类:

1.表达式语句:

image.png

2.函数调用语句:

image.png

.控制语句(本次重点)

控制语句用于控制程序的执行流程,以实现程序的各种结构方式,它们由特定的语句定义符组成,C语言由九种控制语句。

可分为以下三类:

1.条件判断语句也叫分支语句if语句、switch语句;

2.循环执行语句do while语句、while语句、for语句;

3.转向语句break语句、goto语句、continue语句、return语句。

4.复合语句:

image.png5.空语句:


一.分支语句(选择结构):

1.if语句:

语法结构:

//单分支:

if (表达式)

{                

       语句;

}                

//if
#include <stdio.h>
int main()
{
  int age = 0;
  //输入
  scanf("%d", &age);
  //单分支
  if (age < 18)
  {
    printf("未成年");
    //如果符合 表达式 ,则打印相应内容
    //如果不符合 表达式 , 什么都不做
  }
  return 0;
}

430bba5fa60e4ed6b66f34515ba16efa.png

//双分支:


if (表达式)


{                


       语句1;


}              


else          


{                


       语句2;


}                

//if
#include <stdio.h>
int main()
{
  int age = 0;
  //输入
  scanf("%d", &age);
  单分支
  //if (age < 18)
  //{
  //  printf("未成年");
  //  //如果符合 表达式 ,则打印相应内容
  //  //如果不符合 表达式 , 什么都不做
  //}
  //双分支
  if (age < 18)
  {
    printf("未成年");
    //如果符合 表达式 ,则打印相应内容
  }
  else
  {
    //如果不符合 表达式 ,则执行else里的语句
    printf("已成年");
  }
  return 0;
}


image.png


//多分支:


if (表达式)    


{                    


       语句1;


}                  


        else if (表达式2)


{                


       语句2;


}                


else          


{                


       语句3;


}                

//if
#include <stdio.h>
int main()
{
  int age = 0;
  //输入
  scanf("%d", &age);
  单分支
  //if (age < 18)
  //{
  //  printf("未成年");
  //  //如果符合 表达式 ,则打印相应内容
  //  //如果不符合 表达式 , 什么都不做
  //}
  双分支
  //if (age < 18)
  //{
  //  printf("未成年");
  //  //如果符合 表达式 ,则打印相应内容
  //  
  //}
  //else
  //{
  //  //如果不符合 表达式 ,则执行else里的语句
  //  printf("已成年");
  //}
  //多分支
  if (age < 18)
  {//<18 青少年
    printf("青少年\n");
  }
  else if (age >= 18 && age <=30)//&&:条件与
  {//18~30 青年
    printf("青年\n");
  }
  else if (age >= 31 && age <= 50)//&&:条件与
  {//31~50 中年
    printf("中年\n");
  }
  else if (age >= 51 && age <= 80)//&&:条件与
  {//51~800 中老年
    printf("中老年\n");
  }
  else if (age >= 81 && age <= 100)//&&:条件与
  {//81~100 老年
    printf("老年\n");
  }
  else
  {//101+ 老寿星
    printf("老寿星\n");
  }
  return 0;
}

3c6d72afedab43538dddc51e8d32b5d4.png

//嵌套
  if (age < 18)
  {//<18 青少年
    printf("青少年\n");
  }
  else { //if语句里再嵌套一个if语句
    if (age >= 18 && age <= 30)//&&:条件与
    {//18~30 青年
      printf("青年\n");
    }
    else if (age >= 31 && age <= 50)//&&:条件与
    {//31~50 中年
      printf("中年\n");
    }
    else if (age >= 51 && age <= 80)//&&:条件与
    {//51~800 中老年
      printf("中老年\n");
    }
    else if (age >= 81 && age <= 100)//&&:条件与
    {//81~100 老年
      printf("老年\n");
    }
    else
    {//101+ 老寿星
      printf("老寿星\n");
    }
  }


38daf356ba9e4977b3a4c093a4569cd9.png

补充:

1.写语句部分时,最好都加上{},即使用复合语句,不然只能执行一条语句

//补充1
#include <stdio.h>
int main()
{
  int age = 0;
  scanf( "%age", &age );
  if ( age > 18 )
    printf("已成年");
    printf("谈恋爱");
  return 0;
}

image.png

2.而且不加{}的话,else会和最近的if匹配,有时会判断不清else是属于哪个if语句的

//补充2
#include <stdio.h>
int main()
{
  int a = 0;
  int b = 0;
  if ( a == 1 )
    if ( b == 2 )
      printf("hh");
  else
    printf("ll");
  return 0;
}


image.png

3.不加{},语句可能会引起歧义

//补充3
#include <stdio.h>
int test1()
{
  //int n = 20;
  int n = 2;
  if ( n > 5 )
    return 1;
  return 2;
  printf("hehe\n");
}
int test2()
{
  //int n = 20;
  int n = 2;
  if (n > 5)
  {
    return 1;
  }
  else
  {
    return 2;
  }
}
int main()
{
  int m = test1();
  printf("%d\n", m);
  int n = test2();
  printf("%d\n", n);
  return 0;
}


7ec2c4f21e87402b960500fa2071e30d.png

4.条件的书写

//补充4
#include <stdio.h>
int main()
{
  int n = 5;
  if ( n = 3 )
  {
    printf("hehe\n");
  }
  return 0;
}


605ce51524f6440a9f2c4293dcd6c2e1.png

相关文章
|
7月前
|
Go C语言
分支语句与循环语句,详细讲解
分支语句与循环语句,详细讲解
|
8月前
|
缓存 编译器 Go
分支语句和循环语句
分支语句和循环语句
74 0
|
编译器 C语言 C++
分支语句和循环语句上
分支语句和循环语句
63 0
分支语句和循环语句上
|
C语言
分支语句和循环语句(1)
分支语句和循环语句(1)
56 0
|
数据安全/隐私保护 C语言
分支语句与循环语句(2)
分支语句与循环语句(2)
62 0
|
算法 数据安全/隐私保护
分支语句与循环语句——练习
分支语句与循环语句——练习
55 0
|
编译器
分支语句与循环语句题
分支语句与循环语句题
75 0
|
缓存 Go 数据安全/隐私保护
分支语句和循环语句下
分支语句和循环语句
79 0
|
数据安全/隐私保护
【分支语句与循环语句】
【分支语句与循环语句】
63 0
学C的第六天(深入了解 分支语句 和 循环语句 )(2)
2.switch语句: switch语句也是一种分支语句,常常用于多分支的情况。 语法结构: