第2章基本數(shù)據(jù)類型ppt課件_第1頁
第2章基本數(shù)據(jù)類型ppt課件_第2頁
第2章基本數(shù)據(jù)類型ppt課件_第3頁
第2章基本數(shù)據(jù)類型ppt課件_第4頁
第2章基本數(shù)據(jù)類型ppt課件_第5頁
已閱讀5頁,還剩98頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第二章第二章根本數(shù)據(jù)類型根本數(shù)據(jù)類型本章主要內(nèi)容本章主要內(nèi)容2.1 數(shù)據(jù)類型概述數(shù)據(jù)類型概述2.2 標(biāo)識符、常量和變量標(biāo)識符、常量和變量2.3 整型數(shù)據(jù)整型數(shù)據(jù)2.4 實型數(shù)據(jù)實型數(shù)據(jù)2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)2.6 數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出程序是對數(shù)據(jù)進(jìn)展各種操作程序是對數(shù)據(jù)進(jìn)展各種操作首先要做的是事情是:對程序中將要用到的各種數(shù)首先要做的是事情是:對程序中將要用到的各種數(shù)據(jù)進(jìn)展設(shè)計,包括數(shù)據(jù)是什么類型的?可以進(jìn)展什據(jù)進(jìn)展設(shè)計,包括數(shù)據(jù)是什么類型的?可以進(jìn)展什么樣的運算?詳細(xì)的數(shù)值是多少?等等。么樣的運算?詳細(xì)的數(shù)值是多少?等等。計算機(jī)中的數(shù)據(jù)可以是各種類型的,例如,數(shù)值型計算機(jī)中

2、的數(shù)據(jù)可以是各種類型的,例如,數(shù)值型的:整數(shù)、實數(shù);非數(shù)值型的:字符、圖像、聲音、的:整數(shù)、實數(shù);非數(shù)值型的:字符、圖像、聲音、圖片、動畫等。圖片、動畫等。不同的程序設(shè)計言語對這些數(shù)據(jù)的表達(dá)方式是不一不同的程序設(shè)計言語對這些數(shù)據(jù)的表達(dá)方式是不一樣的,本章學(xué)習(xí)樣的,本章學(xué)習(xí)C言語如何表達(dá)數(shù)據(jù)。言語如何表達(dá)數(shù)據(jù)。數(shù)據(jù)類型概述數(shù)據(jù)類型概述數(shù)據(jù)類型概述數(shù)據(jù)類型概述C C言語為了處置方便言語為了處置方便 ,將一切能夠的數(shù)據(jù)分成不同的類型。,將一切能夠的數(shù)據(jù)分成不同的類型。 這些數(shù)據(jù)類型對數(shù)據(jù)的設(shè)計都不一樣,包括數(shù)據(jù)在內(nèi)存中的存儲這些數(shù)據(jù)類型對數(shù)據(jù)的設(shè)計都不一樣,包括數(shù)據(jù)在內(nèi)存中的存儲方式,數(shù)據(jù)范圍,可以

3、進(jìn)展的運算種類,輸入輸出方式等。方式,數(shù)據(jù)范圍,可以進(jìn)展的運算種類,輸入輸出方式等。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量在程序中,不論是變量、符號常量,還是以后引見在程序中,不論是變量、符號常量,還是以后引見的數(shù)組、函數(shù)等數(shù)據(jù)對象通常都需求用一個名字的數(shù)組、函數(shù)等數(shù)據(jù)對象通常都需求用一個名字即標(biāo)識符來表示才干運用。即標(biāo)識符來表示才干運用。標(biāo)識符就是一個名字。標(biāo)識符就是一個名字。標(biāo)識符有特定的命名規(guī)那么,需求嚴(yán)厲執(zhí)行。標(biāo)識符有特定的命名規(guī)那么,需求嚴(yán)厲執(zhí)行。C言語規(guī)定,標(biāo)識符只能由字母言語規(guī)定,標(biāo)識符只能由字母(AZ,az)、數(shù)字、數(shù)字(09)、下劃線、下劃線( _ )3種字符組成,并且第一個

4、字符必種字符組成,并且第一個字符必需是字母或下劃線。需是字母或下劃線。 標(biāo)識符、標(biāo)識符、 常量和變量常量和變量根據(jù)標(biāo)識符的不同用途,可以將其分以下根據(jù)標(biāo)識符的不同用途,可以將其分以下3類:類:(1)關(guān)鍵字關(guān)鍵字關(guān)鍵字,又叫保管字,是指關(guān)鍵字,又叫保管字,是指C言語規(guī)定的、有特殊含義和專門言語規(guī)定的、有特殊含義和專門用途的標(biāo)識符,主要用于描畫數(shù)據(jù)類型、存儲類型、類型定義用途的標(biāo)識符,主要用于描畫數(shù)據(jù)類型、存儲類型、類型定義和語句控制。有和語句控制。有32個。例如,個。例如,int ,return 等等 (2)預(yù)定義標(biāo)識符預(yù)定義標(biāo)識符預(yù)定義標(biāo)識符也是預(yù)定義標(biāo)識符也是C言語中有特定含義的標(biāo)識符,主要

5、用于描言語中有特定含義的標(biāo)識符,主要用于描畫庫函數(shù)名如畫庫函數(shù)名如printf、scanf等和編譯預(yù)處置命令名如等和編譯預(yù)處置命令名如define、include等。等。(3)用戶標(biāo)識符用戶標(biāo)識符用戶標(biāo)識符是指在程序中由程序員本人定義的變量名、符用戶標(biāo)識符是指在程序中由程序員本人定義的變量名、符號常量名、數(shù)組名、函數(shù)名等。號常量名、數(shù)組名、函數(shù)名等。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量用戶標(biāo)識符的命名規(guī)那么:用戶標(biāo)識符的命名規(guī)那么:1、只能由字母、數(shù)字、下劃線組成。、只能由字母、數(shù)字、下劃線組成。2、第一個字符必需是字母或下劃線。、第一個字符必需是字母或下劃線。練習(xí):根據(jù)標(biāo)識符的規(guī)那么,判別

6、以下字符能否合法練習(xí):根據(jù)標(biāo)識符的規(guī)那么,判別以下字符能否合法的的C言語用戶標(biāo)識符言語用戶標(biāo)識符 a 4tb _b5 int long sum 3、區(qū)分大小寫、區(qū)分大小寫4、不能運用系統(tǒng)中的有特定含義的關(guān)鍵字。、不能運用系統(tǒng)中的有特定含義的關(guān)鍵字。自定義標(biāo)識符的命名規(guī)那么:自定義標(biāo)識符的命名規(guī)那么:1、只能由字母、數(shù)字、下劃線組成。、只能由字母、數(shù)字、下劃線組成。2、第一個字符必需是字母或下劃線。、第一個字符必需是字母或下劃線。3、區(qū)分大小寫、區(qū)分大小寫4、不能運用系統(tǒng)中的有特定含義的關(guān)鍵字、不能運用系統(tǒng)中的有特定含義的關(guān)鍵字P365。 例:例:sumsum,_total, month, St

