目录
前言
c语言程序设计中,有三种基本结构使程序的结构更加清晰
分为循序结构、选择结构与循环结构
除了第一种结构除外 ,其他两种都需要c语言中的分支与循环的知识
其中选择结构中我们需要掌握:
1.关系运算与逻辑运算
c语言提供了6种关系运算符:
注 :<=为一个整体,中间不能加空格
这些关系表达式的运算结果是一个逻辑值,即真和假。在c语言中用1和0表示。
例:n==1,i==2;
则n==i的值为0,
n<=i的值为1;
3种基本逻辑运算符:
由逻辑运算符和运算对象所组成的表达式称为逻辑表达式。逻辑运算的对象可以是C语言中任意合法的表达式。逻辑表达式的运算结果或者为1(“真”),或者为0(“假”)。
例 :在关系表达式(x>y)为真的条件下,若a值为10,b值为16,表达式(a>b)&&(x>y)的值为“假”,用数值0来表示;若a值为10,b值为6,表达式(a>b)&&(x>y)的值则为“真”,用数值1来表示
2.if语句
(1)单分支if语句的形式:
if(表达式)
语句
执行单分支if语句时,先求表达式的值,以表达式的值作为判定条件,若其为非0(即判定为逻辑“真”),则执行表达式后面的语句;若其为0(即判定为逻辑“假”),则不执行表达式后面的语句。
(2)双分支if语句
if(表达式)
语句 1
else
语句 2
执行双分支if语句时,先求表达式的值,当表达式的值为非零时,则执行语句1;如诺为假,则执行语句2
注:关键字else及其后的语句2都是if的组成部分,必须与前面的if配套使用,且只与最近的if匹配
(3)多分支if语句
if(表达式1)
语句1
else if(表达式2)
语句2
.......
else if(表达式n)
语句n
当其中一条语句执行,后面的表达式与语句都不在执行了
3.条件运算符和条件表达式
exp1?exp2:exp3
如果exp1表达式值为非0,即真,则输出exp2的值;如果exp1值为1,即假,则输出exp3的值
例:int a=1,b=2;
a<b?a:b
则该表达式的输出值为1
4.switch语句
switch(表达式)
{
case常量表达式1:语句1
case常量表达式2:语句2
....
case常量表达式n:语句n
default:语句 n+1
}
注:每个case与default后都可以加多条语句, 并且不用用{}括起来
如果没有与case后的常量相等的,则执行default语句,所以在创建switch语句时,建议加上 default
循环结构需要我们学会
1.语句标号及goto语句
语句标号就是给程序中的其中一个语句定义的标识符
而goto 语句标号 则是直接前往该语句标号标记的语句
例:stop:printf("hello");
goto stop;
注:stop语句确实简单便捷,但是过多使用反而使程序淆乱,使程序崩溃,谨慎使用!
2.while语句
while(表达式)
循环体语句
当表达式为真,即值为非零时,便执行循环语句,当表达式为假,即值为零时,停止执行循环语句
注:应当在循环语句中包含能够使循环趋于结束的操作,以避免出现死循环
3.do-while语句
do-while语句与while语句相似,唯一的区别是在do-while语句中,程序先执行do后的语句,在判断while括号里的表达式是否为真,do-while语句至少执行一次循环
4.for语句
for(表达式1;表达式2;表达式3)
循环语句
for语句执行过程为
(1)计算表达式1
(2)计算表达式2并以此为判断条件,诺为非零,则执行一次循环语句,计算表达式3,再进行计算表达式2并判断;若为0,则跳出(结束)循环
for循环里的三个表达式均可省略
表达式1和表达式3都可以是逗号表达式,以此来增加循环变量
注:表达式之间的分号不能省略
省略表达式2时,应当在循环语句中加上可以使循环结束的语句 ,不然语句无限循环会使程序崩溃
for循环需要先判断条件在决定是否循环
5.break及Continue语句在循环里的应用
在循环语句中,加入break语句可以直接跳出循环,结束循环
而continue语句则是取消执行该语句后的循环语句,直接开始下一次循环
注:break语句只能在while、do-while、for循环以及switch语句中使用
break只能结束1层循环,也就是其所在的循环里
continue只能在while、do-while、for循环中使用