c语言中的while语句

c\u8bed\u8a00while\u8bed\u53e5

while(\u771f) \u8868\u793a\u4e00\u76f4\u5faa\u73af \u6211\u4eec\u89c6 > 0 \u7684\u6570\u90fd\u4e3a\u771f \u6240\u4ee5 \u8fd9\u91cc \u4f60\u5199 1 \uff0c2\uff0c3\uff0c4\uff0c5\uff0c6\uff0c6\uff0c\uff0c7\uff0c\uff0c8\uff0c\uff0c9\uff0c\uff0c\u3002\u3002\u3002\u3002\u3002\u90fd\u662f \u65e0\u9650\u5faa\u73af\u4e0b\u53bb

\u5982\u679c \u662f sum = sum + i
\u4f60\u53ef\u4ee5\u770b\u4e0b
\u7b2c 1 \u6b21 \u5faa\u73af sum = sum + 1\uff1b
\u7b2c 2 \u6b21 \u5faa\u73af sum = sum + 2\uff1b
\u7b2c 3 \u6b21 \u5faa\u73af sum = sum + 3\uff1b
\u7b2c 4 \u6b21 \u5faa\u73af sum = sum + 4\uff1b
.....
\u7b2c N \u6b21 \u5faa\u73af sum = sum + N\uff1b
---------------------------------------
\u5982\u679c \u662f sum = sum + 1
\u7b2c 1 \u6b21 \u5faa\u73af sum = sum + 1\uff1b
\u7b2c 2 \u6b21 \u5faa\u73af sum = sum + 1\uff1b
\u7b2c 3 \u6b21 \u5faa\u73af sum = sum + 1\uff1b
\u7b2c 4 \u6b21 \u5faa\u73af sum = sum + 1\uff1b
.....
\u7b2c N \u6b21 \u5faa\u73af sum = sum + 1\uff1b
-----------------------------------------
\u8fd9\u662f\u4e2a\u6b7b\u5faa\u73af \uff0c \u5f53 sum > 32768 \u7684\u65f6\u5019 \u4f60\u7684\u7a0b\u5e8f \u5c31\u4f1a\u5d29\u6e83
\u53ea\u662f sum = sum + i \u6bd4 sum = sum + 1 \u5d29\u6e83\u7684 \u66f4\u5feb\u4e9b

\u9009D
if(i<1)continue;
\u8868\u793a\u5f53i=0\u65f6\uff0c\u9000\u51fa\u6b64\u6b21\u5faa\u73af\uff0c\u7ee7\u7eed\u4e0b\u4e00\u6b21while\u8bed\u53e5\u9a8c\u8bc1\uff0c\u6ce8\u610f\uff0c\u6b64\u65f6\u5e76\u4e0d\u9000\u51fawhile\u5faa\u73af\uff0c\u800c\u662f\u4e00\u76f4\u8fdb\u884c\u8fd9\u4e2a\u5faa\u73af

\u8fd9\u4e2a\u9898\u76ee\u4e3b\u8981\u5c31\u662f\u8003\u5bdfcontinue\u548cbreak\u7684\u533a\u522b
continue\u53ea\u662f\u9000\u51fa\u672c\u6b21\u5faa\u73af\uff0c\u7ee7\u7eed\u6267\u884c\u4e0b\u4e00\u6b21\u7684\u5faa\u73af\uff0c\u5e76\u4e0d\u9000\u51fawhile\u5faa\u73af\u3002
break\u662f\u9000\u51fa\u6574\u6761\u8bed\u53e5\u7684\u5faa\u73af\uff0c\u7ee7\u7eed\u8fdb\u884c\u5faa\u73af\u4ee5\u540e\u7684\u7a0b\u5e8f\u3002
\u8fd9\u4e24\u4e2a\u6982\u5ff5\u8981\u533a\u5206\u6e05\u695a\u3002

