当前位置:文章写作网 >日记 >日记 >c语言循环语句之while

c语言循环语句之while

2008-06-26 08:45 作者:tshfang 阅读量:8940 推荐7次 | 我要投稿

c语言的另一种循环是while循环,一般形式是:

1、while(表达式)语句或者语句块;

表达式:任何表达式,其值非零时候重复循环,其值为零是退出循环。

看个例子:

int main(void)

{

char s='a';

while(s!='q')

{

printf("input a char\n");

s=getchar();

printf("s is %c\n",s);

}

getch();

return 0;

}

首先给s赋值为a,这时候执行while因为a!=q

所以执行while语句块,比如输入q,当打印完s以后,这时候判断s!=‘q’为假

退出循环。

2、do-while循环

一般形式:

do

{

语句

}while(表达式)

首先看两个例子:

例子A:

int main(void)

{

char s='q';

while(s!='q')

{

printf("input a char\n");

s=getchar();

printf("s is %c\n",s);

getchar();

}

getch();

return 0;

}

例子B:

int main(void)

{

char s;

do

{

printf("input a char\n");

s=getchar();

printf("s is %c\n",s);

getchar();

} while(s!='q');

getch();

return 0;

}

A中的s必须赋初始值,如果不赋值那么程序开始的s是不确定的。

B中的s不用赋初始值。

因为do-while的循环条件在底部,也就是说do-while至少执行一次。

B中的while之后必须跟;。

我们将上篇的例子修改一下,将for(;;)换成do-while形式。

例如:

void fun(int num1,int num2);

int main(void)

{

int i,num1=0,num2=0;

do

{

printf("1. input int num1 and num2 \n");

printf("2. bi jao da xiao \n");

printf("3. qing kong num1 and num2 \n");

printf("4. exit \n");

scanf("%d",&i);

switch(i)

{

case 1:

printf("input num1 and num2\n");

scanf("%d%d",&num1,&num2);

break;

case 2:

fun(num1,num2);

break;

case 3:

num1=0;num2=0;

printf("num1==num2==0\n");

break;

}

}while (i!=4);

return 0;

}

void fun( int num1, int num2)

{

if(num2>=num1)

{

if(num2==num1) printf("%d == %d\n",num2,num1);

else printf("%d > %d\n",num2,num1);

}

else printf("%d < %d\n",num2,num1);

}

结果如同for(;;)是一样的。

其他人在看啥

    《c语言循环语句之while》的评论 (共 0 条)

    • Guest::piaoliang