C语言第一篇---流程控制
今天学习了选择结构和循环结构,这两大结构使程序提高效率,方便处理数据,达到自己想要的结果。选择结
构中有if和switch可选,if的性能比switch稍微要高一些,平常用if也多于switch。
一、选择结构
if与swicth的比较:
1.if和else的搭配使用,如果条件成立,则执行代码块。而swict需要与case后的值对应上,则执行case后的
代码。相比而言switch太笨拙,不能解决所有的问题。
2.if可以进行嵌套,实现多重判断,灵活运用,而switch不可以,这一点就可以完胜switch了。
3.所有的判断if都可以实现,switch太局限,并且代码量大,烦琐。
if用的会很得心应手,但往往自己会出错。比如:
if(a>3) int a=1;printf("%d",a); 这就是个严重错误,首先if后面一定要加大括号包起来要执行的代码,这样导致
只执行if后面第一句代码,并且变量a的作用域不明确,以后会严加注意。当然switch也不例外,想要执行case 后
面的多条语句也要加{}的,break这句非常关键,是跳出swicth语句。
二、循环结构
循环结构让我们程序员简化了运算,在循环中一般是操作数据,因此循环的条件可不能出错,在while和
do while两个方法中条件不能是常量,否则容易造成死循环让程序崩溃,导致严重的后果。比如:
while(5>3)
{
printf("hhhh");
}
和
do{
printf("hhhh");
}while(-1);
这都是错误的,条件只要不为0,就是条件成立执行循环体。while和do while本质上没有区别,while是先
判断条件,如果条件成立才执行循环体,否则不执行。而do while是先执行一遍循环体,再判断条件,如果成
立继续执行,否则不执行。
for循环可以算是把while的精华抽走了,简化了代码,格式是:for(变量;条件;自增){代码块}这种方法通俗
易懂,for较while好用,并且for可以嵌套使用,可以利用二维模型,甚至更多维(多了容易晕)。例如九九乘法表
循环结构容易出现的死循环有以后方式:
1. while(1);
2. for(;;;);
另外合理的使用continue和break可以加快运算效率,continue是跳过本次循环,进入下次循环,break是跳出
本循环体。
总结:选择结构和循环结构都是方便了我们运算,选择结构和循环结构搭配使用,会使程序更加高效,并且合理
的使用每种结构的方法,用最低的损耗完成运算,那就是我们要做的,加油!第一天美美的,黑马的路途也是光明的!