程序設(shè)計初步第三章_第1頁
程序設(shè)計初步第三章_第2頁
程序設(shè)計初步第三章_第3頁
程序設(shè)計初步第三章_第4頁
程序設(shè)計初步第三章_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

程序設(shè)計初步第三章第3章C程序設(shè)計初步3.1算法:解決問題的步驟3.2結(jié)構(gòu)化程序設(shè)計方法簡介順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)3.1算法描述自然語言表示

計算n?。?)定義變量i,n,fact,分別保存循環(huán)變量,n,階乘結(jié)果(2)i=2;fact=1;賦初值(3)使factfact*i(4)i自增1:ii+1(5)判斷i是否大于n,若是執(zhí)行第6步,否則執(zhí)行第3步(6)停止,輸出fact。優(yōu)點:使用日常用語,通俗易懂缺點:文字冗長,容易出現(xiàn)歧義3.1算法描述傳統(tǒng)流程圖表示起止框處理框輸入輸出框判斷框

連接點注釋框常用流程圖符號開始1=>fact2=>ifact*i=>facti+1=>ii>n結(jié)束N流程線Y3.1算法描述用N-S流程圖表示ABAB成立不成立P

A當(dāng)P成立

直到P成立A順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)3.3C語言語句分類表達式語句函數(shù)調(diào)用語句控制語句復(fù)合語句空語句3.4數(shù)據(jù)的輸入輸出C語言函數(shù)庫提供的輸入輸出函數(shù)printf(格式輸出)scanf(格式輸入)putchar(輸出字符)getchar(輸入字符)3.4數(shù)據(jù)的輸入輸出需要的頭文件:#include<stdio.h>或?qū)懗?include“stdio.h”include和庫函數(shù)之間可以加空格,也可不加3.4.1printf函數(shù)(格式輸出)printf調(diào)用一般形式:printf(“格式控制字符串”,輸出列表)輸出字符串:printf(“字符串”)以整型格式輸出數(shù)據(jù)x:printf(“%d”,x)以實型格式輸出數(shù)據(jù)x:printf(“%f”,x)以字符格式輸出數(shù)據(jù)x:printf(“%c”,x)3.4.1printf函數(shù)(格式輸出)輸出多個數(shù)據(jù)格式:printf(“%d%d%d”,x,y,z)printf(“%f,%f,%d”,x,y,z)printf(“x=%f,y=%f,z=%d”,x,y,z)3.4.1printf函數(shù)(格式輸出)printf(“格式控制字符串”,輸出列表)輸出表列輸出的數(shù)據(jù),多個數(shù)據(jù)輸出時,數(shù)據(jù)之間用逗號隔開格式控制字符串:格式說明:%[修飾符]格式字符,用于指定輸出格式(表3.1)普通字符或轉(zhuǎn)義序列,原樣輸出3.4.1printf函數(shù)(格式輸出)d格式:用來輸出十進制整數(shù)。有以下幾種用法:%d:按整型數(shù)據(jù)的實際長度輸出。%md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補以空格,若大于m,則按實際位數(shù)輸出。%-md:同上,區(qū)別是:右端補以空格3.4.1printf函數(shù)(格式輸出)例:輸出數(shù)字矩陣3.4.1printf函數(shù)(格式輸出)%0md:m為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補以0,若大于m,則按實際位數(shù)輸出。%-0md:同上,區(qū)別是:數(shù)字左對齊,右端補以空格注:使用%0md輸出負數(shù),負號在前,例:使用%05d輸出-12,結(jié)果為:-00123.4.1printf函數(shù)(格式輸出)分別使用以下格式輸出123,-123:%d,%8d,%-8d,%08d,%-08d3.4.1printf函數(shù)(格式輸出)%ld:輸出長整型long數(shù)據(jù):注意事項:%ld在vc環(huán)境下和%d沒有區(qū)別,在TurboC下用%d輸出long類型數(shù)據(jù)會發(fā)生溢出錯誤。使用%d輸出浮點型數(shù)據(jù),會輸出一個無效數(shù)字。使用%f輸出整型數(shù)據(jù),也是如此。