7、udent_name_total, month, Student_name, lotus_1_2_ lotus_1_2_,BASIC, li_ling BASIC, li_ling M.D.John, M.D.John, ¥123,3D64,ab 123,3D64,ab 標(biāo)識符、標(biāo)識符、 常量和變量常量和變量標(biāo)識符、標(biāo)識符、 常量和變量常量和變量程序中用到的數(shù)據(jù),除了有前述類型之分外,還有常量和變程序中用到的數(shù)據(jù),除了有前述類型之分外,還有常量和變量之分。量之分。常量:在程序運轉(zhuǎn)過程中,其值不能被改動的量。常量:在程序運轉(zhuǎn)過程中,其值不能被改動的量。在日常任務(wù)學(xué)習(xí)中,我們會接觸到一些不變的數(shù),

8、例如,圓在日常任務(wù)學(xué)習(xí)中,我們會接觸到一些不變的數(shù),例如,圓周率周率,自然常數(shù),自然常數(shù)e等;有些情況下,在某種場所或問題的處等;有些情況下,在某種場所或問題的處置過程中,有些數(shù)據(jù)是固定的,例如,處置學(xué)生的成果統(tǒng)計置過程中,有些數(shù)據(jù)是固定的,例如,處置學(xué)生的成果統(tǒng)計問題過程中,普通來講,學(xué)生的人數(shù)是固定的。問題過程中,普通來講,學(xué)生的人數(shù)是固定的。通常,我們將這些我們事先知道的,并且在程序處置過程中通常,我們將這些我們事先知道的,并且在程序處置過程中不發(fā)生變化的數(shù)據(jù),作為常量處置,直接給出數(shù)值的大小。不發(fā)生變化的數(shù)據(jù),作為常量處置,直接給出數(shù)值的大小。變量:在程序運轉(zhuǎn)過程中,其值能被改動的量。

9、變量:在程序運轉(zhuǎn)過程中,其值能被改動的量。更多的情況是,我們希望經(jīng)過程序的處置得出一些結(jié)果,這更多的情況是,我們希望經(jīng)過程序的處置得出一些結(jié)果,這時很多數(shù)據(jù)是變化的。我們事先不知道的,作為變量處置。時很多數(shù)據(jù)是變化的。我們事先不知道的,作為變量處置。常量是在程序運轉(zhuǎn)過程中常量是在程序運轉(zhuǎn)過程中, ,其值不能被改動的量,也分為不同其值不能被改動的量,也分為不同的類型,例如:整型常量、浮點型常量、字符型常量等。的類型,例如:整型常量、浮點型常量、字符型常量等。常量在表達(dá)上,除了直接給出數(shù)值大小外,也要表示出其常量在表達(dá)上,除了直接給出數(shù)值大小外,也要表示出其類型。類型。常量的類型是經(jīng)過書寫方式表達(dá)

10、的。常量的類型是經(jīng)過書寫方式表達(dá)的。整型常量整型常量 直接書寫成整數(shù),例如:直接書寫成整數(shù),例如:1212、0 0、-3-3浮點型常量浮點型常量 直接書寫成實數(shù),例如:直接書寫成實數(shù),例如:4.64.6、-1.23-1.23字符型常量字符型常量書寫成:書寫成:a a、d d、? ?的方式,表示字符的方式,表示字符a a、d d、? ?。 單引號括起來的單個字符。單引號括起來的單個字符。整型常量、浮點型常量、字符型常量直接寫成上述方式,稱為整型常量、浮點型常量、字符型常量直接寫成上述方式,稱為直接常量,相對應(yīng)的非直接常量是符號常量。直接常量,相對應(yīng)的非直接常量是符號常量。標(biāo)識符、標(biāo)識符、 常量和

11、變量常量和變量符號常量:用一個符號在符號常量:用一個符號在C C言語中為標(biāo)識符來代表一言語中為標(biāo)識符來代表一個常量。個常量。例例 符號常量的運用符號常量的運用#define PRICE 30#include int main ( ) int num, total; num=10; total=num * PRICE; printf(total=%dn,total); return 0;定義一個符號常量定義一個符號常量標(biāo)識符標(biāo)識符PRICEPRICE代表整型常量代表整型常量3030在下面的程序中,凡遇到在下面的程序中,凡遇到PRICE就用就用30替代。替代。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量

12、#include int main ( ) int num, total; num=10; total=num * 30; printf(total=%dn,total); return 0; #define 同同#include一樣,也是一個編譯預(yù)處置命令一樣,也是一個編譯預(yù)處置命令標(biāo)識符、標(biāo)識符、 常量和變量常量和變量運用符號常量的益處是運用符號常量的益處是# include int main(void) double r, s, v; scanf(%lf, &r); s = 4.0*r*r*3.14 ; v = 4.0/3.0*r*r*r*3.14 ; . return 0;#

13、include # define PI 3.14int main(void) double r, s, v; scanf(%lf, &r); s = 4.0*PI*r*r ; v = 4.0/3.0*PI*r*r*r ; . return 0;3.141593.141593.14159標(biāo)識符、標(biāo)識符、 常量和變量常量和變量變量:在程序運轉(zhuǎn)過程中,其值能被改動的量。也分為不同變量:在程序運轉(zhuǎn)過程中,其值能被改動的量。也分為不同的類型,例如:整型變量、浮點型變量、字符型變量等。的類型,例如:整型變量、浮點型變量、字符型變量等。變量中的值需求在處置過程中保管起來。變量中的值需求在處置過程中保

14、管起來。C言語中的變量實踐言語中的變量實踐上代表的是計算機(jī)內(nèi)存的一個存儲空間。在這個空間中存放上代表的是計算機(jī)內(nèi)存的一個存儲空間。在這個空間中存放的是變量的詳細(xì)數(shù)值。的是變量的詳細(xì)數(shù)值。C言語中的處置方法是,言語中的處置方法是,為每個變量分配一個存為每個變量分配一個存儲空間,用變量名來標(biāo)儲空間,用變量名來標(biāo)識這個存儲空間。識這個存儲空間。3變量名變量名變量值變量值存儲單元存儲單元存儲單存儲單元地址元地址2019a在程序中,需求進(jìn)展輸入、處置、輸出等操作時,只需運用變在程序中,需求進(jìn)展輸入、處置、輸出等操作時,只需運用變量名量名a即可,即可,a中保管的值可以是中保管的值可以是3,也可以是隨處置過

