C语言-控制语句

1 选择控制语句
if语句
形式:
1)
if(条件表达式) {
//复合语句,若干条语句的集合
语句1;
语句2;
}
2)
if(条件表达式)
{
语句块1
}
else
{
语句块2
}
3)
if(条件表达式1)
{
语句块1
}
else if(条件表达式2)
{
语句块2
}
else if(条件表达式3)
{
语句块3
}
...
else
{
语句块n
}
switch语句
switch(表达式)//表达式只能是字符型或整型的(short int int long int)
{
case 常量表达式1:
语句1;
break;
case 常量表达式2:
语句2;
break;
...
default:
语句3;
break;
}
运行顺序:将常量表达式的值语句switch后面的表达式的值对比,如果表达式的值刚好等于case后面的某一个值,就会立即去执行case后的语句,如果都不是,则会执行default 后面的语句
注意事项:
(1)switch后面的表达式不能是浮点型,只能是整形的
(2)如果case后面的常量表达式与switch的表达式的值都不同,则执行default后面的语句
(3)每一个case执行结束后理论上必须跟一个break,作用就是跳出整个switch语句
(4)case后面如果语句很多,不需要加大括号
2 循环控制语句
for循环
for(表达式1;表达式2;表达式3)
{
//复合语句,循环体
语句块
}
执行顺序:
先执行表达式1,然后执行表达式2,如果表达式2成立,则执行语句块
当语句块执行完毕之后,接着执行表达式3,然后再执行表达式2,
如果表达式2成立,则继续执行语句块,以此类推,直到表达式2不成立,循环结束
例如:
int i;
for(i = 1; i <= 10; i++)
{
}
#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;
}

while循环
1)形式1:
while(条件表达式)
{
//循环体,复合语句
语句块
}
执行顺序:
首先判断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)形式2:do...while...
do{
//循环体
语句块
}while(条件表达式);
执行顺序:
先执行do后面的语句块,然后判断while后面的条件表达式是否成立,
如果成立,则继续执行do后面的语句块,执行完毕后接着执行while后面的条件表达式,
当条件表达式不成立时,循环结束
注意:
不管条件是否成立,do后面的语句块都会执行一次,所以尽量少用do...while
在while后面必须加一个分号