引言
大家好我是扬帆,本文记录整理一下前几日所学的分支及循环语句,如有错误还请不吝斧正。
一、分支语句
分支,顾名思义多条不同的路径,对计算机而言,即使用不同的条件去确定执行哪条语句,常用的有if和switch两种语句。
if 语句
先来看if 语句的一般形式
if(condition)
{
语句1
}
在上述代码块中,当计算机执行到if时,会对condition进行判断,当condtion为true时,执行{}内的语句1,需要注意的是,当condtion不为布尔型数据,也就是并不是true和flase时,我们需要理解C语言中数字与布尔型的转换,在C语言中,非0数字即代表true,当数字为0时,代表的是false。
多层if的使用
日常生活中,我们会遇到在选择后仍然要做出选择的情况,这种情况就可以使用if嵌套if来模拟
if(condition1)
{
if(condition2)
{
语句
}
}
在上述代码中,当外层的condition为真时,由外而内进行内部if的判断,逐层深入。
if的其他分支
与if相对应,在计算机语言中,可以写多条if进行分支判断
if(condition1)
{
语句1
}
if(condition2)
{
语句2
}
当然也有我们熟知的else if与else
if(condition1)
{
语句1
}
else if(condition2)
{
语句2
}
else
{
语句3
}
需要注意的是,前者会逐个判断,即对每个if进行判断,这里不再举例赘述,后者则是从上到下,当有一条分支中的语句被执行,整个即退出。
switch语句
switch语句的一般形式
switch(式1)
{
case(值1)
{
语句
break;
}
case(值2)
{
语句
break;
}
default
{
语句
break;
}
}
注意式1只能是整型类型,不能是浮点型或字符串型,与下列代码句中的值1,值2等等相对应,当没有与式1相对应的值时,执行default中的语句,需要提醒的是在每一个case段最后需要加上break语句,否则会使得此case执行完之后依旧继续往下运行。
二、循环语句
在C语言中主要有三种方式来满足循环的需求:for,while,do while;
for循环
for循环在一个()中写出三个条件,分别为初始化变量,变量表达式,对变量的处理,例如要求输出0到10之间的整数。
for(int i=0;i<=10;i++)
{
printf("%d",i)
}
需要注意的是,for后方()中的;不可省略,而当表达式省略时默认为真,会造成死循环,也应该避免。
while循环
while循环的一般形式如下
while(condition)
{
语句
}
当condition为真时,执行语句同时不退出继续执行,需要注意当condition一直为真时,例如while(1)就会造成死循环
do while循环
do while与while相类似
do
{
语句
}while(表达式)
具体运行规则也与while一样,表达式为true,执行语句
循环语句中的退出语句
在具体实例中,我们经常会有退出循环的需求,由此C语言内部包含了continue和break语句,简单来说continue为跳出本次循环,break为跳出本层循环。
结语
有了上述基础后,与笔者相同的初学小白可以尝试去写代码实现以下问题:
1.输出99乘法表
2.利用辗转相除法求最大公约数