您的位置:首页 > 编程语言 > C语言/C++

C语言学习之控制语句

2012-04-29 00:03 232 查看
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语句表示跳过循环体部分,直接调到循环的条件部分,执行下一次循环。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: