C语言学习之控制语句

来源:互联网 发布:js写贪吃蛇 编辑:程序博客网 时间:2024/06/11 09:56

1. if语句

. if语句

if (x %2)

    y += x / 2;

如果括号里的表达式为真,执行 y += x / 2;语句。

. if else语句

if (x % 2 == 0)

    y += x / 2;

else

    y += (x + 1) / 2;

如果if中的表达式为真则执行if后面的语句,否则执行else后面的语句。


. if else if语句

if (x % 2 == 0)

     y += x / 2;

else if (x % 4 == 1)

    y += 2 * ((x + 3) / 4);

else

    y += (x + 1) / 2;


2. switch语句

switch (ch) {

    case 'Y':

        break;

    case 'N':

        break;

    default:

        break;

}

如果匹配成功,将执行case后面的语句。如果case后面没有break语句,那么它将继续向下执行,直到整个语句结束或遇到break。有时,我们可以利用这点故意不写出break语句。例如:

switch (ch) {

    case 'Y':

    case 'y':

    break;

}

default是可选的,可以写也可以不写。


3. while语句

while ( /* condition */)

    /* loop body */


4. for语句

int factorial(int n)

{

    int i, j = 1;

    for (i = 1; i <= n; i++)

        j *= i;

    return j;

}

for语句包含三个部分:

初始化部分:i = 1

条件部分:i <= n

调整部分:i++

这三个部分每一个部分都是可选的,但是分号不能省略。

初始化部分只在循环开始开始时执行一次。

其实for语句可以和while语句互换的,例如前面的例子可以用while语句改写成:

int factorial(int n)

{

    int j = 1;

    int i = 1; /* initialzation */

    while (i <= n) { /* condition */

        j *= i;

        i++; /* increment*/

    }

    return j;

}

对于for中的复合表达式,用逗号分割。

int factorial(int n) {

    int i, j;

    for (i = 1, j = 1; i <= n; j *= i, i++)

        ;

    return j;

}

那到底选择for语句还是while语句,要根据实际情况而定,如果要做简单的初始化与增量处理,那最好还是选for语句,而且把循环控制部分放在顶部,也便于理解。


5. do while语句

同while不同的是,它要先执行一次循环体部分,然后再做条件判断。


6. break和continue关键字

break语句用于推出最内层循环或swith语句中的退出。

continue语句表示跳过循环体部分,直接调到循环的条件部分,执行下一次循环。

原创粉丝点击