C語言相關文件的基本知識

2020-12-05 物理小白菜

用過計算機的人,對文件都不陌生,大多數人都接觸過,今天我們來講講關於C語言相關文件的基本知識。首先,我們先來了解了解什麼是文件。

文件有不同的類型,在程序的設計中,主要有兩種文件;

1.程序文件;包括源程序文件(後綴為.c),目標文件(後綴為.obj),可執行文件(後綴為.exe)等,這類文件的內容是程序代碼。

2.數據文件;文件的內容不是程序,而是供程序運行時讀寫數據,如在程序運行過程中輸出到磁碟(或其他外部設備)的數據,或{l不'l!序運行過程中供讀入的數據。

本章主要討論的是數據文件。

為了簡化用戶對輸人輸出設備的操作,使用戶不必去區分各種輸入輸出設備之間的區別,作業系統把各種設備都統一作為文件來處理。

輸人輸出是數據傳送的過程,數據如流水一樣從一處流向另一處,因此常將輸入輸出形象地稱為流(stream),即數據流。流表示了信息從源到目的端的流動。在輸入操作時,數據從文件流向計算機內存,在輸出操作時,數據從計算機流向文件(如印表機、磁碟文件)。文件是由作業系統進行統一管理的,無論是用Worcl打開或保存文件,還是工程序中的輸入輸出都是通過作業系統進行的。

文件要有一個唯一的文件標識,以便用戶識別和引川。文件標識包括3部分(1)文件路徑(2)文件名主幹(3)文件後綴。為方便起見,文件標識常被稱為文件名,、但應工照此時所稱的文件名,實際上包括以上3部分內容,而不僅是文件名主幹。文件名主幹的命名規則遵循標識符的命名規則。後綴用來表示文件的性質,如d·c(吖or,d生成的文件),txt(文本文,件).dati數據文件),c(C語言源程序文件),cpp(C++源程序文件),f·r(FORTRAN語言源程序文件),pas(Pascal語言源程序文件),obj(目標文件),exe(可執行文件),ppt(電子幻燈文件),bmp(圖形文件)等。

文件的分類

根據數據的組織形式,數據文件可分為ASCLL文件和二進位文件。數據在內存中是以二進位形式存儲的,如果不加轉換地輸到外存,就是二進位文件,可以認為它就是存儲在內存的數據的映像,所以也稱之為映像文件(image file)。如果要求在外存上以ASCII代碼形式存儲,則需要在存儲前進行轉換。SCII文件又稱文本文件(text file),每一個字節存放一個字符的ASCII代碼。

文件緩衝區

ANSI C標準採用"緩衝文件系統。處理數據文件,所謂緩衝文件系統是指系統自動地在內存區為程序中每一個正在使用的文件開闢一個文件緩衝區。從內存向磁碟輸出數據必須先送到內存中的緩衝區,裝滿緩衝區後才一起送到磁碟去。如果從磁碟向計算機讀人數據,則一次從磁碟文件將一批數據輸人到內存緩衝區(充滿緩衝區),然後再從緩衝區逐個地將數據送到程序數據區(給程序變量)。這樣做是為了節省存取時間,提高效率,緩衝區的大小由各個具體的C編譯系統確定。

文件類型指針

