目录
3.3 do...while循环中的break和continue
一、什么是语句
C语言的语句可以分为以下五类:
1.表达式语句
2.函数调用语句
3.控制语句
4.复合语句
5.空语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,他们由特定的语句定义符组成,C语言有九种控制语句。可分为以下三类:
1.条件判断语句也叫分支语句:if语句、switch语句;
2.循环执行语句:do while语句、while语句、for语句;
3.转向语句:break语句、goto语句、continue语句、return语句;
二、分支语句(选择结构)
选择很好理解,如果你学习,你就可以收获知识;如果你不学习,你就会虚度光阴,这就是个选择。
1.if语句
1.1if语句的语法结构
if语句的语法结构是什么样子的呢?
语法结构:
//单分支
if(表达式)
语句;
//双分支
if(表达式)
语句1;
else
语句2;
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
来个代码实例,判断年龄,如果年龄大于18,就输出成年
//单分支
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
printf("成年\n");
return 0;
}
再加一点,如果年龄大于18,就输出成年,否则就输出未成年
//双分支
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age >= 18)
printf("成年\n");
else
printf("未成年\n");
return 0;
}
再提升一下,让他判断少年青年中年老年几个阶段。
//多分支
#include<stdio.h>
int main()
{
int age = 0;
scanf("%d", &age);
if (age < 18)
{
printf("少年\n");
}
else if (age >= 18 && age < 30)
{
printf("青年\n");
}
else if (age >= 30 && age < 50)
{
printf("中年\n");
}
else if (age >= 50 && age < 80)
{
printf("老年\n");
}
else
{
printf("老寿星\n");
}
return 0;
}
通过这几个实例,我们可以明白if语句的基本用法了。如果表达式的结果为真,则语句执行。
那么在C语言中如何判断真假呢?在C语言中,0表示假,非0表示真。
#include <stdio.h>
int main()
{
if(表达式)
{
语句列表1;
}
else
{
语句列表2;
}
return 0;
}
1.2悬空else
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
这段代码输出的结果是hehe还是haha呢?如果我们运行代码,会发现什么也没输出
这是为什么呢?这是因为else与第二个if相匹配,共同构成第一个if的子语句。第一个if表达式不成立,所以程序直接跳出if这个分支语句,跳过了第二个if,自然也就没有执行else语句,其实如果我们把这段代码复制到编译器上就会发现else是默认跟第二个if对齐的。
通过这个例子我们要明白,else默认和离他最近的if相匹配,而且我们也要意识到写代码规范的重要性,适当的使用{ }可以使代码的逻辑更清楚,
#include <stdio.h>
int main()
{
int a = 0;
int b = 2;
if(a == 1)
{
if(b == 2)
{
printf("hehe\n");
}
}
else
{
printf("haha\n");
}
return 0; }
我们适当的使用了{ },既避免了出错,又使代码更加美观。
1.3if书写形式的对比
//代码1
if (condition)
{
return x;
}
return y;
//代码2
if(condition)
{
return x;
}
else
{
return y;
}
//代码3
int num = 1;
if(num == 5)
{
printf("hehe\n");
}
//代码4
int num = 1;
if(5 == num)
{
printf("hehe\n");
}
对比一下四种代码的书写形式,我们会发现代码2和代码4更好,逻辑更加清晰,对比1,2,我们很容易发现代码2书写更好,那为什么对比3和4,代码4更好呢?这是因为代码4中,if表达式中常量在左,变量在右,这样可以防止将等于号==错写成赋值号,却无法找到错误。
1.4练习
1.判断一个数是否为奇数
#includ