C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用_第1頁(yè)
C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用_第2頁(yè)
C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用_第3頁(yè)
C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用_第4頁(yè)
C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第第頁(yè)C語(yǔ)言中基本數(shù)據(jù)類(lèi)型、變量和常量的使用

前言

一、人物簡(jiǎn)介

第一位閃亮登場(chǎng),有請(qǐng)今后會(huì)一直教我們(C語(yǔ)言)的老師——自在。第二位上場(chǎng)的是和我們一起學(xué)習(xí)的小白程序猿——逍遙。二、基本數(shù)據(jù)類(lèi)型

1、整型

C語(yǔ)言中的整型數(shù)據(jù)如下表所示:

數(shù)據(jù)類(lèi)型含義長(zhǎng)度(字節(jié))取值范圍(有符號(hào))取值范圍(無(wú)符號(hào))short短整型2[-,-1][0,-1]int整型4[-,-1][0,-1]long長(zhǎng)整型4或8longlong長(zhǎng)長(zhǎng)整型8[-,-1][0,-1]整型數(shù)據(jù)可以是有符號(hào)的,也可以是無(wú)符號(hào)的。有符號(hào)的整型可以表示負(fù)數(shù)和正數(shù),而無(wú)符號(hào)的整型只能表示非負(fù)整數(shù)。2、浮點(diǎn)型

浮點(diǎn)型用于表示實(shí)數(shù),它分為單精度浮點(diǎn)型(float)和雙精度浮點(diǎn)型(double)。單精度浮點(diǎn)型占用4個(gè)字節(jié),雙精度浮點(diǎn)型占用8個(gè)字節(jié)。它們的取值范圍和精度如下表所示:

