C語言程序設(shè)計基礎(chǔ)實訓(xùn)手冊_第1頁
C語言程序設(shè)計基礎(chǔ)實訓(xùn)手冊_第2頁
C語言程序設(shè)計基礎(chǔ)實訓(xùn)手冊_第3頁
C語言程序設(shè)計基礎(chǔ)實訓(xùn)手冊_第4頁
C語言程序設(shè)計基礎(chǔ)實訓(xùn)手冊_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、程序設(shè)計基礎(chǔ)實訓(xùn)手冊說 明在完成了計算機導(dǎo)論2(C程序設(shè)計)課程的學(xué)習(xí)和上機實驗后,需要進(jìn)行一個程序設(shè)計實踐訓(xùn)練,以鞏固和提高同學(xué)們的程序設(shè)計能力。每位同學(xué)至少需獨立完成本手冊所給出的題目總量的50%。目錄程序設(shè)計基礎(chǔ)實訓(xùn)手冊1說 明2題目1 勾股定理3題目2 冰箱溫度3題目3 分段函數(shù)3題目4 N的平方根3題目5 計算個人所得稅額4題目6 算式求解4題目7 自由落體的球4題目8 素性判定4題目9 可逆素數(shù)5題目10 厄拉多賽篩法求素數(shù)5題目11 對稱數(shù)5題目12 計算cosx5題目13 分魚5題目14 愛因斯坦數(shù)學(xué)題5題目15 階乘6題目16 排序6題目17 素數(shù)排序6題目18 多項式6題目

2、19 楊輝三角形7題目20 魔方陣7題目21 字符串處理-17題目22 字符串處理-27題目23 校驗和8題目24 刪除子串8題目25 求公共前綴8題目26 URL8題目27 Morse電碼8題目28 復(fù)數(shù)運算9題目29 文件操作-19題目30 文件操作-29題目31 文件操作-39題目32 文件操作-410題目33 日期有關(guān)-110題目34 日期有關(guān)-210題目35 輸出日歷10題目36 再次輸出日歷10題目37 約瑟夫問題11題目38 漢諾塔11題目39 哥德巴赫猜想12題目40 怒刷GPA12題目41 走樓梯13題目42 n皇后問題13題目43 按鈕陣列13題目44 快樂的牛奶商14題目

3、45 計算密碼14題目46 Franky的游戲15題目47 炸金花15題目48 Game of Life16附錄A 常用標(biāo)準(zhǔn)庫函數(shù)原型17題目1 勾股定理勾股定理指出:直角三角形兩條直角邊的平方和等于斜邊的平方。例如,如果一個直角三角形的兩條直角邊長分別為3和4,那么斜邊長必定為5。整數(shù)3、4、5一起構(gòu)成了一個勾股三元組,這樣的三元組有無數(shù)個。給定兩個正整數(shù)m和n,mn,一個勾股三元組可以由下列公式產(chǎn)生:side1 = m2-n2side2 = 2mnhypotenuse = m2+n2當(dāng)m=2,n=1時,根據(jù)公式就產(chǎn)生了三元組(side1=3,side2=4,hypotenuse=5)。編寫

4、一個程序,將m、n的值作為輸入,并通過上面的公式將產(chǎn)生的勾股三元組的值顯示出來。題目2 冰箱溫度編寫一個程序,輸入斷電后所經(jīng)過的時間(小時),預(yù)測冰箱內(nèi)的溫度()。假設(shè)該溫度(T)由下式給出: 其中t為斷電后經(jīng)過的時間。程序應(yīng)提示用戶輸入該時間,以整數(shù)小時和分鐘表示。需要注意的是,經(jīng)歷時間應(yīng)該轉(zhuǎn)化為小時。例如,如果用戶輸入2 30(2小時30分鐘),那么就要將其轉(zhuǎn)化為2.5小時。題目3 分段函數(shù)請編寫程序完成下面的計算要求。注:若x的值不在區(qū)間0,50),則提示輸入錯誤。 題目4 N的平方根數(shù)N的平方根可通過下式的迭代運算來近似計算:式中NG表示下一次的猜測值,LG表示上一次猜測值。編寫一個函

