c语言中while的用法

while语句如下:

while语句的一般形式为:  while(表达式)语句其中表达式是循环条件,语句为循环体。

while语句的语义是:计算表达式的值,当值为真(非0)时,执行循环体语句。其执行过程可用下图表示。【例6-2】用while语句计算从1加到100的值。用传统流程图和N-S结构流程图表示算法,见图:

#include<stdio.h>

intmain(void){

inti,sum=0;

i=1;

while(i<=100){

sum=sum+i;

i++;

}

printf("%d
",sum);

return0;

}

【例6-3】统计从键盘输入一行字符的个数。

#include<stdio.h>

intmain(void){

intn=0;

printf("inputastring:
");

while(getchar()!='
')n++;

printf("%d",n);

return0;

}

本例程序中的循环条件为getchar()!='
',其意义是,,只要从键盘输入的字符不是回车就继续循环。循环体n++完成对输入字符个数计数。从而程序实现了对输入一行字符的字符个数计数。使用while语句应注意以下两点。1)while语句中的表达式一般是关系表达或逻辑表达式,只要表达式的值为真(非0)即可继续循环。

#include<stdio.h>

intmain(void){

inta=0,n;

printf("
inputn:");

scanf("%d",&n);

while(n--)printf("%d",a++*2);

return0;

}

本例程序将执行n次循环,每执行一次,n值减1。循环体输出表达式a++*2的值。该表达式等效于(a*2;a++)。2)循环体如包括有一个以上的语句,则必须用{}括起来,组成复合语句。

while循环的一般形式为:
while(表达式){
语句块
}

其中表达式称为循环条件,语句块称为循环体。

while语句的意思是:先计算表达式的值,当值为真(非0)时,执行循环体语句;执行完循环体语句,再次计算表达式的值,如果为真,继续执行循环体??这个过程会一直重复,直到表达式的值为假(0),就退出循环,执行后面的语句。其执行过程如下图所示:

用while语句计算1加到100的值:

?

12345678910

#include<stdio.h>intmain(void){  inti=1,sum=0;  while(i<=100){    sum+=i;    i++;  }  printf("%d
",sum);  return0;}

运行结果:

5050

代码分析:

1)程序运行到while语句时,因为i=1,i<=100的值为真,所以执行循环体;执行结束后i的值变为2,sum的值变为1。

2)接下来会继续判断i<=100是否成立,因为此时i=2,i<=100成立,所以继续执行循环体;执行结束后i的值变为3,sum的值变为3。

3)重复执行步骤2)。

4)当循环进行到第100次,i的值变为101,sum的值变为5050;因为此时i<=100不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面的代码。

再看一个例子,统计从键盘输入的一行字符的个数:

?

12345678

#include<stdio.h>intmain(){  intn=0;  printf("Inputastring:");  while(getchar()!='
')n++;  printf("Numberofcharacters:%d
",n);  return0;}

运行结果:

Inputastring:c.biancheng.net
Numberofcharacters:15

本例程序中的循环条件为getchar()!='
',其意义是,只要从键盘输入的字符不是回车就继续循环。循环体n++;完成对输入字符个数计数。

do-while循环

除了while循环,在C语言中还有一种do-while循环。

do-while循环的一般形式为:

do{
语句块
}while(表达式);

do-while循环与while循环的不同在于:它会先执行循环体,然后再判断表达式是否为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环体。其执行过程可用下图表示:

用do-while计算1加到100的值:

?

12345678910

#include<stdio.h>intmain(){  inti=1,sum=0;  do{    sum+=i;    i++;  }while(i<=100);  printf("%d
",sum);  return0;}

运行结果:

