毛片一区二区三区,国产免费网,亚洲精品美女久久久久,国产精品成久久久久三级

do語(yǔ)句改寫(xiě)為while語(yǔ)句

時(shí)間:2021-08-12 13:40:34 改寫(xiě) 我要投稿

關(guān)于do語(yǔ)句改寫(xiě)為while語(yǔ)句

  do語(yǔ)句能夠改寫(xiě)為while語(yǔ)句

  C語(yǔ)言while、do-while、for循環(huán)課程5

  課程3中,提到C語(yǔ)言基本語(yǔ)句分為:數(shù)據(jù)定義語(yǔ)句,數(shù)據(jù)處理語(yǔ)句

  數(shù)據(jù)處理語(yǔ)句又可分為:表達(dá)式語(yǔ)句,函數(shù)調(diào)用語(yǔ)句,空語(yǔ)句(;),復(fù)合語(yǔ)句,流程控制語(yǔ)句。

  流程控制:指程序代碼執(zhí)行的順序。流程的分類(lèi):順序、選擇、循環(huán)。

  C語(yǔ)言的循環(huán)結(jié)構(gòu)通過(guò)三種語(yǔ)句來(lái)實(shí)現(xiàn),即while、do-while、forWhile語(yǔ)句的一般形式while(循環(huán)條件表達(dá)式)循環(huán)體語(yǔ)句;

  功能:當(dāng)循環(huán)條件表達(dá)式為真,執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完了,再判斷條件表達(dá)式是否為真,為真,則再執(zhí)行,直到條件表達(dá)式為假時(shí),退出while循環(huán)。

  實(shí)例1:用while語(yǔ)句求1~100的累加和。

  #include//C語(yǔ)言編譯預(yù)處理命令,文件包含為stdio.h

  voidmain()//至少有一個(gè)用main()命名的主函數(shù),返回值為void無(wú)值類(lèi)型{

  inti=1,sum=0;/*初始化循環(huán),定義變量i和累加器sum,定義和之前,累加器清零*/

  while(i<=100)

  {

  sum+=i;//sum+=i是一個(gè)復(fù)合賦值運(yùn)算符,等價(jià)于sun=sun+i;i++;

  }

  printf("1+2+3+...+100=%d ",sum);//輸出十進(jìn)制數(shù),1加到100累加器的和}

  MicrosoftVisualC++6.0運(yùn)行結(jié)果

  使用while循環(huán)時(shí),一定要對(duì)循環(huán)條件表達(dá)式中出現(xiàn)的變量提前賦值,并在循環(huán)體內(nèi)修改有關(guān)變量的值,以使循環(huán)能趨于終止。

  While循環(huán)為當(dāng)型循環(huán),do-while循環(huán)也叫直到型循環(huán)。

  do-while語(yǔ)句的一般形式為:

  do

  {

  循環(huán)體語(yǔ)句}while(

  循環(huán)條件表達(dá)式

  )

  實(shí)例2:用do-while編制一個(gè)求n!的程序,n的值由鍵盤(pán)輸入。

  #include

  voidmain()

  {inti=1,n,p=1;

  printf("請(qǐng)從鍵盤(pán)輸入一個(gè)數(shù),進(jìn)行連乘積: ");

  scanf("%d",&n);

  do

  {p=p*i;

  i++;

  }while(i<=n);

  printf("連乘積的結(jié)果為p=n!:%d ",p);

  }

  分析:此程序,先定義三個(gè)變量i、n、p,p從p乘1開(kāi)始執(zhí)行,再i進(jìn)行自增1,循環(huán)體中的語(yǔ)句執(zhí)行完畢后,判斷while的循環(huán)條件表達(dá)式,當(dāng)i自增1為2時(shí),看2是否<=輸入的n值,若為真,則繼續(xù)返回do循環(huán),直到i自增的值比n大,則退出循環(huán)。

  do-while主要用于人機(jī)交互,do-while循環(huán)是先執(zhí)行后判斷,do里面的循環(huán)體至少被執(zhí)行一次。區(qū)別于while是先判斷循環(huán)條件表達(dá)式,后執(zhí)行。

  for循環(huán)也叫步長(zhǎng)型循環(huán)

  一般格式:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)循環(huán)體語(yǔ)句;

  功能:先執(zhí)行表達(dá)式1,再執(zhí)行表達(dá)式2,如果表達(dá)式2的值為真,就執(zhí)行循環(huán)體語(yǔ)句,最后執(zhí)行表達(dá)式3.完成一次循環(huán)后,從表達(dá)式2執(zhí)行,直到表達(dá)式2為假,退出循環(huán)。

  實(shí)例3:參考實(shí)例1,用while求1~100的累加和,現(xiàn)在用for語(yǔ)句求1~100的累

  加和。

  #include

  intmain(void)

  {

  inti;intsum=0;

  /*初始化循環(huán),定義變量i

  和累加器sum,定義和之前,累加器清零*/

  for(i=1;i<=100;i++)

  {

  sum=sum+i;

  }

  printf("sum=%d ",sum);

  return0;

  }

  實(shí)例4:愛(ài)因斯坦的階梯問(wèn)題:有一個(gè)長(zhǎng)階梯,若每步上2階,最后剩1階;若每步上3階,最后剩2階;若每步上5階,最后剩4階;若每步上6階,最后剩5階;只有每步上7階,最后剛好一階也不剩。請(qǐng)問(wèn)該階梯至少有多少階。編寫(xiě)一個(gè)C程序解決該問(wèn)題。

  #include

  main()

  {intx;

  for(x=7;;x+=7)

  if(x%3==2&&x%5==4&&x%6==5)

  break;

  printf("Thenumberoftheladdersis:%d ",x);

  }

  分析:發(fā)現(xiàn)x一定是7的整數(shù)倍,可以依次遞增地求出7的整數(shù)倍的值(7*1、7*2、7*3……),每求出一值,就用該值與2、3、5、6進(jìn)行取模運(yùn)算,最先得到的滿足上述5個(gè)方程式的x值即為本題的答案。

  用while語(yǔ)句,簡(jiǎn)單快速實(shí)現(xiàn)愛(ài)因斯坦的階梯問(wèn)題

  #include

  intmain()

  {

  inti=1;/*i為所設(shè)的階梯數(shù)*/

  while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))

  ++i;/*滿足一組同余式的判別*/

【do語(yǔ)句改寫(xiě)為while語(yǔ)句】相關(guān)文章:

do語(yǔ)句能夠改寫(xiě)為語(yǔ)句練習(xí)03-31

關(guān)于改寫(xiě)語(yǔ)句匯總03-30

英語(yǔ)句型改寫(xiě)規(guī)則與練習(xí)04-01

改寫(xiě)擬人句練習(xí)語(yǔ)句08-19

高二英語(yǔ)句子改寫(xiě)復(fù)習(xí)題目及答案03-20

牧童為學(xué)改寫(xiě)07-11

改寫(xiě)《木蘭詩(shī)》為小說(shuō)01-06

改寫(xiě)古詩(shī)《浣溪沙》為作文07-17

改寫(xiě)天凈沙秋思為作文08-15