c语言-分支和循环-学习记录

c语言-分支和循环-学习记录

1. if和else

· if如果不加{}那么只能跟一条语句

如果要写多条语句,那么就在{}里面写,称作代码块,{}也可以使代码更加易于解读

· else总是跟最近的if配对

2. 关系操作符

C 语⾔⽤于⽐较的表达式,称为 “关系表达式”,里面使用的运算符就成为关系运算符。主要有如下几个

> , < , >= , <= , == , !=

· 关系表达式的返回值通常为0和1来表示真假。

· c语言中只有0表示假,所有的非零值都表示真

· 表达式通常用于if或while中

· 注意==和=的区别!不要混淆了

为了避免这种情况,有时出现了如下写法

在这里插入图片描述

对于==来说常量可以放前面,而如果使用=编译器则会报错

所以这个技巧可以学学哦~

· 需要注意另外一个情况,多个关系运算符不宜连用

如a<b<c这种写法!建议一定要改成a<b&&b<c!!

3. 条件操作符

也叫三目操作符

表达式1 ?表达式2 :表达式3

条件操作符的计算逻辑是:如果 exp1 为真, exp2 计算,计算的结果是整个表达式的结果;如果exp1 为假, exp3 计算,计算的结果是整个表达式的结果。

可以理解为把一个if——else写成了一条语句~

4. 逻辑操作符

&&,||,!

!:逻辑取反,就是非一下(改变单个表达式的真假)

&&:与运算

||:或运算

· 注意初始化的问题,要养成这个好习惯!

局部变量未初始化,那么内部则是随机值

如果是全局变量未初始化,其内部则是0

· 注意短路的问题

C语言逻辑运算符有⼀个特点,它总是先对左侧的表达式求值,再对右边的表达式求值,这个顺序是保证的。

如果左边的表达式满足逻辑运算符的条件,就不再对右边的表达式求值。这种情况称为“短路”。

对于这句 if(month >= 3 && month <= 5);

表达式中&& 的左操作数是 month >= 3 ,右操作数是 month <= 5 ,当左操作数 month >= 3 的 结果是0的时候,即使不判断 month <= 5 ,整个表达式的结果也是0。 所以,对于&&操作符来说,左边操作数的结果是0的时候,右边操作数就不再执行。

||同理

5. switch语句

如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执行,有可能执行其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。

所以在 switch 语句中 break 语句是非常重要的。

当然, break 也不是每个 case 语句都得有,这就得根据实际情况来看了。

比如输入数字1-7来输出“星期一”—“星期日”

则每条语句都需要break;

但如果输出改为“工作日”以及“休息日”

那么情况就有所变化了

在这里插入图片描述

所以应该根据实际的情况,来在代码中觉得是否使用 break ,或者在哪里使用 break ,才能正确完成实际的需求。

defult

如果 switch 后的表达式中的值无法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加入 default 子句

另外,在 switch 语句中 case 语句和 default 语句是没有顺序要求的,不过通常把 default 子句放在最后处理。

6. 循环语句

· while

注意三个点:初始化部分,判断部分,以及调整部分

当代码体量较大的时候,三个部分可能较为分散,千万不能忘了

· for

形如 for(表达式1; 表达式2; 表达式3)

表达式1 ⽤于循环变量的初始化,表达式2 ⽤于循环结束条件的判断,表达式3 ⽤于循环变量的调整

注意如果判断部分省略的话,就意味着判断条件恒成立!

· do-while

特殊的地方在于循环体至少会执行一次

break和continue语句

注意一下for和while中continue的区别

在这里插入图片描述
在这里插入图片描述
for里面读到continue的时候,i仍然会+1,但是while里面就不会了

· 就像if可以嵌套,循环也可以嵌套,while里面也可以放if,if里面也可以放for等等等等…

7. goto语句

C语⾔提供了⼀种特别的语法,就是 goto 语句和跳转标号, goto 语句可以实现在同⼀个函数内跳转到设置好的标号处。

例如:

在这里插入图片描述

goto语句容易使代码跳转来跳转去乱七八糟的就是,但是如果要跳出多重循环那就很方便。

建议:尽量少的使用goto语句

写样例的时候用到一个system函数,顺便介绍一下

system是一个库函数,可以执行系统命令

例如system(“shutdown -s -t 60”)相当于在命令行输入双引号中的命令,表示60秒后电脑关机

需要包含头文件stdlib.h

  • 8
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值