简单不先于复杂,而是在复杂之后。
目录
1.什么是语句?
C语句可分为以下五类:
- 表达式语句
- 函数调用语句
- 控制语句
- 复合语句
- 空语句
控制语句用于控制程序的执行流程,以实现程序的各种结构方式,他们有特定的语句定义符组成,C语言有九种控制语句。
C语言是【结构化】的程序设计语言
- 顺序结构
- 循环结构 for、while、do while
- 选择结构if、swtich
可分为以下三类:
1.条件判断语句也叫分支语句:if语句、switch语句
2.循环执行语句:do while语句、while语句、for语句
3.转向语句:break语句、goto语句、continue语句、return语句
2.分支语句(选择结构)
2.1 if语句
if(表达式)
语句;
if(表达式)
语句1
else
语句2;
多分支
if(表达式)
语句1;
else if(表达式2)
语句2;
else
语句3;
若表达式结果为真,则语句执行。
C语言中如何表示真假呢?
0表示假,非0表示真。
如果条件成立,要执行多条语句,应使用代码块 。
#include<stdio.h>
int main
{
if(表达式)
{
语句列表1
}
else(表达式)
{
语句列表2
}
return 0;
}
这里的一对{ }就是一个代码块。
int main()
{
int a = 0;
int b = 2;
if(a == 1)
if(b == 2)
printf("hehe\n");
else
printf("haha\n");
return 0;
}
这段程序运行后没有任何输出结果,else是和最近的if匹配的。a=0,语句没有进入所以不会打印。
代码风格:
1.变量命名(有意义、规范)
2.空格、空行、换行
避免误打一个=但是编译器不会报错,所以反过来写可以避免错误,就是一种好的写法。
2.2 switch语句
switch语句也是一种分支语句,常常用于多分支的情况。
比如:
switch(整形表达式)
{
语句项;
}
语句项是一些case语句:
case 整型常量表达式:
语句;
break语句的实际效果是把语句列表划分为不同的分支部分。
int main()
{
int day = 0;
scanf("%d", &day);
switch(day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期天\n");
break;
}
return 0;
}
编程好习惯:在最后一个 case 语句的后面加上一条break语句。
(之所以这么写是为了避免出现在以前的最后一个case语句后面忘加了break语句)。
2.2.2 default子句
若表达的值与所有的case标签都不匹配,所有的语句都会被跳过。
程序不会终止 也不会报错,C不认为这是一个错误。
把 default:写在任何一个case标签可以出现的位置。
当 switch 表达式的值不匹配所有case标签的值时, default 子句后面的语句就会执行。
所以,每个switch语句中只能出现一条default子句。
但是它可以出现在语句列表的任何位置,而且语句流回像执行一个case标签一样执行default子句。
编程好习惯 :
在每个 switch 语句中都放一条default子句是个好习惯,甚至可以在后面加一个break。