簡單程序和選擇語句_第1頁
簡單程序和選擇語句_第2頁
簡單程序和選擇語句_第3頁
簡單程序和選擇語句_第4頁
簡單程序和選擇語句_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

簡單程序和選擇語句第一頁,共三十二頁,編輯于2023年,星期五1.

三種流程結(jié)構(gòu)順序、分支、循環(huán)2.

C語句概述(1)

表達(dá)式語句(2)

復(fù)合語句(3)

選擇語句(if和switch)(4)

循環(huán)語句(while,do-while和for)(5)

轉(zhuǎn)移語句(break,continue,goto和return)(6)

標(biāo)號語句3.1流程控制和語句第二頁,共三十二頁,編輯于2023年,星期五3.2

表達(dá)式語句語法格式:

表達(dá)式;(賦值語句,函數(shù)調(diào)用語句等)第三頁,共三十二頁,編輯于2023年,星期五3.3

復(fù)合語句語法格式:

{語句語句

……

}復(fù)合語句在語法上等同于一條語句。第四頁,共三十二頁,編輯于2023年,星期五如:#include<stdio.h>

C語言沒有輸入輸出語句,其輸入輸出均采用標(biāo)準(zhǔn)函數(shù)來實(shí)現(xiàn)。要使用標(biāo)準(zhǔn)輸入輸出函數(shù),必須在使用前加以說明,其說明方式是在程序的開頭使用包含編譯預(yù)處理命令把標(biāo)準(zhǔn)輸入輸出頭文件包含到本文件中即可。3.4

輸入輸出函數(shù)調(diào)用第五頁,共三十二頁,編輯于2023年,星期五3.4.1字符輸出函數(shù)putchar()3.4.2字符輸入函數(shù)getchar()3.4.3格式輸出函數(shù)printf()3.4.4格式輸入函數(shù)scanf()第六頁,共三十二頁,編輯于2023年,星期五3.4.1字符輸出函數(shù)putchar()1.函數(shù)原型為:intputchar(intc);2.功能:將要輸出的字符碼轉(zhuǎn)換為unsignedchar送到標(biāo)準(zhǔn)輸出設(shè)備中去。返回值是被輸出的字符,如果出錯則返回EOF。3.調(diào)用格式為:putchar(c)

其中c為實(shí)參。第七頁,共三十二頁,編輯于2023年,星期五3.4.2字符輸入函數(shù)getchar()1.函數(shù)原型為:intgetchar(void);2.功能:從鍵盤緩沖區(qū)讀一個字符。返回值是讀入的字符,如讀到文件尾則返回EOF。此函數(shù)無參數(shù)3.調(diào)用格式為:getchar()第八頁,共三十二頁,編輯于2023年,星期五3.4.3格式輸出函數(shù)printf()1.函數(shù)原型為:intprintf(constchar*format,…);

format為格式字符串,“…”為輸出的表達(dá)式表,它的項(xiàng)數(shù)是可變的。2.調(diào)用格式為:printf(格式字符串,輸出表達(dá)式表);此函數(shù)至少必須給出第一個參數(shù)。第九頁,共三十二頁,編輯于2023年,星期五格式字符串中可以包含普通字符和格式字符,普通字符照原樣輸出,格式字符說明輸出數(shù)據(jù)所需的格式,格式字符也叫轉(zhuǎn)換字符,轉(zhuǎn)換說明的形式為:

%[flags][width][.prec][F|N|h|l|L]type

