学习C语言的时候,我们就已经学习过流程控制语句, 也就是顺序,条件,循环三种。在TIOBE编程语言排行榜单中前几位的流程控制语句貌似几乎相同,所以说一通百通嘛,
就是这个道理。
一、顺序执行语句:顾名思义,按照顺序依次执行
二、条件语句:
1.if-else语句
1、只包含if关键词,没有else的情况:
if (expression)
statement1
2、包含if和else的分支的情况:
if (expression)
statement1;
else
statement2;
3、包含多个else if语句的情况:
if (expression1)
statement1;
else if(expression2)
statement2;
else if(expression3)
statement2;
......
else
statement;
2.switch-case语句(表示当年看c语言的时候用了一个上午看这个知识点才懂)
switch (<testVar>)
{
case <comparisonVal1>:
<如果<testVar>等于<comparisonVal1>时执行的语句>
break;
case <comparisonVal2>:
<如果<testVar>等于<comparisonVal2>时执行的语句>
break;
……
case <comparisonValN>:
<如果<testVar>等于<comparisonValN>时执行的语句>
break;
default:
<如果没有与<testVar>匹配的<comparisonValX>时执行的语句>
break;
}
当case中的值与switch后面圆括号中表达式的值相等时,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式都不等,则执行default后面的语句,然后退出switch语句
这个语句最让人困惑的就是
case <comparisonVal1>:
case <comparisonVal2>:
case <comparisonVal3>:
<如果<testVar>等于以上三个值中任意一个时执行的语句>
break;
这样的情况下,三个case公用一个执行语句。
三、循环语句:
1.do循环:执行标记为循环的代码,然后进行一个布尔测试,如果测试的结果为true,就再次执行这段代码,当测试结果为false时,就退出循环。
do
{
<code to be looped>
}while(<Test>)
2.while循环:类似于do循环,与do循环不同的是,while循环中的布尔测试是在循环开始时进行,而不是最后。
while(<Test>)
{
<code to be looped>
}
3.for循环:主要掌握的是for循环的流程 initialization->condition->满足条件->执行循环中的语句->operation->下一个循环;若不满足条件,则直接跳过循环中的语句。
for(<initialization>;<condition>;<operation>)
{
<code to be loop>
}
在C#中,foreach语句十分受欢迎,foreach 语句为数组或对象集合中的每个元素执行一遍循环体
foreach (type identifier in expression)
{
staterment
}
例如:foreach(var arr in arrs)
{
var++;
}
就起到了数组arrs中每个数加一的功能(这里的var关键词可替代任何类型,编译器会根据上下文来判断具体类型,学过javascript的人就应该很熟悉了),不用像for循环中还要计算数组的长度之类。
)
四、中断语句
1.break:立即终止循环
2.continue:立即终止当前的循环(继续执行下一次循环)
3.goto:可以立即跳出循环,到已标记好的位置上(好像起了c语言指针的作用,不过在java和c#这些安全的高级语言中,goto语句并不被推荐使用)
4.return:跳出循环及包含的函数
break与continue的话题是初学者一定会遇到的,跳出单次循环和跳出整个循环体理解了之后就不会再混淆了。goto语句如果你想研究一下的话也可以,但是不太推荐,我记得C++里面好像也有个goto语句,大概作用是一样的,但是用多了就会使程序晦涩难懂,甚至出现死循环的情况。而return语句,可能大家再熟悉不过了,刚开始学习c语言的函数时,int main()函数的最后一句总是return 0,而void main()函数中则不需要;后来我总结了函数(java和C#中叫做方法)的类型只要不是void类型,就必须有返回值,否则将会报错。
本篇文章部分参考了http://blog.sina.com.cn/s/blog_4c83c6bf01000823.html中的内容