C语言入门Class_5

目录

1、if 语句

1.1 基本结构

1.2 else 的使用

1.3 多条语句

1.4 嵌套用法

1.5 else的就近原则

1.6 if- else if-else 的用法

2、关系操作符

关系操作符不能连用

3. 逻辑操作符

&& 并且

|| 或者

!非

4. 条件操作符

5、Switch 语句

5.1基本结构

5.2 break 的作用

5.3 default 的位置


在第一节的时候,我们学习过,C语言是结构化语言。他的结构可以分成:顺序结构、选择结构、循环结构、复合结构。那我们该怎样在程序中实现这些结构呢,就需要用到一些语句。

1、if 语句

if语句是编程中常用的一种控制流结构,用于根据条件选择性地执行特定的代码块。它允许程序根据条件的真假来决定执行哪些语句。因此他可以实现选择结构

1.1 基本结构

他的基本语法结构是

C语言入门Class_5_第1张图片

如果表达式为真,则执行下面的语句,如果为假,则不执行

题目:用户输入成绩,如果大于等于60,打印出来及格,否则不显示任何内容

C语言入门Class_5_第2张图片

输入70,打印及格

C语言入门Class_5_第3张图片

输入50,不进行任何操作

C语言入门Class_5_第4张图片

1.2 else 的使用

还是刚才的问题,如果输入60分以下,打印不及格,就要引入else

结构:

C语言入门Class_5_第5张图片

表达式为真,执行语句1

表达式为假,执行语句2

C语言入门Class_5_第6张图片

C语言入门Class_5_第7张图片C语言入门Class_5_第8张图片

1.3 多条语句

如果还是刚才的问题,如果成绩大于等于60分,不仅输出及格,还输出恭喜你,同样的,如果成绩小于60分,不仅输出不及格,还输出继续努力,该怎么写呢,这样写可以吗?

C语言入门Class_5_第9张图片

C语言入门Class_5_第10张图片结果是发生错误。

因为:默认if 和else 语句都只能控制一条语句

如果想要控制多条语句,需要用{}括起来

比如刚才的代码可以改成

C语言入门Class_5_第11张图片

C语言入门Class_5_第12张图片

C语言入门Class_5_第13张图片

1.4 嵌套用法

我们再对刚才的问题进行改进

如果大于等于60分,再输出及格以后,我们再进一步分析

如果成绩小于80分,等级为B

如果成绩大于等于80分,等级为A

这个时候我们还可以这样写

C语言入门Class_5_第14张图片

C语言入门Class_5_第15张图片

C语言入门Class_5_第16张图片

这种在if-else 语句中继续使用if-else语句的用法称为嵌套用法

1.5 else的就近原则

请看这个代码

C语言入门Class_5_第17张图片

可能会理解成,如果分数小于60,输出不及格,如果大于60再判断是否大于80,如果是的,再输出你的等级是A

我们来运行一下

输入如果是70,理想结果是什么也不输出,因为没有大于80,后面程序就结束了

C语言入门Class_5_第18张图片

但是实际上的结果令人摸不到头脑

那是因为else 与跟他最近的if匹配,即使可以让它跟第一个的if保持缩进一致也没有用,所以代码的逻辑是,首先判断是不是大于等于60分,如果不是吗,程序结束了,什么也不输出,我们试一试50

C语言入门Class_5_第19张图片

如果输入的是70,先判断是不是大于60,是的继续判是不是大于80,如果不是,输出不及格

其实我们只要加上大括号就可以解决这个问题

C语言入门Class_5_第20张图片这样程序就变正常了。

1.6 if- else if-else 的用法

如果在选择结构中,引入多条选择还可以使用这种书写方式

比如:输入一个数,判断是正数还是负数

C语言入门Class_5_第21张图片

2、关系操作符

在学习if语句的时候,我们说了if后面是表达式,那哪些表达可以使用呢,在C语言这些用来比较的表达式称为"关系表达式“,里面的运算符是“关系运算符”常用的有:

> 大于

< 小于

>=大于等于

<=小于等于

==等于(不是=,因为这是赋值操作)

!=不等于(不是=!)

举个例子,判断一个数是正数、负数、还是0

C语言入门Class_5_第22张图片

C语言入门Class_5_第23张图片

C语言入门Class_5_第24张图片

C语言入门Class_5_第25张图片

关系操作符不能连用

比如0

0

这个时候如果我们就要表达x大于0,而且是小于100的,这个时候我们需要用逻辑操作符

3. 逻辑操作符

&& 并且

|| 或者

!非

&&两个都满足的时候才为真,有一个为假的时候就假

a b a&&b
0 0 0
非0 0 0
0 非0 0
非0 非0 非0

c语言中真是非0,假是0

|| 两个都假的时候才为假,有一个为真的时候就真

a b a||b
0 0 0
非0 0 非0
0 非0 非0
非0 非0 非0

c语言中真是非0,假是0

! 原来为真,非后为假,原来为假,非后为真

a !a
0 非0
非0 0

所以针对前面说的对于关系操作符不能连用的情况,我们就可以用逻辑操作符的&&。

请看下面的代码,如果成绩在65-100之间,得到的等级是B,其他情况不输出任何东西,我们可以这样写

C语言入门Class_5_第26张图片

C语言入门Class_5_第27张图片

4. 条件操作符

条件操作符是三目操作符,他可以将if语句简化

语句1? 语句2 :语句3

他的含义是:如果语句1为真,执行语句2,整个表达式的值就是语句2的值,反正执行语句3,整个表达式的值就是语句3的值

比如判断两个整数谁大,并把大的数输出出来

C语言入门Class_5_第28张图片

C语言入门Class_5_第29张图片

5、Switch 语句

5.1基本结构

C语言入门Class_5_第30张图片

它的逻辑是:首先执行表达式的值,得到结果是几,就执行谁后面的语句,如果没有对应的就输出default 后面语句。

举个例子,比如输入一个数字,求被3除以后的余数

C语言入门Class_5_第31张图片

C语言入门Class_5_第32张图片

C语言入门Class_5_第33张图片

C语言入门Class_5_第34张图片

还可以再看个例子

输入1-7,输出的是对应的星期几,比如输入1,输出星期一

C语言入门Class_5_第35张图片

C语言入门Class_5_第36张图片

C语言入门Class_5_第37张图片

C语言入门Class_5_第38张图片

5.2 break 的作用

switch语句中,break语句的作用是终止switch块的执行,并跳出switch语句。当switch块中的某个case条件被匹配成功时,程序会执行相应的代码块,并在执行完该代码块后遇到break语句时跳出switch语句。

如果没有break语句,程序会继续执行后续的case条件的代码块,直到遇到break语句或switch块结束。

比如刚才的代码,我们把break去掉

C语言入门Class_5_第39张图片

5.3 default 的位置

一般我们在使用switch  case 语句的时候,把default放在最后。

你可能感兴趣的:(c语言,开发语言)