1.语句的分类
(1)表达式语句
(2)函数调用语句
(3)控制语句
(4)复合语句
(5)空语句
控制语句可以分为以下几类
分支语句:if switch
循环语句:while for do....while
转向语句:goto语句,break语句,continue语句,return语句
控制语句是控制程序的执行流程,以实现程序各种结构方式,它们由特定语句定义符组成。
C语言作为一种结构化的语言,是因为包含生活中所有问题的结构,因为生活中是顺序结构,分支结构,循环结构中一种或多种组合而成。
2.分支结构
(1)if语句
if语句的语法结构由三种主要构成
if(表达式)
语句1;
if(表达式)
语句1;
else
语句2;
if(表达式1)
语句1;
else if(表达式2)
语句2;
else
语句3;
以第三个程序为例,当if()中表达式被判定为真时,将进入语句1;如果被判定为假将进入else if,语句以此类推。
注意在未加大括号的情况下,只能加一个语句,以下情况是不被允许的;
if(a=1);
printf("%d",a);
a++;
以下情况是被允许的。
if(a=1);
{
printf("%d",a);
a++;
}
在初学者的情况下极易出现if();的写法是不正确的,这代表if语句到此结束,这是一个空语句,正常语句在语句1处;代表了语句结束。
对于表达式语句的判定如果是整形,C语言中0代表假,非0表示真。
注意else是与最近的if语句进行搭配!下图运行为空证明了证明了这一点。
if(3==a)
if(a==3)
上面两行代码都反映a是否等于3,而前者比较不容易因为少打一个=而出错。多使用大括号可以使你的逻辑更加清晰,下图代码可以证明。
if main()
return 1;
return 0;
(2)switch语句
在我们要使用多个if和if else语句时就会显得麻烦,于是switch应运而生。
switch语句结构
switch(整形表达式)
语句项
下面是语句项的表达
case 整形常量表达式
语句
switch括号中必须是整形表达式,不能是其它类型。
case语句必须满足常量和整形两个条件。
当我们不添加break时,从某一个case开始往下进行运行,如下图
我们可以使用break来避免这个情况发生。如图
当我们想要使用多种情况输出一种时,我可以合并,如下图。
当我们输出超过1234范围变量时会报错,这个时候我们可以使用default来避免这个情况,如下图
3.编程好习惯
在每一个switch语句都放一个default,在每一个case后面加break