C语言选择语句

目录

1. 流程控制语句(选择语句)

1.1 if语句和else if语句

2.1 switch case语句

总结:

总结:


1. 流程控制语句(选择语句)

在生活中不同的选择也就意味着,不同的结果

假如你学习了一天到了中午吃饭的时候,你不吃饭就会肚子饿。反而如果你吃了饭你就不会饿

这也就是选择语句要实现出来的(例如图1.1.2)

流程控制语句分为 if语句,if else语句,还有switch case语句等

1.1 if语句和else if语句

语法如下:

if(条件表达式)
{
    //要执行的代码块
}

else if(条件表达式)
{
    //要执行的代码块
}
else
{
    //要执行的代码块
}

1.1.1

我们用一个实际案例来表示:

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int a = 0;
	if (a)
	{
		printf("中午吃饭了,下午不饿");
	}
	else if(a)
	{
		printf("中午没吃饭,下午饿");
	}
	else 
	{
		printf("中午有事情来不及吃");
	}
	return 0;
}


1.1.2

代码运行结果如下:

1.1.3

为什么会执行最后一个elss里面的代码呢?

因为在if语句的括号内是条件表达式,如果括号内的条件表达式为真,则执行if语句中的代码,如果为假则不执行。(else if也是如此)。

因为if括号内的条件表达式和else if内的条件表达式都为假,所以最后会执行else语句中的代码。

在if else if语句中,程序是从上到下运行的,期间只要满足条件,就会执行该语句中的代码并退出当前的if else if语句。(前提是没有其他关键字的影响)

C语言中0表示假而非0表示真。

2.1 switch case语句

语法如下:

   switch (表达式)
    {
    case 表达式:
        break;
    case 表达式:
        break;
    default:
        break;
    }

 

 用一个简单的例子说明:

当day等于1-9之间数字时,他就会进入相对应的case语句中,当day = 1的时候就会打印 “今天是星期一”,执行到break处的时候会跳出当前整个switch—case语句。

当day不等于1-9之间的数字时,程序会依次执行,直到遇到default语句并执行里面的代码并跳出当前整个switch—case语句。

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
		printf("今天星期一");
		break;
	case 2:
		printf("今天星期二");
		break;
	case 3:
		printf("今天星期三");
		break;
	case 4:
		printf("今天星期四");
		break;
	case 5:
		printf("今天星期五");
		break;
	case 6:
		printf("今天星期六");
		break;
	case 7:
		printf("今天星期天");
		break;
	default:
		printf("输入有误");
		break;
	}
	return 0;
}

有匹配项时

无匹配项时

 

mini版switch语句

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h>
int main() {
	int day = 0;
	scanf("%d", &day);
	switch (day)
	{
	case 1:
	case 2:
	case 3:
	case 4:
	case 5:
		printf("今天要上班");
		break;
	case 6:
	case 7:
		printf("快乐假期开始喽");
		break;
	default:
		printf("输入有误");
		break;
	}
	return 0;
}

当case语句中的代码块完全一致时就可以把 代码给省略掉(注意必须完全一样!!!!!

运行结果如下:

day = 1-5时

day = 6-7时 

总结:

当switch(表达式)语句里面的表达式和case 的表达式相匹配时就会执行case中的语句块(注意break语句要谨慎省略)。

如果程序把所有的case语句执行完毕后也没有找到相匹配的项,那么就会执行default中的语句块(注意break语句不能省略)。

case表达式的值必须是常量

switch中的表达式,case中的表达式,可以是一个字符,因为在计算机中字符是以ASCII码的形式存储的

总结:

编程中的东西都是用来模拟现实生活中的,编程能描述的一定是现实生活中有的,选择语句也是如此,只不过现实中的选择没有标准,而在编程中需要相应的语法规范。

如有错误请联系我Q

3190507419

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值