当前位置:编程学习 > C/C++ >>

C语言学习之控制语句

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语句表示跳过循环体部分,直接调到循环的条件部分,执行下一次循环。


摘自 Tracy Mcgrady的专栏
补充:软件开发 , C语言 ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,