C语言switch、while、for、do while干货~小白快看过来

一.switch介绍:

1.在C语言中,除了if语句可以实现分支选择结构外,switch也可以实现分支结构。switch语言是一种特殊形式的if……else结构,主要用于判断多个结果的情况。

2.switch的语言形式如下:

#include  <stdio.h>
int main()
{
   switch (expression)
   case value1:statement
   case value2:statement
   default:statement
   return 0;
}

根据表达式expression不同的值,执行相应的case分支,如果找不到对应的值,就执行default分支。

注:switch后面的expression必须是整形表达式,case后面的值,必须是整形常量表达式。字符也可以,因为字符是以ASCII值进行存储的,是整数类型。 

一:if语句和switch语句的对比:

1.数据类型不同:

在if语句中数据类型可以是布尔类型、可以是大于0的整数判断为true,也可以是小于0的整数判断为false、可以是常量、枚举。

而在switch语句的括号中,数据类型必须是整型或者是字符类型。

2.语句结构不同:

在if语句中,常用到的是else、if……else,通常两种情况时,选用else,但如果有两种以上的多种情况,通常选用if……else语法结构。

在switch语句中,常用到的是case(它表示的是情况,与表达式中的值相匹配,他给的值一般是常量,不能是变量)、default(它表示case所有情况不符合)、break(表示中断结束的意思,跳出switch语句)。

3. 应用场景不同:

if建议在判断区间或者范围的时候使用,switch建议在判断固定值的时候使用,但一般可以使用switch的场景都可以使用if,反之不一定成立。

4.返回途径不同:

if是根据条件判断后再进行处理,通常条件表达式必须是一个返回布尔结果的表达式,条件返回值是true则继续进行下面的语句,如果条件返回值是false,则执行相对应的语句。

switch根据表达式的值来执行多个操作中的一个。

二.break、case、defalut介绍:

 一.break具体使用:

#include <stdio.h>
int main()
{
  int day =0;
  scanf("%d",&day);
  switch(day)
{
  case1:
     printf("星期一\n");
  case2:
     printf("星期二\n");
  case3:
     printf("星期三\n");
  case4;
     printf("星期四\n");
   default;
     printf("休息\n");
   return 0;
}

大家可以猜猜在这段代码中,如果不使用break运行的结果是什么? 

那么为什么输入3后输出的有四个结果?那是因为输入3后,找到对应的情况进去,然后一直从case3执行到default,中间没有被打断,所以当我们只想要一个输出结果时,可以使用break加在后面,使其只输出一个结果。 

二.case具体使用:

上述代码中,我们需要注意的是case和后面的数字之间必须有空格,每一个case语句中的代码执行完成后,需要加上break才能跳出这个语句。,而且case后面只能使用常量表达式,case后面的值不能重复使用。

三.default具体使用:

在switch语句中,case句子和default句子没有顺序要求,只要我们写出的代码可以正常运行就行,不过我们一般都是把default放在句子后面处理的。

三.while介绍:

一.while基本知识:

1.C语言中提供了三种循环语句,分别是:while、for、do……while。while就是其中的一种.

2.while的语法形式如下:

#include <stdio.h>
int main()
{
  while(表达式)
      语句;
   return 0;
}

其中表达式的结果为真即非0的时候,继续进行循环语句,否则停止。 

 3.while循环语句中,一般还会使用到break、continue、if的嵌套等使用。

注:while循环的特点是先判断条件表达式,后执行循环语句。循环体如果包括一个以上的语句,应该用花括号括起来,作为复合语句出现。 

二.while中的break和continue区别:

 在while循环中,break表示永远终止循环,而continue是终止本次循环,也就是只是continue后面的代码不再执行,而是直接跳到while的判断部分,进行下一次循环入口的判断。

例如:

注意:在有continue中,1234后面是死循环,有光标闪,而在break语句中只打印1234,然后就跳出了循环。 

下面是while循环时的流程图:

四.for语句介绍:

一.for语句基本:

C语言中的for语句也是来循环的 ,重复循环某段代码。它由三部分组成:初始表达式部分、判断部分和调整部分。在每次循环时,都会进行初始化表达式部分,然后进入判断部分,判断条件部分是否为真,如果为真则继续执行循环部分代码。除此之外,for语句还可以嵌套使用 ,用于多重循环。

for循环的语法形式如下:

                          for(表达式1;表达式2;表达式3)

其中,表达式1用来循环变量的初始化,表达式2用于循环结束条件的判断,表达式3用于循环变量的调整。,而且for语句中的初始化部分、判断部分和调整部分可以省略。

举例子:在for语句中有无初始化的区别。

对比以上两个代码,为什么会差异如此大呢?首先在第一个代码中,for语句循环体中没有对j进行初始化,所以在第一次进入后 打印出4个hehe,然后i++<4,但是由于第二次再进入时没有对j初始化,(j=4)<4,所以循环不再进行。而第二个代码在for语句循环中开始就对j进行了初始化,所以第二次进入循环体时,满足j<4,继续打印4个hehe,直到满足i<4.

二.while和for语句的对比:

C语言中,while和for都是常用的循环语句,他们的作用就是重复使用一段代码,但是在语法和语句上有一定的区别:

1.循环语法结构不同:for具有三个固定的语法结构,初始化部分、判断部分、更新表达式部分,而while只有一个循环条件部分。

2.循环条件判断时间不同:while的循环,条件判断部分是在一开始部分,而for是先进入初始化部分,然后再进入判断部分进行 判断,for循环适用于已知循环次数的情况,而while循环适用于未知循环次数的情况。

五.do  while介绍:

1.C语言中的do while语句是一种出口条件循环,它的语法结构为:do{循环体语句}while(循环条件表达式)。在执行do while语句时,先执行一次循环体语句,然后再判断循环条件表达式是否成立,如果成立,则继续执行循环体语句,否则跳出循环。因此,do while语句保证了循环体至少被执行一次。与while和for循环不同,do while循环的循环条件表达式在循环体执行之后才被判断,因此do while循环适用于需要先执行一次循环体语句的情况。

2.do  while的语法结构如下:

                    do 
                           循环语句;
                      while(表达式)
                           //至少循环一次

3.do while一般使用场景较少,循环体三种语法常用的是for、while,然后是do while。 

 

 

  • 15
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值