數(shù)據(jù)類(lèi)型長(zhǎng)度(字節(jié))取值范圍精度f(wàn)loat41.2E-38~3.4E38約6位小數(shù)double82.2E-308~1.8E308(15位有效數(shù)字)約15位小數(shù)浮點(diǎn)型數(shù)據(jù)在計(jì)算機(jī)內(nèi)部以二進(jìn)制形式存儲(chǔ),因此可能會(huì)存在精度問(wèn)題。在進(jìn)行浮點(diǎn)型數(shù)據(jù)的比較時(shí),應(yīng)該使用適當(dāng)?shù)恼`差范圍進(jìn)行比較。

3、字符型

字符型用于表示單個(gè)字符,它占用1個(gè)字節(jié)。

數(shù)據(jù)類(lèi)型含義長(zhǎng)度(字節(jié))取值范圍(有符號(hào))取值范圍(無(wú)符號(hào))char字符型1[-,-1][0,-1]字符型數(shù)據(jù)可以作為單個(gè)字符使用,也可以作為整型數(shù)據(jù)使用,表示該字符在ASCII碼表中的對(duì)應(yīng)數(shù)值。

4、布爾型

布爾型(bool)用于表示真假值,它只有兩個(gè)取值:true和false。

在C語(yǔ)言中,布爾型數(shù)據(jù)被定義為一個(gè)整型數(shù)據(jù)類(lèi)型,0表示false,非0表示true。

三、變量

1、變量的定義和聲明

在C語(yǔ)言中,變量必須先被定義或聲明才能使用。定義一個(gè)變量意味著為它分配內(nèi)存,聲明一個(gè)變量意味著告訴編譯器這個(gè)變量的類(lèi)型和名稱。

變量的定義格式如下:typevariable_name;其中,type是變量的數(shù)據(jù)類(lèi)型,variable_name是變量的名稱。例如:

intapple;shorti=5;floatvoltage;變量的聲明有兩種情況:一種是需要建立存儲(chǔ)空間的。例如:intapple在聲明的時(shí)候就已經(jīng)建立了存儲(chǔ)空間。

另一種是不需要建立存儲(chǔ)空間的,通過(guò)使用ex(te)rn關(guān)鍵字聲明變量名而不定義它。例如:externintapple,其中變量apple可以在別的文件中定義。

externintapple;//聲明,不是定義intstudents;//聲明,也是定義一般來(lái)講,除非有extern關(guān)鍵字,否則都是變量的定義

2、變量類(lèi)型

在C語(yǔ)言中,變量的類(lèi)型指的是變量所存儲(chǔ)的數(shù)據(jù)類(lèi)型。我們前面介紹的基本數(shù)據(jù)類(lèi)型,都可以作為變量的類(lèi)型。

int:整型,用于存儲(chǔ)整數(shù)。long:長(zhǎng)整型,用于存儲(chǔ)更大的整數(shù)。float:?jiǎn)尉雀↑c(diǎn)型,用于存儲(chǔ)浮點(diǎn)數(shù)。double:雙精度浮點(diǎn)型,用于存儲(chǔ)更大的浮點(diǎn)數(shù)。char:字符型,用于存儲(chǔ)字符。bool:布爾型,用于存儲(chǔ)布爾值。C語(yǔ)言還提供了一些復(fù)合數(shù)據(jù)類(lèi)型,如結(jié)構(gòu)體、聯(lián)合體和枚舉等,這些符合數(shù)據(jù)類(lèi)型,我們?cè)谝院蟮奈恼轮性俳榻B。

3、變量命名規(guī)則

變量名可以由字母、數(shù)字和下劃線組成,但必須以字母或下劃線開(kāi)頭。變量名不能使用關(guān)鍵字作為名稱,變量名的長(zhǎng)度沒(méi)有限制,但建議使用有意義的名稱。正確的變量命名

int_gCount=1;intm_Age=18;long(ti)me2=20;錯(cuò)誤的變量命名

int1round=0;//不能以數(shù)字開(kāi)頭intcase=1;//不能以關(guān)鍵字作為變量名int%age=16;//不能用標(biāo)點(diǎn)符號(hào)intnameage=18;//不能用空格4、變量的初始化和賦值

在C語(yǔ)言中,可以使用賦值運(yùn)算符(=)將一個(gè)值賦給一個(gè)變量。例如,下面的代碼將值20賦給變量num:

intnum;num=20;變量的初始化是指在聲明變量時(shí)將其賦初值。例如,下面的代碼聲明并初始化了一個(gè)名為num的整數(shù)變量:

intnum=10;5、變量作用域

在C語(yǔ)言中,變量的作用域指的是變量在程序中可見(jiàn)的范圍。變量可以在函數(shù)內(nèi)部或外部定義。

在函數(shù)內(nèi)部定義的變量稱為局部變量,只在該函數(shù)中可見(jiàn)。#includevoidprint_local_num(){intlocal_num=20;//局部變量printf("local_num=%dn",local_num);}intmain(){print_local_num();//輸出local_num=20return0;}在函數(shù)外部定義的變量稱為全局變量,可以在整個(gè)程序中使用。#includeintglobal_num=10;//全局變量voidprint_global_num(){printf("global_num=%dn",global_num);}intmain(){print_global_num();//輸出global_num=10return0;}6、變量存儲(chǔ)類(lèi)型

在C語(yǔ)言中,變量的存儲(chǔ)類(lèi)型指的是變量所存儲(chǔ)的位置。C語(yǔ)言中的存儲(chǔ)類(lèi)型包括自動(dòng)、靜態(tài)、(寄存器)和外部等。

自動(dòng)變量:自動(dòng)變量在函數(shù)內(nèi)部聲明,在函數(shù)執(zhí)行時(shí)被創(chuàng)建,在函數(shù)結(jié)束時(shí)被銷(xiāo)毀。靜態(tài)變量:靜態(tài)變量在函數(shù)內(nèi)部或函數(shù)外部聲明,它們?cè)诔绦蜷_(kāi)始執(zhí)行時(shí)被創(chuàng)建,在程序結(jié)束時(shí)被銷(xiāo)毀。寄存器變量:寄存器變量是指被存儲(chǔ)在(CPU)寄存器中的變量,它們通常用于在計(jì)算密集型的代碼中提高性能。外部變量:外部變量是在程序文件外部聲明的全局變量,可以被程序的所有文件訪問(wèn)。自動(dòng)變量的默認(rèn)存儲(chǔ)類(lèi)別為auto。例如,下面的代碼定義了一個(gè)自動(dòng)變量num:

#includevoidprint_num(){autointnum=30;printf("num=%dn",num);}intmain(){print_num();//輸出num=30return0;}靜態(tài)變量默認(rèn)存儲(chǔ)類(lèi)別為stat(ic),在程序執(zhí)行期間始終存在,它的值在函數(shù)調(diào)用之間保持不變。例如,下面的代碼定義了一個(gè)靜態(tài)變量static_num:

#includevoidprint_static_num(){staticintstatic_num=40;printf("static_num=%dn",static_num);static_num++;}intmain(){print_static_num();//輸出static_num=40print_static_num();//輸出static_num=41print_static_num();//輸出static_num=42return0;}寄存器變量的默認(rèn)存儲(chǔ)類(lèi)別為register。例如,下面的代碼定義了一個(gè)寄存器變量reg_num:

#includevoidprint_reg_num(){registerintreg_num=50;printf("reg_num=%dn",reg_num);}intmain(){print_reg_num();//輸出reg_num=50return0;}外部變量的默認(rèn)存儲(chǔ)類(lèi)別為extern。例如,下面的代碼定義了一個(gè)外部變量extern_num,并在另一個(gè)文件中訪問(wèn)它:

//other_file.cintextern_num=60;//main.c#includeexternintextern_num;voidprint_extern_num(){printf("extern_num=%dn",extern_num);}intmain(){print_extern_num();//輸出extern_num=60return0;}四、常量

在C語(yǔ)言中,常量可以是整數(shù)、浮點(diǎn)數(shù)、字符或字符串。

1、整數(shù)常量

整數(shù)常量是指不帶小數(shù)部分的數(shù)字。在C語(yǔ)言中,整數(shù)常量可以用十六進(jìn)制、八進(jìn)制或十進(jìn)制表示。下表列出了不同進(jìn)制下整數(shù)常量的表示方法:

進(jìn)制格式示例十進(jìn)制直接寫(xiě)數(shù)字10,20,30八進(jìn)制以0開(kāi)頭012,034,076十六進(jìn)制以0x或0X開(kāi)頭0x10,0x1E,0xFF例如,下面的代碼定義了三個(gè)整數(shù)常量:

#includeintmain(){intdecimal_num=10;intoctal_num=012;inthex_num=0xFF;printf("decimal_num=%d,octal_num=%d,hex_num=%dn",decimal_num,octal_num,hex_num);return0;}輸出結(jié)果為:decimal_num=10,octal_num=10,hex_num=255。

2、浮點(diǎn)數(shù)常量

浮點(diǎn)數(shù)常量是指帶有小數(shù)部分的數(shù)字。在C語(yǔ)言中,浮點(diǎn)數(shù)常量可以用小數(shù)點(diǎn)表示,也可以用科學(xué)計(jì)數(shù)法表示。例如,下面的代碼定義了兩個(gè)浮點(diǎn)數(shù)常量:

#includeintmain(){floatfloat_num=1.23;doubledouble_num=1.23e-5;printf("float_num=%f,double_num=%fn",float_num,double_num);return0;}輸出結(jié)果為:float_num=1.230000,double_num=0.000012。

3、字符常量

字符常量是指用單引號(hào)括起來(lái)的單個(gè)字符。例如,下面的代碼定義了兩個(gè)字符常量:

#includeintmain(){charchar_a='A';charchar_b='B';printf("char_a=%c,char_b=%cn",char_a,char_b);return0;}4、字符串常量

字符串常量是指用雙引號(hào)括起來(lái)的多個(gè)字符。在C語(yǔ)言中,字符串常量實(shí)際上是一個(gè)字符數(shù)組,以空字符('?')結(jié)尾。例如,下面的代碼定義了一個(gè)字符串常量:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論