3.4.1printf函數(shù)(格式輸出)o格式:以無符號八進制形式輸出整數(shù)。對長整型可以用“%lo”格式輸出。同樣也可以指定字段寬度用“%mo”和“%-mo”格式輸出。

例:

main()

{inta=-1;

printf("%d,%o",a,a);

}

運行結(jié)果:-1,177777

程序解析:-1在內(nèi)存單元中(以補碼形式存放)為(1111111111111111)2,轉(zhuǎn)換為八進制數(shù)為(177777)8。

3.4.1printf函數(shù)(格式輸出)x格式:以無符號十六進制形式輸出整數(shù)。對長整型可以用“%lx”格式輸出。同樣也可以指定字段寬度用“%mx”和“%-mx”格式輸出。u格式:以無符號十進制形式輸出整數(shù)。對長整型可以用“%lu”格式輸出。同樣也可以指定字段寬度用“%mu”和“%-mu”格式輸出。3.4.1printf函數(shù)(格式輸出)#:用于輸出八進制和十六進制,在輸出的數(shù)字之前加入字符0x或0例:分別使用不同的格式輸出數(shù)字124:%o,%x,%6o,%6x,%#6o,%#x,%07x,%#08x3.4.1printf函數(shù)(格式輸出)f格式:用來輸出實數(shù)(包括單、雙精度),以小數(shù)形式輸出。有以下幾種用法:%f:不指定寬度,整數(shù)部分全部輸出并輸出6位小數(shù)。%m.nf:輸出共占m列,其中有n位小數(shù),如數(shù)值寬度小于m左端補空格。

%-m.nf:輸出共占n列,其中有n位小數(shù),如數(shù)值寬度小于m右端補空格。

3.4.1printf函數(shù)(格式輸出)e格式:以指數(shù)形式輸出實數(shù)??捎靡韵滦问剑?e:數(shù)字部分(又稱尾數(shù))輸出6位小數(shù)%m.ne和%-m.ne:m、n和”-”字符含義與前相同。此處n指數(shù)據(jù)的數(shù)字部分的小數(shù)位數(shù),m表示整個輸出數(shù)據(jù)所占的寬度。

g格式:自動選f格式或e格式中較短的一種輸出,且不輸出無意義的零。

3.4.1printf函數(shù)(格式輸出)例:用下面的輸出格式輸出小數(shù)123.45678%f,%g,%e,%5.4f,%14.3e3.4.1printf函數(shù)(格式輸出)c格式:輸出一個字符。s格式:用來輸出一個串。有幾中用法:%s:例如:printf(“%s”,“CHINA”)輸出“CHINA”字符串(不包括雙引號)。%ms:輸出的字符串占m列,如字符串本身長度大于m,則突破獲m的限制,將字符串全部輸出。若串長小于m,則左補空格。%-ms:如果串長小于m,則在m列范圍內(nèi),字符串向左靠,右補空格。

3.4.1printf函數(shù)(格式輸出)%m.ns:輸出占m列,但只取字符串中左端n個字符。這n個字符輸出在m列的右側(cè),左補空格。%-m.ns:其中m、n含義同上,n個字符輸出在m列范圍的左側(cè),右補空格。如果n>m,則自動取n值,即保證n個字符正常輸出。

3.4.1printf函數(shù)(格式輸出)關(guān)于printf函數(shù)的進一步說明:如果想輸出字符“%”,則應(yīng)該在“格式控制”字符串中用連續(xù)兩個%表示,如:

printf("%f%%",1.0/3);

輸出0.333333%。