15、程變化,也可以是隨處置過程變化了的其他值。了的其他值。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量變量代表內(nèi)存中具有特定屬性的一個存儲單元,它用來存放變量代表內(nèi)存中具有特定屬性的一個存儲單元,它用來存放數(shù)據(jù),這就是變量的值,在程序運轉(zhuǎn)期間,這些值是可以改數(shù)據(jù),這就是變量的值,在程序運轉(zhuǎn)期間,這些值是可以改動的。動的。變量名實踐上是一個以一個名字對應(yīng)代表一個地址,在對程序變量名實踐上是一個以一個名字對應(yīng)代表一個地址,在對程序編譯銜接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址。編譯銜接時由編譯系統(tǒng)給每一個變量名分配對應(yīng)的內(nèi)存地址。從變量中取值,實踐上是經(jīng)過變量名找到相應(yīng)的內(nèi)存地址,從從變量中取值,實踐

16、上是經(jīng)過變量名找到相應(yīng)的內(nèi)存地址,從該存儲單元中讀取數(shù)據(jù)。該存儲單元中讀取數(shù)據(jù)。在在C C言語中,符號常量中用到的名字、變量名用到的名字,以言語中,符號常量中用到的名字、變量名用到的名字,以及今后將學(xué)到的函數(shù)名、數(shù)組名、類型名等,統(tǒng)稱為標(biāo)識符。及今后將學(xué)到的函數(shù)名、數(shù)組名、類型名等,統(tǒng)稱為標(biāo)識符。變量名的命名要符合標(biāo)識符特定的命名規(guī)那么,需求嚴(yán)厲執(zhí)行。變量名的命名要符合標(biāo)識符特定的命名規(guī)那么,需求嚴(yán)厲執(zhí)行。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量變量名命名的本卷須知:變量名命名的本卷須知:編譯系統(tǒng)將大寫字母和小寫字母以為是兩個不同的字符。編譯系統(tǒng)將大寫字母和小寫字母以為是兩個不同的字符。 建議變

17、量名的長度最好不要超越建議變量名的長度最好不要超越8 8個字符。個字符。在選擇變量名和其它標(biāo)識符時,應(yīng)留意做到在選擇變量名和其它標(biāo)識符時,應(yīng)留意做到“見名知意,見名知意,即選有含意的英文單詞即選有含意的英文單詞 或其縮寫作標(biāo)識符?;蚱淇s寫作標(biāo)識符。標(biāo)識符、標(biāo)識符、 常量和變量常量和變量變量是變量是C言語程序中用得最多的一個概念言語程序中用得最多的一個概念C言語要求,對一切用到的變量作強(qiáng)迫定義,也就是言語要求,對一切用到的變量作強(qiáng)迫定義,也就是“先定義聲明,后運用先定義聲明,后運用 標(biāo)識符、標(biāo)識符、 常量和變量常量和變量所謂聲明一個變量,就是告知所謂聲明一個變量,就是告知C編譯器援用了一個新的變

18、量編譯器援用了一個新的變量名,并指定了該變量的數(shù)據(jù)類型名,并指定了該變量的數(shù)據(jù)類型 變量聲明的普通格式如下:變量聲明的普通格式如下: 數(shù)據(jù)類型數(shù)據(jù)類型 變量名表;變量名表;當(dāng)聲明同一類型的多個變量時,各變量名之間用逗號隔開。當(dāng)聲明同一類型的多個變量時,各變量名之間用逗號隔開。下面分別對整型數(shù)據(jù)、實型數(shù)據(jù)和字符型數(shù)據(jù)的常量和變下面分別對整型數(shù)據(jù)、實型數(shù)據(jù)和字符型數(shù)據(jù)的常量和變量進(jìn)展引見。量進(jìn)展引見。 整型數(shù)據(jù)整型數(shù)據(jù) 整型常量的表示方法整型常量的表示方法 整型常量即整常數(shù)整型常量即整常數(shù)在言語中,整常數(shù)可用以下三種方式表示:在言語中,整常數(shù)可用以下三種方式表示:(1)(1)十進(jìn)制整數(shù)十進(jìn)制整數(shù)

19、如:如:123 -456 4123 -456 4(2)(2)八進(jìn)制整數(shù)八進(jìn)制整數(shù) 以以0 0頭的數(shù)是八進(jìn)制數(shù)頭的數(shù)是八進(jìn)制數(shù) 如:如:0123 0123 表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)123 (123 (等于十進(jìn)制數(shù)等于十進(jìn)制數(shù)83)83) -011 -011 表示八進(jìn)制數(shù)表示八進(jìn)制數(shù)-11 (-11 (即十進(jìn)制即十進(jìn)制數(shù)數(shù)-9)-9)(3)(3)十六進(jìn)制整數(shù)十六進(jìn)制整數(shù) 以以0 x0 x開頭的數(shù)是十六進(jìn)制數(shù)。開頭的數(shù)是十六進(jìn)制數(shù)。 如:如:0 x123 0 x123 表示十六進(jìn)制數(shù)表示十六進(jìn)制數(shù)123 123 等于十進(jìn)制數(shù)等于十進(jìn)制數(shù) 291 291 -0 x12 -0 x12 表示十六進(jìn)制數(shù)表示

20、十六進(jìn)制數(shù)12 12 等于十進(jìn)制數(shù)等于十進(jìn)制數(shù)1818 八進(jìn)制數(shù)八進(jìn)制數(shù) 029 029 是錯誤的,為什么?是錯誤的,為什么? 整型數(shù)據(jù)整型數(shù)據(jù)也就是說,當(dāng)在程序中需求運用一個整型常數(shù)時,可以也就是說,當(dāng)在程序中需求運用一個整型常數(shù)時,可以用十進(jìn)制的方式表達(dá),也可以是八進(jìn)制或十六進(jìn)制。用十進(jìn)制的方式表達(dá),也可以是八進(jìn)制或十六進(jìn)制。#include void main( ) /*求兩數(shù)之和求兩數(shù)之和*/ int a,b,sum; /*聲明,定義變量為整型聲明,定義變量為整型*/ a=12; b=45; sum=a+b; printf(sum = %dn,sum);程序求程序求12+4512+45

21、的和,結(jié)果為的和,結(jié)果為: sum=57: sum=57 整型數(shù)據(jù)整型數(shù)據(jù)也可以將也可以將1212和和4545表示成八進(jìn)制方式表示成八進(jìn)制方式#include void main( ) /*求兩數(shù)之和求兩數(shù)之和*/ int a,b,sum; /*聲明,定義變量為整型聲明,定義變量為整型*/ a=014; b=055; sum=a+b; printf(sum = %dn,sum);同樣,程序求同樣,程序求12+4512+45的和,結(jié)果為的和,結(jié)果為: sum=57: sum=57整型數(shù)據(jù)整型數(shù)據(jù)還可以將還可以將1212和和4545表示成十六進(jìn)制方式表示成十六進(jìn)制方式#include void m