5、數(shù)利用上述方法計算平方根。第一次猜測值就是LG的初始值,程序利用公式計算NG。檢測NG和LG的差值,看這兩次猜測值是否幾乎相等。如果是,NG就作為平方根;否則,用新的猜測值NG更新上次的猜測LG,重復(fù)上述過程(再計算新的NG、檢測NG和LG的差,等等)。循環(huán)一直進(jìn)行,直到NG與LG之差小于0.005。第一次猜測值為1.0。編寫main函數(shù),調(diào)用你所編寫的求平方根函數(shù),用下面的數(shù)據(jù)測試:4、120.5、88、36.01、10 000、0.25。題目5 計算個人所得稅額 編寫一個程序,輸入為某人的月工資,輸出為其每月應(yīng)繳納的個人所得稅額。要求定義一個函數(shù),接收一個表示月工資的數(shù),返回對應(yīng)的個人所得

6、稅額。針對工資薪金收入的個人所得稅計算公式為:個人所得稅額=應(yīng)納稅所得額稅率 - 速算扣除數(shù)其中,應(yīng)納稅所得額 =月工資 - 三險一金 - 起征點 三險一金為月工資的19%,起征點為3500元稅率和速算扣除數(shù)分別與不同的應(yīng)納稅所得額對應(yīng),如下表所示:級數(shù)全月應(yīng)納稅所得額稅率(%)速算扣除數(shù)(元)1 不超過1,500元302 超過1,500元至4,500元的部分101053 超過4,500元至9,000元的部分205554 超過9,000元至35,000元的部分2510055 超過35,000元至55,000元的部分3027556 超過55,000元至80,000元的部分3555057 超過80

7、,000元的部分4513505例如,某人月工資8000元,按規(guī)定19%繳納三險一金,那么:其應(yīng)納稅所得額=8000 - 800019% - 3500=2980元,對應(yīng)稅率和速算扣除數(shù)分別為10%和105元,因此,其個人所得稅額為298010%-105=193元。題目6 算式求解 若有下述計算關(guān)系,試編寫程序求十進(jìn)制數(shù)字A、B、C、D的值。題目7 自由落體的球 設(shè)一球從100m高度自由落下,每次落地后反跳回原來高度的一半,再落下。求它在第10次落地時,共經(jīng)過多少米?第10次反彈的高度是多少?該球經(jīng)過多少次反彈后停止運動,此時該球的運動路程是多少(精確至小數(shù)點后第6位數(shù)字)?題目8 素性判定編寫一

8、個程序,判斷輸入的一個整數(shù)是否為素數(shù)。題目9 可逆素數(shù) 編寫一個程序,求四位的可逆素數(shù)??赡嫠財?shù)指:將一個素數(shù)的各位數(shù)字的順序倒過來所構(gòu)成的反序數(shù)也是素數(shù)。題目10 厄拉多賽篩法求素數(shù)大約在公元前250年,古希臘數(shù)學(xué)家厄拉多賽(Eratosthenes)提出一個造出不超過N的素數(shù)構(gòu)造法,稱為厄拉多賽篩法。它基于這樣一個簡單的性質(zhì):如果nN,且n是合數(shù),則n必為一個不大于N的平方根的素數(shù)所整除。基本方法如下:先列出從2N的全體自然數(shù),其中,2 是素數(shù),在該數(shù)列中將2及其倍數(shù)去掉;接下來數(shù)列中最小的3是素數(shù),再將數(shù)列中的3及其倍數(shù)去掉;接下來數(shù)列中最小的5是素數(shù),重復(fù)該過程,直到數(shù)列為空。每次從數(shù)