3.4.1printf函數(shù)(格式輸出)printf小結(jié)m:輸出字符最小寬度,超出該寬度按原來寬度輸出n:用于小數(shù)或字符串輸出,小數(shù)輸出時n為小數(shù)位數(shù),字符輸出時為截取的字符個數(shù)-:輸出的字符靠左對齊l:用在d,o,x,u之前為輸出長整型long,用在e,f,g之前為輸出double型0:輸出數(shù)值,左側(cè)不足補以0#:輸出八進制或十六進制,輸出符號0或0x+:輸出數(shù)值,正數(shù)帶+號,負數(shù)帶-號3.4.1printf函數(shù)(格式輸出)printf小結(jié)除了X,E,G外,其他字符不能大寫。例如%d不能寫成%D,%f不能寫成%F3.4.1printf函數(shù)(格式輸出)格式符含義輸出數(shù)據(jù)類型%d十進制整數(shù)int,short,char%f十進制小數(shù)float%o八進制整數(shù)int,short%x十六進制整數(shù)int,short%c單個字符char,int,short%e十進制科學(xué)小數(shù)float%ld十進制長整型long%lf十進制小數(shù)double%le十進制科學(xué)小數(shù)double%lo八進制整數(shù)long%lx十六進制整數(shù)long3.4.1printf函數(shù)(格式輸出)練習(xí):若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=56753,n=1232445,c1=‘a(chǎn)’,c2=‘b’.想得到以下的輸出格式和結(jié)果,請寫出程序(包括定義變量類型和設(shè)計輸出)要求輸出結(jié)果如下:a=□3□□b=□4□□c=□5x=1.200000,y=2.400000,z=-3.600000x+y=□3.60□□y+z=-1.20□□z+x=-2.40u=□56753□□n=□□□1232445c1=‘a(chǎn)’□or□97(ASCII)c2=‘b’□or□98(ASCII)3.4.2scanf函數(shù)(格式輸入)函數(shù)調(diào)用一般格式:scanf(“格式控制字符串”,地址列表)格式控制字符串:同printf()地址列表:例:將輸入的值賦給int變量a,地址列表中需要寫成:scanf(“%d”,&a);3.4.2scanf函數(shù)(格式輸入)格式控制字符:%d:輸入十進制整數(shù)%f:輸入十進制小數(shù):可以輸入小數(shù)、指數(shù)%e,%g:同%f%x,%X:輸入十六進制數(shù),x和X沒有區(qū)別%o,%O:輸入八進制整數(shù),o和O沒區(qū)別%u:輸入一個無符號十進制整數(shù)3.4.2scanf函數(shù)(格式輸入)格式控制字符:l:加在d,o,x之前,輸入精度為long

加在e,f之前,輸入精度為doublem:指定輸入寬度h:用于d,o,x之前,指定輸入short類型3.4.2scanf函數(shù)(格式輸入)例1.#include"stdio.h"main(){inta,b,c;scanf("%d%d%d",&a,&b,&c);printf("%d,%d,%d\n",a,b,c);}3.4.2scanf函數(shù)(格式輸入)例1.運行時按如下方式輸入三個值:3□4□5↙(輸入a,b,c的值)3,4,5(printf輸出的a,b,c的值)(1)&a、&b、&c中的&是地址運算符,分別獲得這三個變量的內(nèi)存地址。(2)"%d%d%d"是按十進值格式輸入三個數(shù)值。輸入時,在兩個數(shù)據(jù)之間可以用一個或多個空格、tab鍵、回車鍵分隔。以下是合法輸入方式:①3□□4□□□□5↙②3↙4□5↙③3(tab鍵)4↙5↙3.4.2scanf函數(shù)(格式輸入)

scanf("%d,%d,%d",&a,&b,&c);

運行時按如下方式輸入三個值:3,4,5↙(輸入a,b,c的值)或者3,□4,□5↙(輸入a,b,c的值)3,□□□4,□5↙(輸入a,b,c的值)

......

都是合法的,但是“,”一定要跟在數(shù)字后面,如:

3□,4,□5↙就非法了,程序出錯。非法輸入:3↙4↙的,程序輸出無效字符。3.4.2scanf函數(shù)(格式輸入)在用"%c"輸入時,空格和“轉(zhuǎn)義字符”均作為有效字符。例:

scanf("%c%c%c",&c1,&c2,&c3);

輸入:a□b□c↙

結(jié)果:a→c1,□→c

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論