我们知道C语言能够实现其他现代高级语言所具有的所有语句,而且,绝大多数都是按照我们所预期的方式进行工作。if语句用于实现选择,while,for和do语句用于实现不同类型的循环。接下来几天,我将陆续学习C语言中的不同语句类型,与大家分享。
-
空语句
C语言中最简单的语句就是空语句,它本身只包含一个分号,空语句本身并不执行任何任务,但有时还是有用的。例如,在一个没有循环体的循环中,用一个分号表示空语句,并让它独占一行。 -
表达式语句
我们知道和其他语言相比,C语言的语句还是存在一些不同之处。例如,C语言中不具备专门的赋值语句,而是统一用"表达式语句"代替。那在C语言中我们该如何表示呢?如下:
x = y + 3;
ch = getchar();
只要在表达式后面加上一个分号,就可以把表达式转变为语句,所以上面两个实际上是表达式语句,而不是赋值语句。
-
代码块
代码块就是位于一对花括号{ }之内的可选的声明和语句列表。代码块可以用于要求出现语句的地方,允许在语法要求只出现一条语句的地方使用多条语句。代码块还允许把数据的声明非常靠近它所使用的地方。 -
if语句(分支语句 选择结构)
if语句的语法结构:
if(表达式)
语句;
if(表达式)
语句1;
else
语句2;
//多分支
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
举例如下:
#include <stdio.h>
//语法1
int main()
{
int age = 0;
scanf("%d",&age);
if(age < 18)
{
printf("未成年\n");
}
return 0;
}
//语法2
if(age < 18)
{
printf("未成年\n");
}
else
{
printf("成年\n");
}
//语法3
if(age<18)
{
printf("少年\n");
}
else if(age<18 && age<30)
{
printf("青年\n");
}
else if(age>=30 && age<50)
{
printf("中年\n");
}
...
if语句如果表达式的结果为真,则语句执行。当条件成立,要执行多条语句时,就要使用上述第三点的代码块进行实现。
- switch语句(分支语句)
switch语句也是一种分支语句,常常用于多分支的情况。例如我们要打印1~7分别对应的星期一到星期天,如果写成if… else…语句的形式过于复杂,我们使用switch语句就相对于简单一些。如下:
int main()
{
int day = 0;
switch(day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
...
case 7:
printf("星期七\n");
break;
}
return 0;
}
其中,break语句的实际效果是把语句列表划分成不同的部分。除此之外,while语句中有时候还会包含default子句,使用它的情况就是当表达式的值与case不匹配时,就会执行default子句后面的语句,例如在上述程序中,我们输入1~7以外的任何数都无法与case匹配,这时可以添加default子句,用于提示输入错误,发出警告,提醒用户。default子句可以出现在任何一个case可以出现的位置,但是一个switch语句只能最多出现一个default子句。
今天,我主要重点学习了分支语句,包括if语句和switch语句,还需加强练习,才可以熟能生巧,以上。