9、列中取出的最小數(shù)構(gòu)成不超過N的全體素數(shù)。題目11 對稱數(shù)將一個數(shù)的數(shù)碼倒過來所得到的新數(shù)叫做原數(shù)的反序數(shù),如果一個數(shù)等于它的反序數(shù),則稱它為對稱數(shù)。例如,12321、3、151、44、6776等都是對稱數(shù)。編寫一個函數(shù)f,判斷十進(jìn)制正整數(shù)k是否是對稱數(shù)。要求:在main函數(shù)中輸入一個正整數(shù)k并調(diào)用該函數(shù)f,若k是對稱數(shù),再判斷k的二進(jìn)制形式是否也是對稱數(shù)。若k及其二進(jìn)制都是對稱數(shù),則輸出k的十進(jìn)制值及二進(jìn)制值。題目12 計算cosx編制程序,利用下式計算ucosx的近似值,直到最后一項的絕對值小于。 題目13 分魚 A、B、C、D、E五人在某天夜里合伙去捕魚,到第二天凌晨時都疲憊不堪,于是各自

10、找地方去睡覺。日上三竿,A第一個醒來,他將魚分為五份,把多余的一條魚扔掉,拿走自己的一份;B第二個醒來,也將魚分為五份,把多余的一條魚扔掉,拿走自己的一份;C、D、E依次醒來,也按同樣的方法拿魚。試編程計算他們至少捕了多少條魚。題目14 愛因斯坦數(shù)學(xué)題 有一條長階梯,若每步跨2階,則最后剩余1階,若每步跨3階,則最后剩2階,若每步跨5階,則最后剩4階,若每步跨6階則最后剩5階,若每步跨7階,最后才正好一階不剩。請問,這條階梯共有多少階? 題目15 階乘請編寫程序計算n!并輸出,要求輸入n的值且應(yīng)滿足n=1000。題目16 排序下面是的函數(shù)BubbleSort實現(xiàn)冒泡排序法,SelectSort

11、實現(xiàn)簡單選擇排序法,用隨機函數(shù)產(chǎn)生1000個整數(shù)(或浮點數(shù)),請分別采用這兩種方法對該組整數(shù)(或浮點數(shù))進(jìn)行排序,按照從小到大的順序輸出這些數(shù)據(jù),并輸出在排序過程中這些數(shù)據(jù)間的比較次數(shù)。void BubbleSort(int a, int n) int i,j,swaptag=1; int temp; for(i = 0; swaptag & in-1; i+) swaptag = 0; for(j = 0; j aj+1) swaptag = 1; temp = aj; aj = aj+1; aj+1 = temp; void SelectSort(int a, int n) int i,j

12、,t;int temp; for(i = 0; in-1; i+) t = i; for(j = i+1;jn; j+) if (aj 0),找出這n個數(shù)中所有的素數(shù),并按照從小到大的次序依次輸出這些素數(shù)。題目18 多項式一元多項式的一般形式如下: A(x) = p0+p1x+p2x2+ +pixi+ + pnxn 請編寫一個程序,將輸入的兩個一元多項式相加(提示:對于多項式的每一項,輸入其系數(shù)和指數(shù)),最輸出和多項式??梢杂孟旅娴臄?shù)據(jù)進(jìn)行測試。(1)(2)(3)(4)(5)(6)題目19 楊輝三角形編寫一個程序,輸入一個正整數(shù)n(不超過15),輸出n行的楊輝三角形。例如,輸入6時的輸出如下:

13、題目20 魔方陣Dole Rob算法生成奇數(shù)階魔方陣的過程為:從1開始,依次插入各自然數(shù),直到為止。選擇插入位置原則為: 第一個位置在第一行的正中; 新位置應(yīng)當(dāng)處于最近一個插入位置的右上方,若右上方位置已超出方陣的上邊界,則新位置取應(yīng)選列的最下一個位置;若超出右邊界則新位置取應(yīng)選行的最左一個位置; 若最近一個插入元素為N的整數(shù)倍,則選下面一行同列的位置為新位置。題目21 字符串處理-1編寫程序,對于讀入的一個字符串,刪除其中所有的空格。例如,將字符串“ xidian university ”中的空格刪除后,得到“xidianuniversity”。題目22 字符串處理-2編寫程序,將一個字符序

