目录
一、C语言的结构
二、分支结构
三、Q&A
一、C语言的结构
C语言主要有以下三种结构
1. 顺序结构
程序按照顺序执行,从头到尾一句接着一句的执行下来,执行完上一个语句就会自动执行下一个语句,直到执行完最后一句程序结束。是一种简单且基础的结构。
2. 分支结构
程序通过设定的条件来判断结果选择分支方向,包括单分支与多分支。C语言中主要使用if语句和switch语句实现选择结构
3. 循环结构
程序通过设定的条件来判断结果是重复执行部分特定程序或终止。C语言中主要使用while语句,for语句和do while 语句来实现循环结构
二、分支结构
1.if 语句
其基本用法如上图所示,if后的括号内填写执行条件,下面一行为执行内容。当执行条件为真时,if执行以下内容,反之,当执行条件为假时,if则不会执行。
在C语言中,除了使用判别式来设定条件外,还可以用数字来判定真假,“0”代表假,非零代表真
如下图所示
❗️注意:1.在设定执行条件时,要使用关系操作符
,其中最易出错的是判断相等的符号不是“=”而是“==”,这会引发如下问题
可以看到当a的值不为2时,if依旧执行了程序,打印了“haha”,这是因为"= "是赋值符号,a =2实质上是将2赋给了a,因此,这时if的括号内其实只是一个数字2,由于2是个非0数,if判断其为真,执行了程序。正确写法如下:
2.如果不加大括号,那么if的执行内容默认只有后面紧跟的那一行代码
在if语句中,if通常与else一起使用,如下图所示
当if的执行条件不满足时,程序便会执行else的内容,与if一样,else的执行内容只有一行,若需扩充内容要使用大括号。
❗️注意:else只与跟它距离最近的if搭配,如下图所示
在初学者看来,上面程序执行逻辑应当是:先判断第一个if,发现a并不为1,于是执行else,打印“haha",然而,我们可以看到结果其实是什么都没打印。这是因为else只与最近的if相关联,因此可将第二个if和else视为一个整体,嵌套于第一个if之中,所以当a不为1时,其之后的程序都不再执行了。
从以上事例我们可以了解到if语句是可以嵌套使用的,此外,它还可以进行多重判断,如下图所示
2、switch语句
其基本用法如上图所示,switch后的括号内为表达式(整型表达式),case后的值为表达式所对应的结果(该值也得为整型),当表达式的值与case后的值相同时,该case后的语句就会被执行,因此,switch语句更适合用于多分支的情况下。
但如果直接运行上述程序,其结果为:
若想避免该情况,需要在一个case语句后加上break,来让它跳出switch语句。
当然,case语句不可能例举所有的情况,当switch后的表达式无法匹配case语句时,可以用default语句来执行程序(类似于if中的else),即case语句以外的所有情况都由default执行。如下图所示:
三、Q&A
1.条件何为真, 何为假?
答:在条件判断中,“0”代表假,非零代表真,
当表达式条件满足时,会被程序视为非零数1来处理
2. if语句执行流程?else语句可以写多个吗?
答:If语句先进行条件判断,为真则执行,为假则执行else内容或停止。在一个if程序中,可以有多条else if 语句,但else语句只有一个。
3.switch后的表达式类型是什么?
答:为整型表达式
4. case后面值的类型是什么?(注意case和值之间一定要有空格)
答:为整型类型
5. default?swtich的运行顺序是什么?
答:事实上,default语句可以放在swtich语句中的任意位置,无论是放在开头还是结尾都不会影响程序的运行,但在一般情况下,我们默认将其放在最后。