一、分支语句
1.if 语句
if ( 表达式 )
语句;
表达式成⽴(为真 即非0),则语句执⾏,表达式不成⽴(为假 即0),则语句不执⾏
注意:if后面默认有一个语句 多个语句要加花括号
2.if else语句
if ( 表达式 )
语句 1
else
语句 2
注意:else也是默认只控制一条语句,多条语句要加花括号
3 嵌套if else
(1)else if形式:构成多重选择,与switch语句意思相同。
(2)if里面再嵌套个if..else:可以用于一个大的限制条件下对事件结果的判断。
注意: else 总是跟最接近的 if 匹配。
4.switch语句
switch 语句是⼀种特殊形式的 if...else 结构,⽤于判断条件有多个结果的情况。它把多重
的 else if 改成更易⽤、可读性更好的形式。
基本形式:
switch (expression)
{
case value1: statement
case value2: statement
default : statement
}
注:
• switch 后的 expression 必须是整型表达式
• case 后的值,必须是整形常量表达式。
break:
在 switch 语句中使⽤ break 才能在跳出 switch 语句。
注意:
如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执⾏其他 case
语句中的代码,直到遇到 break 语句或者 switch 语句结束。
default语句
在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹
配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊
default ⼦句。
case和default顺序问题:
一般没有先后之分,但习惯在最后加default。
case后数字顺序也没讲究。
二、循环语句
1.while循环
while ( 表达式 )
语句 ; // 如果循环体想包含更多的语句,可以加上⼤括号.
例题:输⼊⼀个正的整数,逆序打印这个整数的每⼀位
2.do while 循环
do
{语句};
while ( 表达式 ) ;
由于do while是先做再判断,所以他的循环体至少循环一次。
例题:输⼊⼀个正整数,计算这个整数是⼏位数
由于n即使是 0,也是1位数,要统计位数的,故此处用do while比较好。
3.for循环
for 循环是三种循环中使⽤最多的, for 循环的语法形式如下:
for ( 表达式 1 ; 表达式 2 ; 表达式 3 )
语句;
注:三部分都可以省略,但可能会出现bug;判断部分省略恒为真
本来想打印25个hehe 但是没有初始化j.
注意: for循环遇到continue后是到表达式3 而while和do while 是到判断部分。
for循环和while循环的对比
(1)for 循环的三个部分⾮常集中,便于代码的维护,⽽如果代码较多的时候 while 循环的三个部分就⽐较分散,所以从形 式上 for 循环要更优⼀些。
(2)如果知道循环次数选for,反之选while。
(3)while与do while只是do whlie先执行再判断无其他区别。
4.break和continue语句
在循环执⾏的过程中,如果某些状况发⽣的时候,需要提前终⽌循环,这是⾮常常⻅的现象。C语⾔中 提供了 break 和 continue 两个关键字,就是应该到循环中的。
• break 的作⽤是⽤于永久的终⽌循环,只要 break 被执⾏,直接就会跳出循环,继续往后执
⾏。
• continue 的作⽤是跳过本次循环 continue 后边的代码,在 for 循环和 while 循环中有所
差异的。
5.循环的嵌套
当一个事件需要多个量重复相互作用时可以考虑嵌套。
例题 :找出100~200之间的素数,并打印在屏幕上
这里flag的作用是作为标记。
6.goto语句
C语⾔提供了⼀种⾮常特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数
内跳转到设置好的标号处。
goto 语句如果使⽤的不当,就会导致在函数内部随意乱跳转,打乱程序的执⾏流程,所以我们的建 议是能不⽤尽量不去使⽤;但是 goto 语句也不是⼀⽆是处,在多层循环的代码中,如果想快速跳出 使⽤ goto 就⾮常的⽅便了。
如:
for (...)
{
for (...)
{
for (...)
{
if (disaster)
goto error;
}
}