引言
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。它在编程语言中具有举足轻重的地位。
此文为【C语言你还没卷起来?】系列之第五篇,介绍C语言的选择结构,结合专题优质题目,带领读者从0开始,深度掌握知识点。
1️⃣ 概念介绍
C语言的选择结构是一种编程结构,用于根据条件的真假来选择性地执行代码块。
我们也称选择结构为条件控制语句选择结构
条件控制语句选择结构分为if-else结构与switch-case结构
简单形式如下:
if(表达式)
{
语句
}
其中表达式不限于逻辑表达式或关系表达式,可以是各种表达式,如算术表达式等。当表达式的值为非零时,结果为“真”;当表达式的值为零时,结果为“假”。
if-else结构
基本形式是:
if(表达式) 语句1
else 语句2
当表达式的结果为真(非零)时,执行语句1,执行完后跳到下一语句。当表达式的结果为假(零)时,执行语句2,执行完后顺序执行下一语句。
else-if结构
形式如下:
if(表达式1) 语句1
else if(表达式2) 语句2
else if(表达式3) 语句3
……
……
else if(表达式n) 语句n
else 语句n+1
switch语句一般格式
switch(表达式)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
…
case 常量表达式n:
语句n;
break;
default:
语句n+1;
break;
}
注意事项
case后面常量表达式的值必须互不相等,否则会出现互相矛盾的现象。其类型应该与switch后面表达式的类型相容。
例如不能出现两个case 1
case和常量表达式之间要有空格
case1是错的,case 1是对的
case和default出现可以在任何位置,其先后次序不影响执行结果,但习惯上将default放在switch-case结构的底部。
case提供了执行某一语句序列的入口,起着标号的作用;多个case可以执行同一语句序列。
每个case语句的结尾不要忘了加break,否则将导致多个分支重叠。
不要忘记最后的default分支。即使程序真的不需要default处理,也应该保留语句: default : break;
2️⃣代码过渡
在正式开始选择结构的代码实现之前,我们需要掌握解决问题的数学等思想应该如何向代码思想过渡。
举个例子:
求一个数x的绝对值
数学思想:若x小于0,则其绝对值为-x,否则为x
判断一个整数x是否为5的倍数
数学思想:若x%5等于0,则x是5的倍数,否则不是
将百分制的成绩转换成等级制,100~90->A
数学思想:若成绩≥90,并且成绩≤100,则为A
我们使用C语言解决上面的问题需要使用以下语言元素:
若…则…否则 对应 选择结构
小于等于 对应 关系运算符
并且 对应 逻辑运算符
以下为常见的关系运算符:
当逻辑表达式成立时,为“真”,用1表示,否则为“假",用0表示。
举个例子:
设a为4,b为6,c为4
设a为4,b为6,c为5
注意事项
数学中的 a≤x≤b, 不能改写成C的 a<=x<=b,而应该是a<=x&&x<=b
采用“不完全计算”方法(有结论即停算) 例如a>0 || b!=5已经确定a>0,此时表达式的结果一定为真,不需要再判断b!=5的正确性了
其操作数均视为逻辑量,非0即真 例如(x=-1) && (y=2 )相当于1&&1
3️⃣知识点讲解
这一节我们将细致讲讲形式与执行过程、双分