概览
1选择 2循环 3顺序 是c语言三结构
分支和循环语句分别抢占选择和循环这俩结构高地
其中再细分
if语句和switch语句隶属分支
for,while和do while隶属循环结构
还有一些番外小补充
分支语句
一、if语句
1、一组if和else
if和else组合拳起到判断多种情况并作出不同对策的作用
if(表达式)为真,则执行语句,假则不执行,转而执行else下的语句
简单来说就是:
if情况1则xxxx
else(除了情况1的情况下)则xxxx
这里A是0,if的情况不成立,将打印0。
2、嵌套if
当出现多组if和else时用以判断更多的情况,如下:
这里有可能大于,小于或等于三种情况(在去掉大于,小于这两种情况后,else就代表了等于的情况)
tips1:(在编写时注意,只有if后才可以跟(),其中的表达式起判断作用,else后则直接跟加希望执行的语句)
tips2:(悬空else问题:else总和最近的if搭配)
二、switch语句
可以说是特殊的if和else结构,用于判断多个结果
switch(表达式)
表达式算出几,就执行case几,剩下的情况,执行default
tips1:(switch后的表达式必需是整型表达式,不可以是浮点型,字符也算是整型
case后的表达式必需是整型常量表达式,不可以是变量)
tips2:(case和default语句没有顺序要求)
tips3:每个case后不要忘记加break,以终止分支的运行,不然会继续往下走
循环语句
一、while循环
和if相似,只是多了循环的作用
while(表达式)
{
语句;
}
先利用表达式判断 为真(返回1)则执行语句,然后再循环判断,执行语句步骤
表达式为假(返回0)那么直接结束程序
举个例子 运用while打印整数的每一位
二、for循环
古希腊掌管循环的神 可以说是使用最频繁的循环语句
for(初始化;判断;调整)
{
语句;
}
初始化,判断和调整这三板斧都可以省略,但是省略判断,你将获得死循环
先初始化,然后判断是否为真,真则执行语句,最后调整(调整一般是i++ 之类)
然后重复判断,执行,调整的循环
for循环用于数组的输入和输出
这里是一个二维数组的例子:
三、do while循环
使用较少
do
{
语句;
}
while(表达式)
do就是直接上,先直接执行语句,
然后交由表达式判断是否为真,若真再循环语句;若假则终止循环
在这里的循环体至少执行一次
四、循环嵌套
以上循环的组合技
一些番外
一、循环中的中断与跳跃
1、break和continue
break和continue都是关键字
break用于永久终止循环
continue用于跳过本次循环后continue后面的代码,但是不终止循环(在for循环和while循环中有所差异)
在while循环中的break
当i==5时直接终止整个循环
只打印1234,程序终止
在while循环中的continue
这里打印完1234后光标一直闪烁,代表程序一直没有终止,说明循环一直没有结束,所以continue没有直接结束程序,而是跳回while的判断语句
在for循环中的break
在for循环中的continue
由于for循环有调整在语句后执行的特性,即continue后跳转至i++的调整,所以不会出现死循环的情况
注意语句执行的顺序!!
2、go to语句
起到跳转运行的作用
举个例子
这里跳过了b?的打印,直接打印 c?
tips:(尽量少用,会打乱程序的运行,但也并非一无是处,在多层的循环中可以快速跳出,很方便)
二、用于分支语句中判断的小玩意儿
1、关系操作符
!=:不相等
==:相等(双等号用于判断,单个等号用于赋值)
>=:大于等于
<=:小于等于
tips:在写代码时最好不要出现连比,用a>b&&b>c来写
2、条件操作符
是唯一的三目操作符
(1)? (2):(3)
1真就执行2
1假就执行3
3、逻辑操作符
!和&&和||
取反运算符!
举个例子
a=1为真 那么 !a=1为假
与运算符&&
双目操作符
a&&b
a和b都要为真最后才为真(返回1)
或运算符||
双目操作符
a||b
a、b中至少有一个是真就为真(返回1)
举个例子 闰年的判断(利用与运算符和或运算符)
如果 可以被4整除(&&)并且不能被100整除或是(||)可以被400整除 就是闰年