22、ain( ) /*求兩數(shù)之和求兩數(shù)之和*/ int a,b,sum; /*聲明,定義變量為整型聲明,定義變量為整型*/ a=0 xc; b=0 x2d; sum=a+b; printf(sum = %dn,sum);同樣,程序求同樣,程序求12+4512+45的和,結(jié)果為的和,結(jié)果為: sum=57: sum=57 整型數(shù)據(jù)整型數(shù)據(jù)1、整型數(shù)據(jù)在內(nèi)存中的存放方式、整型數(shù)據(jù)在內(nèi)存中的存放方式數(shù)據(jù)在內(nèi)存中是以二進(jìn)制方式存放的數(shù)據(jù)在內(nèi)存中是以二進(jìn)制方式存放的 如如: int i; /: int i; /* * 定義為整型變量定義為整型變量 * */ / i=10; / i=10; /* * 給給i

23、i賦以整數(shù)賦以整數(shù)10 10 * */ / 101000111000001100100011001010111010001110100011邏輯上,可以了解為邏輯上,可以了解為 i10物理上,計算機(jī)存儲器將為物理上,計算機(jī)存儲器將為i i變量分配變量分配4 4個字節(jié)的存儲空間,個字節(jié)的存儲空間,數(shù)值數(shù)值1010是按照二進(jìn)制補(bǔ)碼方式存儲的。是按照二進(jìn)制補(bǔ)碼方式存儲的。 00000000000000000000000000001010整型數(shù)據(jù)整型數(shù)據(jù)數(shù)據(jù)的存儲數(shù)據(jù)的存儲整型數(shù)據(jù)整型數(shù)據(jù)設(shè)整數(shù)在內(nèi)存中用設(shè)整數(shù)在內(nèi)存中用2個字節(jié)存儲,經(jīng)過設(shè)置符號位表示數(shù)個字節(jié)存儲,經(jīng)過設(shè)置符號位表示數(shù)據(jù)的正負(fù)性。據(jù)的

24、正負(fù)性。1 000 0001 1000 00010 000 0001 1000 0001符號位符號位1:負(fù)數(shù):負(fù)數(shù)0:正數(shù):正數(shù)為了計算機(jī)內(nèi)的運算,數(shù)值為了計算機(jī)內(nèi)的運算,數(shù)值數(shù)據(jù)還有編碼:原碼、反數(shù)據(jù)還有編碼:原碼、反碼、補(bǔ)碼。碼、補(bǔ)碼。 整型數(shù)據(jù)整型數(shù)據(jù)對于正數(shù),原碼、反碼、補(bǔ)碼編碼方法是一樣的:最高位定對于正數(shù),原碼、反碼、補(bǔ)碼編碼方法是一樣的:最高位定義為符號位,值為義為符號位,值為0;其他位是數(shù)據(jù)的二進(jìn)制方式。;其他位是數(shù)據(jù)的二進(jìn)制方式。例如,例如,1的原碼、反碼、補(bǔ)碼的原碼、反碼、補(bǔ)碼假設(shè)每個整數(shù)在內(nèi)存中占用兩個字節(jié),即假設(shè)每個整數(shù)在內(nèi)存中占用兩個字節(jié),即16位位最高位表示符號:最

25、高位表示符號:0;其他;其他15位是位是1的二進(jìn)制方式的二進(jìn)制方式0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 1例如,例如,127的原碼、反碼、補(bǔ)碼的原碼、反碼、補(bǔ)碼0 00 00 00 00 00 00 00 00 01 11 11 11 11 11 11 1例如,例如,32767的原碼、反碼、補(bǔ)碼的原碼、反碼、補(bǔ)碼0 01 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1這是兩字節(jié)這是兩字節(jié)16位能表示的最大正數(shù),再大就溢出了,所以位能表示的最大正數(shù),再大就溢出了,所以數(shù)據(jù)是有范圍的。數(shù)據(jù)是有范圍的。

26、整型數(shù)據(jù)整型數(shù)據(jù)對于負(fù)數(shù),原碼、反碼、補(bǔ)碼編碼方法不一樣對于負(fù)數(shù),原碼、反碼、補(bǔ)碼編碼方法不一樣原碼:符號位為原碼:符號位為1,其他各位表示數(shù)值的絕對值對應(yīng)的二進(jìn),其他各位表示數(shù)值的絕對值對應(yīng)的二進(jìn)制方式制方式反碼:符號位為反碼:符號位為1,其他各位是原碼按位取反,其他各位是原碼按位取反補(bǔ)碼:反碼加補(bǔ)碼:反碼加1例如,例如,-1的原碼、反碼、補(bǔ)碼的原碼、反碼、補(bǔ)碼1 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 1原碼:原碼:1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 10 0反碼:反碼:1 11 11 1

27、1 11 11 11 11 11 11 11 11 11 11 11 11 1補(bǔ)碼:補(bǔ)碼:3.3 整型數(shù)據(jù)整型數(shù)據(jù)1 11 11 11 11 11 11 11 11 11 11 11 11 11 11 11 1原碼:原碼:反碼:反碼:補(bǔ)碼:補(bǔ)碼:1 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 10 00 00 00 00 00 00 00 00 00 00 00 00 00 01 1 - 1-32768的補(bǔ)碼的補(bǔ)碼1 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0-32768是兩字節(jié)是兩字節(jié)16位

28、能表示的最小負(fù)數(shù),再小也溢出了位能表示的最小負(fù)數(shù),再小也溢出了int類型有數(shù)據(jù)范圍,與類型有數(shù)據(jù)范圍,與C系統(tǒng)有關(guān),假設(shè)是系統(tǒng)有關(guān),假設(shè)是16位,取值范圍是位,取值范圍是-32768,32767。超出范圍就需求選擇其他數(shù)據(jù)類型。超出范圍就需求選擇其他數(shù)據(jù)類型。-32767整型數(shù)據(jù)整型數(shù)據(jù)Turbo C 2.0和和Turbo C+ 3.0為一個整型變量在為一個整型變量在內(nèi)存中分配內(nèi)存中分配2個字節(jié)的存儲單元個字節(jié)的存儲單元(不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)是不一不同的編譯系統(tǒng)為整型數(shù)據(jù)分配的字節(jié)數(shù)是不一樣的,樣的,VC+ 6.0那么分配那么分配4個字節(jié)。個字節(jié)。數(shù)值默許是以補(bǔ)碼數(shù)值默許是以補(bǔ)

