1、顺序结构
顺序结构就是程序按照语句的先后顺序来依次执行,执行的过程就是从第一个可执行语句开始,一个语句接一个语句地执行,直到程序结束语句为止。每条语句都要运行一次,并且只能够运行一次。
2、选择结构
选择结构就是根据所指定的条件是否满足,决定从给定的操作中选择其一执行。在C语言中选择结构是由if语句和switch语句实现的。
-
if语句
if语句根据使用的情况不同,又分为单分支、双分支、多分支三种形式。1、单分支选择if语句
//语句的一般形式如下: if(表达式){ 语句; }
当表达式成立的时候,执行大括号内部的语句,否则反之。
2、双分支选择if语句
//语句的一般形式如下: if(表达式){ 语句1; }else{ 语句2; }
当表达式成立的时候,执行语句1的内容,否则执行语句2的内容。
3、多分支选择if语句
//语句的一般形式如下: if(表达式1){ 语句1; }else if(表达式2){ 语句2; }else if(表达式3){ 语句3; } ... ... ... ... else if(表达式n){ 语句n; }else{ 语句n+1; }
当表达式1成立的时候,执行语句1的内容,不成立再去判断表达式2成立否,成立执行语句2,否则判断表达式3,成立执行语句3,否则继续往下判断,如果都不成立,就执行语句n+1。
-
switch语句
//语句的一般形式如下: switch(表达式){ case 常量1: 语句1; break; case 常量2: 语句2; break; … … … … … … case 常量n: 语句n; break; default: 语句n+1; }
计算switch后面表达式的值,将该值与逐个case后的
常量表达式相比较,如果相等就执行其后的语句,否则
继续往下判断,如果case的条件都不满足,则执行
default后的语句。
3、循环结构
循环就是在给定的条件成立的时候反复执行某一段程序,被反复执行的程序被称作为循环体。在C语言中的循环体主要有三种,分别是while语句、do…while语句、for语句。除了以上三种,还可以实现循环的嵌套,强制跳出循环的break和continue语句。
1、while语句
语法:
while(循环条件):
{
循环体语句
}
while是关键字。while后面小括号内的表达式一般是关系表达式或逻辑表达式。循环体语句可以是一条语句,也可以是多条语句。
例子:在屏幕上输出1到10共10个整数。
task main(){
clearLCDLine(0);
int n=1;
while(n<=10){
displayLCDNumber(0, n-1, n);
n++;
}
}
2、do…while语句
语法:
do
{
循环体语句
}
while(循环条件);
注意点:”while(循环条件);”后面的;是不能省略的
do...while语句是先执行循环体语句,再判断表达式,所有不管条件是否成立,都将至少执行一次循环体。while语句是先判断条件,再执行循环体语句。这是两者最大的区别。
3、for语句
语法:
for(循环变量赋初值; 循环条件; 循环变量增量)
{
循环体语句
}
例子:在屏幕上输出1到10共10个整数。
task main(){
clearLCDLine(0);
int n=1;
for(n=1; n<=10; n++)
{
displayLCDNumber(0, n-1, n);
}
}
小总结:
1、while和do...while语句一般实现标志式循环,即无法预知循环次数,循环只是在一定条件下进行;for语句大多实现计数式循环
2、while和do...while语句的循环变量赋初值在循环语句之前,循环结束的条件是while后面小括号内的表达式,循环体中包含循环变量修改语句;for循环则是循环三要素集于一行。
3、while和for语句是先测试循环条件,后执行循环语句,循环语句可能一次也不执行。而do...while语句是先执行循环体语句,后测试循环条件,所以循环体至少被执行一次。
4、循环的嵌套(重点掌握)
循环的嵌套是指一个循环语句内完整地包含另一个完整的循环结构。前3中循环结构可以任意组合嵌套。
循环的嵌套有双重循环嵌套和多重循环嵌套。但是一般使用双重或三重的比较多,嵌套层数太多,就降低了程序的可读性和执行效率。
5、break语句
作用:可使程序跳出本层循环结构,接着执行循环体下面的语句。
一般形式:
break;
注意点:break语句只能用在while、do…while、switch语句中,不能用于其他语句。
如果break语句用在多重循环结构中,使用break语句只能使程序退出break语句所在的最内层循环。
6、continue语句
continue语句的作用是结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环体的判断。
一般形式如下:
continue;