




已閱讀5頁,還剩51頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
語言的基本知識概括,(4)括號:,一、字符集和標識符,1、 字符集: 字符集是高級語言的編譯系統(tǒng)所能識別的字母、數字和特殊符號。C語言的字符集包括:,(1)英文字母:大小寫各26個,共計52個;,(2)阿拉伯數:0、1、2、3、4、5、6、7、8、9 共10個數字;,(3)運算符: +、-、*、/、%.,語言的基本知識概括,(7)空白符:空格符、換行符、制表符。,(5)標點符號:、“、:、;,(6)特殊符號: _ $ #,二、標識符,概念:就是用來標識變量名、符號常量名、函數名、類型名、文件名等的有效字符序列。,(1)標識符只能由字母、數字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。,定義規(guī)則:,如: _1 year month student_name sum0 M.D.Jones $123 #a 3b ?c a=b,(2)在C語言中,大小寫字母不等效。因此,a和A,I和i,Sum和sum,分別是兩個不同的標識符。,(3)用戶自定義的標識符不能與保留字(關鍵字)同名。,(4)標識符的一般長度(即一個標識符允許的字符個數)一般規(guī)定取前8個字符為有效字符,多余的將不被識別。,1)關鍵字標識符:又稱為命令符,在程序中有特定的含義。不能另作它用,其他字符無法直接替代它。(參看32個關鍵字),分類:在C語言中,標識符分為3類:關鍵字標識符、預定義標識符、用戶標識符 (自己定義)。,2)預定義標識符:在C語言中,一般是指C語言提供的庫函數名和預編譯處理命令(如printf、define)C語言允許這些標識符另作它用,但將使這些標識符失去了系統(tǒng)規(guī)定的原意。為了編程時方便、可靠、避免誤解,一般把這些標識符固定使用。,3)用戶標識符 :在編程時,用戶需要給一些變量、函數、數組、文件等命名,這類由用戶自己定義的標識符稱為用戶標識符 。,關鍵字,概念:就是具有特定含義的標識符,用戶不能用來作自定義標識符。,C語言中的關鍵字較少,由ANSI標準推薦的關鍵字有32個。,(1)與數據類型有關的(14): char int float double signed unsigned short long void struct union typedef enum sizeof,(3) 與程序控制結構有關的(12): do while for if else switch case default goto continue break return,(2)與存儲類別有關的: auto extern register static,三、常量和變量,1、常量,2、變量,數據有常量和變量之分。,(一)常量和符號常量 常量:在程序運行過程中值不能改變的量。 可分為不同的類型。C語言中有3種常量:算術型運算常量(如整型常量、實型常量等)、字符型常量(如字符常量、字符串常量)以及標識符所定義的常量(符號常量)。,符號常量:用一個標識符來代表一個常量,也就是標識符形式的常量,它的值在其作用域中不能改變,也不能再被賦值。習慣上符號常量名一般用大寫字母表示。,使用符號常量的好處: (1)含義清楚,在定義符號常量名時最好考慮“見名知意”。 (2)在需要改動一個常量時能做到“一改全改”。,(二)變量 其值可以改動的量稱做變量,一個變量應該有一個名字,在內存中占據一定的存儲單元。在該存儲單元中存放變量的值。,變量定義必須放在變量使用之前。一般放在函數體的開頭部分。要區(qū)分變量名和變量值是兩個不同的概念。,變量名實質是個符號地址,由系統(tǒng)來分配給它,每次程序中讀取變量值,實際上就是通過變量名找到相應的內存地址,并從其存儲單元中讀取數據。,注意:在C語言中,要求對所有用到的變量“先定義,后使用”。,int a,b,c ; float x,y; char c1,c2; 或 int c1,c2;,自己設定,滿足標識符的規(guī)定。,如:int, float,char,;不可省,變量定義形式:,類型標識符 變量名1 ,變量名2,變量名3,.;,例如:,類型說明符指定了變量的數據類型,例如int、char,變量名一般用小寫字母表示,命名規(guī)則要符合用戶自定義標識符規(guī)則,最好也做到“見名知意“,長度不超過8個字符,并且最好選取有含義的英文單詞(或其縮寫)作標識符。除了數值計算程序外,一般不要用代數符號做變量名,以增加程序的可讀性。,四、C語言的數據類型:,1、基本數據類型:特點:它的值不可以再分解為其它類型。也就是說,基本數據類型是自我說明的。,2、構造數據類型:構造數據類型是根據已定義的一個或多個數據類型用構造的方法來定義的。也就是說,一個構造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數據類型或又是一個構造類型。在C語言中,構造類型有以下幾種: 數組類型 結構體類型 共用體(聯合)類型,3、指針類型:指針是一種特殊的,同時又是具有重要作用的數據類型。其值用來表示某個變量在內存儲器中的地址。,4、空類型:在調用函數值時,通常應向調用者返回一個函數值。這個返回的函數值是具有一定的數據類型的,應在函數定義及函數說明中給以說明,例如在例1.3中給出的show函數定義中,函數頭為:void show(x,y); void表明調用后并不需要向調用者返回函數值。,在本章中,我們先介紹基本數據類型中的整型、浮點型和字符型。其余類型在以后各章中陸續(xù)介紹。,1、 整型常量 有三種表現形式:,十進制形式:與數學上的整數表示相同。 例如: 12, -100, 0,八進制形式:在數碼前加數字0 。 例如: 012=1*81+2*80=10(十進制),十六進制形式:在數碼前加0X(數字0和字母X,大小寫均可)。 例如: 0x12=1*161+2*160=18(十進制),五、整型數據,十六進制的數碼除了數字0-9外, 還使用英文字母a-f (或A-F)表示10-15。 如:0x1e、0Xabcdef、0x1000 但:0X2defg、0x100L都是錯誤的。,注意事項:,八進制的數碼范圍為0-7; 則:018、091、0A2 都是錯誤的數據表示方法。,2、整型變量,(一)整型變量的分類,基本型,以int表示。,短整型,以short int表示,或以short表示。,長整型,以long int表示,或以long表示。,無符號型,其中無符號型又分為無符號整型,無符號短整型和無符號長整型,分別以 unsigned int unsigned short unsigned long表示。,int x; long y;,2000,2001,2002,2005,x,y,內存,內存地址,2003,2004,整型數據的取值范圍,2、整型常量的類型 在將一個整型常量賦給一個整型變量時如何進行類型匹配?,其值在-32768 - +32767范圍內,認為它是 int型,它可以賦值給 int 型和 long int 型變量。,其值在-2147483648 - +2147483647范圍內,則認為它是long int型,可以將它賦值給一個long int 型變量。,.短整型常量:,.長整型常量:,.如果某一計算機系統(tǒng)的C版本確定的short int 與 int型數據在內存中占據的長度相同,,則它的表示范圍與int 型相同。我們所用的TURBOC是一樣的,因此一個int 型的常量也同時是一個short int型常量,可以賦值給int 型或 short int 型變量。,數據后加一個字母1 或 L,則認為是long int型常量.,.長整型常量的表示:,例如:1231 , 432L, 0L等等。,這往往用于函數調用中,如果函數的形參為long int型,則要求實參也為 long int 型,此時用123作實參不行,而要用123L作實參。,一般格式: printf(格式控制(或者稱格式字符串),輸出表列) 如printf(“%d, %cn”,i,c),3、用printf顯示整型數據,printf()函數的作用:向計算機系統(tǒng)默認的輸出設備(一般指終端或顯示器)輸出一個或多個任意類型的數據。,普通字符:即原樣輸出的字符。,(1)“格式控制”是用雙撇號括起來的字符串,也稱“轉換控制字符串”,它包括兩種信息: 格式說明,由“%”和格式字符組成,如%d,%f等。它的作用是將輸出的數據轉換成指定的格式輸出。格式說明必須用“%”開頭,以一個格式控制符結束,在格式字符的前面還可以插入“寬度說明”、坐對齊符號“-”等附加字符。,如果要輸出的數據不止1個,相鄰2個之間用逗號分開。下面的printf()函數都是合法的: (1)printf(“%d %d“,a,b); (2)printf(“%d“,3+2); (3)printf(“a=%f b=%5dn“, a, a+3);,(2)“輸出表列”是需要輸出的一些數據,可以是常量、變量或表達式。,格式字符 意 義 d 以十進制形式輸出帶符號整數(正數不輸出符號) o 以八進制形式輸出無符號整數(不輸出前綴0) x, 以十六進制形式輸出無符號整數(不輸出前綴Ox) u 以十進制形式輸出無符號整數(正整數),對于整型數據常用的輸出格式有:,2)如果顯示的整數是長整型數,一定要在轉換字符前加l,注意:1)除了%d,其余的格式都將數據作為無符號數輸出? 注意試一試,看%o%x能否輸出負數,3)注意域寬、對齊方式以及普通字符的輸出。,一般格式: scanf(“格式信息”,地址表列);,5、用scanf輸入整型數據,函數介紹 scanf ()函數稱做格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變量之中。,其中,“格式信息”與printf()函數用法相似,通過在格式信息字符串中使用%和轉換字符來指定不同數據類型數據的輸入方式,地址表列中給出各變量的地址。地址是由地址運算符“&”后跟變量名組成的。,按指定的寬度結束。例如“%3d”,只取3列。,使用scanf函數時應注意的問題: 1)輸入數據時,遇到以下情況,系統(tǒng)認為該數據結束:,遇到空格,或者回車鍵,或者Tab鍵。,遇到非法輸入。例如,在輸入數值數據時,遇到字母等非數值符號(數值符號僅由數字字符0-9、小數點和正負號構成)。,假設給num1輸入12,給num2輸入36,正確的輸入操作為:12,36,2)“格式信息”中出現的除格式轉換以外的字符,則在輸入數據時在對應位置輸入與這些字符相同的字符。,例如:scanf(“%d,%d“,1、浮點常量 有二種表現形式:,1)十進制小數形式:與數學上的實數表示相同。如127.3,2)指數形式: 類似于數學中的指數形式。C語言中,它由整數部分、小數部分和指數部分組成。其中,前兩部分用小數點連接,后兩部分用e(或E)連接。 e(或E)代表10的冪次 例如1.273+2等。,六、浮點數,指數部分可以省略(相當于用小數表示法)。,浮點常量的構成規(guī)則是:,整數部分可以不寫,小數部分也可以不寫,但不能同時不寫。,如有指數部分,則字母E(e)前必須有數字,該數字可以為整數也可以為小數;字母E(e)后必須為整數(范圍為1到3位的整數),可以為正或負,正號可以省略。 所有的指數都是整數,2、浮點變量,在標準C語言中,浮點數分為單精度(float型)、雙精度(double型),有的C版本還支持長雙精度型(long double)。,1)單精度型。類型關鍵字為float,一般占字節(jié)(位)、其數值表示范圍為10-371038,提供位有效數字,保留6位小數位。如float a,b;,2)雙精度型。類型關鍵字為double,一般占個字節(jié)(64位)、其數值范圍為10-30710308,提供1516位有效數字。如double c,d;,注意:C編譯系統(tǒng)將浮點常量作為雙精度(double型)來處理。浮點常量也象整型常量一樣,如果浮點常量超過了機器所能表示的范圍,否則發(fā)生溢出,得不到一個正確的數值。,格式字符 意義 f 以小數形式輸出單、雙精度實數 e,E 以指數形式輸出單、雙精度實數,3、用printf顯示浮點數據,輸出浮點數可以用的轉換說明符是%f和%e。,輸出雙精度(double)類型時,還需要加上字母l。,輸出浮點數不僅可以控制域寬,還可以控制小數部分的輸出位數(精度)。方法是在在%與f(或e)之間加上兩個數字并在這兩個數字之間加上一個句點“.”。例如%10.3f表示輸出格式是域寬10,有效位3。,注意:1)域寬不是指整數位的域寬,而是整個浮點數的域寬,還包括了小數點,小數位。如果不指定域寬和精度,默認的精度是6。,2)如果指定的域寬大于所顯示的數的實際域寬,未用的位置用空格填寫。如果指定的域寬小于所顯示的數的實際域寬,按數的實際域寬顯示。,3)左對齊符號同樣適用于浮點數。,4、用scanf輸入浮點數據,浮點數的輸入也是使用轉換字符f和e,直接使用%f和%e可以輸入float類型數據,使用%lf和%le則輸入double類型數據。,練習1 main() int n1=123; long n2=123456; printf(“n1=%d,n1=%5d,n1=%5d,n1=%2dn“,n1,n1,n1,n1); printf(“n2=%ld,n2=%8ld,n2=%5ldn“,n2,n2,n2); printf(“n1=%ldn“,n1); ,程序運行結果如下: n1=123,n1=123,n1=123,n1=123 n2=123456,n2=123456,n2=123456 n1=16908411,對于整數,還可用八進制、無符號形式(%o(小寫字母o))和十六進制、無符號形式(%x)輸出。對于unsigned型數據,也可用%u格式符,以十進制、無符號形式輸出。 所謂無符號形式是指,不論正數還是負數,系統(tǒng)一律當作無符號整數來輸出。例如, printf(“%d,%o,%xn“,-1,-1,-1);,類型轉換字符f的使用。 main( ) float f=123.456; double d1,d2; d1=1111111111111.111111111; d2=2222222222222.222222222; printf(“%f,%12f,%12.2f,%-12.2f,%.2fn“,f,f,f,f,f); printf(“d1+d2=%fn“,d1+d2); ,程序運行結果如下: 123.456001,123.456001,123.46,123.46,123.46 d1+d2=3333333333333.333010,1、字符常量 字符常量就是用兩個單引號將一個字符括起來。如a、 b,在C語言中,字符常量具有數值特性,字符量的值就是此字符的ASCII碼值。例如 A對應的 ASCII碼值是65。,七、字符型數據,注意:1)引號中的字符只能是一個字符。如ab是錯誤的。,2)不能用雙引號括起一個字符表示單個字符常量。例如“a”是錯誤的。,3)字符型常量在內存中占用一個字節(jié),存放的是字符的ASCII值。所有的字符常量作為整型量進行運算,并且可參與各種操作。,4)一些非圖形字符,如退格、換行等,也可以表示成字符型常量。表示方法是用轉義符“”與一些特殊字符構成轉義字符(轉義序列)。例如n表示回車換行。,轉義字符是一種特殊形式的字符常量,它表示將“”后的字符轉換成另外的意義。又如f不代表字母f而是指“換頁,將當前位置移到下頁開頭。 具體可參見表1.2,2、字符變量,用來存放字符常量,并且只能放一個字符。,定義形式:char c1,c2; 賦值:c1=a;c2=b;,注意:一個字符型變量在內存中只占一個字節(jié)。,特性:字符數據在內存中存儲的是字符的ASCII碼 一個無符號整數,其形式與整數的存儲形式一樣,所以語言允許字符型數據與整型數據之間通用。,3、 用printf顯示字符,使用轉換說明%c就可以輸出單個字符??蓞⒁娎?.8,注意:一個字符型數據,既可以字符形式輸出,也可以整數形式輸出。,4、用scanf輸入字符,同樣,%c也可以用于控制
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年智能工廠生產效率提升方案申請報告
- 2025年海洋經濟實施方案與深海資源開發(fā)報告
- 2025年植物基因編輯技術在植物抗土壤重金屬污染方面的成果鑒定報告
- 醫(yī)保支付改革下2025年醫(yī)療行業(yè)風險管理與控制報告
- 城市軌道交通建設規(guī)劃與城市景觀設計研究報告
- 2025年醫(yī)院電子病歷系統(tǒng)優(yōu)化構建智能醫(yī)療生態(tài)系統(tǒng)報告
- 2025年醫(yī)藥企業(yè)CRO模式下的臨床試驗數據管理系統(tǒng)的應用與優(yōu)化報告
- 原子彈相關英文課件
- 保姆奧數題目及答案
- 磅房安全考試題及答案
- 眼鏡店經營管理制度
- 2025年湖北高考生物試卷真題及答案詳解(精校打印版)
- 2024年郴電國際招聘真題
- 學校五年發(fā)展規(guī)劃2026-2030年
- 2025重慶新華出版集團招聘18人筆試參考題庫附帶答案詳解析集合
- 新疆烏魯木齊市六校2023?2024學年高一下學期期末聯考 數學試題(含解析)
- 2025春季學期國開電大??啤豆芾韺W基礎》一平臺在線形考(形考任務一至四)試題及答案
- 腫瘤內科常用化療藥物
- 馬克思主義基本原理試卷2(附答案)
- 車禍現場急救處理
- 2025年教育行政管理人員考試試題及答案
評論
0/150
提交評論