5050



  • c璇█while寰幆鐢ㄦ硶
    绛旓細C璇█涓瓀hile鐨勭敤娉瑙f瀽濡備笅锛1琛ㄧずtrue锛屽湪bool绫诲瀷鍙栧糵alse鍜宼rue锛0涓篺alse锛岄潪0涓簍rue锛堜緥濡-1鍜2閮芥槸true锛夈傜▼搴忎腑锛岃繖閲1灏辫〃绀烘案鐪燂紝鐩村埌寰幆浣撳唴閬囧埌break銆俠ool琛ㄧず甯冨皵鍨嬪彉閲忥紝涔熷氨鏄昏緫鍨嬪彉閲忕殑瀹氫箟绗︼紝浠ヨ嫳鍥芥暟瀛﹀銆佸竷灏斾唬鏁扮殑濂犲熀浜轰箶娌宦峰竷灏旓紙George Boole锛夊懡鍚嶃傚竷灏斿瀷鍙橀噺鐨勫煎彧鏈 ...
  • c璇█涓瓀hile鏄粈涔堟剰鎬
    绛旓細鍦C璇█涓锛while鏄竴绉嶅惊鐜粨鏋勶紝瀹冪殑浣滅敤鏄牴鎹粰瀹氱殑鏉′欢鍙嶅鎵ц涓娈典唬鐮併傚綋while鍚庨潰鐨勬潯浠朵负鐪熸椂锛屽畠浼氫竴鐩存墽琛屽惊鐜綋鍐呯殑璇彞锛岀洿鍒版潯浠朵负鍋囨椂鎵嶄細璺冲嚭寰幆銆倃hile璇彞鐨勬墽琛屾祦绋嬫槸鍏堝垽鏂潯浠讹紝濡傛灉鏉′欢婊¤冻锛堝嵆涓虹湡锛夛紝鍒欐墽琛屽惊鐜綋鍐呯殑璇彞锛屾墽琛屽畬姣曞悗鍐嶆鍒ゆ柇鏉′欢鏄惁婊¤冻锛屽鏋滆繕婊¤冻锛屽垯鍐嶆...
  • c璇█涓瓀hile浠涔堟剰鎬?
    绛旓細(c=getchar())!=' ')濡傛灉c鐨勫间笉绛変簬绌烘牸锛屾墽琛while寰幆 锛屼笉鏂妸閿洏鐨勫煎瓨缁檆锛屽綋浠庨敭鐩樿緭鍏ョ殑鍊兼槸绌烘牸锛c鐨鍊煎氨鏄┖鏍肩殑ASCII鐮佸硷紝姝ゆ椂while寰幆缁堟锛屼笉鍐嶄粠閿洏鍙栧緱瀛楃璧嬬粰c銆傜浉褰撲簬锛氫粠閿洏杈撳叆涓涓瓧绗 锛歡etchar()鐒跺悗鎶婂瓧绗︾殑鍊艰祴缁檆 锛歝=getchar()鐒跺悗鍒ゆ柇c鏄惁绛変簬鈥 鈥 锛...
  • C璇█涓瓀hile(1)琛ㄧず浠涔堟剰鎬?
    绛旓細while(1) 琛ㄧず鏃犻檺寰幆銆while鐨璇硶鏍煎紡涓 锛歸hile(condition){ //do something 1}//do something 2condition 涓哄惊鐜潯浠讹紝姣忔鍒ゆ柇condition鏄惁涓虹湡锛屼负鐪熸椂鎵цwhile寰幆浣涓鐨勮鍙ュ潡(浠g爜涓潡1)锛涗负鍋囨椂缁撴潫寰幆锛屾墽琛屽悗缁鍙ワ紙浠g爜涓潡2锛夈傝繖閲宑ondition涓1 琛ㄧず鏉′欢姘歌繙涓虹湡锛屼竴鐩存墽琛屽惊鐜...
  • C璇█涓瓀hile(n--)鍟ユ剰鎬
    绛旓細while锛坣--锛夋槸C璇█涓殑涓鏉¤鍙ワ紝浣嗚繖涓鍙ュ苟涓嶆槸瀹屾暣鐨勶紝鍦ㄥ叾鍚庨潰搴旇鏈夊惊鐜綋锛寃hile璇彞鐨勪竴鑸〃杈惧紡涓猴細while锛堣〃杈惧紡锛墈寰幆浣搣銆倃hile鏄绠楁満鐨勪竴绉嶅熀鏈惊鐜ā寮忋傚綋婊¤冻鏉′欢鏃惰繘鍏ュ惊鐜紝杩涘叆寰幆鍚庯紝褰撴潯浠朵笉婊¤冻鏃讹紝璺冲嚭寰幆銆WHILE <鏉′欢> <璇彞浣> end while do while <鏉′欢> <璇彞浣...
  • c璇█涓瓀hile(flag==0)浠涔堟剰鎬
    绛旓細涓烘偍鎺ㄨ崘: ->鍦╟璇█鐨勬剰鎬 flag鏄粈涔堟剰鎬 C璇█涓==鏄粈涔堟剰鎬 flag浣跨敤 c璇█涓璮lag鐨勭敤娉 bit 浠涔堟剰鎬滳璇█涓 flag=1 c璇█flag鎬庝箞鐢 C璇█涓%s c璇█涓瓀hile鐨勭敤娉 鍏朵粬绫讳技闂2011-12-23 C璇█涓 while(flag) 鏄粈涔堟剰鎬 鍟 25 2014-01-10 c璇█flag=0 鎴栬協lag=1浠涔堟剰鎬 ...
  • while C璇█涓浠涔堟剰鎬
    绛旓細do{ 璇彞;}while(鏉′欢)浠ヤ笂闈㈢殑鍖哄埆灏辨槸,鏃犺鏉′欢鐪熷亣閮借鎵ц寰幆浣;鑰屼笂闈㈢殑涓嶇敤;for(璇彞1;璇彞2;璇彞3){ 寰幆浣;} 杩欎釜缁撴瀯,鐢ㄦ硶鏄:璇彞1鏄垵濮嬫潯浠,璇彞2鏄粨鏉熸潯浠,璇彞3鏄帶鍒舵潯浠跺彉鍖栫殑璇彞;for璇彞鍦C涓鏈甯哥敤;for鍦ㄥ疄闄呭簲鐢ㄤ腑鏈夊緢澶氬彉鍖栧舰寮;鍦ㄥ疄闄呬腑瑕佺敤鍝釜,瑕佺湅瀹為檯鎯呭喌....
  • c璇█while寰幆鐢ㄦ硶
    绛旓細c璇█while寰幆鐢ㄦ硶锛氫竴鑸舰寮忓涓嬶細while锛堣〃杈惧紡锛夛經寰幆浣撳唴璇彞锝 寰幆浣撳璇彞 鍏朵腑鎵ц杩囩▼濡備笅锛氾紙1锛夎绠梬hile鍚庨潰鎷彿閲岃〃杈惧紡鐨勫硷紝鑻ュ叾缁撴灉闈0锛屽垯杞叆锛2锛夛紝鍚﹀垯杞紙3锛夈傦紙2锛夋墽琛屽惊鐜綋锛岃浆锛1锛夈傦紙3锛夐鍑哄惊鐜紝鎵ц寰幆浣撲笅闈㈢殑璇彞銆傜敱浜庢槸鍏堟墽琛屽垽鏂悗鎵ц寰幆浣擄紝鎵浠ュ惊鐜綋鍙兘...
  • C璇█涓殑while(!i)鏄粈涔堟剰鎬
    绛旓細whie鏄C璇█涓殑鍏抽敭瀛楋紝浠h〃寰幆銆while锛坕锛夊拰while锛堬紒i锛夌殑鎰忔濊鐪媔杩欎釜鍙橀噺锛堣〃杈惧紡锛夌殑鍊兼槸鐪熻繕鏄亣锛0鍜孨ULL灏辨槸鍋囷級銆倃hile锛1锛夊拰while锛99锛夊拰while锛堬紞76锛夌敋鑷硍hile锛3锛100锛夎繖绫诲彧瑕佹嫭鍙蜂腑鐨勫硷紙鎴栬〃杈惧紡鐨勫硷級闈0锛屾剰鎬濅竴鏍凤紝浠h〃鍙互寰幆骞舵墽琛屽惊鐜綋锛屽鏋滄槸while锛0锛夛紝鍒欎唬琛...
  • c璇█while寰幆鐢ㄦ硶
    绛旓細鍦C璇█涓锛while寰幆鏄竴绉嶅熀鏈殑鎺у埗娴佺粨鏋勶紝瀹冨厑璁镐綘鍙嶅鎵ц涓娈典唬鐮侊紝鐩村埌婊¤冻鏌愪釜鏉′欢涓烘銆1琛ㄧずtrue锛屽湪bool绫诲瀷鍙栧糵alse鍜宼rue锛0涓篺alse锛岄潪0涓簍rue锛堜緥濡傦紞1鍜2閮芥槸true锛夈傜▼搴忎腑锛岃繖閲1灏辫〃绀烘案鐪燂紝鐩村埌寰幆浣撳唴閬囧埌break銆俠ool琛ㄧず甯冨皵鍨嬪彉閲忥紝涔熷氨鏄昏緫鍨嬪彉閲忕殑瀹氫箟绗︼紝浠ヨ嫳鍥芥暟瀛﹀銆...
  • 扩展阅读:do while用法举例 ... c语言do while循环 ... while循环简单例子c语言 ... c语言中while循环怎么用 ... c语言两个while同时进行 ... c语言while(1) ... while的四种用法归纳 ... c语言return返回值举例 ... while的用法归纳总结c语言 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网