一、选择控制语句
1、if语句
形式1)
if(条件表达式)
{
语句1;
语句2;
}
执行顺序:先判断if后面括号里的条件表达式是否为真,如果为真,则执行大括号里的语句,如果为假,则不执行。
形式2)
if(条件表达式)
{
语句块1;
}
else
{
语句块2;
}
执行顺序:先判断if后面括号里的条件表达式是否为真,如果为真,则执行if后面大括号中的语句块1,如果为假,则执行else后面大括号里中的语句块2.
形式3)
if(条件表达式1)
{
语句块1;
}
else if(条件表达式2)
{
语句块2;
}
else if(条件表达式3)
{
语句块3;
}
......
else
{
语句块n;
}
执行顺序:判断每一个条件表达式,如果成立,则执行相应大括号中的语句块,如果都不成立,则执行else后面大括号中的语句块。
2、switch语句
switch(表达式)//表达式中只能是字符型或整型((short int, int ,long int,char)
{
case 常量表达式1:
语句块1;
break;
case 常量表达式2:
语句块2;
break;
......
default:
语句块n;
break;
}
执行顺序:将case后面的常量表达式的值与switch后面括号中表达式的值进行对比,如果表达式的值刚好等于某个case后面常量表达式的值,则执行擦色后面相应的语句块,如果都不是,则会执行default后面对应的语句块。
注意事项:
1、switch后面的表达式不能是浮点型,只能是整形或字符型的。
2、如果case后面的常量表达式与switch的表达式的值都不同,则执行default后面的语句
3、每一个case执行结束后理论上必须跟一个break,作用就是跳出整个switch语句
4、case后面如果语句很多,不需要加大括号
二、循环控制语句
1、for循环
for(表达式1;表达式2;表达式3)
{
//复合语句,循环体
语句块;
}
执行顺序:
先执行表达式1,然后执行表达式2,如果表达式2成立,则执行语句块
当语句块执行完毕后,接着执行表达式3,然后再执行表达式2
如果表达式2成立,则继续执行语句块,以此类推,直到表达式2不成立,循环结束。
案例:求1到100的累加和
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 1;
int sum = 0;
for(i = 1; i <= 100; i++)
{
sum += i;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
return 0;
}
2、while循环
形式1)
while(条件表达式)
{
//循环体,复合语句
语句块;
}
执行顺序:
首先判断while后面的条件表达式,如果表达式为真,则执行大括号中的语句块,接着再次执行条件表达式,如果表达式为真,则继续执行语句块,直到条件表达式为假,循环结束。
案例:求1到100的累加和
#include <stdio.h>
int main(int argc, char *argv[])
{
int i = 1;
int sum = 0;
while(i <= 100)
{
sum += i;
i++;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
return 0;
}
形式2)
do......while
do{
//循环体
语句块;
}while(条件表达式);
3、goto循环
案例:求1到100的累加和
int i = 1;
int sum = 0;
JOOP:
sum += i;
i++;
if(i <= 100)
{
goto JOOP;
}
printf("1 + 2 + 3 + ... + 100 = %d\n", sum);
注意: