




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第2章 基本數(shù)據(jù)類型2.1 字符集及詞法約定2.2 常 量2.3 簡 單 變 量2.4 基本數(shù)據(jù)類型及其轉(zhuǎn)換2.5 printf()和scanf()函數(shù)的一般使用2.1 字符集及詞法約定2.1.1 字符集利用C 語言編寫源程序時用到的字符集中有數(shù)字、字母、圖形符號、轉(zhuǎn)義序列和三聯(lián)字符序列等。 數(shù)字:0,1,9。 字母:A、B、Z和a、b、z。 圖形符號:! “ # & ( ) * , / ; : ? _ | 。 轉(zhuǎn)義序列。 三聯(lián)字符序列。2.1.2 詞法約定在C語言中主要包括6類單詞:標識符、關(guān)鍵字、常量、字符串字面量、運算符和標點符。(1)注釋以“/*”開頭、“*/”結(jié)束的一個字符串。(2)
2、標識符在C語言中,標識符用來標記常量、變量、數(shù)據(jù)類型、函數(shù)及程序的名字。必須符合下列語法規(guī)則: 應(yīng)以字母(大小寫皆可)或下線符(_)中任一個字符開頭。 在第一個字母后,可以是任意字母、下線符和數(shù)字組成的字符序列,此序列可為空串。下列字符序列是合法的標識符: NAME1 name1 Total_5 Paper _i3 _out以下字符序列不是合法的標識符: NAME 1 中間留有空格,它不是字母數(shù)字串 name$2 中間有$,它為非字母、數(shù)字字符 5t 開頭的是數(shù)字,而不是字母 $4 開頭的是一般字符,不是字母標識符必須選擇恰當(dāng),使程序易讀,也可以減少書寫程序或修改程序時由于疏忽而產(chǎn)生的錯誤。在
3、選擇標識符時,還要盡量避免使用容易混淆的字符。一般情況下,C語言中大寫字母和小寫字母是不同的。另外,標識符的最大長度受實現(xiàn)限制。(3)關(guān)鍵字又稱作保留字,它是具有特定含義、專門用作語言的特定成分的一類標識符,不能當(dāng)作一般標識符來使用。(4)標點符C語言中的標點符共有13個,即: ( ) * , : = ; # 2.2 常 量在C語言中有不同類型的常量,如整型常量、浮點常量、字符常量和字符串常量。常量在C語言中出現(xiàn)的形式一般有兩種。字面量。符號常量。2.2.1 整型常量C語言中普通整常量在機器中占一個字長。在C語言中,整常量又分為十進制整常量、八進制整常量和十六進制整常量。1十進制整常量十進制整
4、常量是帶正負號的整數(shù)。2八進制整常量八進制整常量是以數(shù)字0開頭的八進制數(shù)字串,其中只能出現(xiàn)數(shù)字07。3十六進制整常量十六進制整常量是以0 x或0X開頭的十六進制數(shù)字串,可用的數(shù)字有:09、af或AF。4整常量的后綴(1)無符號型后綴 無符號型后綴用小寫字母u或者大寫字母U表示 (unsigned int)。(2)長型后綴長型后綴用小寫字母l或大寫字母L表示 (long int)。如果一個整常量后面同時帶有后綴l(L)和u(U),那么,它的類型就是unsigned long int。2.2.2 浮點常量它有兩種表示形式:(1)十進制數(shù)形式3.14、0.618、.618、10.0和123.。必須有
5、小數(shù)點,并且小數(shù)點的前面或者后面必須有數(shù)字。(2)指數(shù)形式2.98e6( 或2.98E6)、3.0e8(或3.0E8)、6.E5、6e5和.123E4。必須有階碼標志e(或E),并且e之前必須有數(shù)字,e之后的指數(shù)必須是整數(shù)。浮點常量不帶后綴,類型就是雙精度型(double)。后面帶有后綴字母F或f,類型就是單精度浮點型(float),字母l或L,類型就是長雙精度型(long double)。在一般系統(tǒng)中,單精度浮點數(shù)占用4個字節(jié)(32位)的存儲單元,而雙精度浮點數(shù)占用8個字節(jié)。2.2.3 字符常量字符常量是用單引號括起來的一個字符或字符序列,如 x、AB、9和*等。在C語言中轉(zhuǎn)義序列有三種:簡
6、單轉(zhuǎn)義序列、八進制轉(zhuǎn)義序列和十六進制轉(zhuǎn)義序列。(1)簡單轉(zhuǎn)義序列 ? a b f n r t v(2)八進制轉(zhuǎn)義序列 如:014、75和6等。(3)十六進制轉(zhuǎn)義序列如:x9、x1A和x123等。八進制轉(zhuǎn)義序列和十六進制轉(zhuǎn)義序列在構(gòu)成形式上雖然出現(xiàn)多個字符,但在相應(yīng)的字符常量或字符串常量中卻只代表一個字符。字符常量的類型是int。它的值就是該字符在相應(yīng)字符集中的編碼值。字符常量可像其他整數(shù)一樣參與數(shù)值運算。在C語言中,用0表示空字符NUL,它所占字節(jié)的各位都是0,因而它的值也是0。空字符不是空白字符。還應(yīng)注意0與0的區(qū)別。2.2.4 字符串常量它是用一對雙引號括起來的零個或多個字符組成的序列,如
7、: Hello! This is a character string 1234567890 (在雙引號中沒有任何字符) 字符串常量也可以看成是一個數(shù)組,這個數(shù)組的元素為一個一個的字符。編譯程序會自動在每個字符串末尾放上空字符“0”,作為字符串的結(jié)尾。每個字符串所需要的實際空間要比用戶給出的字符數(shù)多一個字節(jié)。x就不同于“x”。前者是單獨一個字符,后者包含了兩個字符:字母“x”和一個字符“0”。字符0是編譯程序自動加上的,在字符串末尾,所以在計算字符串長度時,并不把它計算在內(nèi)。2.3 簡 單 變 量在程序中使用一個變量之前,先要對它進行定義:int i;int i,j,k;float price
8、,total;在C語言中定義變量的一般形式是: 數(shù)據(jù)類型 變量名;或者 數(shù)據(jù)類型 變量名1,變量名2,;其中數(shù)據(jù)類型部分是表示相應(yīng)數(shù)據(jù)類型的關(guān)鍵字。在對變量進行定義時,還應(yīng)注意以下幾點: 不同類型的變量應(yīng)在各自數(shù)據(jù)說明行上定義,不要把它們統(tǒng)統(tǒng)寫在一行上,以增加程序的可讀性。 在程序的同一部分,不允許對同一標識符做重復(fù)定義。例如:1 main()2 3 int a,b,sum;4 float price,sum;5 char a,flag;. 數(shù)據(jù)說明語句的最后是以分號結(jié)尾,而同一說明語句的各個變量名之間則以逗號隔開。例如: int i,j,k;2.4 基本數(shù)據(jù)類型及其轉(zhuǎn)換2.4.1 整型int
9、及其相關(guān)類型表示整型量的關(guān)鍵字是int。 int i;在目前大多數(shù)實現(xiàn)中,整型變量的取值范圍因機器字長而異。在字長為16位的機器上,整型變量i的取值范圍是:32768i32767對它們可以施行如下算術(shù)運算:(加) (減) *(乘) (除) (取模)整型數(shù)據(jù)還可使用下述關(guān)系運算符: !C語言中與int有關(guān)的類型還有: short int,簡寫為short,是短整型。 long int,簡寫為long,是長整型。 unsigned int,簡寫為unsigned,是無符號整數(shù)。2.4.2 字符型char及其相關(guān)類型表示字符類型變量的關(guān)鍵字是char。char c;一個字符型變量所占用的內(nèi)存空間應(yīng)足
10、以存放所用基本字符集中任何一個字符。通常占用一個字節(jié),即8位。在ANSI C 和ISO C中,還規(guī)定了signed char和 unsigned char兩種類型,unsigned char型量的取值范圍是0255,signed char型量的取值范圍是127127。當(dāng)把一個字符常量賦給一個字符變量時,該字符變量的值就是相應(yīng)字符的編碼值。在C語言中字符數(shù)據(jù)往往可以像整型數(shù)據(jù)那樣進行有關(guān)運算。字符數(shù)據(jù)可以以字符形式輸出,也可以用整數(shù)形式輸出。2.4.3 浮點型float基本浮點類型的關(guān)鍵字是float。float f;C語言中還提供其他兩種浮點類型:double和long double,分別稱作
11、雙精度類型和長雙精度類型。一般機器上float型量占4個字節(jié)(32位),double型量占8個字節(jié)(64位),而long double型量要占16個字節(jié)(128位)。浮點變量可進行的算術(shù)運算有下述4種:*其運算結(jié)果仍是一個浮點量。但大家應(yīng)注意,取模運算符“”不能作用于浮點類型的量上。為了保持運算精度,在運算時所有的float型量都被轉(zhuǎn)換成double型。2.4.4 類型轉(zhuǎn)換如果一個運算符有兩個不同類型的運算分量,那么,在操作之前先將“較低”的類型提升為“較高”的類型,使二者類型統(tǒng)一,然后進行操作;其結(jié)果是“較高”類型。而類型的高低是由其屬性(取值范圍、精度、作用等)來決定的。由算術(shù)運算符對運算
12、分量自動實施的類型轉(zhuǎn)換稱為普通算術(shù)轉(zhuǎn)換。也稱為隱式轉(zhuǎn)換。在進行運算之前,所有char型和short型數(shù)據(jù)都轉(zhuǎn)換成int型,所有float型數(shù)據(jù)都轉(zhuǎn)換成double型,以提高運算精度。在賦值語句中,賦值號右邊表達式的值的類型要轉(zhuǎn)換成賦值號左邊變量的類型。 int i=10; float pi=3.14; double f; f=i*pi;例2-2:分析下面程序輸出的結(jié)果。/* Basic conversions in C */void main() int a,b=550; char c=7; float f1=3.142,f2; a=b/c; /* integer divided by a c
13、haracter */ printf(a=dn,a); a=f1; /* float to integer conversion */ printf(f1=fa=dn,f1,a); f1=b;/* integer to float conversion */ printf(b=df1=fnb,f1); f2=b/50.0;/* integer divided by a float */ printf(b=d,f2=fn,b,f2);輸出結(jié)果是: a=10 f1=3.142000a=3 b=550f1=550.000000 b=550,f2=11.000000顯式類型轉(zhuǎn)換,這就是利用類型強制轉(zhuǎn)換運算符“(類型名)表達式”形式中的一對圓括號,強行把其后表達式的類型轉(zhuǎn)換成圓括號中給定的類型。2.5 printf()和scanf()函數(shù)的一般使用(1)printf()函數(shù)printf()函數(shù)的功能是按指定的格式控制要求把相應(yīng)的參數(shù)值在標準輸出設(shè)備(通常是終端)上顯示出
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 深入分析2025年創(chuàng)業(yè)扶持政策的嘉獎機制試題及答案
- 綠色建筑材料市場推廣策略與政策支持下的區(qū)域市場研究
- 小學(xué)摸底測試題及答案
- 物理實驗中誤差分析的技巧試題及答案
- 理解分銷渠道的商務(wù)英語試題及答案
- 環(huán)保站面試真題及答案
- 線下演出市場復(fù)蘇2025年劇院運營成本控制案例報告
- 數(shù)字人民幣2025跨境支付技術(shù)挑戰(zhàn)與跨境支付清算效率提升報告
- 2025公務(wù)員考試常用題目及答案
- 政策激勵下的創(chuàng)業(yè)者精神探討試題及答案
- 【專項訓(xùn)練】相似三角形五大模型+訓(xùn)練(共45題)(原卷版+解析)
- 國家助學(xué)貸款還款救助歸檔材料清單
- 11《杠桿》教學(xué)設(shè)計-2023-2024學(xué)年科學(xué)五年級下冊人教鄂教版
- 2024版惡性腫瘤患者營養(yǎng)治療指南解讀課件
- 2025屆四川省成都市高三上學(xué)期畢業(yè)班摸底測試(零診)歷史試題(解析版)
- YB 4019-1991 輕燒菱鎂礦粉化學(xué)分析方法檸檬酸法測定輕燒菱鎂礦粉的活性
- 路面工程練習(xí)試卷1(共101題)
- DL∕T 802.8-2014 電力電纜用導(dǎo)管技術(shù)條件 第8部分:埋地用改性聚丙烯塑料單壁波紋電纜導(dǎo)管
- DL∕T 1901-2018 水電站大壩運行安全應(yīng)急預(yù)案編制導(dǎo)則
- 教育公平問題案例
- DL∕T 1630-2016 氣體絕緣金屬封閉開關(guān)設(shè)備局部放電特高頻檢測技術(shù)規(guī)范
評論
0/150
提交評論