我猜程序是这样的吧。
#include<stdio.h>
void main()
{
char c;
while((c=getchar())!='?')
putchar(--c);
}
输出的结果是:X
刚开始,c='Y',满足循环条件,执行putchar(--c);输出X;
然后c='?',不满足循环条件,结束while语句。
程序结束。

如果输出x,一定while后无分号,Y符合循环控制条件,输出--c,即x,
?不符合,推迟循环,结束程序

LS忽略某重点位置~,while后面的;号。。。LZ你是打错了还是本身就有的?
如果有;号,while一直执行循环,空语句,无操作,遇到问号为止,然后输出 '?'-1 的字符,
如果没有;号,while一直执行到遇到分号为止,每次执行输出当前得到字符
c-1 的字符,
后者情况下却是如上所说是 X。。。
前者感觉应该不是LZ意图。。。

#include<stdio.h>
main()
{
char c;
while((c=getchar())!='?');//如果得到的最近的一个字符为
//‘?’那么while语句将不再执行,否
//则该语句继续直到有‘?’
putchar(--c); //这句的执行说明了你最后的字符为?,从键盘
//上看,--c为?左边的符号,即输出为>
}

首先你的程序有些错误,我已经帮你改正,以上是正确的了,顺带我的解释:你按下Y?N?然后回车,由于最后的字符为?得到肯定是>;否则就会没有输出,直到你最后的字符为?,然后才输出>。

哪里看不懂可以再问我。

输出的是>。直到c为?时,才会终止while循环。终止循环以后,进入输出语句,而输出语句中,是--c,就是c先自减一次再输出。而?对应的ASCII码是63,>对应的ASCII码是62,所以c自减一次后输出的是>。

