2024.6.14零基础C语言 Day5

第一节的内容已经学完了,前段时间due比较多,现在正式步入第二节的内容分支语句和循环语句

目录

2.1 语句

2.2 分支结构(选择结构)

2.2.1 if语句

2.2.1.1 悬空else

2.2.1.2 if书写形式的对比

2.2.2 Switch语句

2.2.2.1 在switch语句中的break

2.2.2.2 default字句

2.3 循环语句

2.3.1 while循环


2.1 语句

C语言是结构化的程序设计语言,主要分为3种:顺序结构,选择结构和循环结构,世界上所有的问题都可以由这三种结构解决.下图是一个总的概括:

2.2 分支结构(选择结构)

2.2.1 if语句

语法结构:

if(表达式)

{
   语句;

}

当表达式的值为1的时候执行语句,反之不执行语句.

当有两个选项时,采用if else语句的形式:

当if表达式里面的条件成立的时候,就执行语句1,反之就执行语句2.

当有两个以上的选项的时候,采用if elif else语句:

当if表达式1成立的时候执行语句1,若不成立在判断表达式2是否成立,成立就执行语句2,如果都不成立才执行语句3.

在C语言中,0表示假,非0表示真.

2.2.1.1 悬空else

在这个程序中,我们可以注意到else是和第一个if对齐的,但这其实是错误的,会让人产生误解,else只会和距离它最近的且没有匹配想的if进行匹配,也就是说,else对应的if实际上是if(b==2),而不是if(a==1).这里需要着重注意.更改后的代码应该是这个样子:

2.2.1.2 if书写形式的对比

当我们在写if里面的表达式的时候,假如用到判断相等的语句,比如判断一个数num是不是等于5,这个时候大家通常会写if(num==5),这种方式不会报错,但是会存在隐患,因为有人可能会漏掉一个等于号,变成了if(num=5),这样一下就变成里赋值语句,这里无论num是否等于5都会让条件用永久成立,所以最好的方式是交换一下顺序,改成if(5==num),z这样一旦我们漏掉一个等于号,编译器也会报错,因为不能把变量赋值给一个常量.

2.2.2 Switch语句

如果有许多条分支选择语句,都用if elif来写的话非常繁琐,因此C语言中用switch语句来解决这解决情况.如下图所示:

这里的意思转到整型表达式对应值的语句项之中,其中语句项的定义如图所示:

这里case后面必须跟的是整型表达式常量,否则会报错.

2.2.2.1 在switch语句中的break

上图代码的意思是定义一个变量day,通过对变量day赋值,转到switch中day的对应值的case选项,输出当前是星期几.在每个case语句的最后都加了break的作用是只执行当前case语句,否则会一直执行该语句下面的case语句直到跳出switch.

如果要多个case实现同一个效果,例如周一到周五是weekday,周六周日是weekend,那么可以只在周五和周日写case语句的语句项,相当于多个case匹配同一个结果.如图所示:

2.2.2.2 default字句

如果表达式的值与所有case标签的值都不匹配,就在于剧列表中添加一条default语句.当switch表达式的值并不匹配所有case的标签的值的时候,就会执行default语句.

2.3 循环语句

循环语句主要用三种:while,if,do while

2.3.1 while循环

while语句的语法结构:

while(表达式)

    循环语句;

当while表达式成立时,就会执行循环语句,直到表达式不成立时,结束循环.

while语句中的continue和break:

break:结束所有循环,跳出while

continue:结束当前循环,进入下一次循环

Day5与第五节课到此结束,有错误的地方还请大家多多指正,感谢支持.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值