29、碼(complement) 表示的,即是表示的,即是有符號的數(shù)。有符號的數(shù)。 整型數(shù)據(jù)整型數(shù)據(jù)整型變量的根本類型是整型變量的根本類型是intint,用來存儲有符號的整型數(shù),用來存儲有符號的整型數(shù)據(jù),在程序設(shè)計過程中用得最多的一種變量類型。據(jù),在程序設(shè)計過程中用得最多的一種變量類型。C C言語對整型變量進(jìn)一步加以分類,以方便不同的運用場所。言語對整型變量進(jìn)一步加以分類,以方便不同的運用場所。共六種共六種有符號根本整型有符號根本整型有符號短整型有符號短整型有符號長整型有符號長整型無符號根本整型無符號根本整型無符號短整型無符號短整型無符號長整型無符號長整型(signed)int (signed)sh

30、ort (int )(signed) long (int)unsigned intunsigned short (int)unsigned long (int) 留意:括號表示其中的內(nèi)容是可選的留意:括號表示其中的內(nèi)容是可選的. .整型數(shù)據(jù)整型數(shù)據(jù)整數(shù)類型的有關(guān)數(shù)據(jù):整數(shù)類型的有關(guān)數(shù)據(jù):整型數(shù)據(jù)整型數(shù)據(jù)整型變量的定義整型變量的定義言語規(guī)定在程序中一切用到的變量都必需在程序中定義聲言語規(guī)定在程序中一切用到的變量都必需在程序中定義聲明,即明,即“強(qiáng)迫類型定義。強(qiáng)迫類型定義。變量定義的普通方式變量定義的普通方式類型名類型名 變量名表;變量名表;例如例如: : int a,b int a,b; uns

31、igned short unsigned short c,d;c,d; long e,f; long e,f;指定變量、為整型指定變量、為整型指定變量、為無符號短整型指定變量、為無符號短整型指定變量、為長整型指定變量、為長整型關(guān)鍵字關(guān)鍵字整型數(shù)據(jù)整型數(shù)據(jù)例例2.1,常量和變量的定義與運用,常量和變量的定義與運用#include stdio.h#define WIDTH 80 int main( ) int length=100, cir, area; cir=(length+WIDTH)*2; area=WIDTH*length; printf(cir =%d,area=%dn,cir,are

32、a); return 0;運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果: cir =360,area=8000問題:請指出程序中的常量和變量問題:請指出程序中的常量和變量 整型數(shù)據(jù)整型數(shù)據(jù)例,整型變量的定義與運用例,整型變量的定義與運用#include int main() return 0;運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果: a+u=22,b+u=-14 闡明:闡明: 可以看到不同種類的整型數(shù)據(jù)可以進(jìn)展算術(shù)運算可以看到不同種類的整型數(shù)據(jù)可以進(jìn)展算術(shù)運算 int a,b,c,d;unsigned u;a=12; b=-24; u=10;c=a+u; d=b+u;printf(a+u=%d,b+u=%dn,c,d);整型數(shù)據(jù)整型數(shù)據(jù)例

33、例 整型數(shù)據(jù)的溢出整型數(shù)據(jù)的溢出#include int main() int a,b; a=32767; b=a+1; printf(“%d,%dn,a,b); return 0;運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果: 32767,-32768本例特指整型本例特指整型數(shù)據(jù)用數(shù)據(jù)用1616位保位保管的情形管的情形整型數(shù)據(jù)整型數(shù)據(jù)整型常量的類型整型常量的類型 (1)一個整數(shù),假設(shè)其值在一個整數(shù),假設(shè)其值在-32768+32767范圍內(nèi),以為它是范圍內(nèi),以為它是int型,它可以賦值給型,它可以賦值給int型和型和long int型變量。型變量。 (2) 一個整數(shù),假設(shè)其值超越了上述范圍,而在一個整數(shù),假設(shè)其值超越了

34、上述范圍,而在-2147483637+2147483647范圍內(nèi),那么以為它是為長整型??梢詫⑺x值范圍內(nèi),那么以為它是為長整型??梢詫⑺x值給一個給一個long int型變量。型變量。 (3) 假設(shè)所用的假設(shè)所用的C版本如版本如Turbo C分配給分配給short int與與int型數(shù)型數(shù)據(jù)在內(nèi)存中占據(jù)的長度一樣,那么它的表數(shù)范圍與據(jù)在內(nèi)存中占據(jù)的長度一樣,那么它的表數(shù)范圍與int型一樣。型一樣。因此一個因此一個int型的常量同時也是一個型的常量同時也是一個short int型常量,可以賦型常量,可以賦給給int型或型或short int型變量。型變量。(4) 一個整常量后面加一個字母一個整

35、常量后面加一個字母u或或U,以為是,以為是unsigned int型,型,如如12345u,在內(nèi)存中按,在內(nèi)存中按unsigned int規(guī)定的方式存放規(guī)定的方式存放(存儲存儲單元中最高位不作為符號位,而用來存儲數(shù)據(jù)單元中最高位不作為符號位,而用來存儲數(shù)據(jù))。假設(shè)寫成。假設(shè)寫成-12345u,那么先將,那么先將-12345轉(zhuǎn)換成其補(bǔ)碼轉(zhuǎn)換成其補(bǔ)碼53191,然后按無,然后按無符號數(shù)存儲。符號數(shù)存儲。整型數(shù)據(jù)整型數(shù)據(jù)(5) 在一個整常量后面加一個字母在一個整常量后面加一個字母l或或L,那么以為是,那么以為是long int型型常量。例如常量。例如123l,432L,0L等。這往往用于函數(shù)調(diào)用中。

36、等。這往往用于函數(shù)調(diào)用中。假設(shè)函數(shù)的形參為假設(shè)函數(shù)的形參為long int型,那么要務(wù)虛參也為型,那么要務(wù)虛參也為long int型。型。整型常量的類型是根據(jù)整型常量的類型是根據(jù)1整數(shù)后的字母后綴來判別的整數(shù)后的字母后綴來判別的沒有字母后綴,以為是沒有字母后綴,以為是int123L long123U unsigned123LU unsigned long2整數(shù)的值整數(shù)的值實型數(shù)據(jù)實型數(shù)據(jù)實型數(shù)據(jù)的存儲實型數(shù)據(jù)的存儲定點數(shù)定點數(shù) 定點整數(shù)定點整數(shù) 隱含小數(shù)點位置隱含小數(shù)點位置 符號位符號位數(shù)值位數(shù)值位符號位符號位數(shù)值位數(shù)值位 定點純小數(shù)定點純小數(shù) 隱含小數(shù)點位置隱含小數(shù)點位置 實型數(shù)據(jù)的存儲實型

