教你快速精通循环和分支语句,确定不进来?(和bug 郭一起学C系列2)(1)

简介: 教你快速精通循环和分支语句,确定不进来?(和bug 郭一起学C系列2)(1)

语句

什么是语句?


printf("hehe");
    sum=a+b;   
    1+2;
    a++;
    ;    //空语句

上面所列举的都是语句,相信聪明的你已经发现规律了,只有带有;的都是语句;

;这便是语句的标准,甚至一个;也是一条语句,我们通常称为空语句!


C语言中由一个分号;隔开的就是一条语句。


C语言有三种语句结构


顺序结构

循环结构

分支(选择)结构

对应了我们生活中的三类事情


顺序结构:一我们按照顺序完成下去的事情,从出生开始到死去,我们对应着不同的年纪要做不同的事。

循环结构:我们每天都要重复进行的事情,比如吃饭睡觉。

分支(选择)结构:就是我们可以中断某一件事情,去做另一件事情。比如,你认真工作,然后买了张彩票就可以不工作了。


分支语句

分支语句是一种选择结构,也叫做选择语句

考上高中后有两种选择好好学习,考上大学;不好好学习,回家种地。

image.png


这便是一种选择结构,我们生活中很多事情都是选择结构!


if语句

啥是if语句呢

if语句就是一种分支结构;


语法结构

//单if
 if(表达式)
     语句;
//if    else     语句
   if(表达式)
   语句1;
   else
   语句2;
//if    else if   ...   else    多分支(多选择)
  if(表达式1)
         语句1;
   else if(表达式2)
         语句2;
           else if(表达式3)
              语句3;
                  ...
                   else
                   语句n;

我们下面用这3种结构实现上面的代码


单if 语句

int main()
{
    printf("请做出你的选择(1/0)>");
    scanf("%d",&x);
   if(x==1)
   printf("上大学!");
 }

if else 语句

int main()
{
    printf("请做出你的选择(1/0)>");
    scanf("%d",&x);
   if(x==1)
   printf("上大学!");
   else
   printf("回家种地!");
   return 0;
 }

多分支if else if else 语句


相信有很多人,上高中后不止这两种选择,富二代可以回家继承,也可以出国留学家业…生活中有很多都属于多分支结构。


int main()
{
       printf("请做出你的选择(1/2/3/4)>");
   scanf("%d",&x);
  if(x==1)
  printf("上大学!");
  else  if(x==2)
  printf("回家种地!");
  else if(x==3)
 printf("继承家业!");
 else  if(x==4)
 printf("出国留学!");
  else
 printf("其他!");
  return 0;
}

解释一下:如果表达式的结果为真,则语句执行。在C语言中如何表示真假?


0表示假,非0表示真。


那如果if里面有多条语句呢?

eg

image.png

可以看到报错了,难道只能一条语句?

image.png

只要我们在多条语句加上{ }就可以执行了。

注:当我们只有一条语句时,我们可以省略{ }当if要控制多条语句时,我们应该加上{ },当一条语句时,加上{ },可以增强代码的可读性,养成编程的好习惯!

我们来看看{ }是如何增强代码的可读性的!

int max1(int x, int y)
{
  if (x > y){
  return x;
  }
  return y;
 }
int max2(int x, int y)
{
  if (x > y)
  {
  return x;
  }
  else
  {
     return y;
  }
}

max1和max2其实是一样的!

显然max2的逻辑更加清晰,不容易出错,可读性高一些!

所以为何不加上那大括号呢?


switch语句

当有很多种选择的时候,if 语句读起来就显得吃力了,哪还有其他逻辑更加清晰语句吗?

当然有了,那就是switch语句

我们先来认识一下switch语句的语法结构


switch(整形表达式)
   {
     语句项; 
   }

啥是语句项呢?

case 整型常量表达式:  语句;

往往switch语句有多条语句项构成,一条语句项便是一个分支(一种选择);

说了这么多估计也听累了,我们来上个代码!

image.png

为啥和我们预料的不一样?

我们只想打印星期三但是把后面的都打印了。

难道是day只能选择入口,然后出去只能从最后出去?确实如此!

我们之前不是介绍过一个关键字break现在就派上用场了。

在switch语句中,无法实现多分支,只有搭配break才能实现多分支结构!

image.png

这就实现了多分支结构

break决定了程序的出口

那我们不输入1~7输入了其他数字呢?

image.png

显然这不是特别方便用户,如果没有提示输入1~7,那用户不是不知道那错了,这时,我们引入一个default关键字。即可代表其他选项!

image.png

是不是很完美了。


我们来总结一下switch的 注意事项


switch(表达式)必须是整型表达式,即不能判断浮点型数据。

case 只是决定入口,只有搭配default才能实现多分支结构

case后的常量表达式,要各不相同,不能重复了。

default 语句项位置任意,但是只能有一个,不一定要放在最后面

测试一下看看你学会了switch语句了没有

switch还能嵌套使用!

image.png

看看对了没!

image.png

目录
相关文章
|
15天前
|
C语言
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
爱上C语言:分支与循环(分支篇)多个if与if — else if区别
|
15天前
|
Go C语言
爱上C语言:分支与循环(循环篇)
爱上C语言:分支与循环(循环篇)
|
12天前
|
Python
[重学Python] Day1 变量+分支+循环
[重学Python] Day1 变量+分支+循环
23 3
|
9月前
|
C语言
学C的第六天(深入了解 分支语句 和 循环语句 )(1)
C语言:结构化的程序设计语言,支持三种结构,顺序结构、选择结构、循环结构。生活中大大小小的事件基本都可以用这三种结构来描述,这是一种高度的抽象 什么是语句?
|
9月前
学C的第六天(深入了解 分支语句 和 循环语句 )(2)
2.switch语句: switch语句也是一种分支语句,常常用于多分支的情况。 语法结构:
|
9月前
|
监控 C++
分支与循环(2)(下)
分支与循环(2)(下)
|
9月前
|
编译器 C语言
|
9月前
分支语句和循环语句(超详细保姆级,适合初学者)下
分支语句和循环语句(超详细保姆级,适合初学者)
37 0
|
9月前
|
C语言
分支语句和循环语句(超详细保姆级,适合初学者)上
分支语句和循环语句(超详细保姆级,适合初学者)
53 0
|
机器学习/深度学习 算法 Linux
分支语句和循环语句(习题集)
分支语句和循环语句(习题集)
82 0
分支语句和循环语句(习题集)