我是靠谱客的博主 聪慧黄蜂,最近开发中收集的这篇文章主要介绍C语言入门(五)分支结构if-else语句switch语句,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

C语言的分支结构有两种:①if-else语句②switch语句

if-else语句

一般形式如下:

if(表达式)

  语句1;

else

  语句2;


如果有多个语句,则写成

if(表达式)

{

  语句1;

  语句2;

}

else

{

  语句3;

  语句4;

}


if-else的意思是,如果if后面表达式的逻辑值为1,则执行if里的语句,如果不为1执行else里的语句。 看下面一段代码

#include<stdio.h>		
int main()
{   
	int a, b;
	a = 5, b = 6;
	if (a > b)
		b++;
	else
		a++;
	printf("a=%d,b=%d", a, b);
	return 0;
}

????说明:

上面的程序我给a,b两个变量赋初始值,进入if里判断a是否大于b,很明显a小于b,表达式的逻辑值为0,所以去执行else里的语句。


if语句的嵌套

看下面一段代码

#include<stdio.h>		
int main()
{   
	int a, b;
	a = 5, b = 6;
	if(a<b)
	if (a > b)
		b++;
	else
		a++;
	printf("a=%d,b=%d", a, b);
	return 0;
}

很明显,上面程序中有两个if,一个else,但记住这个else永远之和离他最近的if配对

那么上面程序的意思就是先执行判断if(a<b)如果满足则执行判断if(a>b),发现对于上面程序不满足那就执行else。

如果你问,如果第一个if我就不满足呢?那就不执行,因为没有写和第一个if配对的else。


多分支if语句

看下面一段代码

#include<stdio.h>		
int main()
{   
	int a, b;
	a = 5, b = 6;
	if (a < b)
		b = b + 3;
	else if (a > b)
		b++;
	else
		a++;
	printf("a=%d,b=%d", a, b);
	return 0;
}

执行流程:

先判断a是否小于b(a<b),如果逻辑值为1则执行b=b+3;

如果()内逻辑值不为1则往下执行判断a是否大于b。如果逻辑值为1则执行b++;

如果都不满足就执行else里的a++;


switch语句

格式

switch(表达式)

{

  case 常量表达式1:语句1;break;

  case 常量表达式2:语句2;break;

  ......

  case 常量表达式n:语句n;break;

  default:语句n+1;break;

}

✔执行流程

表达式的值=常量表达式1的值,执行语句1,然后break跳出switch语句

表达式的值=常量表达式2的值,执行语句2,然后break跳出switch语句

表达式的值=常量表达式n的值,执行语句n,然后break跳出switch语句

其他情况,执行语句n+1,然后break跳出switch语句

Q:如果不写break会怎样?

A:比如你1里面没写break,那么如果执行了语句1之后他会继续执行语句2,直到见到break,如果一直没碰到break那么他会执行完下面的所有语句。

Q:不写default可以吗?

A:当然可以,不写的话,当程序执行完switch后面的表达式,找不到对应的case语句时,他自动退出switch,执行下面的程序

最后

以上就是聪慧黄蜂为你收集整理的C语言入门(五)分支结构if-else语句switch语句的全部内容,希望文章能够帮你解决C语言入门(五)分支结构if-else语句switch语句所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(48)

评论列表共有 0 条评论

立即
投稿
返回
顶部