14、列中的數(shù)字字符拼接成一個整數(shù)(串中數(shù)字個數(shù)不超過9個),輸出該整數(shù)及其平方根,例如,若輸入的字符序列為“aj?3v87.y=:61w!0#”,則輸出及622.58。題目23 校驗和 通信信道常常含有噪聲,因此設(shè)計了很多方法來保證數(shù)據(jù)的可靠傳輸,一種成功的方法是利用校驗和。消息的校驗和首先通過消息中各字符的整數(shù)編碼的和計算,然后計算該和除以64的余數(shù),并在此結(jié)果上加一個空格字符的整數(shù)編碼。因為這個值在可輸出字符范圍內(nèi),它也被顯示成字符。編寫程序,接收以一個句點結(jié)尾的單行消息,并且顯示每條消息的校驗和字符。當(dāng)用戶輸入只包含一個句點的消息時,要求程序結(jié)束。(字符的編碼為其在ASCII字符集中的編碼)

15、題目24 刪除子串編寫程序,其中包括一個函數(shù),此函數(shù)的功能是:對一個長度為N 的字符串從其第K個字符起,刪去M個字符,組成長度為N-M的新字符串(其中N、M=80,KC”表示將一個圓盤從A柱移到C柱(該圓盤也是A柱最上邊的盤),其他類推。題目39 哥德巴赫猜想 “自然科學(xué)的皇后是數(shù)學(xué)。數(shù)學(xué)的皇冠是數(shù)論。哥德巴赫猜想,則是皇冠上的明珠?!备绲掳秃詹孪氡硎鰹椋喝我淮笥?的偶數(shù)都可寫成兩個質(zhì)數(shù)(素數(shù))之和。下面請編寫程序驗證對于比較小的偶數(shù)其猜想是否成立。輸入為一個偶數(shù)M(2M=),表示要驗證的偶數(shù)。輸出為兩個素數(shù)A,B(A=B),表示M=A+B,如果有多種可能,則輸出B-A的值最小的那組。輸入數(shù)據(jù)

16、示例:輸出結(jié)果示例:63 3105 5125 7題目40 怒刷GPA眾所周知,WM現(xiàn)在清華讀博,孰不知他為了保送刷了很久的。WM大一的時候成績非常爛,我們學(xué)校的成績滿分是10分,每門成績的得分是0到10中的一個數(shù)字,WM大一的時候有N門課,每門課都得了一個不是很理想的分?jǐn)?shù),大二的時候開始奮發(fā)學(xué)習(xí),現(xiàn)在告訴你他大一的時候的成績,請你編程計算他在后面的課程中連續(xù)得到多少個10分才能將平均分提高到9.5以上(包括9.5)。輸入數(shù)據(jù)的第一個整數(shù)n表示W(wǎng)M大一已經(jīng)考過的課程數(shù),之后是他這n門課的成績,輸出為他后面需要得到10分的課程數(shù)。輸入數(shù)據(jù)示例:輸出結(jié)果示例:29 100183題目41 走樓梯ZYF

17、最喜歡的活動是走樓梯!所以他每次去實驗室總會坐電梯隨機到一個樓層,然后走樓梯到實驗室所在的樓層,并為此得意不已?,F(xiàn)在的問題來了,已經(jīng)知道每兩層樓之間的樓梯級數(shù)、ZYF坐電梯要到達(dá)的樓層、實驗室所在樓層,那么ZYF每次得走多少級樓梯才能到達(dá)實驗室?請編程幫他算一下。輸入數(shù)據(jù)分兩行:第一行為三個整數(shù)N, A, B(0 N100, 0 A, BN),表示有N層樓,ZYF坐電梯到的樓層A,實驗室所在樓層為B;第二行包括N 1個整數(shù),其中第i個整數(shù)代表從第i層到第i + 1層之間的樓梯級數(shù)Si(0 滅 或滅-亮)。現(xiàn)在給出了這個陣列的初始亮滅狀態(tài),編程找一種操作讓燈全滅。題目44 快樂的牛奶商 牛奶包裝