緩衝文件系統中,關鍵的概念是弱文件類型指針,簡稱。文件指針。每個被使用的文件都在內存中開闢二個相應的文件信息區,用來存放文件的有關信息(如文件的名字、文件狀態及取名為FILE.例如有二種c編譯環境提供的stdio.h頭文仵中有以下的文件類型聲明。

這就是基本的C語言文件的基本知識。

相關焦點

  • 第六篇:C語言中結構體與文件操作相關知識點梳理
    前面總結過,C語言中的基本數據類型有四種,分別是整型、浮點型和字符型;後面又講到可以保存字符串的字符數組。但這遠遠不夠實際應用的需要。注意:這個學生信息是一個整體,用前面學到的基本數據類型是無法實現的。有沒有一種學生的數據類型可以使用?系統沒有定義,就只能自行設計了。這就是本文要總結的第一個核心知識點:結構體。在C語言中結構體是對數據類型的無限擴展。
  • C語言怎麼樣?今天聊聊C語言的發展史!
    > 可以看到基本都是用彙編寫的(文件名後綴.s)。為什麼用基本這個詞呢?因為,在系統裡面有一部分命令是用B語言寫的。 4.4 Unix與C語言 從C語言在Unix V2版本出現之後,Unix的V3版本開始,已經可以在Unix內核中見到大量C語言編寫的代碼。 據裡奇所說:到1973年初,現代C的基本知識已經完成。
  • 最全的C語言基礎知識都在這了
    我們用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,加深小夥伴們對C語言的認識。:main() { }這是c語言的基本結構,任何一個程序都必須包含這個結構。2、main()----在c語言中稱之為「主函數」,一個c程序有且僅有一個main函數,任何一個c程序總是從main函數開始執行,main函數後面的一對圓括號不能省略。3、被大括號{ }括起來的內容稱為main函數的函數體,這部分內容就是計算機要執行的內容。
  • 「C語言從入門到入土」必備C語言基礎筆記整理
    一、C語言1、什麼是C語言?C語言是人寫機器看的一種語言。C語言是高級語言中的低級語言。C語言貼近硬體。C語言的入門學習比較簡單。彙編語言——>B語言——>C語言2、C語言的特性首先C語言就是你的女朋友。無論你讓它幹什麼,它絕對不會自己找到方法。
  • 二級c語言考試改革_計算機二級考試c語言考試題型 - CSDN
    今天,想給大家介紹一下計算機二級考試的相關問題,礙於本人寫作水平有限,還望各位大佬指點。教育招生考試院的官網上在12月10日已經發布了明年3月份計算機等級考試的通告。
  • C語言中的「不透明」指針是什麼,它有什麼用呢?
    C語言的「不透明指針」坦誠地說,我比較討厭向初學者說一些非常「專業」的名詞,這不利於理解概念的本質,也容易讓一些初學者產生畏懼的心理。「不透明指針」就是其中之一,其實它並不是多難的概念,甚至都不是什麼新概念,只是一些基本知識的用法而已,只不過取了個非常裝x的名字。
  • R語言中使用scan函數讀取文件中的數據
    (1)scan("student.txt", what="c") #以字符串的格式讀取數據(2)scan("student.txt", what="c", nlines=3) #讀取3行(3)scan("student.txt", what="c", skip=1) #忽略第1行
  • C/C+編程筆記:零基礎講解C語言——基本字符集
    過了這部分,後面的學習就會變得有意思一些了 基本語法 >C語言的基本字符集 1. 在C語言中,符號常量,變量,數組,函數等都需要一定的名稱,我們把這種名稱成為標識符。也就是說,標識符我們為C語言中出現的所有元素取得名字。
  • C語言基礎知識學習(一)
    原先的C89標準中只有32個關鍵字然後在1999年之後進行了兩次技術修正,新出臺了C99標準新增加了5個關鍵字 分別是:restrict, inline, _Complex, _Imaginary, _Boolb) 預定義標識符包括C語言提供的庫函數
  • 剖析C語言中a=a+++a的無聊問題
    這種純屬C語言 「二」 級的問題應該是從a+++a引申出來的吧。於是乎兄弟姐妹們開始討論它的運算結果,以及改如何理解。更有人寫出(a++)+(++a) a+(++(++a)) ((a++)++)+a這樣的東西,問應該如何計算。我表示鴨梨很大...
  • C語言|文件指針、fopen()、fscanf()、fclose()
    這是一個簡單的文件系統fscanf()函數的功能是把磁碟文件數據讀出保存到變量(內存)每一個文件都有自己的FILE結構和文件緩衝區exit(0)是系統標準函數,作用是關閉所有打開的文件,並終止程序的執行。
  • ARM中ADS環境下C語言和彙編語言混合編程及示例
    下面是一個例子來說明如何在C中內嵌彙編語言  C語言文件.c httphi.baidu.comprocatlaw  #include stdio.h  void my_strcpy(const char src, char dest){  char ch;  __asm{  loop
  • C語言程序設計試題與答案B卷
    每小題1分,共20分)1、一個C語言程序是由( )。A)本程序的main函數開始,到main函數結束 B)本程序文件的第一個函數開始,到本程序文件的最後一個函數結束C)本程序的main函數開始,到本程序文件的最後一個函數結束D)本程序文件的第一個函數開始,到本程序main函數結束
  • 信息學競賽需要掌握哪些程式語言知識
    一、程式語言選擇信息學聯賽主要考的是程序設計,選擇合適的參賽程式語言是首要選擇,信息學競賽的程式語言有三種:pascal語言、c語言、c++語言,pascal語言將於2022年停止在信息學競賽中使用,所以現在學習pascal語言意義不大,剩下的只有選擇c語言和c++語言,實際考試中絕大多數考生選擇
  • 開課吧:C語言現在的就業形勢如何?前景怎麼樣?
    根據近幾年的程序語言排行榜來看,C語言的排名一直很靠前,這是為什麼呢?同時 C 語言也可以像彙編語言一樣對位、字節和地址進行操作, 而這三者是計算機最基本的工作單元。第二:C語言的出現本來就是為了代替彙編從事底層操作,而目前現在所出的很多語言大都不能進行底層操作,這樣就使得C語言的地位不可動搖。
  • 深入理解C語言
    導讀:Dennis Ritchie過世了,他發明了C語言,一個影響深遠並徹底改變世界的計算機語言。一門經歷40多年的到今天還長盛不訓的語言,今天很多語言都受到C的影響,C++,Java,C#,Perl,PHP,Javascript等等。但是,你對C了解嗎?相信你看過本站的《C語言的謎題》還有《誰說C語言很簡單?》。
  • 自考「C語言程序設計」模擬試題九
    A.d&ef          B.6a            C.z4x5c           D.a3/b4  3.在C語言中,存儲一個字符型、整型、單精度實型變量所需的空間是()。  int  x;   char  y;   char  z[20];  A. scanf(「%d%c%c」,&x,&y,&z);     B. scanf(「%d%c%s」,&x,&y,&z);  C. scanf(「%d%c%c」,&x,&y,z);
  • 自考「C語言程序設計」模擬試題十四
    7.C語言中用於結構化程序設計的三種基本結構是(     )  A.if、switch、break  B.if   while   for  C.while   do- while   for  D.順序結構、選擇結構、循環結構  8.以下敘述中不正確的是(     )  A.在不同的函數中可以使用相同名字的變量
  • 計算機二級考試C語言高頻考點
    一,C語言概述C語言基礎知識1.C語言的構成(1)源程序由函數構成,每個函數完成相對獨立的功能(2)每個源程序中必須有且只能有一個主函數可以放在任何位置(5)注釋:括在「/*」與「*/」之間,沒有空格,允許出現在程序的任何位置(6)預處理命令:以「#」開頭的語句2.C程序的生成過程(1)C程序是先由源文件經編譯生成目標文件,然後經過連接生成可執行文件。
  • r語言檢驗序列相關 - CSDN
    時間序列概述按照時間的順序把隨機事件變化發展的過程記錄下來就構成了一個時間序列對時間序列進行觀察、研究,找尋它變化發展的規律,預測它將來的走勢就是時間序列分析時間序列建模基本步驟:2,col=1)> abline(h=c(6261.21,5857.61), lty=3, col=1,lwd=2)# 繪製 2014 年 7 月至 2017 年 5 月北京市商品住宅施工面積累計值的自相關圖> acf(CCA) #虛線為自相關函數的 2 倍標準差位置.