static定義的函數(shù),怎么使用?
靜態(tài)定義了變量的使用:
一、靜態(tài)局部變量:
1.靜態(tài)類的內(nèi)部變量和auto自動(dòng)變量一樣是特定函數(shù)的局部變量(即沒(méi)有靜態(tài)聲明的局部變量),即變量只能在定義它的函數(shù)中使用,兩個(gè)變量的作用域是一樣的;兩者的區(qū)別在于,auto自動(dòng)變量會(huì)隨著函數(shù)被調(diào)用和退出而存在和消失,而靜態(tài)局部變量不會(huì),無(wú)論其所在的函數(shù)是否被調(diào)用,它都會(huì)一直存在;然而,雖然變量仍然存在,但它不能被使用。如果再次調(diào)用定義它的函數(shù),它可以繼續(xù)使用,并且保存上次調(diào)用后留下的值。換句話說(shuō),靜態(tài)類型的內(nèi)部變量是一個(gè)只能在特定函數(shù)中使用,但總是占用存儲(chǔ)空間的變量。
2.如果在定義靜態(tài)變量的時(shí)候初始化了函數(shù)體,那么以后程序就不會(huì)初始化了(函數(shù)中出現(xiàn)的靜態(tài)變量基本類型的初始化語(yǔ)句只會(huì)在第一次調(diào)用時(shí)執(zhí)行)。但是,將初始值賦給自動(dòng)變量是在調(diào)用函數(shù)時(shí)完成的,每次調(diào)用函數(shù)時(shí)再次賦予初始值相當(dāng)于執(zhí)行一個(gè)賦值語(yǔ)句。
3.靜態(tài)局部變量的初始化表達(dá)式必須是常量或常量表達(dá)式。即使局部靜態(tài)變量定義時(shí)沒(méi)有初始值,系統(tǒng)也會(huì)自動(dòng)賦初值0(對(duì)于數(shù)值型變量)或空字符(對(duì)于字符型變量);靜態(tài)變量的初始值是0。對(duì)于自動(dòng)變量auto,如果沒(méi)有賦值初始值,它的值將是一個(gè)不確定的值。
4.當(dāng)一個(gè)函數(shù)被多次調(diào)用,并且需要在調(diào)用之間保留一些變量的值時(shí),可以考慮靜態(tài)局部變量。雖然全局變量也可以達(dá)到上述目的,但是全局變量有時(shí)會(huì)引起意想不到的副作用,所以使用局部靜態(tài)變量還是合適的。
注意:局部靜態(tài)變量占用內(nèi)存時(shí)間長(zhǎng),可讀性差,除非必要,盡量避免使用局部靜態(tài)變量。
第二,靜態(tài)全局變量
全局變量(外部變量)的描述以static開(kāi)頭,形成靜態(tài)全局變量。
全局變量本身就是靜態(tài)存儲(chǔ)方法,靜態(tài)全局變量也是靜態(tài)存儲(chǔ)方法。
兩者在存儲(chǔ)上沒(méi)有區(qū)別。
雖然兩者的區(qū)別在于:
1.非靜態(tài)全局變量的范圍是整個(gè)源程序。當(dāng)一個(gè)源程序包含多個(gè)源文件時(shí),非靜態(tài)全局變量在所有源文件中都有效。
2.靜態(tài)全局變量限制了它的作用域,即它只在定義該變量的源文件中有效,不能在同一源程序的其他源文件中使用。
由于靜態(tài)全局變量的作用域僅限于一個(gè)源文件,并且只能由源文件中的函數(shù)共享,因此可以避免在其他源文件中引起錯(cuò)誤。
從上面的分析可以看出
把局部變量改成靜態(tài)變量就改變了它的存儲(chǔ),也就是改變了它的生存期。
保持當(dāng)一個(gè)全局變量被改為靜態(tài)變量時(shí),它的作用域也隨之改變,這就限制了它的使用范圍。
所以靜電在不同地方的作用是不一樣的。應(yīng)該引起重視。
靜態(tài)定義了變量的使用:
一、靜態(tài)局部變量:
1.靜態(tài)類的內(nèi)部變量和auto自動(dòng)變量一樣是特定函數(shù)的局部變量(即沒(méi)有靜態(tài)聲明的局部變量),即變量只能在定義它的函數(shù)中使用,兩個(gè)變量的作用域是一樣的;兩者的區(qū)別在于,auto自動(dòng)變量會(huì)隨著函數(shù)被調(diào)用和退出而存在和消失,而靜態(tài)局部變量不會(huì),無(wú)論其所在的函數(shù)是否被調(diào)用,它都會(huì)一直存在;然而,雖然變量仍然存在,但它不能被使用。如果再次調(diào)用定義它的函數(shù),它可以繼續(xù)使用,并且保存上次調(diào)用后留下的值。換句話說(shuō),靜態(tài)類型的內(nèi)部變量是一個(gè)只能在特定函數(shù)中使用,但總是占用存儲(chǔ)空間的變量。
2.如果在定義靜態(tài)變量的時(shí)候初始化了函數(shù)體,那么以后程序就不會(huì)初始化了(函數(shù)中出現(xiàn)的靜態(tài)變量基本類型的初始化語(yǔ)句只會(huì)在第一次調(diào)用時(shí)執(zhí)行)。但是,將初始值賦給自動(dòng)變量是在調(diào)用函數(shù)時(shí)完成的,每次調(diào)用函數(shù)時(shí)再次賦予初始值相當(dāng)于執(zhí)行一個(gè)賦值語(yǔ)句。
3.靜態(tài)局部變量的初始化表達(dá)式必須是常量或常量表達(dá)式。即使局部靜態(tài)變量定義時(shí)沒(méi)有初始值,系統(tǒng)也會(huì)自動(dòng)賦初值0(對(duì)于數(shù)值型變量)或空字符(對(duì)于字符型變量);靜態(tài)變量的初始值是0。對(duì)于自動(dòng)變量auto,如果沒(méi)有賦值初始值,它的值將是一個(gè)不確定的值。
4.當(dāng)一個(gè)函數(shù)被多次調(diào)用,并且需要在調(diào)用之間保留一些變量的值時(shí),可以考慮靜態(tài)局部變量。雖然全局變量也可以達(dá)到上述目的,但是全局變量有時(shí)會(huì)引起意想不到的副作用,所以使用局部靜態(tài)變量還是合適的。
注意:局部靜態(tài)變量占用內(nèi)存時(shí)間長(zhǎng),可讀性差,除非必要,盡量避免使用局部靜態(tài)變量。
第二,靜態(tài)全局變量
全局變量(外部變量)的描述以static開(kāi)頭,形成靜態(tài)全局變量。
全局變量本身就是靜態(tài)存儲(chǔ)方法,靜態(tài)全局變量也是靜態(tài)存儲(chǔ)方法。
兩者在存儲(chǔ)上沒(méi)有區(qū)別。
雖然兩者的區(qū)別在于:
1.非靜態(tài)全局變量的范圍是整個(gè)源程序。當(dāng)一個(gè)源程序包含多個(gè)源文件時(shí),非靜態(tài)全局變量在所有源文件中都有效。
2.靜態(tài)全局變量限制了它的作用域,即它只在定義該變量的源文件中有效,不能在同一源程序的其他源文件中使用。
因?yàn)殪o態(tài)全局變量的作用域僅限于一個(gè)源文件,并且只能由源文件中的函數(shù)共享,所以可以避免在其他源文件中使用。文件中出現(xiàn)錯(cuò)誤。
把局部變量改成靜態(tài)變量就改變了它的存儲(chǔ),也就是改變了它的生存期。
將全局變量更改為靜態(tài)變量會(huì)改變其范圍并限制其使用。
所以靜電在不同地方的作用是不一樣的。應(yīng)該引起重視。
2021年9月計(jì)算機(jī)二級(jí)c語(yǔ)言考試大綱?
2021年全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言程序設(shè)計(jì)考試大綱2021版
基本要求:
1.熟悉VisualC6。0集成開(kāi)發(fā)環(huán)境。
2.掌握結(jié)構(gòu)化編程的方法,具有良好的編程風(fēng)格。
3.掌握編程中簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)和算法,能讀懂簡(jiǎn)單的程序。
4.在VisualC6的集成環(huán)境下。0,我能編寫簡(jiǎn)單的C程序,具備基本的程序改錯(cuò)能力。
考試內(nèi)容:
一、C語(yǔ)言程序的結(jié)構(gòu)
1.程序的組成,主要功能和其他功能。
2.頭文件、數(shù)據(jù)描述、函數(shù)的開(kāi)始和結(jié)束標(biāo)記以及程序中的注釋。
3.源程序的編寫格式。
4.c語(yǔ)言的風(fēng)格。
二、數(shù)據(jù)類型及其操作
1.Cs數(shù)據(jù)類型:基本類型、構(gòu)造類型、指針類型、無(wú)值類型及其定義方法。
2.C運(yùn)算符的類型、運(yùn)算優(yōu)先級(jí)和組合。
3.不同類型數(shù)據(jù)之間的轉(zhuǎn)換和操作。
4.c表達(dá)式類型賦值表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、逗號(hào)表達(dá)式和求值規(guī)則。
二級(jí)考試公共基礎(chǔ)知識(shí)大綱及樣題見(jiàn)高等教育出版社出版的《《全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)教程———公共基礎(chǔ)知識(shí)2013年版》》附錄。
第三,基本句
1.表達(dá)式語(yǔ)句,空語(yǔ)句,復(fù)合語(yǔ)句。
2.調(diào)用輸入輸出函數(shù),正確輸入數(shù)據(jù),正確設(shè)計(jì)輸出格式。
第四,選擇結(jié)構(gòu)化編程
1.使用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)。
2.用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。
3.選擇結(jié)構(gòu)的嵌套。
五、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
1.對(duì)于循環(huán)結(jié)構(gòu)。
2.while和do-while循環(huán)結(jié)構(gòu)。
3.繼續(xù)語(yǔ)句和中斷語(yǔ)句。
4.循環(huán)嵌套。
不及物動(dòng)詞數(shù)組的定義和引用
1.一維數(shù)組和二維數(shù)組的定義和初始化以及數(shù)組元素的引用。
2.字符串和字符數(shù)組。
七、功能
1.庫(kù)函數(shù)的正確調(diào)用。
2.函數(shù)的定義方法。
3.函數(shù)的類型和返回值。
4.形式參數(shù)和真實(shí)參數(shù),參數(shù)值的傳遞。
5.函數(shù)的正確調(diào)用、嵌套調(diào)用和遞歸調(diào)用。
6.局部變量和全局變量。
7.變量的存儲(chǔ)類別:自動(dòng)、靜態(tài)、寄存器、外部、變量的作用域和生存期。
八、編譯預(yù)處理
1.宏定義并調(diào)用不帶參數(shù)的宏和帶參數(shù)的宏。
2."該文件包含冶金處理。
九、指針
1.地址和指針變量、地址運(yùn)算符和地址運(yùn)算符的概念。
2.一維和二維數(shù)組和字符串的地址,以及指向變量、數(shù)組、字符串、函數(shù)和結(jié)構(gòu)的指針。
定義。通過(guò)指針引用上述類型的數(shù)據(jù)。
3.使用指針作為函數(shù)參數(shù)。
4.返回地址值的函數(shù)。
5.指針數(shù)組,指針對(duì)指針。
X.結(jié)構(gòu)手段"結(jié)構(gòu)熔煉和社區(qū)手段"聯(lián)合冶煉公司;"
1.用typedef解釋一個(gè)新類型。
2.結(jié)構(gòu)的定義和成員的公共體類型數(shù)據(jù)和引用。
3.結(jié)構(gòu)形成鏈表,建立單向鏈表,輸出、刪除、插入節(jié)點(diǎn)數(shù)據(jù)。
十一、位操作254
1.位運(yùn)算符的含義和用法。
2.簡(jiǎn)單的位操作。
十二。文件操作
只需要緩沖文件系統(tǒng),即高級(jí)磁盤I/O系統(tǒng),不需要非標(biāo)準(zhǔn)緩沖文件系統(tǒng),即低級(jí)磁盤I/O系統(tǒng)。
1.文件類型指針。
2.打開(kāi)和關(guān)閉文件fopen,fclose。
3.文件讀寫:fputc,fgetc,fputs,fgets,fread,fwrite,fprintf,fscanf函數(shù)的應(yīng)用,rewind,fseek函數(shù)的應(yīng)用。
考試方法:
機(jī)考,考試時(shí)長(zhǎng)120分鐘,滿分100分。
問(wèn)題類型和分?jǐn)?shù):
選擇題40分包括公共基礎(chǔ)知識(shí)10分,操作題60分包括填空題、改錯(cuò)題和編程題。
2考試環(huán)境
VisualC6。0。