18、是一個如此低利潤的生意,所以盡可能低的控制初級產(chǎn)品(牛奶)的價格就十分重要。請幫助快樂的牛奶供應(yīng)商以盡可能廉價的方式取得他們所需的牛奶。快樂的牛奶供應(yīng)商從一些農(nóng)民那里購買牛奶,每個農(nóng)民所出售的牛奶價格不一定相同。而且由于每只母牛每天只能生產(chǎn)一定量的牛奶,所以農(nóng)民每天只有一定量的牛奶可以賣。顯然,快樂的牛奶供應(yīng)商每天從農(nóng)民那里所能購買的牛奶量,少于或等于農(nóng)民所能提供的最大牛奶量。若給出快樂牛奶供應(yīng)商每日的牛奶需求量,連同每個農(nóng)民可提供的牛奶量和每加侖的價格,請編程計算快樂的牛奶供應(yīng)商完成牛奶收購任務(wù)應(yīng)支付的最小費用。(假設(shè)每天農(nóng)民生產(chǎn)的牛奶總量對快樂的牛奶供應(yīng)商來說是足夠的)輸入數(shù)據(jù)的第一行為兩

19、個整數(shù),N 和 M:第一個整數(shù)N(0= N=)表示牛奶供應(yīng)商一天需要的牛奶數(shù)量,第二個整數(shù)M(0= M=5000)表示出售牛奶的農(nóng)民數(shù)目。接下來有M 行,每行兩個整數(shù),Pi 和 Ai:Pi(0= Pi=1,000) 是農(nóng)民 i 所出售牛奶的價格,Ai(0 = Ai = )是農(nóng)民 i 一天能賣給快樂牛奶供應(yīng)商的牛奶數(shù)量。輸入數(shù)據(jù)示例:輸出結(jié)果示例:100 55 20 9 403 10 8 80 6 30630100 46 209 403 108 80710題目45 計算密碼 SHF是一個很神奇的人,他的電腦也采用了一種奇怪的密碼驗證方式,即一串?dāng)?shù)字的某個排列。CX是一個密碼破解愛好者,當(dāng)然對于這

20、種密碼很有興趣。現(xiàn)在他知道SHF的初始密碼是(1,2,3,.,N),每次用兩個數(shù)字A和B來修改密碼,也就是把A,B位置區(qū)間的數(shù)字反序,包括A、B位置的數(shù)字(位置區(qū)間從1開始編號)。例如,現(xiàn)在的密碼是(2,1,3,5,4),密碼修改操作的數(shù)字是2和5,則修改后的密碼為(2,4,5,3,1)。CX已經(jīng)知道了SHF所有的密碼修改操作的序列,但由于操作次數(shù)實在太多了,他計算不出最后的密碼是什么,現(xiàn)在他請你編程幫他計算出最后的密碼。輸入數(shù)據(jù)的第一行包含兩個整數(shù)N,M(0N=, 0=M=2000),第一個數(shù)字表示初始密碼為(1,2,3,.,N),第二個數(shù)字M表示密碼修改操作的次數(shù)。接下來有M行,每行有兩個

21、整數(shù)A,B(0A=B=N),表示進(jìn)行一次密碼修改操作,意義如上所述。輸入數(shù)據(jù)示例:輸出結(jié)果示例:5 21 34 53 2 1 5 45 21 42 54 5 1 2 3題目46 Franky的游戲Franky是super的人造人,來到了n*m的棋盤世界玩冒險游戲。nm的棋盤由n行、每行m個方格組成,左上角的方格坐標(biāo)是(0,0),右下角的方格坐標(biāo)是(n-1,m-1)。每次游戲時,他可以降落在棋盤的任意點,并以此為起點開始周游棋盤世界,他的移動規(guī)則是: 只能以左上(-1,-1),右上(-1,1),左下(1,-1),右下移動(1,1)四個向量移動。不過這個棋盤世界很特殊:其邊界是聯(lián)通的。例如,在79