37、數(shù)據(jù)的存儲-浮點數(shù)浮點數(shù) 浮點數(shù)的小數(shù)點位置不固定,來源于數(shù)學(xué)中的指數(shù)表浮點數(shù)的小數(shù)點位置不固定,來源于數(shù)學(xué)中的指數(shù)表示方式。例如:示方式。例如: 57. 25 57. 25102102(0.5725)(0.5725) 其中,其中,1010的指數(shù)的指數(shù)2 2稱為階碼,稱為階碼,0.57250.5725稱為尾數(shù)。稱為尾數(shù)。 階符階符階碼階碼數(shù)符數(shù)符尾數(shù)尾數(shù) + 2 + 0.5725 浮點數(shù)機(jī)內(nèi)表示方式浮點數(shù)機(jī)內(nèi)表示方式 實型數(shù)據(jù)實型數(shù)據(jù)C言語中實數(shù)的表示方式:言語中實數(shù)的表示方式:浮點表示法浮點表示法0.123 123.4 12. .12科學(xué)計數(shù)法科學(xué)計數(shù)法6.026E-27 1.2e+30 1

38、E-5實數(shù)的類型實數(shù)的類型都被看作是都被看作是 double實型數(shù)據(jù)實型數(shù)據(jù)浮點型常量的表示方法浮點型常量的表示方法兩種表兩種表示方式示方式小數(shù)小數(shù)指數(shù)指數(shù)0.1230.1233e-33e-3留意留意: :字母字母e(e(或或E)E)之前必需有數(shù)字,且之前必需有數(shù)字,且e e后面的指數(shù)必需為整數(shù)后面的指數(shù)必需為整數(shù) 實型數(shù)據(jù)實型數(shù)據(jù)規(guī)范化的指數(shù)方式規(guī)范化的指數(shù)方式 在字母在字母e e或或E E之前的小數(shù)部分中,小數(shù)點左邊應(yīng)有一位之前的小數(shù)部分中,小數(shù)點左邊應(yīng)有一位且只能有一位非零的數(shù)字。且只能有一位非零的數(shù)字。例如例如: 123.456: 123.456可以表示為:可以表示為: 123.456

39、e0 123.456e0 12.3456e1 12.3456e1 1.23456e2 1.23456e2 0.123456e3 0.123456e3 0.0123456e4 0.0123456e4 0.00123456e5 0.00123456e5 其中的其中的1.23456e21.23456e2稱為稱為“規(guī)范化的指數(shù)方式。一個浮點數(shù)輸規(guī)范化的指數(shù)方式。一個浮點數(shù)輸出時的方式。出時的方式。實型數(shù)據(jù)實型數(shù)據(jù)浮點型變量浮點型變量1、浮點型數(shù)據(jù)在內(nèi)存中的存放方式、浮點型數(shù)據(jù)在內(nèi)存中的存放方式 一個浮點型數(shù)據(jù)普通在內(nèi)存中占一個浮點型數(shù)據(jù)普通在內(nèi)存中占4個字節(jié)個字節(jié)(32位位)。與整型數(shù)。與整型數(shù)據(jù)的存

40、儲方式不同,浮點型數(shù)據(jù)是按照指數(shù)方式存儲的。系據(jù)的存儲方式不同,浮點型數(shù)據(jù)是按照指數(shù)方式存儲的。系統(tǒng)把一個浮點型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。統(tǒng)把一個浮點型數(shù)據(jù)分成小數(shù)部分和指數(shù)部分,分別存放。指數(shù)部分采用規(guī)范化的指數(shù)方式。指數(shù)部分采用規(guī)范化的指數(shù)方式。實型數(shù)據(jù)實型數(shù)據(jù)浮點型變量浮點型變量1、浮點型變量的分類、浮點型變量的分類單精度單精度floatfloat型型雙精度雙精度doubledouble型型長雙精度型長雙精度型long doublelong double類型類型 位數(shù)位數(shù) 數(shù)的范圍數(shù)的范圍 有效數(shù)字有效數(shù)字float 32 10-37 1038 float 32 10-37

41、1038 67 67 位位doubledouble型型 64 10-30710308 64 10-30710308 15161516位位long double 128 10-4931104932 long double 128 10-4931104932 18191819位位可以表示的數(shù)據(jù)范圍比整數(shù)大很可以表示的數(shù)據(jù)范圍比整數(shù)大很多,因此,實踐運用中,假多,因此,實踐運用中,假設(shè)整數(shù)很大,超出了整數(shù)的設(shè)整數(shù)很大,超出了整數(shù)的表示范圍,經(jīng)常用浮點數(shù)方表示范圍,經(jīng)常用浮點數(shù)方式,例如,計算式,例如,計算n!n!,經(jīng)常運,經(jīng)常運用用doubledouble類型變量。類型變量。實型數(shù)據(jù)實型數(shù)據(jù)例,浮點

42、型數(shù)據(jù)的舍入誤差例,浮點型數(shù)據(jù)的舍入誤差#include void main() float a,b; a = 123456.789e5; b = a + 20 ; printf(“%fn,b); 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果: 12345678848.000000 12345678848.000000實型數(shù)據(jù)實型數(shù)據(jù)浮點型常量的類型浮點型常量的類型C編譯系統(tǒng)將浮點型常量作為雙精度來處置。編譯系統(tǒng)將浮點型常量作為雙精度來處置。 例如:例如:f = 2.45678 * 4523.65 系統(tǒng)先把系統(tǒng)先把2.45678和和4523.65作為雙精度數(shù),然后進(jìn)展相作為雙精度數(shù),然后進(jìn)展相乘的運算,得到的乘積也是一

43、個雙精度數(shù)。最后取其前乘的運算,得到的乘積也是一個雙精度數(shù)。最后取其前7位位賦給浮點型變量賦給浮點型變量f。 假設(shè)是在數(shù)的后面加字母假設(shè)是在數(shù)的后面加字母f或或F如如1.65f, 654.87F,這,這樣編譯系統(tǒng)就會把它們按單精度樣編譯系統(tǒng)就會把它們按單精度32位處置。位處置。實型數(shù)據(jù)實型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符常量字符常量(1)(1)用單引號包含的一個字符是字符型常量用單引號包含的一個字符是字符型常量(2)(2)只能包含一個字符只能包含一個字符a a, ,A A, , 1 1abcabc、“a aa A 9 + $ 在在ASCII字符集中,列出一切可用的字符字符集中,列出一切可用的字符2

