![c語言程序設(shè)計課件_第1頁](http://file4.renrendoc.com/view14/M05/30/1B/wKhkGWcioieASiRkAAGs6Z5GrSU955.jpg)
![c語言程序設(shè)計課件_第2頁](http://file4.renrendoc.com/view14/M05/30/1B/wKhkGWcioieASiRkAAGs6Z5GrSU9552.jpg)
![c語言程序設(shè)計課件_第3頁](http://file4.renrendoc.com/view14/M05/30/1B/wKhkGWcioieASiRkAAGs6Z5GrSU9553.jpg)
![c語言程序設(shè)計課件_第4頁](http://file4.renrendoc.com/view14/M05/30/1B/wKhkGWcioieASiRkAAGs6Z5GrSU9554.jpg)
![c語言程序設(shè)計課件_第5頁](http://file4.renrendoc.com/view14/M05/30/1B/wKhkGWcioieASiRkAAGs6Z5GrSU9555.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
注汰法:英訣:女:沐逐沐美沐沐泱沐米淡淡沐訣族&*浜逐渙逐法漲沐逐淡:渙沐沐差二:4
第一章
第二章C語言概述
第三章數(shù)據(jù)類型、運算符與表達式
第四章最簡單的C程序設(shè)計
第五章邏輯運算和判斷選取控制
章循環(huán)控制
第六
章
第七數(shù)組
章
第八函數(shù)
章
第九編譯預(yù)處理
章
第十指針
一
第十章結(jié)構(gòu)體與共用體
一
第十三章文件的基本操作
位運算
§4.4switch語句一開關(guān)語句
問題:當(dāng)某一表達式有n個取值,每一取值執(zhí)行一
語句,則如果用內(nèi)嵌if十分繁鎖,而用switch簡單.
一般形式:switch(表達式)
{case常量表達式1:語句1
case常量表達式2:語句2
*
*
case常量表達式n:語句n
default:語句n+1
1心悟言起算得日
例:根據(jù)成績等級打印百分數(shù)段.
switch(grade)
{case'A':printf(n85-100\nn);
case'B':printf("70?84\n");
case'C':printf("60?69\n");
case'D':printf(n<60\nn);
default:printf(nerror\nn);
功能:
*根據(jù)表達式的取值,判斷其與哪一個
常量表達式相等。如=表達式i,則自語
句i開始執(zhí)行,直到語句n+1止。
*若與所有常量表達式值不相等,則從
default后的語句開始執(zhí)行。
C語者凝停過it
例如:/*exp55,c*/
#include<stdio.h>
main()
{chargrade;
scanf(n%cf\&grade);
switch(grade)
{casefA!:printf(n85-100\nn);
caselBf:printf(M70-84\nn);
casefCf:printf(n60-69\nu);
caselDl:printf(H<60\nn);
default:printf(nError\n'');
C語言耗停直苜
運行結(jié)果:
AJ
85-100
70-84
60-69
<60
Error
程序運行結(jié)果不在預(yù)料之中!
產(chǎn)生錯誤的原因:沒有完全起到分支作用。
C福言程停過升
解決辦法:增加break語句,使之跳出switch結(jié)構(gòu)。
一般形式為:itch(表達式)
{case常表1:語句1;
break;
case常表2:語句2;
break;
case常表n:語句n;
break;
default:語句n+1;
}
修改程序為:/*exp56,c*/
#include<stdio.h>
main()
{chargrade;
scanf(n%cn,&grade);
switch(grade)
{case,Af:printf(,,85-100\nM);break;
case!Bf:printf(n70-84\nn);break;
casefCf:printf(n60-69\nn);break;
case,D,:printf(ff<60\nn);break;
default:printf(nError\nn);
}
C語言凝停直苜
C語言凝停直苜
例如:switch(grade)
{case'A':
case'B':
case'C':printf(n>60\nn);
break;
case'D':printf(n<60\nn);
break;
C語言耗停汽苜
例1:寫一程序,輸入年號,判斷是否為閏年。
1.算法:根據(jù)閏年的判斷條件為下列條件之一:
*當(dāng)年號能被4整除但不能被100整除時,它為閏年。
*當(dāng)年號能被400整除時,它為閏年。
2.流程圖
設(shè)用變量year表示年號Jeap為待置值變量,當(dāng)year
為閏年:leap-1,否則leap-0.
輸入year
yes/No
<^eap-pz
打印非閏年打印是閏年
]
結(jié)束
C語言程停冏計
3.程序:#include<stdio.h>
main()
{intyear,leap;
scanf("%d",&year);
if(year%4==0)
{if(year%100==0)
{if(year%400==0)
leap=l;
else
leap=0;}
else
leap=1;}
else
leap=0;
C語演言妄母耗停直苜
if(leap)
printf(n%dis",year);
else
printf(n%disnot”,year);
printf(naleapyear\nn);
)
運行情況如下:
第一次:1989J
1989isnotaleapyear
第二次:2000J
2000isaleapyear
.丘I
IiTWit
注:上述條件也可用一個邏輯表達式表示為
if((year%4=0)&&year%100!=0)]]
(year%400==0))
leap=l;
elseleap=0;
語言展停阻升
§5.1概述
前面已介紹了順序結(jié)構(gòu),選擇結(jié)構(gòu),本章
介紹循環(huán)結(jié)構(gòu)。
實際問題:一組重復(fù)執(zhí)行的語句。
100
如:Zi,sum=l+2+3+...+100;
i=l
可用循環(huán)結(jié)構(gòu)解決。
C謂言程停通計
C語言一般采用三種形式循環(huán)
1.while語句
2.do...while語句
3.for語句
另:用if語句與goto語句的結(jié)合也可構(gòu)成循環(huán).
C語言耗停直苜
§5.2goto語句及與if語句構(gòu)成修壞
1.goto語句
形式:goto標(biāo)號;
功能:無條件轉(zhuǎn)向標(biāo)號處。
標(biāo)號:用標(biāo)識符命名。
2.與1幽成循環(huán).
100
例:求Z,=l+2+…+1。。
/=1
#include<stdio.h>
main()
{inti,sum=0;
c一看—睜及甘
i=l;
loop:if(i<=100)
{sum=sum+i;
i++;
gotoloop;}
printff'sum=%d",sum);
運行結(jié)果如下:
sum=5050
C語言耗停汽苜
上面的程序相當(dāng)于當(dāng)型循環(huán),可改為直到型:
#include<stdio.h>
main()
{intsum=O,i=0;
loop:sum=sum+i;
jH——
if(i<=100)gotoloop;
printf("sum=%d",sum);
}
建議:盡可能的不用got。語句,以免破壞程
序的結(jié)構(gòu)化。
CISSSSiait
§5.3whi1e語句
專門的當(dāng)空循環(huán)語句一while語句
1.形式:while(表達式)
語句
2.執(zhí)行過程:先判斷表達式的值。若M.則執(zhí)行其后
面的語句,否則while執(zhí)行完畢。
Cisssmsn
3.流程圖:
將上述例子用while語句寫出
while(i<=100)
{sum+=i;
i++;
c港舌程停過甘
注:*若卬山江后面的語句為復(fù)合語句,必須加{}
來語句中應(yīng)有使表達式=0的語句。
否則會出現(xiàn)無限循環(huán)——“死”循環(huán)。
*語句有可能一次也不執(zhí)行
§5.4do,??while語句
一種專門的“直到型”循環(huán)語句。
1.形式:do語句while(表達式);
2.執(zhí)行過程:先執(zhí)行語句,再判表達式的值,若再
執(zhí)行語句,否則結(jié)束循環(huán)
3.流程:-----
畫
尸°C語言準(zhǔn)陋tt
程序如下:#include<stdio.h>
main()
{inti,sum=O;
i=l;
do
{sum=sum+i;
i++;
)
while(i<=100);
nn
printf(%d9sum);
)
注:1、do......while結(jié)構(gòu)的作用與while基本
相同。
2、語句至少要執(zhí)行一次。
C語言凝停直苜
§5.5for語句
一種形式更為靈活的循環(huán)語句。
1.形式
for(初始表達式;條件表達式;循環(huán)表達式)
語句
2.執(zhí)行過程
?、計算初始表達式的值。
?、判斷條件表達式,若條件表達式的值則執(zhí)行語句。
若條件表達式的值=0,則跳出循環(huán)體。
?、計算循環(huán)表達式。
?、轉(zhuǎn)到第?步。
C謂看程停過甘
3.流程:計算表達式1
語句
計算表達式3
結(jié)束for語句
C語言耗停汽苜
用for語句重寫上述例子:
for(i=l;i<=100;i++)
sum+=i;
for語句完全可以用whi1e代替,
但for直觀、簡單、方便。
for用while代替的流程:
表達式1;、
while(表達式2)
{語句
表達式3;
}C語言程停過計
4.for語句的幾種特例
*可以省略初始表達式,但須保留分號;且在for之前必須給
循環(huán)變量賦值;
i-b
例:任意輸入兩個整數(shù)a,b,求
i=a
#include<stdio.h>
main()
{inti,j9a,b9sum;
printf("pleaseinputtwonumber!\nn);
scanf("a=%d,b=%d\&a,&b);
i=a;j=b;if(a>b){i=b;j=a;}
for(;i<寸i++)
sum=sum+i;
nn
printf(\nsum=%d5sum);
}c語言震拂沒苜
條件表達式一般不可省略,否則為無限循環(huán)
例:for(i=l;;i++)sum=sum+i;
相當(dāng)于條件永真、永不為0,若用while表示
相當(dāng)于:while(1)
{sum=sum+i;
i++;
i吾舌程停投注
?循環(huán)表達式亦可省略,但在循環(huán)體中必須有語句
來修改循環(huán)變量,以使條件表達式在某一時刻
為0而正常結(jié)束循環(huán)。
/*沒有循環(huán)表達式*/
例:for(sum=05i=l;i<=100;)
{sum=sum+i;
i++;
}
cissgsmt
張若同時省略初始表達式.和循環(huán)表達式,則相當(dāng)
于while語句o
例:for(;i<=100;){sum+=i;i++;}
while(i<=100)
{sum+=i;
i++;
)
串三個表達式均省略即for(;;)語句則相當(dāng)于while(l)
語句,為無限循環(huán)。
4■初始表達式、循環(huán)表達式可以是逗號表達式,以
使循環(huán)變量值在修改時可以對其它變量賦值。
如:for(sum=09i=l;i<=100;i++,i++)
相當(dāng)于:sum=0;
for(i=1;i<=100;i=i+2)
c捂言握停直計
令條件表達式可以是關(guān)系表達式,也可以是數(shù)值表
達式或字符表達式。只要值M.即執(zhí)行循環(huán)體.
例:for(i=0;(c=getchar())!='\n';i+=c);
條件表達式
C語言耗停直苜
§5.6循環(huán)的嵌套
與其它語言一樣,當(dāng)循環(huán)體中又包含了另一個完
整的循環(huán)語句時——嵌套。
C語言有三種循環(huán)語句,均可以相互嵌套:
例1:while()
while()
C語言耗停直苜
例2:for(;v條件表達式>;)
while(){}
do
{}while();
均為正確的嵌套
吾舌維停投計
但:
while()for(;;)
{for(;;)
while()
不能理解為正確的形式。但要注意語句的
包含關(guān)系。
C語言混程汽苜
§5.7幾種循環(huán)的比較
?1.對于同一問題,三種循環(huán)可相互替代。但不
要用goto語句。
?2.for循環(huán)功能強于while和do…while。但若不
是明顯地給出循環(huán)變量初終值(或修改條件),
則應(yīng)用while或do...while。以增強程序的結(jié)
構(gòu)化和可讀性。
C語言耗停直苜
?3.要防止無限循環(huán)一死循環(huán)。
?4.循環(huán)過程中,為了結(jié)束本次循環(huán)或跳出整個
循環(huán)。分別要用至Ucontinue和break語句。
C語言震界過片
§5.8break語句和contiune語句
5.8.1break語句(作用:從循環(huán)體中退出)
問題:計算圓的面積九比半徑取1,2,3,4...,
當(dāng)面積>100時結(jié)束。
C語言凝停過H
程序段:
pi=3.14159;
for(r=l;r<=10;r++)
{area=pi*r*r;
if(area>100)break;
)
printf(n%f\area);
)
注意:break只能用于循環(huán)語句和switch語句。
C語言耗停汽苜
5.8.2continuce語句
作用:結(jié)束循環(huán)。
例:編寫程序,打印100?200中不能被3整除的數(shù)。
程序一:不用continue語句:
#include<stdio.h>
main()
{intn;
for(n=100;n<200;n++)
if(n%3!=0)/*n不能被3整除*/
nn
printf(%d9n);
}c語言震擲汽苜
程序二:使用continue語句:
main()
{intn;
for(n=100;n<=200;n++)
{if(n%3==0)/*n能被3整除*/
continue;
nn
printf(%d5n);
ci吾言程停過片
§5.9程序舉例
例1:求Fibonacci數(shù)例:1,1,2,3,5,8,...前40個數(shù)。
規(guī)律:F「1,F2=1
Fn=Fn-1+Fn-2(n>2)
程序要點:
*fl=fl+f2;
f2=fl+f2;交替的結(jié)果正好為一序列
*每輸出4個數(shù)時換行。
■(F心悟言能吊汽苜
程序如下:
fl=lf2=l
/*exp61.c*/5
#include<stdio.h>fori=lto40
main()
輸出fl,f2
{longintfl9f2;
inti;fl=fl+f2
fl=l;f2=l;f2=f2+fl
for(i=1;i<=40;i++)
printf(%121d%121d,flQ;
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030年塑木遮陽棚與雨棚行業(yè)深度調(diào)研及發(fā)展戰(zhàn)略咨詢報告
- 2025-2030年手工拉坯陶瓷碗盤行業(yè)跨境出海戰(zhàn)略研究報告
- 工業(yè)物聯(lián)網(wǎng)與制造業(yè)的數(shù)字化趨勢考核試卷
- 樂器品牌形象年輕化改造考核試卷
- 甘肅G公司人力資源共享服務(wù)中心建設(shè)方案研究
- S公司營運資金管理效率評價研究
- 時間周期外力下流固耦合問題周期解的研究
- 京劇大戲《斷腸辭》創(chuàng)作闡述
- 功能化纖維素基泡沫的制備及性能研究
- 基于知識蒸餾和半監(jiān)督學(xué)習(xí)的隱私保護方法研究
- 醫(yī)院消防安全培訓(xùn)課件(完美版)
- 人教版(2024新版)一年級上冊數(shù)學(xué)第一單元《數(shù)學(xué)游戲》單元整體教學(xué)設(shè)計
- 魏寧海超買超賣指標(biāo)公式
- 防洪防汛安全知識教育課件
- (正式版)FZ∕T 80014-2024 潔凈室服裝 通 用技術(shù)規(guī)范
- 新起點英語二年級下冊全冊教案
- 【幼兒園戶外體育活動材料投放的現(xiàn)狀調(diào)查報告(定量論文)8700字】
- 剪映專業(yè)版:PC端短視頻制作(全彩慕課版) 課件 第3章 短視頻剪輯快速入門
- 湖南省長沙市開福區(qū)青竹湖湘一外國語學(xué)校2023-2024學(xué)年九年級下學(xué)期一模歷史試題
- 帶狀皰疹與帶狀皰疹后遺神經(jīng)痛(HZ與PHN)
- 漢密爾頓抑郁和焦慮量表
評論
0/150
提交評論