22、的棋盤中 能從(0,0)移動到(6 ,8),從(1,0)移動到(0,8)和(2,8) .等等。更精確地說,當(dāng)他從(x,y)以向量(Vx,Vy)移動后,他的坐標(biāo)是( (x+Vx)%n , (y+Vy)%m )現(xiàn)在Franky想知道,他最少要玩幾次游戲才能遍歷完整個棋盤世界,請你編程幫他算一下。PS:猜一猜,有公式喔!PS2:只和奇偶性有關(guān)喔,推推小數(shù)據(jù)看。輸入數(shù)據(jù)為兩個整數(shù)n和m,輸出數(shù)據(jù)為一個整數(shù),表示他玩游戲的最少次數(shù)。輸入數(shù)據(jù)示例:輸出結(jié)果示例:2 222 31題目47 炸金花炸金花是一個風(fēng)靡全球的撲克游戲,不少人因為這個游戲發(fā)了家,而更多的人則輸?shù)脙A家蕩產(chǎn)。為了幫助賭徒們戒掉它,現(xiàn)在決定

23、派你去寫一個程序,幫助賭徒們更好的認(rèn)識這個游戲。炸金花在這里被簡化成這樣一個情況:每一個人都會得到隨機派發(fā)的三張牌(每張牌的點數(shù)為整數(shù)區(qū)間1,9中的某個數(shù),點數(shù)相同的牌最多只有4張),然后比較大小。比較大小的方式是這樣的: 豹子:即三張點數(shù)一樣的牌,若雙方都為豹子,則點數(shù)大者為大,豹子大于任何其他情況; 順子:即三張點數(shù)連續(xù)遞增的牌,比如(4,5,6),(1,2,3),若雙方都是順子,點數(shù)大者為大,順子大于對子和單張; 對子:即兩張點數(shù)一樣的牌帶一張單牌,比如(1,1,4),(2,2,5),若雙方都是對子,則成對的牌點數(shù)大者為大,如果那一對也一樣,則比較單張的大小,對子大于單張; 單張:即三張

24、牌不是上述的三種。單張的比較大小方式是,先比較點數(shù)最大的,再比較點數(shù)第二大的,再比較點數(shù)第三大的。需要注意的是一個特殊情況,那就是,2,3,5比大部分牌都小,但是比豹子大。你的任務(wù)是,對于對手的給定的一種情況,告訴賭徒,有多少種情況可以贏對方。(4,5,6及5,4,6算一種情況)。輸入數(shù)據(jù)為三個數(shù)字,表示對手摸到的牌,輸出一個數(shù)字,表示贏的方法數(shù)。輸入數(shù)據(jù)示例:輸出結(jié)果示例:9 9 917 8 99題目48 Game of Life 生命游戲(Game of Life)由John H. Conway發(fā)明,用于模擬出生、生存和死亡的遺傳法則(參見Scientific American,1970年

25、10月,120頁)。在水平和垂直方向上各有25個方塊(總共625個方塊)的板子上玩這個游戲。每個方塊內(nèi)可以為空,或者包含一個X表示存在一個生物體。每個方塊(除了邊界上的方塊)有8個鄰居。下圖中的陰影標(biāo)志了名為X*的生物體的鄰居:第一代下一代的生物體根據(jù)下面的標(biāo)準(zhǔn)決定:a. 出生生物體會在每個恰好擁有3個生物體鄰居的空位置出生。b. 死亡擁有4個或更多個生物體鄰居的生物體會因為過度擁擠而死亡,而生物體鄰居數(shù)少于兩個的生物體會因為孤獨而死亡。c. 生存擁有2個或3個生物體鄰居的生物體會存活到下一代。第二代和第三代的可能樣本如下所示:第二代 第三代將初始的生物體布局作為輸入數(shù)據(jù)。顯示原始的游戲數(shù)組,

