C语言进阶版第1课—分支语句和循环语句


  C语言语句包含了表达式语句、函数调用语句、控制语句、复合语句和空语句,而我们今天所讲的分支语句和循环语句就是隶属于 控制语句
  控制语句用于控制程序的执行流程,以实现程序的各种结构方式。

C语言有九种控制语句,可分为以下三类:

  • 条件判断语句也叫分支语句:if语句、switch语句
  • 循环执行语句:do while语句、while语句、for语句
  • 转向语句:break语句、goto语句、continue语句、return语句

一、分支语句

1. if语句

1.1 if单支语句

if(表达式)//表达式为真则执行下面的语句
   语句;

  那么表达式什么时候为真呢?C语言中0用来表示假,而非0表示真,什么意思呢,请看下图。
在这里插入图片描述
在这里插入图片描述
  对比以上两中结果,可以看出,当表达式成立时则为真,执行if大括号里面的语句,不成立则为假,接下来我们再看一组。
在这里插入图片描述
在这里插入图片描述
  从以上结果我们可以看出,当表达式结果为0时表示假,因此也就不会执行下面的语句,而当表达式结果为非0时表示真,执行下面语句.

1.2 if……else语句

if(表达式)//表达式为真则执行语句1
   语句1else      //表达式为假则执行语句2
   语句2

  接下来我将用图解的形式来帮助我们理解
在这里插入图片描述

在这里插入图片描述
  这时候可能有小伙伴就要疑惑了,如果我输入一个负整数又会输出什么呢?
在这里插入图片描述
  从以上结果可以帮助我们更好得理解,C语言中0为假,非0为真.

1.3 if……else if(可多用)……if

if(表达式1//表达式1为真时执行语句1,且跳过else if语句
   语句1else if(表达式2//表达式1为假且表达式2为真时,执行语句2
   语句2;
 ……
 else               //以上表达式都为假时,执行语句3
   语句3

  接下来我将通过图解的方式帮助大家理解.
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  从以上三种对比结果我们可以看出,即使我们输入0,它依旧会执行第二条语句。当其中的表达式满足时,那么编译器会自动跳过其他语句,直接到return 0.
  这时候可能有些小伙伴要困惑了,那就再对比一组图片.
在这里插入图片描述

练习:判断一个数是否是奇数,是就打印

//判断奇偶数
int main()
{
	int n = 0;
	printf("请输入:");
	scanf("%d", &n);
	if (n % 2 == 0)
		printf("%d是偶数\n", n);
	else if (n % 2 == 1)
		printf("%d是奇数\n", n);
	else
		printf("输入错误\n");
	return 0;
}

2. switch语句

switch(整型表达式)            //整型表达式包括int、long、char类型
{ case 整型常量表达式:         //可多用
        语句;
        break;                 //跳出语句
  default:                     //所有case都不满足时,执行该处代码
        printf("……”);        
        break;                //跳出语句
}

  接下来我将用图解的方式帮助大家理解.
在这里插入图片描述

2.1 switch语句中的break

  C语言中break就是用来打破循环和跳出switch语句的执行
  当我们在以上代码的基础上加入break后
在这里插入图片描述
  上面代码太长而且重复性太高,我们简单优化下.
在这里插入图片描述

二、循环语句

1. while循环语句

while(判断部分)
{
   循环体;
}

  判断部分成立则执行循环体中的语句,然后再返回至判断部分,若成立继续循环,直至判断部分不成立则跳过while循环语句
在这里插入图片描述
  接下来我将用一段代码帮助大家理解。
在这里插入图片描述
  对于上述代码,如果不加调整部分n–,则会陷入死循环.
  当然while循环也可以和其他语句进行嵌套使用.
在这里插入图片描述

2. for循环语句

for(表达式1;表达式2;表达式3)
    循环语句;

  那么for循环又是如何执行的呢?
在这里插入图片描述
在这里插入图片描述

3. do……while循环

do
{
  循环语句;
}while(判断部分);

  do……while循环语句有一个特点,无论条件满足与否,上来就先执行一次循环语句,然后再判断,条件成立则继续循环,不成立则跳出循环。
在这里插入图片描述
在这里插入图片描述
  从上图我们可以看出,即使判断部分的表达式为假,也会先输出循环语句后再去判断。
在这里插入图片描述
  关于如何跳出循环语句,接下来我会用一篇文章专门去讲break和continue在各个语句中的使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值