




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
程序設(shè)計基礎(chǔ)—C語言程序設(shè)計2016.11第
5講循環(huán)結(jié)構(gòu)程序設(shè)計-1點燈編程機器人
上一講內(nèi)容回顧輸入一整數(shù),判斷是幾位數(shù),若是五位數(shù),則判斷是否是回文數(shù)。#include<stdio.h>
voidmain()
{inta;
intb,c,d,e;
scanf(“%d”,&a);
if(a>9999&&a<100000){}
if(a>999&&a<10000)printf(“四位數(shù)\n”);
if(a>99&&a<1000)printf(“三位數(shù)\n”);
if(a>9&&a<100)
printf(“二位數(shù)\n”);
if(a>-1&&a<10)printf(“一位數(shù)\n”);}b=a/10000;c=(a%10000)/1000;
d=(a%100)/10;
e=a%10;
if(b==e&&c==d)
printf(“回文五位數(shù)\n”);
else
printf(“普通五位數(shù)\n”);
DosomethingDosomethingDosomethingDosomethingDosomething
上一講內(nèi)容回顧輸入一整數(shù),判斷是幾位數(shù),若是五位數(shù),則判斷是否是回文數(shù)。if(e==0)
一位數(shù)
else
{if(d==0)
二位數(shù)
else{
if(c==0)
三位數(shù)
else{
if(b==0)
四位數(shù)
else{
五位數(shù)}
}
}}b=a/10000;c=(a%10000)/1000;
d=(a%1000)/100;
e=(a%100)/10;
f=a%10;
?上機問題總結(jié)if(條件)和else中間多插入了語句,導致else未找到匹配的if5.if(條件){
語句A;
語句B;}語句C;else
語句D;上機問題總結(jié)if(條件)或elseif(條件)后面多加了;分號4.上機問題總結(jié)if(條件)或else后面有多條語句從屬于同一條件,沒使用{}3.上機問題總結(jié)變量定義為浮點型,數(shù)據(jù)輸入時格式控制串使用%d。2.上機問題總結(jié)scanf函數(shù)中的變量缺取地址符&,數(shù)據(jù)輸入形式不對(空格,逗號)。1.循環(huán)結(jié)構(gòu)程序設(shè)計本講
要點循環(huán)的基本概念不同形式的循環(huán)控制程序舉例循環(huán)結(jié)構(gòu)程序設(shè)計
在許多問題中需要用到循環(huán)控制。循環(huán)結(jié)構(gòu)是結(jié)構(gòu)化程序設(shè)計的基本結(jié)構(gòu)之一,它和順序結(jié)構(gòu)、選擇結(jié)構(gòu)共同作為各種復(fù)雜程序的基本構(gòu)造單元。什么是循環(huán)?為什么要使用循環(huán)?問題:輸入3個學生的成績,求平均成績問題:100個學生呢?循環(huán)結(jié)構(gòu)程序設(shè)計whiledo-while今天學習:for
C語言及算法概述程序的靈魂-算法Algorithmwhile語句
循環(huán)結(jié)構(gòu)程序設(shè)計while語句用來實現(xiàn)“當型”循環(huán)結(jié)構(gòu)。一般形式:
while(表達式)
語句當表達式為非0值時,執(zhí)行while語句中的內(nèi)嵌語句。其特點是:先判斷表達式,后執(zhí)行語句。語句中一般包含表達式中變量值的修改。避免死循環(huán)??!
循環(huán)結(jié)構(gòu)程序設(shè)計while(鬧鐘<7點){
鬧鐘=鬧鐘+10分鐘;繼續(xù)睡;}洗漱;飛奔出門;
循環(huán)結(jié)構(gòu)程序設(shè)計例
求1到100的和
#include<stdio.h>
voidmain()
{
inti,sum=0;
i=1;
while(i<=100)
{sum=sum+i;
i++;
}
printf(″%d\n″,sum);
}說明:(1)循環(huán)體如果包含一個以上的語句,應(yīng)該用花括弧括起來,以復(fù)合語句形式出現(xiàn).(2)注意變量的初始值(3)注意循環(huán)結(jié)束條件的寫法(4)在循環(huán)體中應(yīng)有使循環(huán)趨向于結(jié)束的語句
C語言及算法概述程序的靈魂-算法Algorithmdo-while語句
循環(huán)結(jié)構(gòu)程序設(shè)計do-while語句的特點:先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。一般形式:
do
循環(huán)體語句
while
(表達式);注意不要漏掉這個分號執(zhí)行過程:先執(zhí)行一次指定的循環(huán)體語句,然后判別表達式,當表達式的值為非零(“真”)時,返回重新執(zhí)行循環(huán)體語句,如此反復(fù),直到表達式的值等于0為止,此時循環(huán)結(jié)束。
循環(huán)結(jié)構(gòu)程序設(shè)計例
求1到100的和
#include<stdio.h>
voidmain()
{
inti,sum=0;
i=1;
do
{
sum=sum+i;
i++;
}
while(i<=100);
printf("%d\n″,sum);
}
循環(huán)結(jié)構(gòu)程序設(shè)計while語句和用do-while語句的比較:在一般情況下,用while語句和用do-while語句處理同一問題時,若二者的循環(huán)體部分是一樣的,它們的結(jié)果也一樣。
但是如果while后面的表達式一開始就為假(0值)時,兩種循環(huán)的結(jié)果是不同的。
循環(huán)結(jié)構(gòu)程序設(shè)計例
while和do-while循環(huán)的比較
(1)#include<stdio.h>(2)#include<stdio.h>
voidmain()voidmain()
{
intsum=0,i;{intsum=0,i;
scanf(“%d″,&i);scanf(”%d″,&i);
while(i<=10)do
{sum=sum+i;{sum=sum+i;
i++;i++;
}}
while(i<=10);
printf(“sum=%d\n″,sum);
printf(“sum=%d\n”,sum);
}}
當輸入11時,輸出??循環(huán)結(jié)構(gòu)程序設(shè)計輸入一整數(shù),判斷是幾位數(shù)。利用while或do-while循環(huán)語句完成。#include
"stdio.h"void
main(){
int
count=1;
int
n;
printf("請輸入一個數(shù)字");
scanf("%d",&n);
while(n>=10)
{
count++;
n=n/10;
}
printf("這個數(shù)字是%d位數(shù)",count);
}換種算法,大大降低代碼量和出錯幾率
C語言及算法概述程序的靈魂-算法Algorithmfor語句C語言中的for語句使用最為靈活。不僅可以用于循環(huán)次數(shù)已經(jīng)確定的情況,而且可以用于循環(huán)次數(shù)不確定而只給出循環(huán)結(jié)束條件的情況,它完全可以代替while語句。一般形式:
for(表達式1;表達式2;表達式3)
語句
循環(huán)結(jié)構(gòu)程序設(shè)計注意不要漏掉分號for(表達式1;表達式2;表達式3)
語句
循環(huán)結(jié)構(gòu)程序設(shè)計for語句的執(zhí)行過程:
(1)先求解表達式1。
(2)求解表達式2,若其值為真,則執(zhí)行for語句中指定的內(nèi)嵌語句,然后執(zhí)行下面第(3)步。若為假,則結(jié)束循環(huán),轉(zhuǎn)到第(5)步。
(3)求解表達式3。
(4)轉(zhuǎn)回上面第(2)步驟繼續(xù)執(zhí)行。
(5)循環(huán)結(jié)束,執(zhí)行for語句下面的一個語句
for(表達式1;表達式2;表達式3)
語句
循環(huán)結(jié)構(gòu)程序設(shè)計表達式2?執(zhí)行語句成立不成立執(zhí)行for循環(huán)之后的其他語句執(zhí)行表達式3執(zhí)行表達式1最簡單的應(yīng)用形式:
for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量值改變)
循環(huán)結(jié)構(gòu)程序設(shè)計例如:
sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
它相當于以下語句:
i=1;
sum=0;
while(i<=100)
{sum=sum+i;i++;
}
sum=0;
for(i=1;i<=100;i++)
sum=sum+i;
循環(huán)結(jié)構(gòu)程序設(shè)計做些
改動
循環(huán)結(jié)構(gòu)程序設(shè)計
sum=0;i=1;
for(
;i<=100;i++)
sum=sum+i;省略掉表達式1,但分號不能省掉
i的初始值在for循環(huán)體外面賦值
01.
循環(huán)結(jié)構(gòu)程序設(shè)計
sum=0;i=1;
for(
;;i++)
sum=sum+i;省略掉表達式1,但分號不能省掉
i的初始值在for循環(huán)體外面賦值
02.省略掉表達式2,但分號不能省掉。無循環(huán)判斷條件,循環(huán)無結(jié)束。
循環(huán)結(jié)構(gòu)程序設(shè)計
sum=0;i=1;
for(
;i<=100;)
{sum=sum+i;i++;}省略掉表達式1,但分號不能省掉
i的初始值在for循環(huán)體外面賦值
03.省略掉表達式3作為了循環(huán)體的一部分
循環(huán)結(jié)構(gòu)程序設(shè)計
for(sum=0,i=1;i<=100;)
{sum=sum+i;i++;}表達式1中除了設(shè)置循環(huán)變量i的值,還可以包含其他表達式
04.省略掉表達式3作為了循環(huán)體的一部分
循環(huán)結(jié)構(gòu)程序設(shè)計
charc;
for(;(c=getchar())!=′\n′;)
printf(″%c\n″,c);延伸。運行情況:若用戶輸入abc回車輸出什么?從終端鍵盤向計算機輸入時,是在按Enter鍵以后才將一批數(shù)據(jù)一起送到內(nèi)存緩沖區(qū)中去。
C語言及算法概述程序的靈魂-算法Algorithm循環(huán)結(jié)構(gòu)程序舉例
循環(huán)結(jié)構(gòu)程序設(shè)計例1.
用π/4≈1-1/3+1/5-1/7+…公式求π的近似值,直到某一項的絕對值小于10-6為止。#include<stdio.h>#include<math.h>voidmain(){
ints;
float,pi,n;
t=1;
pi=0;n=1.0;s=1;while(fabs(t)>1e-6){
pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
printf(″pi=%6.2f\n”,pi);}??
循環(huán)結(jié)構(gòu)程序設(shè)計例2.
求1-10000范圍內(nèi)同時能被2,3,7整除的最大整數(shù)#include<stdio.h>voidmain(){
inti,j;i=1;
for(j=1;i<=10000;j++){i=42*j;}printf(“%d”,i);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- Module 8 Sports Life Unit 1 教學設(shè)計 2024-2025學年外研版九年級英語上冊
- 副會長聘用合同范本
- 前置物業(yè)合同范本
- 勞務(wù)分包泥工合同范本
- 公墓bot項目合同范本
- gps銷售合同范本
- 2024年新疆格瑞汀新材料科技有限公司招聘考試真題
- 七人合同范本
- 勞務(wù)裝修合同范本
- 2024年黑龍江省選調(diào)考試真題
- 山東省房屋市政工程安全監(jiān)督機構(gòu)人員業(yè)務(wù)能力考試題庫-上(單選題)
- 2024年六西格瑪黃帶認證考試練習題庫(含答案)
- 《公務(wù)員行測必會考試寶典》大全(分類)-2資料分析類試題庫(含答案)
- 2024年山東?。椙f、菏澤、臨沂、聊城)中考語文試題含解析
- 財務(wù)審計服務(wù)方案投標文件(技術(shù)方案)
- 2024-2025學年小學科學六年級下冊蘇教版(2024)教學設(shè)計合集
- 初中八年級英語翻譯專項集中訓練100題含參考答案
- 部編版《道德與法治》四年級下冊教材解讀與分析文檔
- 2024年保育員(初級)考試題及答案
- 新型智慧水利項目數(shù)字孿生工程解決方案
- 甘肅省白銀市2024年中考英語真題
評論
0/150
提交評論