分支和循环

本文详细介绍了编程中的if语句、ifelse、嵌套、关系操作符、逻辑操作符、短路以及Switch语句和循环结构(while、for和dowhile),强调了代码可读性和正确使用的关键点。
摘要由CSDN通过智能技术生成

分支语句

1.if语句

if(表达式);if语句默认只会控制一条语句 

要控制多条语句需要加{}

表达式是用来判断if控制的语句是否执行

if else 

if(表达式)

语句1;else

语句2;

此时成为选择当表达式条件成立时执行语句1 表示式条件不成立是执行语句2

if else 嵌套

if(表达式1)

语句1;else

if(表达式2)

语句3;else

语句4;

此时成为选择当表达式条件成立时执行语句1 表示式条件不成立时判断表达式2,表达式2成立执行语句3表达式2不成立执行语句4

if(表达式1)

if(表达式2)

语句1;else

语句2;

if表达式2相当于if表达式1所控制的语句

当表达式1不成立时不会执行if表达式2  当表达式1成立时执行判断表达式2 表达式2成立执行语句1

表达式2不成立执行语句2

if(表达式1)

{

if(表达式2)

语句1;

else

语句2;

}

判断表达式1 表达式1成立执行判断表达式2 执行语句1 表达式2不成立执行语句2 若表达式1不成立则会直接结束

悬空else问题

if(表达式1)                                   

if(表达式2)

语句1;

else 语句2;    

if(表达式1)

{if(表达式2)

语句1;else 语句2;

}

这两个例子是等价的   在判断表达式1不成立直接结束 表达式1成立则执行判断表达式2 表达式2成立执行语句1 表达式2不成立执行语句2  其中else 和if 会寻找最相近的对方进行匹配   要解决else悬空就要用到{}把需要的内容括起来

在if else 语句时 无论是否只控制一条语句都用{}括起来 这样可以增加代码的可读性

2.关系操作符

关系操作符用于比较大小  关系表达式的结果只有0和1

if中 非0为真 0为假

a=5;这是赋值    a==5; 这是判断

左操作必须为可修改值 因此表达式判断上将左侧写成常量较保险

例如 5==a  这样可以防止写成5=a

多个操作符不宜连用

例子(x<y<z)从左向右进行计算 x<y会返回0或1 是0或1在与z进行比较大小

正确的写法 (x<y&&y<z)

条件操作符也叫三目操作符

(exp1?exp2;exp3)表达式1为真 进行表达式2 并将2作为结果

若表达式1判断为假 进行表达式3 并将3作为结果

逻辑操作符:!   &&  ||

短路

逻辑运算求值总是先对左侧表达式求值 再对右侧求值 若左边满足就能的到结果这时就不会在判断右边是否为真  这就叫短路

例子:if(month>=3&&month<=5)若month小于3则&&左侧判断是假的此时就能确定整个表达式结果 无需在判断右侧 

Switch语句

根据表达式得到值 进入不同的case分支执行对应语句 找不到执行default分支

Switch后表达式必须是整形表达式 case后必须是整形常数表达式

break用于停止

例子

swtich(n+1)

{

case 1:语句1;

case 2:语句2;

case 3:语句3;break;

case 4:语句4;

}

}当n=0时表达式等于1将会进入case1中执行语句1由于没有break 不会停止会接着进入case2中执行语句2 再进入case3中执行语句3当遇到break时就会停止 因此在只选择一个分支时最好在每个分支下面都加上break

swtich(n+1)

{

case 1:语句1;break;

case 2:语句2;break;

case3 :语句3;break;

case 4:语句4;break;

}

case中可以是空的 且顺序不一定是按12345default排着 按照具体情况实现

前面说Switch后表达式必须是整型表达式

但字符也可以放在Switch后面 因为字符用ascll码值储存 ascll码值是整型 字符属于整型家族

3.循环结构 

while(表达式)

{

语句;

}

表达式是判断while循环是否继续进行的条件 若满足则继续循环若不满足则停止循环

for循环

for(初始化;判断表达式;调整)

{

语句

}

for中的第一个表达式初始化只会执行一次

调整语句则会在每次循环结束后执行再进行判断表达式

for循环三部分集中 便于代码优化维护 for循环相较while do while更优一点

do while 先执行后判断 循环体至少会先执行一次

do

{

语句;

}while(表达式);

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值