44、56個個附錄,每個字符:獨一的次序值附錄,每個字符:獨一的次序值 ASCII 碼碼0-9 升序陳列升序陳列 A - Z a - z字符常量字符常量(1)(1)用單引號包含的一個字符是字符型常量用單引號包含的一個字符是字符型常量(2)(2)只能包含一個字符只能包含一個字符字符字符ASCII 碼碼對字符進(jìn)展運算對字符進(jìn)展運算 對字符的對字符的ASCII 碼進(jìn)展碼進(jìn)展運算運算例如:例如: A 的的 ASCII 碼是碼是 65那么:那么:A+1=66,對應(yīng)字符,對應(yīng)字符 B字符型數(shù)據(jù)字符型數(shù)據(jù)字符常量字符常量(1)(1)用單引號包含的一個字符是字符型常量用單引號包含的一個字符是字符型常量(2)(2)只

45、能包含一個字符只能包含一個字符有一些字符,如回車符、退格符等控制符號,不能在屏幕上有一些字符,如回車符、退格符等控制符號,不能在屏幕上顯示,也無法從鍵盤輸入,只能用本義字符表示。顯示,也無法從鍵盤輸入,只能用本義字符表示。本義字符:反斜杠本義字符:反斜杠加上一個字符或數(shù)字組成,它把反斜杠后加上一個字符或數(shù)字組成,它把反斜杠后的字符或數(shù)字轉(zhuǎn)換成別的意義。的字符或數(shù)字轉(zhuǎn)換成別的意義。例如:例如:n 表示回車表示回車 t 表示橫向跳格表示橫向跳格雖然本義字符方式上由多個字符組成,但它是字符常量,只雖然本義字符方式上由多個字符組成,但它是字符常量,只代表一個字符,運用方法與其他字符常量一樣。代表一個字

46、符,運用方法與其他字符常量一樣。字符型數(shù)據(jù)字符型數(shù)據(jù) 有些以有些以“ 開頭的特殊字符稱為本義字符開頭的特殊字符稱為本義字符n 換行換行t 橫向跳格橫向跳格r 回車回車 反斜杠反斜杠ddd ddd表示表示1到到3位八進(jìn)制數(shù)字位八進(jìn)制數(shù)字xhh hh表示表示1到到2位十六進(jìn)制數(shù)字位十六進(jìn)制數(shù)字字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)字符型數(shù)據(jù)本本義義字字符符 反斜杠后跟一個字符或數(shù)字反斜杠后跟一個字符或數(shù)字 字符常量,代表一個字符字符常量,代表一個字符 n 101 x41 A 一切字符都可以用本義字符表示一切字符都可以用本義字符表示 字符變量字符變量字符型變量用來存放字符常量,留意只能放一個字字符型變量用來

47、存放字符常量,留意只能放一個字符。符。字符變量的定義方式如下:字符變量的定義方式如下:char c1,c2;之后,可以用下面語句對之后,可以用下面語句對c1,c2賦值:賦值: c1a;c2 b ;一個字符變量在內(nèi)存中占一個字節(jié)一個字符變量在內(nèi)存中占一個字節(jié) 字符型數(shù)據(jù)字符型數(shù)據(jù)字符數(shù)據(jù)在內(nèi)存中的存儲方式及其運用方法字符數(shù)據(jù)在內(nèi)存中的存儲方式及其運用方法將一個字符常量放到一個字符變量中,實踐上并不是把該字將一個字符常量放到一個字符變量中,實踐上并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代代碼放到存儲單元中。碼放到存儲單元中。實際

48、上實際上c1c2例如:例如:char c1,c2;c1a;c2 b ;9798c1c20110000101100010這種存儲原理,使得在這種存儲原理,使得在C言語中,字符型數(shù)據(jù)和整型數(shù)據(jù)之言語中,字符型數(shù)據(jù)和整型數(shù)據(jù)之間可以通用。一個字符數(shù)據(jù)既可以以字符方式輸出,也可間可以通用。一個字符數(shù)據(jù)既可以以字符方式輸出,也可以以整數(shù)方式輸出。以以整數(shù)方式輸出。實踐上實踐上字符型數(shù)據(jù)字符型數(shù)據(jù)例例 向字符變量賦以整數(shù)向字符變量賦以整數(shù)#include int main() char c1,c2; c1=97; c2=98; printf(“%c %cn,c1,c2); printf(“%d %dn,c

49、1,c2); return 0; 運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果: a b a b 97 98 97 98c1=a;c2=b;字符型數(shù)據(jù)字符型數(shù)據(jù)例例 大小寫字母的轉(zhuǎn)換大小寫字母的轉(zhuǎn)換#include int main() char c1,c2; c1=a; c2=b; c1=c1-32; c2=c2-32; printf(“c c,c1,c2; return 0;運轉(zhuǎn)結(jié)果:運轉(zhuǎn)結(jié)果:A B字符型數(shù)據(jù)字符型數(shù)據(jù)字符串常量字符串常量字符串常量是一對雙撇號括起來的字符序列字符串常量是一對雙撇號括起來的字符序列.合法的字符串常量合法的字符串常量:“How do you do., “CHINA, “a , “$1

50、23.45,“可以輸出一個字符串,如可以輸出一個字符串,如 printf(“How do you do.); 也可以也可以printf(“%s,“How do you do.);對比其他數(shù)據(jù)類型常量的輸出對比其他數(shù)據(jù)類型常量的輸出printf(“%d,345); printf(“%f,2.134); printf(“%c,a);字符型數(shù)據(jù)字符型數(shù)據(jù)字符串常量字符串常量 是字符常量,是字符串常量,二者不同。是字符常量,是字符串常量,二者不同。 c= c=a a; ; a a;c cCHINACHINA; ; 結(jié)論:不能把一個字符串常量賦給一個字符變量。結(jié)論:不能把一個字符串常量賦給一個字符變量。

51、如:假設(shè)如:假設(shè)c c被指定為字符變量被指定為字符變量 :char cchar c;字符型數(shù)據(jù)字符型數(shù)據(jù)變量賦初值變量賦初值在今后的學(xué)習(xí)過程中,更多的精神用在變量的運用上。在今后的學(xué)習(xí)過程中,更多的精神用在變量的運用上。 定義了變量后,就可以在程序中運用變量了。定義了變量后,就可以在程序中運用變量了。 其中,經(jīng)常會遇到的一種運用情形是,為變量賦初始值。其中,經(jīng)常會遇到的一種運用情形是,為變量賦初始值。如:如:int a,b,c;int a,b,c; float x,y; float x,y; double s,g; double s,g; char ch1,ch2 char ch1,ch2;

52、在程序中就可以按照定義的類在程序中就可以按照定義的類型運用這些變量。型運用這些變量。 當(dāng)然,可以在變量定義好后,用賦值運算的方式完成。當(dāng)然,可以在變量定義好后,用賦值運算的方式完成。 C C言語允許在定義變量的同時給變量一個初始值。言語允許在定義變量的同時給變量一個初始值。變量賦初值變量賦初值 然后再進(jìn)展其他處置然后再進(jìn)展其他處置如:如:int a;int a; float f; float f; char c; char c; C C言語允許在定義變量的同時給變量一個初始值。言語允許在定義變量的同時給變量一個初始值。a=3;f=3.56;c=a;如:如:int a=3;int a=3; fl

