求以下程序段的输出结果,麻烦详解。 int i=0,sum=1; do{sum+=i++;}while(i<5); printf("%d\n",sum); int i=0,sum=1; do{sum+=i++;} w...

\u4e0b\u9762\u7a0b\u5e8f\u6bb5\u4e2d,do-while\u5faa\u73af\u8bed\u53e5\u5faa\u73af\u7684\u6b21\u6570\u662f______. int i=1,sum=0; do {sum+=i;}while(i<=100); printf("%

\u5e94\u8be5\u9009D\uff0c\u56e0\u4e3a\u6761\u4ef6\u662fi<=100\uff0c\u800c\u5faa\u73af\u4f53\u91cc\u5199\u7684\u662fsum+=i,\u76f8\u5f53\u4e8esum=sum+i;\u53ea\u662fsum\u4e00\u76f4\u5728\u53d8\u5316\uff0c\u800ci\u4e00\u76f4\u6ca1\u53d8\uff0c\u6c38\u8fdc\u90fd\u662f1\uff0c\u56e0\u6b64\u662f\u6b7b\u5faa\u73af\u3002

1+0+1+2+3+4=11
i++\u662f\u53c2\u52a0\u8868\u793a\u662f\u53c2\u52a0\u8fd0\u7b97\u540e\u5728\u52a0\u4e00\u7684
\u7b2c\u4e00\u6b21\u548csum\u76f8\u52a0\u65f6i\u7684\u503c\u662f0
\u54ce \u6211\u4e5f\u662f\u521a\u5b66\u7684\u5b66C++

sum+=i++等价于sum=sum+i,i=i+1。
(i++和++i的区别就要注意一哈了,i++是先参加前面的求和运算及sum=sum+i,然后在自己+1;而++i,是先给自己+1后再参加运算)
这里有个do—while循环
这种循环是先执行再判断条件。那么
在i=0 ,sum=1后
do{sum+=i++;}while(i<5);的整个执行顺序就如下:
第一次循环:先执行sum=sum+i,再执行i++(即i=i+1),这时sum为1,i为1,然后执行条件判断while(i<5),为真;那么就接着循环
第二次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为2,i为2,然后执行条件判断while(i<5),为真;那么就接着循环
第三次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为4,i为3,然后执行条件判断while(i<5),为真;那么就接着循环
第四次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为7,i为4,然后执行条件判断while(i<5),为真;那么就接着循环
第五次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为11,i为5,然后执行条件判断while(i<5),为假(因为现在i为5,i<5不成立),则结束循环。
这时sum的值为11
最后输出结果就是:11

11

首先赋值,然后是一个条件循环。比较条件是i和5的大小。当i大于等于5的时候循环结束。执行语句是一个赋值语句。可以理解成sum=sum+(i++)。
i++的含义是下次调用加一。所以
第一次循环i=0,sum=1,然后比较,符合条件,执行,结果为sum=1,i=0(注意此时i仍为0,当下次调用的时候其值才变为1)
第二次循环i=1,sum=1,执行结果sum=2,i=1
第三次循环i=2,sum=2,执行结果sum=4,i=2
第四次循环i=3,sum=4,执行结果sum=7,i=3
第五次循环i=4,sum=7,执行结果sum=11,i=4
第六次循环的时候,i=5,条件语句不符合,跳出循环,执行下一句。
输出sum值。结果是11。
这道题关键是理解i++和++i的区别,前者是先用再加,后者是先加再用。

sum+=i++等价于sum=sum+i,i=i+1。
(i++和++i的区别就要注意一哈了,i++是先参加前面的求和运算及sum=sum+i,然后在自己+1;而++i,是先给自己+1后再参加运算)
这里有个do—while循环
这种循环是先执行在判断条件。那么
在i=0
,sum=1后
do{sum+=i++;}while(i<5);的整个执行顺序就如下:
第一次循环:先执行sum=sum+i,再执行i++(即i=i+1),这时sum为1,i为1,然后执行条件判断while(i<5),为真;那么就接着循环
第二次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为2,i为2,然后执行条件判断while(i<5),为真;那么就接着循环
第三次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为4,i为3,然后执行条件判断while(i<5),为真;那么就接着循环
第四次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为7,i为4,然后执行条件判断while(i<5),为真;那么就接着循环
第五次循环:再先执行sum=sum+i,再执行i++(即i=i+1),这时sum为11,i为5,然后执行条件判断while(i<5),为假(因为现在i为5,i<5不成立),则结束循环。
这时sum的值为11
最后输出结果就是:11

  • c璇█ 璇峰啓鍑浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉
    绛旓細瑕佽浣忥紝瀹忕殑瀹氫箟鏄洿鎺ユ浛鎹紝鑰屼笉鏄绠楀畯鐨缁撴灉銆俴=10*MIN(i,j) = 10*(i)<(j)? (i):(j)= 100<15?10:15 =15 鐨勪紭鍏堢骇瑕侀珮浜庡悗闈㈢殑鏉′欢杩愮畻绗︺
  • c璇█棰樼洰:涓嬮潰绋嬪簭娈电殑杈撳嚭缁撴灉鏄粈涔?
    绛旓細绛旀鏄0 int k娌℃湁鍒濆鍖栵紝鎵浠ュ垵濮嬪间笉纭畾锛屼絾鏄痠nt绫诲瀷 4涓瓧鑺傦紙鑼冨洿鏄-2147483648~2147483647). 鎵浠ュ湪璁$畻k鐨勫兼椂鍊欙紝浠庤捣濮嬪湴鍧寰涓嬫暟32浣, 瓒呭嚭32浣嶇殑浼氳鎴柇 濡傛灉鏄鏁帮紝閭f渶鍚庡氨鏄0锛屽緢鐩磋 濡傛灉鏄礋鏁帮紙8涓瓧鑺傛潵鐪嬶級0xffffffffffffffff === -1 0xfffffffffffffffe === -2 ...
  • 涓嬪垪绋嬪簭娈电殑杩愯缁撴灉鏄(   )     姹傝缁嗚В绛...
    绛旓細绛旓細 B銆1234 int x=1234;do { printf("%2d",x--); }while(!x) ;do 寰幆锛岀涓娆℃槸鏃犳潯浠惰繘鍏ワ紝杩欐椂 x=1234銆傝繘鎵撳嵃璇彞锛岃緭鍑鍙傛暟 x--, 鏄悗缂鑷噺1锛屽湪琛ㄨ揪寮忎腑 x 涓嶅彉锛屼繚鎸 1234锛屾墦鍗板嚭1234锛屽嚭浜嗚〃杈惧紡鍐嶅噺1鎴 1233銆傛墍浠ュ惊鐜鍙ュ彲浠ョ湅鎴愶細do { printf("%2d",x);x...
  • C璇█ 浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉鏄灏
    绛旓細ch鐨勫兼槸锛 65 锛夈俉hile(ch=getchar()==鈥橝鈥);5銆乮nt a[4]={5,3},*p;p=a;姝ゆ椂*p鐨勫兼槸锛3 锛夛紝*p++鐨勫兼槸锛 6 锛夛紝(*p)++鐨勫兼槸锛 5 锛夈傝繖鏄紪璇戝櫒杩愯鍑烘潵鐨缁撴灉銆
  • 浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉鏄粈涔
    绛旓細杈撳嚭锛1234 2d鏄皢鏁板瓧鎸夊搴︿负2锛岄噰鐢ㄥ彸瀵归綈鏂瑰紡杈撳嚭锛鑻ユ暟鎹綅鏁颁笉鍒2浣嶏紝鍒欏乏杈硅ˉ绌烘牸锛屽鏋滆秴杩2浣嶏紝鐩稿綋浜%d
  • 鍦╟璇█涓浠ヤ笅绋嬪簭娈杩愯鍚鐨勮緭鍑虹粨鏋鏄
    绛旓細杈撳嚭缁撴灉鏄3.int n[3], t, j, k;for (t=0; t<3; t++){ n[t] = 0; //杩欎釜鐩稿綋浜庢暟缁勭殑鍒濆鍖栵紝鍏ㄩ儴鍒濆鍖栦负0 } k = 2;for (t=0; t<k; t++) //鎵цfor寰幆锛屽綋t=0鏃讹紝j=0鏃讹紝n[0] = n[0] + 1;寰楀埌n[j]=1,杩欓噷鐨刵[t]鐨 { 鍊间篃灏嗕粠0鍙樹负...
  • 浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉鏄
    绛旓細\0琚涓烘槸缁撴潫绗,鎵浠杈撳嚭涓3
  • 浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉鏄?
    绛旓細鏄瓧姣峜鎵鍦ㄧ殑鍦板潃 char *s="abcde"; //瀹氫箟瀛楃涓诧紙鏁扮粍锛塻// s+=2; //鏁扮粍s鐨勯鍦板潃+2锛屽嵆涓簊[2]鐨勫湴鍧// printf("%d",s); //浠ユ暣褰㈠彉閲杈撳嚭s鐨勫// 鎵浠ユ渶鍚庤緭鍑虹殑涓哄瓧姣峜鐨勫湴鍧鐨勫 杩欎釜搴旇鏄殢鏈虹殑 涓嶅悓鐨勭數鑴缁撴灉涓嶄竴鏍 ...
  • 浠ヤ笅绋嬪簭娈电殑杈撳嚭缁撴灉鏄 int s, i; for (s=0, i=1; i<3; i++, s+=...
    绛旓細s=5;棣栧厛i=1;for寰幆鎵ц绌鸿鍙ワ紝鐒跺悗鎵цi++锛涙鏃秈=2 鐒跺悗s+=i;s=2;鍒ゆ柇鏄惁婊¤冻涓涓寰幆锛屾弧瓒筹紒杩涘叆涓嬫寰幆 for寰幆鎵ц绌鸿鍙ワ紝鐒跺悗鎵цi++锛涙鏃秈=3 鐒跺悗s+=i;s=5;鍒ゆ柇鏄惁婊¤冻涓嬩竴寰幆锛屼笉婊¤冻锛侀鍑 鍥犳 S=5 甯屾湜鍙互甯埌浣 ...
  • 鏈浠ヤ笅绋嬪簭娈: int x=3; do {printf( %d ,x-=2);) while(!(--x...
    绛旓細銆愮瓟妗堛戯細C 鏈鑰冩煡do-while寰幆锛屽厛鎵цd0杈撳嚭鐨剎鐨勫间负1锛屾帴鐫鎵ц while璇彞锛屾鏃--x鐨勫间负0锛寈涔熶负0锛岃岄潪0涓1锛屽惊鐜垚绔嬶紝鎺ョ潃鎵цdo杈撳嚭X鍊间负- 2锛屾墽琛--x鍚庯紝琛ㄨ揪寮忎负-2锛岃!(--x)涓0锛岄鍑哄惊鐜
  • 扩展阅读:走法律程序意味着什么 ... 西门子编程必背50个程序 ... 离婚走法律程序怎么走 ... 经济纠纷打官司麻烦吗 ... 法官一般都会偏袒原告 ... 民事诉讼麻烦吗 ... 如何自己编程做游戏 ... 私人起诉程序麻烦吗 ... 要欠款走法律程序怎么走 ...

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