每種格式均以%開頭,以格式字符結(jié)尾。3.printf函數(shù)的格式字符串第十頁,共三十二頁,編輯于2023年,星期五轉(zhuǎn)換字符參數(shù)類型輸出格式d,iint有符號十進(jìn)制整數(shù)oint無符號八進(jìn)制整數(shù)(無前導(dǎo)0)X,xint無符號十六進(jìn)制整數(shù)(無前導(dǎo)0x或0X)X表示大寫字母,x表示小寫字母uint無符號十進(jìn)制整數(shù)cint有符號字符schar*輸出字符直到’\0’或[.prec]fdouble浮點(diǎn)[-]dddd.dddE,edouble浮點(diǎn)[-]d.ddde[+/-]dddG,gdouble有給定值和精度確定是用e或f格式pvoid*指針值N-yyyy;F-xxxx:yyyynint*計數(shù)到此為止已經(jīng)輸出的字符的個數(shù)到對應(yīng)的指針型參數(shù)中%不轉(zhuǎn)換參數(shù)輸出一個%第十一頁,共三十二頁,編輯于2023年,星期五選項(xiàng)符號說明意義flag-在輸出寬度內(nèi)左對齊右填空格(缺省為右對齊)+在正數(shù)前冠以“+”號空格輸出的第一個不是符號時輸出一個空格作前綴0在輸出寬度內(nèi)用前導(dǎo)0填充#在八進(jìn)制數(shù)前加前導(dǎo)0,在十六進(jìn)制數(shù)前加0x或0X,對g格式不刪除尾部0width和.precwidth給定總寬度,如果實(shí)際數(shù)值的寬度大于給定的寬度,則按實(shí)際寬度輸出.分隔width和precprec指出輸出數(shù)的精度對實(shí)型數(shù)為小數(shù)部分的位數(shù),對整數(shù)為至少應(yīng)輸出的位數(shù)(前面添0),對字符串為至多輸出的字符的個數(shù)。*代表一個整數(shù),其值由對應(yīng)的參數(shù)決定,用于代替width和prec,表示可變的。h,l,Lh指出輸出參數(shù)是短整型l指出輸出參數(shù)是長整型,也可用于double類型的參數(shù)前L指出輸出參數(shù)是longdouble類型第十二頁,共三十二頁,編輯于2023年,星期五3.4.4格式輸入函數(shù)scanf()1.函數(shù)原型為:intscanf(constchar*format,…);

format為格式字符串,它與printf函數(shù)中的格式相似。“…”為地址表,它的項(xiàng)數(shù)是可變的。2.調(diào)用格式為:scanf(格式字符串,地址表);此函數(shù)除必須給出第一個參數(shù)外,至少需要讀入一個數(shù)據(jù)。第十三頁,共三十二頁,編輯于2023年,星期五格式字符串中可以包含普通字符和格式字符,普通字符照原樣輸入,格式字符說明輸入?yún)?shù)所需的格式和類型,格式字符也叫轉(zhuǎn)換字符,轉(zhuǎn)換說明的形式與printf函數(shù)類似,格式為:

%[width][h|l|L]type

每種格式均以%開頭,以格式字符結(jié)尾。3.scanf函數(shù)的格式字符串第十四頁,共三十二頁,編輯于2023年,星期五轉(zhuǎn)換字符參數(shù)類型輸入格式dint*有符號十進(jìn)制整數(shù)iint*整數(shù),可以是10,8,16進(jìn)制數(shù),有前導(dǎo)0和0x或0Xoint*無符號八進(jìn)制整數(shù)(有無前導(dǎo)0均可)xint*無符號十六進(jìn)制整數(shù)(有無前導(dǎo)0x或0X均可)uunsignedint*無符號十進(jìn)制整數(shù)cchar*字符,如果給定一個字段寬度w(如%5c),將為指向含有w個字符的數(shù)組的指針(chararg[w])schar*無空白字符的字符串(不加引號)f,e,gfloat*浮點(diǎn)數(shù),可以是小數(shù)形式也可以是指數(shù)形式pvoid*指針值N-yyyy;F-xxxx:yyyynint*計數(shù)到此為止已經(jīng)讀入的字符的個數(shù)到對應(yīng)的指針型參數(shù)中%不轉(zhuǎn)換參數(shù)字符%,不賦值注:整型還可以使用大寫的D,I,O,U,X表示長整型,E,G同e,g第十五頁,共三十二頁,編輯于2023年,星期五選項(xiàng)符號說明意義widthwidth給定總寬度*抑制賦值。輸入域被跳過,不賦值(虛讀)h,l,Lh指出輸入?yún)?shù)是短整型l指出輸入?yún)?shù)是長整型,也可用于double類型的參數(shù)前L指出輸入?yún)?shù)是longdouble類型第十六頁,共三十二頁,編輯于2023年,星期五3.5

流程圖常用的流程圖有傳統(tǒng)流程圖、結(jié)構(gòu)化流程圖和PAD圖。這里主要介紹傳統(tǒng)流程圖和結(jié)構(gòu)化流程圖。一、傳統(tǒng)流程圖處理框判斷框流向開始/結(jié)束A連接點(diǎn)第十七頁,共三十二頁,編輯于2023年,星期五用傳統(tǒng)流程圖來表示三種基本結(jié)構(gòu)步驟1步驟2步驟n……順序結(jié)構(gòu)條件語句1語句2分枝結(jié)構(gòu)TF第十八頁,共三十二頁,編輯于2023年,星期五條件T循環(huán)體F當(dāng)型(while)循環(huán)條件T循環(huán)體F直到型循環(huán)(do循環(huán)的反條件)循環(huán)結(jié)構(gòu)第十九頁,共三十二頁,編輯于2023年,星期五二、結(jié)構(gòu)化流程圖步驟1步驟2……步驟n順序結(jié)構(gòu)…………條件TF語句1語句2(可以沒有)分枝結(jié)構(gòu)第二十頁,共三十二頁,編輯于2023年,星期五…………條件循環(huán)體當(dāng)型循環(huán)…………循環(huán)體條件直到型循環(huán)循環(huán)結(jié)構(gòu)第二十一頁,共三十二頁,編輯于2023年,星期五3.6

