目录
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