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