if語句語法:1、if(表達(dá)式)語句2、if(表達(dá)式)語句1else語句2表達(dá)式語句非00表達(dá)式語句1語句2非00第二十二頁,共三十二頁,編輯于2023年,星期五例1:任意輸入一個整數(shù)如果為正數(shù),則輸出,否則不輸出。輸入一個整數(shù)x開始打印輸出xx>=0嗎是否結(jié)束#include<stdio.h>main(){intx;scanf(“%d”,&x);if(x>=0)printf(“%d\n”,x);}第二十三頁,共三十二頁,編輯于2023年,星期五例2:任意輸入兩個整數(shù),輸出其中最大的。輸入兩個整數(shù)x,y開始打印輸出xx>y嗎是否結(jié)束#include<stdio.h>main(){intx,y;scanf(“%d%d”,&x,&y);if(x>y)printf(“%d\n”,x);elseprintf(“%d\n”,y);}打印輸出y第二十四頁,共三十二頁,編輯于2023年,星期五例3:求分段函數(shù)y=。輸入實(shí)數(shù)x開始y=sin(x)+cos(x)x>=5嗎是否結(jié)束#include<stdio.h>#include<math.h>main(){floatx,y;scanf(“%f”,&x);if(x>=5)y=sin(x)+cos(x);elsey=x*x+x+1;printf(“x=%f,y=%f\n”,x,y);}y=x2+x+1sin(x)+cos(x)x>=5x2+x+1x<5輸出y第二十五頁,共三十二頁,編輯于2023年,星期五3.7

if嵌套if語句格式:

if(表達(dá)式)語句1else語句2在if語句中的語句1和語句2處還可以寫if語句,此時稱為if嵌套如:if(表達(dá)式1)

if(表達(dá)式2)

語句1[else

語句2]else

if(表達(dá)式3)

語句3[else

語句4]如:if(表達(dá)式1){

if(表達(dá)式2)

語句1

}else

if(表達(dá)式3)

語句3[else

語句4]如:if(表達(dá)式1)

if(表達(dá)式2)

語句1[else

語句2]elseif(表達(dá)式3)

語句3[else

語句4]第二十六頁,共三十二頁,編輯于2023年,星期五例:編程計算下列分段函數(shù):y=2x-2(1≤x<10)x(x<1)2x-20(x≥10)#include<stdio.h>#include<conio.h>main(){floatx,y;scanf("%f",&x);

if(x<1)y=x;elseif(x<10)y=2*x-2;elsey=2*x-20;printf("x=%f,y=%f\n",x,y);getch();}第二十七頁,共三十二頁,編輯于2023年,星期五例如:解一元二次方程ax2+bx+c=0的根輸入三個數(shù)a,b,c開始a=0嗎是否結(jié)束b=0嗎c=0嗎輸出無窮解輸出無解輸出x=-c/b否否是是計算d=b2-4acd>0嗎計算兩個不相等的實(shí)根x1,x2并輸出是D=0嗎是計算兩個相等的實(shí)根x1,x2并輸出否計算兩個共軛的復(fù)實(shí)根x1,x2并輸出否第二十八頁,共三十二頁,編輯于2023年,星期五#include<stdio.h>#include<math.h>#include<conio.h>#defineEPS1.0e-5main(){doublea,b,c,d,x,x1,x2,r,im;scanf("%lf%lf%lf",&a,&b,&c);if(fabs(a)<EPS)if(fabs(b)<EPS)if(fabs(c)<EPS) printf("無窮解\n");else printf("無解\n");else{x=-c/b;printf("x=%.2f\n",x);}第二十九頁,共三十二頁,編輯于2023年,星期五

else{d=b*b-4*a*c;if(d>EPS){x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}elseif(fabs(d)<EPS){x=-b/(2*a);printf("x1=x2=%.2f\n",x);}else{r=-b/(2*a);im=fabs(sqrt(-d)/(2*a));printf("x1=%.2f+%.2fi\n",r,im);printf("x2=%.2f-%.2fi\n",r,im);}}getch();}第三十頁,共三十二頁,編輯于2023年,星期五3.8

switch語句(開關(guān)語句)switc

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論