C語言II部落格作業01

2022-06-20 12:45:13 字數 2429 閱讀 7234

這個作業屬於哪個課程

程式語言ii

這個作業要求在**

c語言ii部落格作業01

這個作業的目標

《回顧資料型別和表示式,並結合檔案相關知識複習》

學號<20209132>

例如:n=2,寫下1,2。這樣只出現了1個」1「。

n=12,我們會寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣,1的個數是5。

問題是:

1.寫出乙個函式f(n),返回1到n之間出現的」1「的個數,比如f(12)=5;

2.滿足條件」f(n)=n「的最大的n是多少?

要求:1.貼出**,寫出解題思路,列出測試資料(5分)

輸入資料

輸出資料11

12512357

1234

68912345

8121

123456

93553

1234567

1058985

2.給出不同測試資料的運算時間,如果你的運算時間不變,說明你的測試資料不夠大(5分)

輸入資料

輸出資料

----

----11

12512357

1234

68912345

8121

123456

93553

1234567

1058985

3.思考針對足夠大的資料,如何減少運算時間,並給出在原有演算法基礎上的改進演算法和改進思路。(10分)

可以在原有**上減去沒必要的步驟,優化計算時間

1.刪除不必要的類之間的繼承

2.把迴圈簡單化,不要多餘的**

3.刪除不必要的私有變數

如何在原有演算法基礎上的改進演算法和改進思路:

1.首先,我們可以從資料型別改起,不同的資料型別所運算的時間是有很大的不同的,像long long int的運算時間就比long int的要長,long int 的運算時間就比int型別的運算時間要長,所以,在資料可以容納的情況下我們可以盡量用比較小的資料型別。

2.然後是迴圈,越多的迴圈巢狀運算的時間越久,我們可以優化迴圈,儘量減少迴圈的巢狀,優化**。

滿足條件」f(n)=n「的最大的n是:1111111110。

1.什麼是檔案緩衝系統?工作原理如何?

檔案緩衝系統:

為了提高資料訪問訪問的效率,c程式對檔案的處理採用緩衝檔案系統的方式進行。根據檔案緩衝的特性,把檔案系統分為緩衝檔案系統與非緩衝檔案系統,對於緩衝檔案系統,在進行檔案操作時,系統自動為每乙個檔案分配一塊檔案記憶體緩衝區(記憶體單元),當程式要向磁碟檔案寫入資料時,先把資料存入緩衝區,然後再由作業系統把緩衝區的資料真正存入磁碟。檔案緩衝區不是由系統自動分配,而需要程式設計者在程式中c語句實現分配。

工作原理:

緩衝檔案系統規定磁碟與記憶體緩衝區之間的互動由作業系統自動完成,緩衝檔案系統將會自動在記憶體中為被操作的檔案開闢一塊連續的記憶體單元(如12gb)作為檔案緩衝區。當要把資料儲存到檔案中時 首先把資料寫入檔案緩衝區,一旦寫滿了12gb,作業系統自動把全部資料寫入磁碟乙個扇區,然後把檔案緩衝區清空,新的資料繼續寫入到檔案緩衝區,當要從檔案讀取資料時,系統首先自動把乙個扇區的檔案匯入檔案緩衝區,供c程式逐個讀入資料,一旦12gb資料都被讀入,系統自動把乙個扇區的內容匯入檔案緩衝區,供c程式繼續讀入新資料。

2.什麼是文字檔案和二進位制檔案?

一種按資料儲存的編碼形式分類的資料檔案,以字元ascll碼值進行儲存與編碼的檔案,其檔案內容就是字元,c語言源程式是文字檔案。

二進位制檔案:

另一種種按資料儲存的編碼形式分類的資料檔案,時儲存二進位制資料的檔案,c程式的目標檔案和可執行檔案是二進位制檔案。

1.《c語言程式設計》

2.《c primer plus》

2.4 請給出本週學習總結(15分)

周/日期

這週所花的時間

**行學到的知識點簡介

目前比較迷惑的問題

第一周/03.01~03.07

12小時

260行

讀取並利用檔案裡的資料

還有一些問題沒有弄明白

1.剛開學因為玩了個寒假所以有點懵,有點搞不懂了,好在複習了之後又熟悉了起來

2.新的學期意味著更難的東西要學習,自己也該更加認真專注

3.對自己的未來該有更加清晰的認識和規劃,不使大學生活虛度

C語言II部落格作業01

這個作業屬於哪個課程 c語言程式設計 這個作業要求在 作業要求 這個作業的目標 回顧資料型別和表示式,學習檔案操作 學號20208988 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會寫下1,2,3,4,5,6,7,8,9,10,11,12。這樣,1的個數是5。問題是 1.寫出乙個...

C語言II部落格作業01

這個作業屬於哪個課程 這個作業要求在 homework 11752 這個作業的目標 1.讓我們初步了解測試程式 2.讓我們了解並且學會運用檔案 3.複習之前學過的內容 學號20209154 第6章 回顧資料型別和表示式,第12章 檔案 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會...

C語言II部落格作業01

這個作業屬於哪個課程 這個作業要求在 homework 11752 這個作業的目標 學習檔案,回顧資料型別和表示式,設計程式來自動輸入資料 學號 20209155 第6章 回顧資料型別和表示式,第12章 檔案 例如 n 2,寫下1,2。這樣只出現了1個 1 n 12,我們會寫下1,2,3,4,5,6...