键入非?的输出本身。
键入?结束程序。

  • c璇█涓瓀hile()鏄粈涔堟剰鎬
    绛旓細鍦–璇█涓紝while()鏄竴涓惊鐜帶鍒惰鍙銆傚畠鐨勪綔鐢ㄦ槸鍦ㄦ弧瓒崇壒瀹氭潯浠剁殑鎯呭喌涓嬪弽澶嶆墽琛屾煇涓鍙ュ潡锛岀洿鍒版潯浠朵笉鍐嶆垚绔嬩负姝倃hile()鐨勫熀鏈娉曢潪甯哥畝鍗曪紝瀹冪殑涓鑸舰寮忔槸锛歸hile(condition) { statement; } 鍏朵腑锛宑ondition鏄竴涓敤浜庡垽鏂槸鍚︾户缁惊鐜殑鏉′欢琛ㄨ揪寮忥紝statement鍒欐槸闇瑕侀噸澶嶆墽琛岀殑璇彞鍧椼傚彧瑕佹潯浠...
  • C璇█涓瓀hile鏄粈涔堟剰鎬
    绛旓細C璇█涓殑while鏄竴绉嶅惊鐜鍙ワ紝鏄绠楁満鐨勪竴绉嶅熀鏈惊鐜ā寮銆傚綋婊¤冻鏉′欢鏃惰繘鍏ュ惊鐜紝涓嶆弧瓒宠烦鍑轰娇鐢ㄦ牸寮忎负锛 while(鏉′欢琛ㄨ揪寮) { 寰幆浣撹鍙ワ紱 } 3.褰搘hile寰幆鐨勬潯浠惰〃杈惧紡涓虹湡鏃讹紝杩涘叆寰幆锛屼竴鐩村惊鐜埌鏉′欢琛ㄨ揪寮忎负鍋囦负姝
  • 鍦c璇█涓瓀hile()璇彞鎷彿閲岄潰鏄竴涓暟瀛椾唬琛ㄤ粈涔堟剰鎬,姣斿while...
    绛旓細c璇█涓嬶紝while()鎷彿閲岄潰鏀剧殑鏄惊鐜殑鏉′欢锛岃嫢鏄湡锛屽垯寰幆锛涘惁鍒欙紝鍋滄銆1锛変换浣曢潪闆剁殑鏁存暟閮芥槸涓虹湡鐨勶紝鎵浠hile(1)鍜 while(2)鍜 while(3)绛夐兘鏄竴涓剰鎬濄2锛夎嫢鏄寚閽堢殑璇濓紝NULL鍒欎负鍋囷紝鍙嶄箣鍒欎负鐪熴3锛塧 > b 绛夌被浼肩殑琛ㄨ揪寮忥紝婊¤冻涓虹湡锛屽弽涔嬩负鍋囥
  • while c璇█鏄粈涔堟剰鎬?
    绛旓細while鏄疌璇█涓殑涓绉嶈凯浠h鍙ワ紝鎰忎负鈥滃綋...鏃垛濓紝鍏剁被鍨嬩负寰幆璇彞銆傚湪鎵ц鏃讹紝鍙鍏跺悗璺熺殑鍒ゆ柇鏉′欢涓虹湡锛屽氨浼氫竴鐩撮噸澶嶆墽琛屽惊鐜綋涓殑璇彞锛岀洿鍒板垽鏂潯浠朵负鍋囨墠鍋滄寰幆銆傚叾涓紝鍒ゆ柇鏉′欢閫氬父鐢卞叧绯昏繍绠楃鍜岄昏緫杩愮畻绗︾粍鎴愩備笌for寰幆鐩告瘮锛寃hile寰幆鐨勮娉曟洿鍔犵畝娲侊紝鏄撲簬鐞嗚В鍜屾帉鎻★紝鐗瑰埆閫傚悎浜庡惊鐜鏁...
  • c璇█涓瓀hile
    绛旓細褰搉==1鏃舵墽琛while寰幆缁撴瀯閲岀殑璇彞锛屽綋n涓嶇瓑浜1鏃讹紝鍒欒烦杩囪寰幆鎵ц寰幆浣撳鐨勮鍙ャwhile 寰幆鐨勬牸寮忥細while (琛ㄨ揪寮){璇彞锛泒 while 寰幆鐨勬墽琛岄『搴忥細褰撹〃杈惧紡涓虹湡锛屽垯鎵ц涓嬮潰鐨勮鍙ワ紝璇彞鎵ц瀹屼箣鍚庡啀鍒ゆ柇琛ㄨ揪寮忔槸鍚︿负鐪燂紝濡傛灉涓虹湡锛屽啀娆℃墽琛屼笅闈㈢殑璇彞锛岀劧鍚庡啀鍒ゆ柇琛ㄨ揪寮忔槸鍚︿负鐪熲︹﹀氨杩欐牱涓鐩...
  • C璇█涓瓀hile鐨勭敤娉
    绛旓細C璇█涓瓀hile鐨勭敤娉曡В鏋愬涓嬶細涓銆1琛ㄧずtrue锛屽湪bool绫诲瀷鍙栧糵alse鍜宼rue锛0涓篺alse锛岄潪0涓簍rue锛堜緥濡-1鍜2閮芥槸true锛夈傜▼搴忎腑锛岃繖閲1灏辫〃绀烘案鐪燂紝鐩村埌寰幆浣撳唴閬囧埌break銆備簩銆亀hile鐢ㄦ硶婕旂ず瑙f瀽锛1銆佸惈涔夛細While 寰幆浼氬湪鎸囧畾鏉′欢涓虹湡鏃跺惊鐜墽琛屼唬鐮佸潡銆2銆佽娉曞涓嬶細锛堝鏋滃繕璁板鍔犳潯浠朵腑鎵鐢ㄥ彉閲忕殑鍊...
  • c璇█涓瓀hile浠涔堟剰鎬?
    绛旓細!=' ')濡傛灉c鐨勫间笉绛変簬绌烘牸锛屾墽琛while寰幆 锛屼笉鏂妸閿洏鐨勫煎瓨缁檆锛屽綋浠庨敭鐩樿緭鍏ョ殑鍊兼槸绌烘牸锛c鐨鍊煎氨鏄┖鏍肩殑ASCII鐮佸硷紝姝ゆ椂while寰幆缁堟锛屼笉鍐嶄粠閿洏鍙栧緱瀛楃璧嬬粰c銆傜浉褰撲簬锛氫粠閿洏杈撳叆涓涓瓧绗 锛歡etchar()鐒跺悗鎶婂瓧绗︾殑鍊艰祴缁檆 锛歝=getchar()鐒跺悗鍒ゆ柇c鏄惁绛変簬鈥 鈥 锛' '浠h〃绌烘牸銆
  • C璇█涓瓀hile鏄粈涔堟剰鎬
    绛旓細C璇█涓殑while鏄竴绉嶅惊鐜璇彞锛屾槸璁$畻鏈虹殑涓绉嶅熀鏈惊鐜ā寮忋傚綋婊¤冻鏉′欢鏃惰繘鍏ュ惊鐜紝涓嶆弧瓒宠烦鍑 浣跨敤鏍煎紡涓猴細while(鏉′欢琛ㄨ揪寮){ 寰幆浣撹鍙ワ紱} 3.褰搘hile寰幆鐨勬潯浠惰〃杈惧紡涓虹湡鏃讹紝杩涘叆寰幆锛屼竴鐩村惊鐜埌鏉′欢琛ㄨ揪寮忎负鍋囦负姝
  • c璇█涓瓀hile璇彞涓巉or寰幆鐨勫尯鍒槸浠涔?
    绛旓細c璇█for寰幆璇彞鐢ㄦ硶涓猴細for锛堣〃杈惧紡1锛涜〃杈惧紡2锛涜〃杈惧紡3锛夛紝寰幆浣撱傚湪for寰幆璇彞鐢ㄦ硶涓紝for鏄叧閿瓧銆俧or涔嬪悗鐨勫渾鎷彿鍐呬竴鍏辨湁3涓〃杈惧紡锛屼互鍒嗗彿闅斿紑銆備竴鑸儏鍐典笅锛岃〃杈惧紡1鐨勪綔鐢ㄦ槸璧嬪垵鍊硷紱琛ㄨ揪寮2鐨勪綔鐢ㄦ槸鎺у埗寰幆锛屽嵆寰幆鏉′欢锛涜〃杈惧紡3鐨勪綔鐢ㄦ槸淇敼寰幆鍙橀噺鐨勫硷紝涓鑸槸璧嬪笺傚惊鐜綋璇彞濡傛灉鍙湁涓...
  • C璇█涓瓀hile鏄粈涔堟剰鎬
    绛旓細c 璇█鐨剋hile鏄惊鐜璇彞 鏄敤鏉ュ惊鐜亶鍘嗙殑 瀹冪殑濂藉鍦ㄤ簬浣犳病蹇呰鍐欏緢澶氱殑浠g爜灏卞彲浠ヨ揪鍒颁綘鐨勭洰鐨 鍙﹀杩樻湁涓涓惊鐜鍙 鏄 do while 杩欎釜寰幆璇彞鍜寃hile 鐨勫尯鍒槸 鍚庤呬笉绠℃潯浠舵槸鍚︽垚绔嬮兘瑕佹墽琛屼竴娆 鑰寃hile鍒欒鐪嬫潯浠舵槸鍚︽垚绔 while 鐨勮娉 while(鍒ゆ柇璇彞){ //鎵ц璇彞 } do { //...
  • 扩展阅读:c while循环 ... 简单的while循环实例 ... while 中文翻译 ... c语言while求1到100的和 ... c语言两个while同时进行 ... while的用法归纳总结c语言 ... c语言while1-100累加 ... c语言do while语句的用法 ... while在c语言中的用法例句 ...

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