1、C语言是一名结构化的语言,可分为顺序结构,选择结构,循环结构
2.什么是语句?
C语言中由一个分号( ; )隔开的就是一条语句。
一个;也是语句——空语句
1.if语句
语法结构:
if(表达式)
语句;
//单分支
if(表达式)
语句1;
else
语句2;
// 多 分 支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
(1)单分支语句
在代码中 if 后无分号-->if是条件(如果条件),执行命令,分号是完整的语句
(2)多分支语句
也可以将一部分情况归到else之中,如将上述代码写成下列代码,运行结果一致。
(3)悬空else问题
else与第二个if匹配,导致第一个if条件就不匹配得出结果为空
注意:else自动与其最近一个没匹配的if匹配
解决方法:加大括号
(4)代码块
条件完成后执行多条语句时,要使用{},即代码块。
✳注意区分 =,==
⬆⬆⬆ =赋值-->右边值赋给左边导致出错
⬆⬆⬆ ==判断相等-->逻辑正确
2、switch语句
switch语句也是一种分支语句。 常常用于多分支的情况。
Switch (整型表达式) 注意必须要是整型--->int
case (整形常量表达式) eg:case =1
在switch语句中的 break(不是必须加上break)
在switch语句中,我们没法直接实现分支,搭配break使用才能实现真正的分支。
比如:
有时候我们的需求变了:
-
输入1-5输出的是“weekday”;
-
输入6-7输出“weekend”
default子句
如果表达的值与所有的case标签的值都不匹配怎么办? 其实也没什么,结构就是所有的语句都被跳过而已。
程序并不会终止,也不会报错,因为这种情况在C中并不认为适合错误。
但是,如果你并不想忽略不匹配所有标签的表达式的值时该怎么办呢?
你可以在语句列表中增加一条default子句,把下面的标签
default:
写在任何一个case标签可以出现的位置。
当 switch表达式的值并不匹配所有case标签的值时,这个default子句后面的语句就会执行。所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流会像贯穿一个case标签一样贯穿default子句
好习惯
在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后边再加一个 break
练习:
问输出的m,n 是多少?
答案:5,3