26、在一個新數(shù)組中計算下一代生物體,將新數(shù)組拷貝到原始的游戲數(shù)組中,并重復(fù)生物體循環(huán),直到達(dá)到希望的后代數(shù)。提示:假定游戲數(shù)組的邊界不繁殖后代,生物體也不能在這里生存或出生,所以不必處理邊界方塊。附錄A 常用標(biāo)準(zhǔn)庫函數(shù)原型C程序中進(jìn)行文件操作常用的函數(shù)原型如下:#include 1. FILE *fopen( const char *fname, const char *mode ); The fopen() function opens a file indicated by fname and returns a stream associated with that file. If the

27、re is an error, fopen() returns NULL. mode is used to determine how the file will be treated (i.e. for input, output, etc)ModeMeaningModeMeaningrOpen a text file for readingr+Open a text file for read/writewCreate a text file for writingw+Create a text file for read/writeaAppend to a text filea+Open

28、 a text file for read/writerbOpen a binary file for readingrb+Open a binary file for read/writewbCreate a binary file for writingwb+Create a binary file for read/writeabAppend to a binary fileab+Open a binary file for read/write2. int fclose( FILE *stream );The function fclose() closes the given fil

29、e stream, deallocating any buffers associated with that stream. fclose() returns 0 upon success, and EOF otherwise.3. int feof( FILE *stream );The function feof() returns a nonzero value if the end of the given file stream has been reached.4. int fgetc( FILE *stream );The fgetc() function returns th

30、e next character from stream, or EOF if the end of file is reached or if there is an error.5. int fputc( int ch, FILE *stream );The function fputc() writes the given character ch to the given output stream. The return value is the character, unless there is an error, in which case the return value i

31、s EOF.6. char *fgets( char *str, int num, FILE *stream );The function fgets() reads up to num - 1 characters from the given file stream and dumps them into str. fgets() will stop when it reaches the end of a line, in which case str will be terminated with a newline. If fgets() reaches num - 1 charac

32、ters or encounters the EOF, str will be null-terminated. fgets() returns str on success, and NULL on an error.7. int fputs( const char *str, FILE *stream );The fputs() function writes an array of characters pointed to by str to the given output stream. The return value is non-negative on success, an

33、d EOF on failure.8. int fprintf( FILE *stream, const char *format, . );The fprintf() function sends information (the arguments) according to the specified format to the file indicated by stream. fprintf() works just like printf() as far as the format goes. The return value of fprintf() is the number

34、 of characters outputted, or a negative number if an error occurs. 9. int fscanf( FILE *stream, const char *format, . );The function fscanf() reads data from the given file stream in a manner exactly like scanf(). The return value of fscanf() is the number of variables that are actually assigned val

35、ues, or EOF if no assignments could be made.10. int fread( void *buffer, size_t size, size_t num, FILE *stream );The function fread() reads num number of objects (where each object is size bytes) and places them into the array pointed to by buffer. The data comes from the given input stream. The ret

36、urn value of the function is the number of things read. You can use feof() or ferror() to figure out if an error occurs.11. int fwrite( const void *buffer, size_t size, size_t count, FILE *stream );The fwrite() function writes, from the array buffer, count objects of size size to stream. The return

37、value is the number of objects written.12. FILE *freopen( const char *fname, const char *mode, FILE *stream );The freopen() function is used to reassign an existing stream to a different file and mode. After a call to this function, the given file stream will refer to fname with access given by mode

38、. The return value of freopen() is the new stream, or NULL if there is an error.13. void rewind( FILE *stream );The function rewind() moves the file position indicator to the beginning of the specified stream, also clearing the error and EOF flags associated with that stream.14. long ftell( FILE *st

39、ream );The ftell() function returns the current file position for stream, or -1 if an error occurs.15. int fseek( FILE *stream, long offset, int origin );The function fseek() sets the file position data for the given stream. The origin value should have one of the following values (defined in stdio.h):NameExplanationSEEK_SETSeek from the start of the fileSEEK_CURSeek from the current locationSEEK_ENDSeek from the end of the filefseek() returns zero upon success, non-zero on failure. You can use fseek() to move beyond a file, but not before the begin

溫馨提示

  • 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

提交評論