c语言程序设计dowhile,(C语言while、dowhile、for循环课程5.docx
(C語言while、dowhile、for循環課程5
C語言while、do-while、for循環 課程5編輯作者 張進杰 2012.10.29課程3中,提到C語言基本語句分為:數據定義語句,數據處理語句數據處理語句又可分為:表達式語句,函數調用語句,空語句(;),復合語句,流程控制語句。流程控制:指程序代碼執行的順序。流程的分類:順序、選擇、循環。C語言的循環結構通過三種語句來實現,即while、do-while、forWhile語句的一般形式 while (循環條件表達式) 循環體語句;功能:當循環條件表達式為真,執行循環體語句,執行完了,再判斷條件表達式是否為真,為真,則再執行,直到條件表達式為假時,退出while循環。實例1:用while語句求1~100的累加和。#include //C語言編譯預處理命令,文件包含為stdio.hvoid main() //至少有一個用main()命名的主函數,返回值為void無值類型{int i=1,sum=0; /*初始化循環,定義變量i和累加器sum,定義和之前,累加器清零*/while(i<=100){sum+=i; //sum+=i是一個復合賦值運算符,等價于sun=sun+i;i++;}printf("1+2+3+...+100=%d\n",sum); //輸出十進制數,1加到100累加器的和}Microsoft Visual C++ 6.0運行結果使用while循環時,一定要對循環條件表達式中出現的變量提前賦值,并在循環體內修改有關變量的值,以使循環能趨于終止。While循環為當型循環,do-while循環也叫直到型循環。do-while語句的一般形式為:do{循環體語句} while(循環條件表達式)實例2: 用do-while編制一個求n!的程序,n的值由鍵盤輸入。#includevoid main(){ int i=1,n,p=1;printf("請從鍵盤輸入一個數,進行連乘積:\n");scanf("%d",&n); do { p=p*i; i++; } while (i<=n); printf("連乘積的結果為p=n!:%d\n",p);}分析:此程序,先定義三個變量 i、n、p,p從p乘1開始執行,再i進行自增1,循環體中的語句執行完畢后,判斷while的循環條件表達式,當i自增1為2時,看2是否<=輸入的n值,若為真,則繼續返回do循環,直到i自增的值比n大,則退出循環。do-while主要用于人機交互,do-while循環是先執行后判斷,do里面的循環體至少被執行一次。區別于while是先判斷循環條件表達式,后執行。for循環也叫步長型循環一般格式:for(表達式1;表達式2;表達式3) 循環體語句;功能: 先執行表達式1,再執行表達式2,如果表達式2的值為真,就執行循環體語句,最后執行表達式3.完成一次循環后,從表達式2執行,直到表達式2為假,退出循環。實例3:參考實例1,用while求1~100的累加和,現在用for語句求1~100的累加和。# include int main(void){int i;int sum = 0; /*初始化循環,定義變量i和累加器sum,定義和之前,累加器清零*/for (i=1; i<=100; i++) {sum = sum + i;}printf("sum = %d\n", sum);return 0;}實例4:愛因斯坦的階梯問題:有一個長階梯,若每步上2階,最后剩1階;若每步上3階,最后剩2階;若每步上5階,最后剩4階;若每步上6階,最后剩5階;只有每步上7階,最后剛好一階也不剩。請問該階梯至少有多少階。編寫一個C程序解決該問題。#include main( ){int x; for(x=7; ;x+=7) if(x%3==2&&x%5==4&&x%6==5) break; printf("The number of the ladders is:%d\n",x);}分析:發現x一定是7的整數倍,可以依次遞增地求出7的整數倍的值(7*1、7*2、7*3……),每求出一值,就用該值與2、3、5、6進行取模運算,最先得到的滿足上述5個方程式的x值即為本題的答案。用while語句,簡單快速實現愛因斯坦的階梯問題#includeint main(){int i=1; /*i為所設的階梯數*/while(!((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0)))++i; /*滿足一組同余式的判別*/printf("Staris_number=%d\n",i);}課程6將分析,C語言的四種轉移控制語句:break、continue、ret
總結
以上是生活随笔為你收集整理的c语言程序设计dowhile,(C语言while、dowhile、for循环课程5.docx的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dmx512协议c语言编程,DMX512
- 下一篇: 国王放米粒的C语言程序,云南大学软件学院