C语言while循环要点

while语句在使用过程需要注意几个要点:

一、无限循环

先来看看以下的代码示例

执行代码后,会循环输出n=0

在上述代码中,虽然有n++自增,但while循环没有花括号将语句包含。对于while循环,如果没有花括号,只有直接跟在while测试条件后的语句才是循环的一部分,因此上述代码中n++不属于循环。

二、空语句

在C语言中, 单独的分号表示空语句 。先来看以下代码

程序的输出结果是:

n = 4

在该例中,在while循环后有分号(;),这个分号是单独的一条语句,即 空语句,什么都不做 。while在执行完循环条件测试后,执行空语句,继而进行下一次循环,一直到循环条件不满足为止。

在该例中,虽然printf()语句在while之后,但while语句结束后有空语句,printf()并不属于while循环,因此printf()只会打印一次。



  • C璇█涓while寰幆鐨勯棶棰樸
    绛旓細1锛while寰幆锛屼笉鍐欐嫭鍙疯〃绀哄唴瀹瑰彧鏈変竴琛 2锛++銆--鏀惧湪鍙橀噺鍓嶉潰锛++x锛夛紝琛ㄧず鍏堝鍙橀噺杩涜鑷1杩愮畻锛屽啀灏嗗彉閲忔洿鏂板悗鐨勭粨鏋滀綔涓猴紙++x锛夎繖涓暣浣撹〃杈惧紡鐨勫硷紱鑰++銆--鏀惧湪鍙橀噺鍚庨潰(z--)锛岃〃绀哄厛灏嗗彉閲忓師鏉ョ殑鍊兼湰韬綔涓猴紙z--锛夎繖涓暣浣撹〃杈惧紡鐨勫硷紝鍐嶅鍙橀噺杩涜鑷噺杩愮畻 3锛氶昏緫&&鐨勭粨鍚堟ц嚜宸...
  • C璇█绋嬪簭璁捐while寰幆?
    绛旓細宸︿晶鐨while閲岄潰鐨勬潯浠朵负--k锛屽厛杩涜鑷噺杩愮畻锛屽啀鍒ゆ柇鏄惁绗﹀悎寰幆鏉′欢銆--k鐨勭粨鏋滀负0锛岀粨鏉熷惊鐜傛渶缁堣緭鍑簁涓0銆傚彸渚х殑while閲岄潰鐨勬潯浠朵负k--锛屽厛鍒ゆ柇锛屽啀鎵ц鑷噺杩愮畻锛屽惊鐜墽琛岋紝k鍒濆间负1锛宬--寰0锛宬涓0鏃讹紝缁撴潫寰幆锛宬鑷噺寰-1锛屾渶缁堣緭鍑轰负-1銆
  • c璇█涓while鐨勭敤娉
    绛旓細闄や簡while寰幆锛屽湪C璇█涓繕鏈変竴绉峝o-while寰幆銆俤o-while寰幆鐨勪竴鑸舰寮忎负锛歞o{璇彞鍧梷while(琛ㄨ揪寮);do-while寰幆涓巜hile寰幆鐨勪笉鍚屽湪浜庯細瀹冧細鍏堟墽琛屽惊鐜綋锛岀劧鍚庡啀鍒ゆ柇琛ㄨ揪寮忔槸鍚︿负鐪燂紝濡傛灉涓虹湡鍒欑户缁惊鐜紱濡傛灉涓哄亣锛屽垯缁堟寰幆銆傚洜姝わ紝do-while寰幆鑷冲皯瑕佹墽琛屼竴娆″惊鐜綋銆傚叾鎵ц杩囩▼鍙敤涓嬪浘琛ㄧず锛氱敤...
  • c璇█涓璮or寰幆鍜while寰幆鐨勫尯鍒
    绛旓細c璇█for寰幆璇彞鐢ㄦ硶涓猴細for锛堣〃杈惧紡1锛涜〃杈惧紡2锛涜〃杈惧紡3锛夛紝寰幆浣撱傚湪for寰幆璇彞鐢ㄦ硶涓紝for鏄叧閿瓧銆俧or涔嬪悗鐨勫渾鎷彿鍐呬竴鍏辨湁3涓〃杈惧紡锛屼互鍒嗗彿闅斿紑銆備竴鑸儏鍐典笅锛岃〃杈惧紡1鐨勪綔鐢ㄦ槸璧嬪垵鍊硷紱琛ㄨ揪寮2鐨勪綔鐢ㄦ槸鎺у埗寰幆锛屽嵆寰幆鏉′欢锛涜〃杈惧紡3鐨勪綔鐢ㄦ槸淇敼寰幆鍙橀噺鐨勫硷紝涓鑸槸璧嬪笺傚惊鐜綋璇彞濡傛灉鍙湁涓...
  • c璇█while寰幆
    绛旓細杈撳嚭涓1銆傚垎鏋愶細绗1娆℃墽琛while(i=1,i>s)鏃讹紝i璧嬪间负1锛宻=0锛宨>s涓虹湡锛1锛夛紝鍥犱负鏁翠釜閫楀彿琛ㄨ揪寮廼=1,i>s鐨勫间负i>s鐨勫硷紝涓1锛寃hile涓虹湡鎵ц1娆★紝缁撴灉鏄痠=3锛宻=1銆傜2娆℃墽琛寃hile(i=1,i>s)鏃讹紝i鍙堣祴鍊间负1锛岃屾鏃秙=1锛宨>s涓哄亣锛0锛夛紝while涓哄亣锛岄鍑寰幆銆
  • c璇█闂鍏充簬while寰幆鏉′欢闂
    绛旓細棣栧厛闇瑕佽冭檻浼樺厛绾х殑闂锛岋紒鐨勪紭鍏堢骇楂樹簬&&浼樺厛绾ч珮浜<=銆俧ind=0锛屾墍浠ワ紒find=1 rear&&!find鏃 0&&1 = 0 鍙堝洜涓篺ront=-1 銆-1<0 鏃㈡潯浠舵垚绔嬶紝鎵цwhile澶ф嫭鍙烽噷闈㈢殑绋嬪簭锛屽鏋滀笉鎴愮珛灏辫烦杩噖hile銆傛墽琛寃hile鍚庨潰鐨勮鍙ャ
  • c璇█while鐨勭敤娉
    绛旓細include <stdio.h> int main(){ int num,s=1;scanf("%d",&num);while(num>0){ s=s*(num%10);num/=10;} printf("姣忎綅鏁颁箣绉槸锛%d\n",s);return 0;}
  • c璇█闂while寰幆鐨勯棶棰
    绛旓細while锛c = ( (getchar锛堬級) != '\n') 锛夎繖鏍凤紝c 寰楀埌鐨勬槸閫昏緫鍊硷紝鍗 鐪 鎴 鍋囷紝 鏁板肩瓑浜 1 鎴 0銆傝 while锛堬紙c=getchar锛堬級锛夛紒= '锛糿'锛夎繖閲 c 寰楀埌鐨 鏄 char 鍨嬶紝鏁板肩瓑浜 璇诲叆瀛楃瀵瑰簲鐨 ASCII 鍊笺傝緭鍏ュ瓧绗︽槸鍥炶溅鐨勬椂鍊欙紝 涓よ 閮 璺冲嚭寰幆 鏄 涓鏍风殑銆...
  • c璇█鐨勪笁涓寰幆璇彞璇ユ庝箞鍖哄埆鍛
    绛旓細C璇█寰幆鎺у埗璇彞鏄竴涓熀浜嶤璇█鐨勭紪绋嬭鍙ワ紝璇ヨ鍙ヤ富瑕佹湁while寰幆璇彞銆乨o-while寰幆璇彞鍜宖or寰幆璇彞鏉ュ疄鐜板惊鐜粨鏋勩備竴銆乫or寰幆 for寰幆璇彞鐨勫熀鏈娉 for锛堣〃杈惧紡1锛涜〃杈惧紡2锛涜〃杈惧紡3锛夛經 寰幆浣擄紱锝 璇箟:1.閫夋墽琛岃〃杈惧紡1锛岃烦杞埌2锛2.鍒ゆ柇琛ㄨ揪寮2鏄惁鎴愮珛锛屽鏋滄垚绔嬶紝鍒欒烦杞埌3锛屽惁鍒欒烦杞埌...
  • C璇█while(y--)鐨勭敤娉?
    绛旓細while(y--);绛変环浜巜hile(y--!=0);鏈鍚庢湁鍒嗗彿锛屽洜姝や竴鐩存墽琛while寰幆锛岀洿鍒皔=0涓烘锛岄鍑哄惊鐜紝鎵ц鍚庨潰鐨刾rintf璇彞銆備粠y=10寮濮嬶紝渚濇瀵箉鐨勫艰繘琛屽垽鏂紝鍙涓嶇瓑浜0锛屽氨y鑷噺1锛岀户缁墽琛寃hile寰幆銆備竴鐩村埌y=0锛屼笉婊¤冻寰幆鏉′欢锛岄鍑哄惊鐜紝鎵цy--锛寉鑷噺1锛屽彉鎴-1 鍥犳鏈鍚庤緭鍑簓=-1 鏈...
  • 扩展阅读:c语言跳出while 1 循环 ... c语言怎么结束while循环 ... while 1 循环怎么跳出 ... while(1)是无限循环吗 ... c语言while循环1-2+3-4 ... c语言do while循环排大小 ... 如何跳出while 1 循环 ... 如何让while循环一次 ... c语言while死循环怎么跳出 ...

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