53、oat float f=3.56;f=3.56; char c= char c=a a; ;afcafc33.56a33.56a先變量定義先變量定義給變量賦值給變量賦值變量賦初值變量賦初值對于:對于:int a,b,c; int a,b,c; C C言語允許在定義變量的同時給變量一個初始值。言語允許在定義變量的同時給變量一個初始值。a=3;b=3;c=3;如:如:int a=3,b=3,c=3;int a=3,b=3,c=3; 假設(shè):假設(shè):int a,b,c=5; int a,b,c=5; 表示什么含義?表示什么含義?abc5abc333( (一一) )所謂輸入輸出所謂輸入輸出 是以計算機(jī)主機(jī)

54、為主體而言的是以計算機(jī)主機(jī)為主體而言的輸出輸出: :從計算機(jī)向外部輸出設(shè)備從計算機(jī)向外部輸出設(shè)備( (顯示器顯示器, ,打印機(jī)打印機(jī)) )輸出數(shù)據(jù)輸出數(shù)據(jù)輸入輸入: :從輸入設(shè)備從輸入設(shè)備( (鍵盤鍵盤, ,鼠標(biāo)鼠標(biāo), ,掃描儀掃描儀) )向計算機(jī)輸入數(shù)據(jù)向計算機(jī)輸入數(shù)據(jù)鍵盤鍵盤顯示器顯示器計算機(jī)計算機(jī)輸入輸入輸出輸出數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出( (二二)C)C言語本身不提供輸入輸出語句言語本身不提供輸入輸出語句, ,輸入和輸出操輸入和輸出操作是由作是由C C函數(shù)庫中的函數(shù)來實現(xiàn)的函數(shù)庫中的函數(shù)來實現(xiàn)的例如例如:字符輸入函數(shù)字符輸入函數(shù): getchar 字符輸出函數(shù)字符輸出函數(shù):put

55、char格式輸入函數(shù)格式輸入函數(shù): scanf 格式輸出函數(shù)格式輸出函數(shù): printf字符串輸入函數(shù)字符串輸入函數(shù):gets 字符串輸出函數(shù)字符串輸出函數(shù):puts數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出(三三)在運用系統(tǒng)庫函數(shù)時在運用系統(tǒng)庫函數(shù)時,要用編譯預(yù)處置命令要用編譯預(yù)處置命令“#include將有關(guān)的將有關(guān)的“頭文件包括到用戶源文件頭文件包括到用戶源文件中中.例如:在調(diào)用規(guī)范輸入輸出庫函數(shù)時,文件開例如:在調(diào)用規(guī)范輸入輸出庫函數(shù)時,文件開頭應(yīng)該有:頭應(yīng)該有: #include “stdio.h 或:或: #include 由于由于C系統(tǒng)曾經(jīng)編寫好這些函數(shù)程序,我們只需求按照語法規(guī)系統(tǒng)曾經(jīng)編

56、寫好這些函數(shù)程序,我們只需求按照語法規(guī)定的要求進(jìn)展參數(shù)設(shè)置,正確運用即可,非常方便。定的要求進(jìn)展參數(shù)設(shè)置,正確運用即可,非常方便。數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出一字符輸出函數(shù)一字符輸出函數(shù)普通方式普通方式函數(shù)作用函數(shù)作用putcharch向終端或系統(tǒng)默許的輸出設(shè)備輸出一個字符向終端或系統(tǒng)默許的輸出設(shè)備輸出一個字符 注注: ch 可以是一個字符型整型變量、常量或表達(dá)式可以是一個字符型整型變量、常量或表達(dá)式; 也可以是一個本義字符,也可以是一個本義字符, 如如 putchar(n) putchar(101)。數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出結(jié)果是在顯示器上輸出一個回車結(jié)果是在顯示器上輸出一個回車

57、寫到程序中的情形寫到程序中的情形一字符輸出函數(shù)一字符輸出函數(shù)普通方式普通方式putcharch#include void main() putchar(n);數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出結(jié)果是在顯示器上輸出一個結(jié)果是在顯示器上輸出一個A寫到程序中的情形寫到程序中的情形一字符輸出函數(shù)一字符輸出函數(shù)普通方式普通方式putcharch#include void main() putchar(101);數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出舉例舉例#include int main() char ch1B,ch2=O,ch3=Y; putchar(“); /*輸出雙引號輸出雙引號本義字符本義字符*/ p

58、utchar(ch1); putchar(ch2); putchar(ch3); /*輸出字符型變量中的字符輸出字符型變量中的字符*/ putchar(); return 0; BOY數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出例例 輸出單個字符輸出單個字符#includeint main() char a,b,c; a=B;b=O;c=Y; putchar(a); putchar(b); putchar(c); putchar(n); return 0;B O Yputchar(n);putchar(n);B O Y數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出練習(xí):練習(xí): 閱讀以下程序,寫出運轉(zhuǎn)結(jié)果閱讀以下程序,寫

59、出運轉(zhuǎn)結(jié)果#include stdio.hint main( ) char ch1=B,ch2=o,ch3=k; putchar(ch1);putchar(ch2);putchar(ch2);putchar(ch3); putchar(t); putchar(ch1+32);putchar(ch2); putchar(ch2);putchar(ch3); putchar(n); putchar(ch2-32);putchar(ch3-32); putchar(n); return 0;Book bookOK數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出二字符輸入函數(shù)二字符輸入函數(shù)普通方式:普通方式:函數(shù)作用

60、:函數(shù)作用:函數(shù)值:函數(shù)值: 注:注:getchar函數(shù)沒有參數(shù),所接受的字符可以賦給字符型或整型函數(shù)沒有參數(shù),所接受的字符可以賦給字符型或整型變量,也可以作為表達(dá)式的一部分。變量,也可以作為表達(dá)式的一部分。getchar從終端或系統(tǒng)隱含指定的輸入設(shè)備從終端或系統(tǒng)隱含指定的輸入設(shè)備輸入一個字符。輸入一個字符。從輸入設(shè)備得到的字符。從輸入設(shè)備得到的字符。數(shù)據(jù)的輸入與輸出數(shù)據(jù)的輸入與輸出例例 輸入單個字符輸入單個字符運轉(zhuǎn)程序:運轉(zhuǎn)程序:從鍵盤輸入字符從鍵盤輸入字符a按按Enter鍵鍵屏幕上將顯示輸出的字符屏幕上將顯示輸出的字符aa用戶鍵盤輸入的字符用戶鍵盤輸入的字符a#includeint main() cha

溫馨提示

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

最新文檔

評論

0/150

提交評論