freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

c語言程序設(shè)計筆記(編輯修改稿)

2024-10-14 03:58 本頁面
 

【文章內(nèi)容簡介】 .................................................................第一章 C語言概述 C程序結(jié)構(gòu)特點16C程序的基本構(gòu)件——函數(shù)。一個函數(shù)由函數(shù)首部和函數(shù)體兩部分構(gòu)成。216。 函數(shù)首部一般包括函數(shù)類型、函數(shù)名、函數(shù)參數(shù)等。216。 函數(shù)體一般包括聲明部分和執(zhí)行部分。其中:在聲明部分中定義所用到的變量;執(zhí)行部分則由若干個語句組成。C程序只有一個main函數(shù),且總是從main函數(shù)開始執(zhí)行。C語言語句必須以“;”結(jié)束。用/**/作為注釋。C編譯器一般自頂向下順序編譯C源程序,如果被調(diào)函數(shù)定義在主調(diào)函數(shù)之后位置時,要在主調(diào)函數(shù)前,給出被調(diào)函數(shù)的原型說明。以便編譯器在編譯被調(diào)函數(shù)的調(diào)用語句時,對調(diào)用語句進(jìn)行參數(shù)檢查。如果不進(jìn)行原型說明,則無法通過編譯檢查。原型說明:類型說明 函數(shù)名(參數(shù)類型,參數(shù)類型,??)頭文件——頭文件包含了C語言的標(biāo)準(zhǔn)函數(shù)庫的原型說明。C語言通過使用include 預(yù)處理命令,將庫函數(shù)的原型說明插入到源文件中。 C程序上機步驟171;2;連接——將目標(biāo)程序和庫函數(shù)及其他目標(biāo)程序連接起來,生產(chǎn)可執(zhí)行文件,;執(zhí)行。結(jié)構(gòu)體、共用體、枚舉型。指針類型:用于存儲地址的一類數(shù)據(jù)類型??疹愋停壕幾g器根據(jù)變量的數(shù)據(jù)類型,給變量分配存儲單元。 常量與變量48符號常量——符號常量在其作用域內(nèi)不能改變,也不能被賦值。define 符號常量(大寫)常量變量——變量由變量名和變量值標(biāo)識。數(shù)據(jù)類型 變量;216。 變量名實際上是一個符號地址,編譯連接程序時給每個變量名分配一個內(nèi)存地址,當(dāng)程序訪問變量值時,實際上是通過變量名找到相應(yīng)的內(nèi)存地址,從其存儲單元中讀取數(shù)據(jù)。 基本類型整形數(shù)據(jù)在內(nèi)存中的存放,是以補碼形式存放的。實型數(shù)據(jù):單精度 雙精度。216。 在內(nèi)存中以指數(shù)形勢存放。216。 若數(shù)據(jù)超過有效位,則超過C語言規(guī)定有效位的數(shù)據(jù)將被舍去,故產(chǎn)生誤差。字符型數(shù)據(jù):用一個字節(jié)存儲單元存儲。即將字符的ASCII碼存儲到內(nèi)存單元中。216。 用單引號括起來的一個字符。216。 轉(zhuǎn)義字符——特殊字符常量或者控制字符常量,它們都以“”開頭。216。 Char、unsigned char區(qū)別:char用7位數(shù)表示,最大表示編碼為127的字符;unsigned char用8位數(shù)表示,最大表示編碼為255的字符。216。 字符數(shù)據(jù)與整型數(shù)據(jù)可以相互賦值。216。 字符數(shù)據(jù)可以以字符數(shù)據(jù)輸出,也可以以整型數(shù)據(jù)形式輸出。字符串常量:C語言中,必須是用字符數(shù)組來保存字符串常量。在內(nèi)存中順序存儲。216。 用一對雙引號括起來的字符序列。(2)一般把建立存儲空間的聲明稱為變量定義,把不需要建立存儲空間的聲明成為變量聲明。 不同類型數(shù)據(jù)間的混合運算216。 不同類型數(shù)據(jù)進(jìn)行混合運算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型,按照類型級別由低到高(char,short—int——unsigned—long—double;float—double)的順序進(jìn)行轉(zhuǎn)換。216。 強制類型轉(zhuǎn)換——(類型名)表達(dá)式。強制類型轉(zhuǎn)換也就是將存儲數(shù)據(jù)的內(nèi)存單元強制轉(zhuǎn)換為另一種數(shù)據(jù)類型的單元大小。即強制將存放數(shù)據(jù)的內(nèi)存單元改變。216。 賦值時進(jìn)行類型轉(zhuǎn)換:將數(shù)據(jù)復(fù)制給變量時,將會將數(shù)據(jù)強制轉(zhuǎn)換為要賦值變量的類型。一般短類型轉(zhuǎn)換為長類型時,進(jìn)行符號擴(kuò)展;長類型轉(zhuǎn)換為短類型時,僅賦值低位,難以保證數(shù)據(jù)的正確性。 函數(shù)的調(diào)用過程(補充)216。 C函數(shù)其實就是一個程序模塊。216。 C函數(shù)在編譯時,單獨編譯成一個指令模塊,在函數(shù)模塊開始處定義保護(hù)現(xiàn)場指令,將用到的CPU寄存器壓入堆棧。在返回時定義了恢復(fù)現(xiàn)場指令,將堆棧數(shù)據(jù)恢復(fù)到CPU寄存器。216。 在調(diào)用函數(shù)時,一般利用堆棧傳遞輸入?yún)?shù);利用EAX傳遞輸出參數(shù),注意在函數(shù)調(diào)用完成后,要維持堆棧平衡,且函數(shù)返回輸出參數(shù)在EAX中,在使用輸出參數(shù)前,不要改變EAX的值。第四章 最簡單的C程序設(shè)計——順序程序設(shè)計77 字符數(shù)據(jù)的輸入輸出C語言沒有輸入輸出語句,IO操作通過調(diào)用系統(tǒng)函數(shù)實現(xiàn)。在程序的開頭,要有:include “”或 include ,預(yù)定義語句,用來引用頭文件,在編譯時將頭文件中的函數(shù)原型聲明添加到源文件中。 輸入輸出語句數(shù)組——數(shù)組必須先定義后引用。靜態(tài)數(shù)組變量定義時編譯器自動初始化數(shù)據(jù)元素為0,動態(tài)數(shù)組變量在程序執(zhí)行時分配存儲空間,在未被賦值初始化之前其值隨機。C語言只能逐個引用數(shù)組元素,不能一次引用整個數(shù)組。數(shù)組引用是“數(shù)組名+下標(biāo)”引用,數(shù)組下標(biāo)均為整數(shù)。如a[2]。 二維數(shù)組數(shù)組元素為數(shù)組。在內(nèi)存中,C語言的二維數(shù)組中數(shù)組元素的存放順序是按行存放的。二維數(shù)組引用是“數(shù)組名+下標(biāo)+下標(biāo)”。如a[1][2]。 字符串——字符數(shù)組一般用來標(biāo)識字符串結(jié)尾。占用一個字符變量空間。用字符串賦值字符數(shù)組時,C編譯器在字符串后自動加賦給字符數(shù)字。字符數(shù)組可以一次引用整個字符串?dāng)?shù)組。如整個字符串(數(shù)組)的輸入輸出,用%s格式,且在輸入字符數(shù)組時,用數(shù)組名代表數(shù)組的首地址,對于二維數(shù)組,僅僅寫行下標(biāo)不寫列下標(biāo),也可以代表給行數(shù)組的首地址。在用%s輸入輸出字符串?dāng)?shù)組時,遇到結(jié)束。 字符串處理函數(shù) include gets(字符數(shù)組名)從鍵盤輸入一個字符串(以回車結(jié)束),并返回字符數(shù)組的起始地址。如get(str)。puts(字符數(shù)組名/字符串)將數(shù)組中的字符串(結(jié)尾的字符序列)輸出到終端上,輸完換行。如puts(str),puts(“ok”)。strcpy(目的字符數(shù)組1名,源字符串/字符數(shù)組2名)拷貝時,將“”一起拷貝過去。strcat(字符數(shù)組1名,字符串/字符數(shù)組2名)將字符串/字符數(shù)組2連接到字符數(shù)組1中。216。 在某個復(fù)合語句中定義的變量。全局變量——在函數(shù)之外定義的變量。有效范圍是從定義變量的位置開始到源文件結(jié)束。 變量的存儲類別變量的存儲類別,即生存期。內(nèi)存中供用戶使用的存儲空間包括:程序區(qū)、靜態(tài)存儲區(qū)、動態(tài)存儲區(qū)。靜態(tài)存儲區(qū)——在編譯時分配空間,在程序運行完后才釋放存儲空間。存儲靜態(tài)局部變量和全局變量。216。 局部靜態(tài)變量在編譯時賦初值,在執(zhí)行時可改變該值,但該存儲空間一直保存到程序結(jié)束。216。 定義局部靜態(tài)變量,如果沒有賦初值,編譯時會自動賦默認(rèn)初值。216。 局部靜態(tài)變量只能在定義它的函數(shù)中使用。216。 全局變量都是靜態(tài)的。216。 利用extern 外部變量方式表示變量的定義在別的文件中,提示編譯器遇到此變量時,在其他模塊中尋找其定義。而函數(shù)則是利用函數(shù)原型來聲明。216。 用static 關(guān)鍵字說明一個不能在其他源文件中引用的全局變量。即靜態(tài)全局變量在聲明它的整個文件都是可見的,但是在文件之外是不可見的。動態(tài)存儲區(qū)——僅在在執(zhí)行時分配空間,用完后釋放存儲空間。存放自動變量和形式參數(shù)。216。 寄存器變量——用register關(guān)鍵字說明。寄存器變量對寄存器的占用是動態(tài)的。第九章 預(yù)處理命令197 預(yù)編譯命令作用預(yù)編譯命令主要完成宏定義、文件包含、條件編譯三種功能。宏定義——指用一個指定的標(biāo)識符(名字)來代表一個字符串。在預(yù)編譯時,將宏名替代成字符串的過程稱為宏展開。如:216。 define PI 定義宏, undef PI終止宏定義的作用域。216。 define V(a,b,c)a*b*c 定義帶參數(shù)的宏。當(dāng)宏展開時,將引用宏名語句中的實參字符串代替宏定義的形參字符串。int v =V(2,3,4)則宏展開后為:int v= 2*3*4;文件包含——指一個源文件可以將另一個源文件的全部內(nèi)容包含進(jìn)來。如: 216。 include “文件名”或include 216。 編譯預(yù)處理時,將包含文件的全部內(nèi)容復(fù)制到源文件中。在編譯時作為一個源程序來編譯。條件編譯——在預(yù)編譯處理時,確定編譯時要編譯的部分。如:0而數(shù)組名的值不可以改變。函數(shù)的指針專門用來存放函數(shù)的入口地址,當(dāng)把函數(shù)的地址賦值給它時,它就指向該函數(shù)的入口地址。聲明格式:數(shù)據(jù)類型(*指針變量名)()如:int(*P)();賦值格式:p=max; 注max為定義的函數(shù)名;函數(shù)名代表該函數(shù)的入口地址。引用格式:c=(*p)(a,b);等價——c=max(a,b);只能將變量已分配的地址賦值給指針變量,不能直接將整數(shù)賦值給指針變量。指針變量可以有null值,防止指針誤作用。第十一章 結(jié)構(gòu)體270 結(jié)構(gòu)體270作用——將不同類型的數(shù)據(jù)組合成一個有機的整體。結(jié)構(gòu)體的定義——結(jié)構(gòu)體是一種數(shù)據(jù)結(jié)構(gòu),按照某種規(guī)則定義,將若干個不同數(shù)據(jù)類型(也可相同)的數(shù)據(jù)項的組合成的一個有機整體。聲明結(jié)構(gòu)體類型的形式:struct 結(jié)構(gòu)體類型名字 {成員列表}; 216。 成員列表形式:類型符 成員名如:int num; 聲明結(jié)構(gòu)體類型變量的方法271先定義結(jié)構(gòu)體類型:struct 結(jié)構(gòu)體類型名字 {成員列表};再定義結(jié)構(gòu)體變量:struct結(jié)構(gòu)體類型名字 結(jié)構(gòu)體變量名??稍诙x結(jié)構(gòu)體類型時,定義結(jié)構(gòu)體類型變量。struct 結(jié)構(gòu)體類型名字 {成員列表}結(jié)構(gòu)體類型變量1,結(jié)構(gòu)體類型變量2,??; 結(jié)構(gòu)體變量引用273不能將一個結(jié)構(gòu)體變量作為一個整體進(jìn)行輸入輸出,只能對結(jié)構(gòu)體變量成員分別賦值。結(jié)構(gòu)體變量成員引用方式:如果結(jié)構(gòu)體變量成員是另一個結(jié)構(gòu)體變量,則要用若干個成員運算符,一級一級找到最低一級的成員。 共用體 297共用體指將幾種不同類型的變量存儲在同一段內(nèi)存單元中。共用體變量的存儲單元大小等于最長成員變量所占內(nèi)存的長度共用體變量中起作用的是最后一次存放成員。共用體類型聲明方式:union 公用體類型名稱 {成員變量列表};共用體變量聲明方式:(1)union 公用體類型名稱 {成員列表}共用體變量;(2)先聲明共用體類型,然后聲明共用體變量,union 公用體類型名稱 共用體變量。 枚舉類型301枚舉類型——指將變量的值一一列舉出來,變量的值只限于列舉出來的值的范圍內(nèi)的一個。聲明枚舉類型:enum 枚舉類型名稱 {枚舉常量列表};聲明枚舉變量:enum 枚舉類型名稱 枚舉類型變量;216。 普通文件——指磁盤文件。從操作系統(tǒng)的角度看:每一個與主機相關(guān)聯(lián)的輸入輸出設(shè)備都可看作一個文件。(1)根據(jù)文件的組織形式分為:順序存取文件 和 隨機存取文件。(2)根據(jù)文件的存儲形式分為:ASCII文件 和 二進(jìn)制文件。 C語言對文件的處理方法319 C語言中對文件的存取是以字符(字節(jié))為單位的,一個輸入輸出流就是一個字節(jié)流或二進(jìn)制流。文件的存儲方式分為緩沖文件系統(tǒng)和非緩沖文件系統(tǒng)。區(qū)別是緩沖文件系統(tǒng)是系統(tǒng)自動開辟緩沖區(qū),非緩沖文件系統(tǒng)是由程序為每個文件設(shè)定緩沖區(qū)。ANSI C標(biāo)準(zhǔn)只采用 緩沖文件系統(tǒng) 來處理文件。 文件結(jié)構(gòu)體類型321 緩沖文件系統(tǒng)中,每個被使用的文件都在內(nèi)存中開辟一個FILE結(jié)構(gòu)體類型的區(qū),用來存放文件的有關(guān)信息(文件名字、文件狀態(tài)、當(dāng)前位置、緩沖區(qū)等有關(guān)信息),F(xiàn)ILE結(jié)構(gòu)體類型原型: 216。 typedef struct{short level。/*緩沖區(qū)“滿”或“空”的程度*/unsigned flags。/*文件狀態(tài)標(biāo)志*/char fd。/*文件描述符*/unsigned char hold。/*如無緩沖區(qū)不讀取字符*/short bsize。/*緩沖區(qū)的大小*/unsigned char *buffer。/ *數(shù)據(jù)緩沖區(qū)的位置*/unsigned char *curp。/*指針,當(dāng)前的指向*/unsigned istemp。/*臨時文件,指示器*/short token。/*用于有效性檢查*/}FILE; 文件結(jié)構(gòu)體數(shù)組和指針321 FILE *fp——聲明了一個指向FILE類型結(jié)構(gòu)體的指針變量。buffer:是一個指針。對fread 來說,它是讀入數(shù)據(jù)的存放地址。對fwrite來說,是要輸出數(shù)據(jù)的地址(均指起始地址)。size:要讀寫的字節(jié)數(shù)。count: 要進(jìn)行讀寫多少個size字節(jié)的數(shù)據(jù)項。fp:文件型指針。格式化讀寫函數(shù):216。 fprintf(文件指針,格式字符串,輸出表列); 216。 fscanf(文件指針,格式字符串,輸入表列);注意:用fprintf和fscanf函數(shù)對磁盤文件讀寫,使用方便,容易理解,但由于在輸入時要將ASCII碼轉(zhuǎn)換為二進(jìn)制形式,在輸出時又要將二進(jìn)制形式轉(zhuǎn)換成字符,花費時間比較多。因此,在內(nèi)存與磁盤頻繁交換數(shù)據(jù)的情況下,最好不用fprintf和fscanf函數(shù),而用fread和fwrite函數(shù)。以“字”或者整數(shù)為單位讀寫函數(shù): 216。 putw(int i,FILE * fp); 216。 int i = getw(FILE * fp);以“字符串”為單位讀寫文件的函數(shù):216。 fgets(str,n,fp)。從fp指向的文件讀出n1個字符,在最后加一個’’。返回值:str的首地址。如果遇到EOF則讀入結(jié)束。216。 fputs(“china”,fp)。把字符串寫入到fp指向的文件。第一個參數(shù)可以是字符串常量、字符數(shù)組名或字符型指針。字符串末尾的′\0′不輸出。 文件的定位333將文件當(dāng)前的位置指針重新返回到文件的開頭位置:無返回值。216。 rewind(fp);執(zhí)行后,將文件的位置指針重新定位到文件的開頭。隨機讀寫:改變文件的位置指針,一般用于二進(jìn)制文件。216。 fseek(文件類型指針,位移量,起始點);無返回值。起始點:文件開頭SEEK_SET0文件當(dāng)前位置SEEK_CUR文件末尾SEEK_ENDputw()把一個字輸出到指定文件
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1