C学习笔记(六)C控制语句:循环

while语句

以下为while循环的一般形式

while(expression)
        statement

statement可以是一个带有分号的简单语句,也可以是花括号中的一个复合语句。

比较大小:使用关系运算符和表达式

 

新的_Bool类型

一个_Bool变量可以具有值1(真)或值0(假)。如果把一个非零的值赋给_Bool变量,它会被设置成1。

_Bool input_is_good;
input_is_good=(scanf("%ld",&num)==1);
while(input_is_good)

运算符优先级

 for循环

for(initialize;test;update)
        statement

for语句用三个分号分开的控制表达式来控制循环过程。initialize表达式只在循环语句执行之前执行一次。然后对test表达式求值,如果为真就执行一次循环,然后计算update表达式,接着再次检查test表达式。

 更多的赋值运算符:+=、-=、*=、/=和%=

逗号运算符

 逗号运算符扩展了for循环的灵活性。

#include<stdio.h>
int main(void)
{
const int FTRST_OZ=37;
const int NEXT_OZ=23;
int ounces,cost;

printf("ounces cost\n");
for(ounces=1,cost=FTRST_OZ;ounces<=16;onces++,
         cost+=NEXT_OZ)
printf("%5d $%4.2f\n",ounces,cost/100.0);
return 0;
}

 这个程序在初始化和更新表达式中使用了逗号表达式。

逗号表达式还有两个属性。首先,它保证分开的表达式按从左到右的次序进行计算(也就是说,逗号是个顺序点,逗号左边所有的副作用都在程序运行到逗号右边之前生效)。例如:

ounces++,cost=ounces*FIRST_OZ

其次,整个逗号表达式的值是右边成员的值。语句:

x=(y=3,(z=++y+2)+5);

如果不小心在写一个数字时使用了逗号:

houseprice=249,500;

C把它解释成一个逗号表达式,houseprice=249是左表达式,而500是右表达式。因此整个式子的值就是右边表达式的值。它等同于下面的代码:

houseprice=249;
500;

do while循环

do
    statement
while(expression);

在expression为假之前重复执行statement部分。

posted @ 2013-04-22 18:00  hahazexia  阅读(325)  评论(0编辑  收藏  举报