C语言是结构化的程序设计语言,C语言的结构有三种,包括:顺序结构,选择结构,循环结构。
结构是由语句构成,每一个语句之间是由一个分号隔开。
C语句分五类:表达式语句,函数调用语句,控制语句,复合语句,空语句
控制语句:
1.条件判断语句也叫分支语句:if语句,switch语句;
2.循环执行语句:while语句,do while语句,for语句;
3.转向语句:break语句,goto语句,continue语句,return语句。
分支语句(选择结构)
1.if语句
if(表达式) //表达式为真时执行下面的语句
语句;
if(表达式1) //表达式1为真时执行语句1,表达式1为假时执行语句2
语句1;
else
语句2;
if(表达式1) //多分支
语句1;
else if(表达式2) //else if可以有很多个
语句2;
else (表达式3)
语句3;
//表达式1为真时执行语句1,表达式1为假2为真时执行语句2,表达式1,2为假时,执行语句3
if,else if使用时只有最近的一条语句起作用,在要跟多条语句的情况时,要用大括号括起来
如:
if(表达式)
{
语句1;
语句2;
}
else if(表达式)
{
语句1;
语句2;
}
else()
{
语句1;
语句2;
}
else总是与离其最近的if匹配,如下第二个if与else匹配
else悬空问题,下面两图中左边的else悬空,但将其复制到VS编译器后会自动排版成右边
以上两种情况执行结果相同
2.switch语句
switch(开关),在C语言中指选择不同的开关即不同的分支来完成语句
switch语句的结构
switch(整型表达式)
{
case 整形常量表达式;
语句;
}
//通过输入不同的数字判断工作日,休息日
//day位置只能是整形常量表达式
//先由入口day进入,1到4由于没有break跳出,一直到5再由break跳出switch循环
//如果所有的case都无法匹配,就会进入default中,可有可无,其放置位置无要求
//switch语句中可以嵌套使用
#include<stdio.h>
int main()
{
int day;
scanf("%d", &day);
switch (day) //此处day为入口
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break; //break是出口
case 6:
case 7:
printf("休息日");
break;
default:
printf("输入错误");
break;
}
return 0;
}
运行结果: