最新国产在线不卡AV,国产又爽又黄的视频免费看,精品综合久久久久久97,日韩欧美高清中文字幕免费一区二区

            科普

            關(guān)于c語言程序設(shè)計基礎(chǔ)知識 IT知識

            電腦知識優(yōu)爾供稿

            C語言是一門面向過程的、抽象化的通用程序設(shè)計語言,廣泛應(yīng)用于底層開發(fā)。C語言能以簡易的方式編譯、處理低級存儲器。下面是9252兒童網(wǎng)小編整理了c語言程序設(shè)計基礎(chǔ)知識,來欣賞和學習吧,希望能對大家有所幫助。

            C語言程序設(shè)計知識

            C語言程序的構(gòu)成和格式

            #include

            Main()

            {

            double a,b,area;

            a=1.2,b=3.6; /*將矩形的兩條邊長分別賦給a和b 變量*/

            area=a*b;

            printf(“a=%f,b=%f,area=%f\n”,a,b,area);/*輸出矩形的兩條邊長和面積*/

            }

            #include :每當寫一個程序時,第一條語句永遠是這個語句,因為一個程序可以沒有輸入但必須要有輸出,而這個語句就是控制輸入輸出的。所以任何一個程序都必須由這個語句開始。

            main():是一個程序的主函數(shù)。一個程序是由多個函數(shù)組成的,而任何一個程序都要有一個主函數(shù),有且只有一個。任何程序都是由主函數(shù)開始執(zhí)行的。

            {}:它們兩個必須要成對出現(xiàn),它們中的語句是主函數(shù)體。包括定義部分和執(zhí)行部分。它們中的語句,每一條必須由;結(jié)束。;是C語句的一個組成部分而不是一個結(jié)束標識。

            /**/:注釋符一定要成對出現(xiàn),不允許嵌套。兩個符號間的語句不被執(zhí)行。

            例年真題:

            #include

            main()

            {

            Int a;

            A=5; /*給A變量賦值5

            A+=3; 再賦值后再加3*/

            Printf(“%d”,a);

            }

            (11)以下敘述中正確的是( C )。

            A)C 程序的基本組成單位是語句 B)C 程序中的每一行只能寫一條語句

            二級C 語言程序設(shè)計試卷)

            C)簡單C 語句必須以分號結(jié)束 D)C 語句必須在一行內(nèi)寫完

            (11)以下敘述中正確的是( C )

            A)C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面

            B)C程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句

            C)C程序書寫格式自由,一個語句可以寫在多行上

            D)用C語言編寫的程序只能放在一個程序文件中

            第二課:C語言的基礎(chǔ)知識

            標識符,常量和變量

            標識符:

            定義:由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或下劃線的。這樣的組成就是標識符。

            下列合法的是:

            else what #$123 34a a34 a_b a-b If

            a=3 A=4

            注意:在C中大寫字母與小字字母被認為是兩個不同的字符。

            分類:

            關(guān)鍵字:在C中已經(jīng)定義好了的,不能用作它用的。如if double int 等等。

            預(yù)定義標識符:如printf scanf

            用戶標識符:用戶根據(jù)自己的需求來定義的。

            (12)以下選項中,能用作用戶標識符的是( C )

            A)void

            B)8_8

            C)_0_

            D)unsigned

            (11)以下選項中合法的標識符是( C )

            A) 1-1 B)1—1 C)-11 D)1—

            (12)以下選項中不合法的標識符是 ( C )

            A)print B)FOR C)&a D)_00

            常量:

            定義:是指在程序的執(zhí)行的過程中,其值不會被改變的量。

            分類:

            整型常量:沒有小數(shù)的常量

            如:3 9 1234等等都是。

            實型常量:有小數(shù)點的常量

            如:3.9 3.0 3.

            字符常量:由單個字符組成的量

            如:’a’ ‘b’ ‘3’

            字符串常量:至少由一個字符組成的量

            如:“a” “abc” “ beijing”

            符號常量:符號常量的值到底是多少,這是由在來定義符號常量時來決定的

            ?2*pi

            (13)以下選項中,能用作數(shù)據(jù)常量的是 ( D )

            A)o115 B) 0118 C)1.5e1.5 D) 115L

            (13)以下選項中不能作為C 語言合法常量的是( A )。

            A)'cd' B)0.1e+6 C)'\a' D)'\011'

            (13)以下選項中不屬于字符常量的是 ( B )

            A)'C' B)'C' C)'\xCC0' D)'\072'

            整型常量與實型常量

            整型常量的幾個表示方法

            十進制數(shù):

            八進制數(shù):以0開頭的數(shù)字,由0-7組成。

            下列合法的八進制數(shù)是

            A,0 B,028 C,-077 D,01.0

            十六進制數(shù):以0X開頭,由0-9和A-F組成。

            A,oxff B,0xabc C,0x11 D,0x19

            實型常量 123.4

            小數(shù)形式:123.4

            指數(shù)形式:1.234e2

            1. 字母e和E之前必須要有數(shù)字

            2.字母e和E之后的數(shù)字必須是整數(shù)

            3.字母e’和數(shù)字之間不能有空格。

            A,2.607E-1 0.8103E 2 -77.77 456E-2 0.1e+6 1.23E1.2

            變量:

            1.定義:在程序的運行過程中其值可以被改變的量,就叫變量。

            2.原則:變量必須先定義后使用。變量定義的過程就是給變量開辟存儲單元的過程。

            3.分類:

            整型變量:用關(guān)鍵字int來表示.

            short int 短整型

            long int 長整型 在內(nèi)存中占4個字節(jié) 如123L

            unsigned 無符號 如有-200U這就是錯的。

            變量的定義:int a 這是定義了一個整型變量a.

            實型變量:用關(guān)鍵字 double 或float來表示。

            float 單精度 在內(nèi)存中占4個字節(jié)

            double 雙精度 在內(nèi)存中占8個字節(jié)。

            算術(shù)表達式

            一、基本的算術(shù)運算符

            + - * / % 這些是雙目運算符(就是指操作對象有兩個)

            注意:

            除%外,其它的運算符的運算對象可以是整型也可以是實型。%的操作對象只能是整型。

            如10%3=1 10.7%3 10%4.5 x%3=0

            + - 也可以做為單目運算。-5.4 +4.9

            說明:

            1.如果雙目運算符兩邊運算數(shù)的類型一致,則所得結(jié)果的類型與運算數(shù)的類型一致。如 1.0/2.0=0.5 1/2=0

            2.如果雙目運算符兩邊運算數(shù)的類型不一致,則系統(tǒng)會自動進行類型轉(zhuǎn)換,使兩邊的類型一致后,再進行運算。

            1.0/2=0.5

            3.所有的單精度數(shù)據(jù),在運算過程中都以雙精度進行運算。

            二、優(yōu)先級

            () + - * / % + -

            由高——————低

            如 (5+1)/2=???

            2.5.3強制類型轉(zhuǎn)換表達式

            格式:(類型名) (表達式)

            例:(int)3.234=3

            (double)10%3=?

            (14)表達式:4-(9)%2的值是( B )

            A)0

            B)3

            C)4

            D)5

            (14)設(shè)變量已正確定義并賦值,以下正確的表達式是 ( C )

            A)x=y*5=x+z

            B)int(15.8%5)

            C)x=y+z+5,++y

            D)x=25%5.0

            賦值表達式

            格式:變量名=表達式

            注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語言中合法的表達式)

            2.功能就是先求出右邊表達式的值,然后把此值賦值給賦值號左邊的變量。確切的說是把數(shù)據(jù)存入以該變量為標識的存儲單元中去。a=4 , a=7

            3.結(jié)合性的優(yōu)先級僅高于逗號表達式。順序是自右向左的。如a=2+7/3

            4.'='是一個賦值號,不是一個等號。

            5.x=y。變量的值也是可以傳遞和賦值的。它的意思就是將變量Y中的值賦值到X中去。同樣N=N+1也成立

            6.賦值運算符的左側(cè)只能是變量,不能是常量或表達式 a+b=c這就是違法的

            7。賦值號的右邊也可以是一個賦值表達式。如a=b=7+1;

            補充;表達式與語句的區(qū)別,

            表達式后面加一個分號就是語句。

            復(fù)合賦值表達式

            例:

            a+=3------a=a+3 同理可得a*=3 /= -=

            a+=a-=a+a a 的初值是9

            a+=a-=18

            a+=(a=a-18)

            a+=(a=-9)

            a+=a

            -18

            (15)若有定義語句:int x=10;,則表達式x-=x+x的值為( B )

            A)-20

            B)-10

            C)0

            D)10

            (14)設(shè)有定義:int x=2;,以下表達式中,值不為6的是 ( D )

            A) x*=x+1 x=x*(x+1)

            B) x++,2*x

            C)x*=(1+x)

            D)2*x,x+=2

            (17)若變量均已正確定義并賦值,以下合法的C語言賦值語句是 (A)

            A)x=y==5;

            B)x=n%2.5;

            C)x+n=I

            D)x=5=4+1;

            ++和——的講解

            ++:自身加1

            --:自身減1

            i=3 i++_______I=i+1 i=4

            單目

            3++

            ++I I++

            當++在前,先自身加1,然后再干別人讓干的事情 。

            當++在后,先別人讓干的事情然后再干 自身加1。

            int i=3;

            int a;

            a=i++; a=3

            a=++I;a=4

            C語言基礎(chǔ)知識

            1、C程序

            C語言程序結(jié)構(gòu)有三種: 順序結(jié)構(gòu) , 循環(huán)結(jié)構(gòu)(三個循環(huán)結(jié)構(gòu)), 選擇結(jié)構(gòu)(if 和 switch)

            2、main函數(shù)

            每個C語言程序中main 函數(shù)是有且只有一個。讀程序都要從main()入口, 然后從最上面順序往下讀(碰到循環(huán)做循環(huán),碰到選擇做選擇)。

            3、存儲形式

            計算機的數(shù)據(jù)在電腦中是以二進制的形式保存。最低的存儲單元是bit(位),位是由為 0 或者1構(gòu)成。 byte 是指字節(jié), 一個字節(jié) = 八個位。數(shù)據(jù)存放的位置就是它的地址。

            4、注釋

            是對程序的`說明,可出現(xiàn)在程序中任意合適的地方,注釋從“/*”開始到最近一個“*/”結(jié)束,其間任何內(nèi)容都不會被計算機執(zhí)行,注釋不可以嵌套。

            5、書寫格式

            每條語句的后面必須有一個分號,分號是語句的一部分。一行內(nèi)可寫多條語句,一個語句可寫在多行上。

            6、標識符

            合法的用戶標識符考查:

            合法的要求是由字母,數(shù)字,下劃線組成。有其它元素就錯了。

            并且第一個必須為字母或則是下劃線。第一個為數(shù)字就錯了。

            C語言標識符分如下3類

            (1)關(guān)鍵字。它們在程序中有固定的含義,不能另作他用。如int、for、switch等。

            (2)預(yù)定義標識符。預(yù)先定義并具有特定含義的標識符。如define、include等。

            (3)用戶標識符。用戶根據(jù)需要定義的標識符,符合命名規(guī)則且不與關(guān)鍵字相同。

            關(guān)鍵字不可以作為用戶標識符號。main define scanf printf 都不是關(guān)鍵字。迷惑你的地方If 是可以做為用戶標識符。因為If 中的第一個字母大寫了,所以不是關(guān)鍵字。

            7、實型數(shù)據(jù)

            實型數(shù)據(jù)的合法形式:小數(shù)形式和指數(shù)形式。掌握判定指數(shù)形式合法性。

            2.333e-1 就是合法的,且數(shù)據(jù)是2.333×10-1。

            考試口訣:e 前e 后必有數(shù),e 后必為整數(shù)。

            8、字符

            字符數(shù)據(jù)的合法形式::

            1 是字符占一個字節(jié),"1"是字符串占兩個字節(jié)(含有一個結(jié)束符號)。

            0 的ASCII 數(shù)值表示為48,a 的ASCII 數(shù)值是97,A的ASCII 數(shù)值是65。

            字符型和整數(shù)是近親:

            char a = 65 ;

            printf(“%c”, a); 得到的輸出結(jié)果:a

            printf(“%d”, a); 得到的輸出結(jié)果:65

            一般考試表示單個字符錯誤的形式:65 "1"

            字符是可以進行算術(shù)運算的,記?。?0-0=48

            大寫字母和小寫字母轉(zhuǎn)換的方法: A+32=a 相互之間一般是相差32。

            9、整型數(shù)據(jù)

            整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié):

            考試時候一般會說,在16 位編譯系統(tǒng),或者是32 位系統(tǒng)。碰到這種情況,不要去管,

            一樣做題。掌握整型一般是兩個字節(jié), 字符型是一個字節(jié),雙精度一般是4 個字節(jié)就可以了。

            10、轉(zhuǎn)義字符

            轉(zhuǎn)義字符的考查:

            在程序中 int a = 0x6d,是把一個十六進制的數(shù)給變量a 注意這里的0x 必須存在。

            在程序中 int a = 06d, 是一個八進制的形式。

            在轉(zhuǎn)義字符中, ’x6d’ 才是合法的,0 不能寫,并且x 是小寫。

            ‘141’ 是合法的, 0 是不能寫的。

            ‘108’是非法的,因為不可以出現(xiàn)8。

            11、算術(shù)運算

            算術(shù)運算符一共有+、—、*、/、%這五個。%符號兩邊要求是整數(shù)。不是整數(shù)就錯了。

            三種取整丟小數(shù)的情況:不是四舍五入是舍掉小數(shù)部分。

            1、int a =1.6;

            2、(int)a;

            3、1/2; 3/2;

            12、強制類型轉(zhuǎn)換

            將一個運算對象轉(zhuǎn)換成指定類型,格式為(類型名)表達式

            一定是 (int)a 不是 int(a),注意類型上一定有括號的。

            注意(int)(a+b) 和(int)a+b 的區(qū)別。前是把a+b 轉(zhuǎn)型,后是把a 轉(zhuǎn)型再加b。

            13、賦值

            是表達式就一定有數(shù)值。

            賦值表達式:表達式數(shù)值是最左邊的數(shù)值,a=b=5;該表達式為5,常量不可以賦值。

            復(fù)合賦值運算符:注意:a*=m+2 是 a=a*(m+2)

            自加、自減表達式:假設(shè)a=5,++a(表達式的值為6), a++(表達式的值為5);

            j=a++;等價于j=a;a=a+1; 而j=++a;等價于a=a+1;j=a;。

            考試口訣:++在前先加后用,++在后先用后加。

            14、逗號運算

            逗號表達式:優(yōu)先級別最低; 表達式的數(shù)值逗號最右邊的那個表達式的數(shù)值。

            (2,3,4)的表達式的數(shù)值就是4。

            15、數(shù)制轉(zhuǎn)換

            一定要記住二進制 如何轉(zhuǎn)換成十進制。

            八進制是沒有8 的,逢8 進1,018 的數(shù)值是非法的。

            C語言基礎(chǔ)知識總結(jié)

            算法結(jié)構(gòu):

            一、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu);二、循環(huán)結(jié)構(gòu)又分為while型、until型、for循環(huán)結(jié)構(gòu);程序流程圖;

            結(jié)構(gòu)化程序設(shè)計方法:

            (1)自頂向下;(2)逐步細化;(3)模塊化設(shè)計;(4)結(jié)構(gòu)化編碼。

            數(shù)據(jù)類型:

            常量:常量包括字面常量、直接常量和符號常量;

            變量:C語言規(guī)定標志符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個變量被定義以確定類型后,在編譯時就能為其分配相應(yīng)的存儲單元;

            整數(shù)類型:整數(shù)常量有十進制、八進制和十六進制;“%d”

            整形變量:數(shù)據(jù)在內(nèi)存中存放形式是以二進制形式存放;有int型、short int型和long int型,無符號整型變量的范圍是-32768—32767,有符號型為0~65535.通常把long定義為32位,把short定義為16位,int可以是32位也可以為16位,這都主要取決于機器字長。

            實型常量的表示方法:(1)十進制,0.0;(2)指數(shù)形式,123e3

            實型變量:實數(shù)型數(shù)據(jù)在內(nèi)存中的存放形式,一般在內(nèi)存中占4個字節(jié),分成整數(shù)部分和小數(shù)部分存放。實型變量分為float型、double型long double型。實型數(shù)據(jù)會存在舍入誤差。

            實型常量的類型:C編譯系統(tǒng)將實型常量作為雙精度來處理。

            字符型數(shù)組:(一)字符常量:轉(zhuǎn)義字符(\n——換行,\t——tab,\r——回車,\f——換頁,\b——退格,\ddd——1到3位8進制的數(shù)代表的字符)

            (二)字符變量:字符數(shù)據(jù)存儲形式實際是以ASCII碼存儲。“%c”

            字符串常量:雙撇號括起來的一系列字符序列。

            C的運算符有以下幾種:

            1、算術(shù)運算符(+ - * / %)結(jié)合方向自左向右

            2、關(guān)系運算符(> < =="">= <= !="">

            3、邏輯運算符(! && ||)

            4、位運算符(<>> ~ | ^ &)

            5、賦值運算符(=及符號擴展賦值運算符)

            6、條件運算符(? : )

            7、逗號運算符( , )

            8、指針運算符(* &)

            9、求字節(jié)運算符(sizeof)

            10、強制類型轉(zhuǎn)換運算符((類型))

            11、分量運算符( . ->)

            12、下標運算符([])

            13、其他

            控制語句:

            完成一定的控制功能。

            1、if()~else~

            2、for()~

            3、while()~

            4、do~while()

            5、continue

            6、break

            7、switch

            8、goto

            9、return

            字符數(shù)據(jù)的輸入輸出:

            1、putchar()輸入字符變量

            2、getchar()只能接受一個字符

            格式輸入輸出:

            1、printf(%d—整型,%c—字符型,%ld,%md,%o,%u,%s,%-m.nf,%e,%g)

            2、scanf(格式控制,地址列表)

            數(shù)組

            一維數(shù)組的定義:類型說明符 數(shù)組名【常量表達式】;先定義后引用;一維數(shù)組初始化時可以只對一部分元素初始化,在對全部數(shù)組元素初始化的時候可以部規(guī)定長度;但是若被定義的數(shù)組長度與提供的初始值不一樣時,則數(shù)組長度不能省略。

            二維數(shù)組的定義:類型說明符 數(shù)組名【常量表達式】【常量表達式】C語言中存放二維數(shù)組是先存放第一行的元素,緊接著是第二行,其實也是以一維的方式存放。如果初始化時能指定所有元素的初始值,第一維大小可以省略,但是第二維不能省略。

            字符數(shù)組:定義和初始化跟數(shù)組差不多,只是需要加單引號。字符和字符串結(jié)束標志,C語言規(guī)定,以'\0’代表。

            字符串處理函數(shù):

            1、puts()將一個字符串輸出到終端

            2、gets()從終端輸入一個字符串到字符數(shù)組,并且得到一個函數(shù)值。

            3、strcat()鏈接兩個字符數(shù)組中的字符串。

            4、strcpy()字符串復(fù)制函數(shù)。

            5、strcmp()比較字符串作用。

            6、strlen()測試字符串長度的函數(shù)不包括“\0”

            7、strlwr()將字符串中的大寫字母轉(zhuǎn)換為小寫字母。

            8、strupr()將字符串中的小寫字母轉(zhuǎn)換為大寫字母。

            函數(shù)

            (1)一個源程序由多個函數(shù)組成。

            (2)C程序的執(zhí)行從main()函數(shù)開始;

            (3)所有函數(shù)都是平行的;

            (4)函數(shù)分類;可以分為標準和自定義,還可以分為有參函數(shù)和無參函數(shù)。

            函數(shù)定義的一般形式:

            (1)類型標志符 函數(shù)名()

            {

            聲明部分

            語句

            }

            (2)類型標志符 函數(shù)名(形式參數(shù)列表)

            {

            聲明部分

            語句

            }

            關(guān)于形參和實參的說明:

            (1) 在定義函數(shù)中指定的形參,在未出現(xiàn)函數(shù)調(diào)用時,他們并不占用內(nèi)存中的存儲單元,只有發(fā)生調(diào)用時,才會分配內(nèi)存。

            (2) 實參可以是常量、變量或者表達式;有時傳遞的時地址;

            (3) 在被定義中,形參必須指定類型;

            (4) 實參與形參的類型應(yīng)相同或賦值兼容;

            (5) C語言規(guī)定,實參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只有實參傳遞給形參,而不能由形參傳遞給實參。

            函數(shù)的返回值:

            希望通過函數(shù)調(diào)用使主調(diào)函數(shù)得到一個確定的值。

            (1)函數(shù)的返回值是通過函數(shù)中的return語句獲取的。

            (2)函數(shù)值的類型;

            (3)如果函數(shù)值的類型和return語句中表達式的值不一樣,則以函數(shù)類型為準。

            (4)如果調(diào)用函數(shù)中沒有return語句,并不帶回一個確定的用戶需要的值,函數(shù)不是不帶回值,而只是不帶回有用的值,帶回一個不確定的值。

            (5)如不需要帶回任何值,用void。

            函數(shù)的調(diào)用:

            調(diào)用方式1、函數(shù)語句;2、函數(shù)表達式;3、函數(shù)參數(shù)。

            被調(diào)用的函數(shù)的聲明:

            一個函數(shù)調(diào)用另一個函數(shù)所具備的條件:

            1、首先被調(diào)用的函數(shù)必須是已經(jīng)存在的函數(shù);

            2、如果使用庫函數(shù),一般應(yīng)該在本文件開頭用#include命令將調(diào)用有關(guān)庫函數(shù)時在所需要用到的信息“包含”到本文件中。.h文件是頭文件所用的后綴。

            3、如果使用用戶自己定義的函數(shù),而且該函數(shù)與使用它的函數(shù)在同一個文件中,一般還應(yīng)該在主調(diào)函數(shù)中對被調(diào)用的函數(shù)做聲明。

            4、如果被調(diào)用的函數(shù)定義出現(xiàn)在主調(diào)函數(shù)之前可以不必聲明。

            5、如果已在所有函數(shù)定義之前,在函數(shù)的外部已做了函數(shù)聲明,則在各個主調(diào)函數(shù)中不必多所調(diào)用的函數(shù)在做聲明。

            局部變量和全局變量:

            (一)局部變量在一個函數(shù)內(nèi)部定義的變量是內(nèi)部變量,它只是在本函數(shù)范圍內(nèi)的有效,主函數(shù)也不能使用其它函數(shù)中定義的變量;不同函數(shù)中可以使用相同的名字的變量,他們代表不同的對象,互不干擾;形式參數(shù)也是局部變量;在一個函數(shù)內(nèi)部,可以在復(fù)合語句中定義變量,這些變量只在本復(fù)合語句中有效,這種復(fù)合句也可以稱為“分程序”或“程序塊”;

            (二)全局變量,在函數(shù)之外定義的變量稱為外部變量,全局變量可以增加函數(shù)間數(shù)據(jù)聯(lián)系的渠道,一般不再必要時不要使用,他在程序的全部執(zhí)行過程中占用存儲單元,是函數(shù)的通用性,使用全局變量會使程序的清晰性降低。還要注意若果同一源文件中,外部變量和局部變量同名,則在局部變量作用范圍內(nèi),外部變量被“屏蔽”,不起任何作用。

            變量的存儲類別:

            (變量值存儲時間)動態(tài)存儲方式,在程序運行期間進行分動態(tài)的分配存儲空間的方式,靜態(tài)存儲方式是指在程序運行期間分配固定的存儲空間的方式;存儲空間分為程序區(qū)、靜態(tài)存儲區(qū)和動態(tài)存儲區(qū);全局變量全部放在靜態(tài)存儲區(qū)中,程序開始時分配空間,完畢時釋放;動態(tài)存儲區(qū)中存放以下數(shù)據(jù):

            1、函數(shù)形式參數(shù);

            2、自動變量;

            3、函數(shù)調(diào)用時的現(xiàn)場保護和返回地址;在C語言中每個變量和函數(shù)都有兩個屬性,是數(shù)據(jù)類型和數(shù)據(jù)存儲類型,存儲類別是數(shù)據(jù)在內(nèi)存中存儲的方式。

            存儲方式分為靜態(tài)和動態(tài)存儲類,具體包含有四種:自動的(auto),靜態(tài)的(static),寄存器的(register),外部的(extern),如果不加以聲明,就自認為是auto型就會自動分配存儲空間屬于動態(tài)存儲方式。

            Static聲明局部變量是在函數(shù)調(diào)用結(jié)束后不消失而保留原值,即占用存儲單元不釋放,在下一次調(diào)用該函數(shù)時,該變量已有值,就是上次函數(shù)調(diào)用結(jié)束時的值。其中需要說明的是在定義局部變量不賦初值的話,則靜態(tài)局部變量編譯時自動賦值為0或者空字符,雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但是其他函數(shù)不能引用它的。靜態(tài)局部變量主要用在當初始化后,變量只是被引用而不改變其值。

            Register變量是C語言中允許將局部變量的值放在CPU中的寄存器中需要時直接從寄存器中取出來參加運算,不必再到內(nèi)存中提取,但是計算機系統(tǒng)中寄存器數(shù)量有限,不能任意定義任意多的存儲器,局部靜態(tài)變量不能定義為寄存器變量。

            Extern聲明外部變量,用以擴展外部變量的作用域。在一個文件中,如果定義之前的函數(shù)想引用該外部變量,則應(yīng)該在引用之前用關(guān)鍵字extern對該變量做外部變量聲明。在多文件中,也可以采用extern聲明的辦法進行外部變量聲明。有時希望某些局部變量只限于被本文件引用,而不能被其他文件引用,這時就可以采用在定義外部變量時外加一個static,這在程序模塊化設(shè)計中加強了通用性。

            Static來聲明一個變量的作用有二個,一個是在聲明對局部變量時。則為該變量分配的空間在整個程序執(zhí)行期間始終存在;一個是在對全局變量聲明中,該變量的作用域僅限于本文件模塊操作。

            注意:這些方法同樣適用于函數(shù)的聲明

              為你推薦