第2章C語言的基本知識_第1頁
第2章C語言的基本知識_第2頁
第2章C語言的基本知識_第3頁
第2章C語言的基本知識_第4頁
第2章C語言的基本知識_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第第2章章 C語言的基本知識語言的基本知識2.1 語言的數(shù)據(jù)類型語言的數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型指針類型指針類型空類型空類型 void基本類型基本類型整型整型 實型(浮點型)實型(浮點型)字符型字符型 char單精度型單精度型 float雙精度型雙精度型 double枚舉類型枚舉類型 enum構(gòu)造類型構(gòu)造類型數(shù)組類型數(shù)組類型結(jié)構(gòu)體類型結(jié)構(gòu)體類型 struct共用體類型共用體類型 union短整型短整型 short int整型整型 int長整型長整型 long into 不同的數(shù)據(jù)類型之間的差別不同的數(shù)據(jù)類型之間的差別數(shù)據(jù)類型不同,則:數(shù)據(jù)類型不同,則:(1)數(shù)據(jù)的表達范圍不同)數(shù)據(jù)的表達范圍不同

2、: 長整型:長整型:-2 147483648 2147483648短整型:短整型:-3276832767(2)數(shù)據(jù)在內(nèi)存中的存放形式不同)數(shù)據(jù)在內(nèi)存中的存放形式不同2.2 變量與常量變量與常量1、標識符標識符o 標識符是用來標識變量名、常量名、函數(shù)名等的字符標識符是用來標識變量名、常量名、函數(shù)名等的字符序列。序列。o 標識符的組成:標識符的組成:(1)只能由)只能由字母、數(shù)字、下劃線字母、數(shù)字、下劃線組成,且必須以組成,且必須以字母或下劃線開頭字母或下劃線開頭(2)區(qū)分大小寫)區(qū)分大小寫(3)不能使用關(guān)鍵字)不能使用關(guān)鍵字o 命名原則:命名原則:(1)盡量見名知意)盡量見名知意(2)避免使用宜

3、混淆的符號,如)避免使用宜混淆的符號,如1與與l,o與與0判斷下列標識符的合法性:判斷下列標識符的合法性:(1)sum (2)Sum (3)M.D.John (4)day (5)Date (6)3days (7)student_name (8)#33 (9)lotus_1_2_3 (10)char (11)ab (12)_above (13)$123判斷下列標識符的合法性:判斷下列標識符的合法性:(1)sum (2)Sum (3)M.D.John (4)day (5)Date (6)3days (7)student_name (8)#33 (9)lotus_1_2_3 (10)char (11

4、)ab (12)_above (13)$1232.2 變量與常量變量與常量2、常量、常量o 常量是在程序運行過程中,其值不可以被改常量是在程序運行過程中,其值不可以被改變的量。變的量。o 直接常量:如直接常量:如123、-5、1.5、xo 符號常量:符號常量:(1)定義格式:)定義格式: #define 符號常量名符號常量名 常量常量(2)一般符號常量名用大寫字母)一般符號常量名用大寫字母(3)是宏定義預(yù)處理命令,一般放在源文件的前面)是宏定義預(yù)處理命令,一般放在源文件的前面編譯器在編譯時會把所有的常量名替換為常量值編譯器在編譯時會把所有的常量名替換為常量值2.2 變量與常量變量與常量例:輸入

5、圓的半徑例:輸入圓的半徑r,求圓的周長,求圓的周長c和圓的面積和圓的面積s。 #define PI 3.14159 void main( ) float r,c,s ;scanf(%f , &r); /*輸入圓的半徑輸入圓的半徑*/c = 2 * PI * r ;s = PI * r * r ; printf (c = %f , s = %f n ,c , s ); 2.2 變量與常量變量與常量3、變量、變量o 變量是在程序運行過程中,其值可以被改變的量。變量是在程序運行過程中,其值可以被改變的量。o 變量定義的一般格式:變量定義的一般格式: 變量類型變量類型 變量名變量名1,變量名變

6、量名2,變量名變量名n; (類型說明符與變量名之間至少要用一個空格分隔開)(類型說明符與變量名之間至少要用一個空格分隔開)o 先定義,后使用,一般放在函數(shù)體開頭。先定義,后使用,一般放在函數(shù)體開頭。o 允許在變量定義的同時對變量賦初始值。允許在變量定義的同時對變量賦初始值。例:例:int a,b,c; float data;例:例:int a=0,b,c=-20; float data=1.5;例:例:int a=b=2; 例:例:int a,b; a=b=2; 例:例:int a=2,b=2; 2.3 整型數(shù)據(jù)整型數(shù)據(jù)1、整型常量、整型常量o 十進制整型常量:由數(shù)字十進制整型常量:由數(shù)字09

7、和正負號表示。和正負號表示。如如 123,-456,0o 八進制整型常量:由八進制整型常量:由數(shù)字數(shù)字0開頭開頭,后跟數(shù)字,后跟數(shù)字07表示。表示。如如0123,011o 十六進制整型常量:由十六進制整型常量:由0 x或或0X開頭開頭,后跟,后跟09,af,AF表示。表示。如如0 x123,0Xff問題:問題:023 = ( )100 x12 = ( )100Xa7 = ( )10問題:問題:023 = ( 19 )100 x12 = ( 18 )100Xa7 = ( 167 )102.3 整型數(shù)據(jù)整型數(shù)據(jù)2、整型變量、整型變量o 整型變量的分類整型變量的分類類型說明符類型說明符數(shù)的范圍數(shù)的范

8、圍VC+6.0中分配字節(jié)數(shù)中分配字節(jié)數(shù)short int 或或 short-32768327672int-2147483648 21474836474long int 或或 long-2147483648 21474836474unsigned short int或或unsigned short 0655352unsigned int042949672954unsigned long int或或unsigned long 0429496729542.3 整型數(shù)據(jù)整型數(shù)據(jù)3、整型數(shù)據(jù)的輸入、輸出、整型數(shù)據(jù)的輸入、輸出o 格式化輸出函數(shù)格式化輸出函數(shù)printf函數(shù)的一般格式函數(shù)的一般格式: pr

9、intf ( “格式控制字符串格式控制字符串” , 輸出項列表輸出項列表 ); (使用前必須有(使用前必須有#include命令)命令)o 輸出項列表:常量、變量、表達式、函數(shù)返輸出項列表:常量、變量、表達式、函數(shù)返回值,多個輸出項之間用回值,多個輸出項之間用“,”分隔,可以沒分隔,可以沒有輸出項。有輸出項。例:例:printf(Hello World!n); printf (%d, 3); printf (%d, 2+3); printf (%d %d, a,b); printf (%d, a*b);沒有輸出項沒有輸出項輸出項為常量輸出項為常量輸出項為變量輸出項為變量輸出項為表達式輸出項為表

10、達式輸出項為表達式輸出項為表達式2.3 整型數(shù)據(jù)整型數(shù)據(jù)o 格式控制字符串:格式控制字符串:(1)普通字符原樣輸出)普通字符原樣輸出(2)格式說明)格式說明例:例:printf (Hello World);%d、%ld按照實際寬度輸按照實際寬度輸出十進制整數(shù)出十進制整數(shù)int a=567;printf (%d,a);567%mdm0,右對齊,右對齊m0,左對齊,左對齊按照指定寬度輸按照指定寬度輸出十進制整數(shù)出十進制整數(shù)指定寬度指定寬度實際寬實際寬度時按實際寬度度時按實際寬度輸出輸出int a=567;printf (%6d,a);printf (%-6d,a);printf (%2d,a);

11、567567 567%o輸出八進制整數(shù)輸出八進制整數(shù)int a=567;printf (%o,a);1067%x輸出十六進制整輸出十六進制整數(shù)數(shù)int a=567;printf (%x,a);237%輸出百分號本身輸出百分號本身int a=56;printf (%d,a);%56o 例:例:int a=3,b=14;printf(%d,%d,a-b,b); printf(a:%d,b:%d,a,b);printf(%4d,%x,a*b,b);printf(%d%d,a,b);-11,14 a:3,b:14 42,e%d%32.3 整型數(shù)據(jù)整型數(shù)據(jù)3、整型數(shù)據(jù)的輸入、輸出、整型數(shù)據(jù)的輸入、輸出o

12、 格式化輸入函數(shù)格式化輸入函數(shù)scanf函數(shù)的一般格式函數(shù)的一般格式: scanf ( “格式控制字符串格式控制字符串” ,變量地址列表變量地址列表); (使用前必須有(使用前必須有#include命令)命令)o 變量地址列表:變量的地址,用取地址運算變量地址列表:變量的地址,用取地址運算符符&,多個變量地址之間用,多個變量地址之間用“,”分隔。分隔。例:例:scanf (%d%d, &a,&b);2.3 整型數(shù)據(jù)整型數(shù)據(jù)o 格式控制字符串:格式控制字符串:(1)普通字符原樣輸入)普通字符原樣輸入例:例:scanf (%d:%d,&a,&b);鍵入必須形

13、如:鍵入必須形如: 3:5例:例:scanf (%d%d%d,&a,&b,&c);格式控制字符串中無分隔符時,可鍵入格式控制字符串中無分隔符時,可鍵入空格、空格、Tab或回車鍵或回車鍵作為分隔符。作為分隔符。2.3 整型數(shù)據(jù)整型數(shù)據(jù)例:例:scanf(“a=%d”,&a); a=3 3 例:例:scanf(“%d,%d”,&a,&b); a=3,b=5 3 5 3,5 3 5 2.3 整型數(shù)據(jù)整型數(shù)據(jù)o 格式控制字符串:格式控制字符串:(2)格式說明)格式說明%md按照指定寬度輸按照指定寬度輸入十進制整數(shù)入十進制整數(shù)scanf (%3d,&

14、;a);輸入輸入 35輸入輸入 3578則則a的值為的值為35則則a的值為的值為357%*d輸入數(shù)據(jù)不存入輸入數(shù)據(jù)不存入變量變量scanf(%d%*d%d,&a,&b);輸入輸入 3 4 5則則a的值為的值為3,b的值為的值為52.4 浮點數(shù)浮點數(shù)1、浮點常量、浮點常量o 十進制數(shù)形式:(十進制數(shù)形式:(必須有小數(shù)點必須有小數(shù)點) 如如0.123, .123,123.0,0.0,123.o 指數(shù)形式:(指數(shù)形式:(e或或E之前必須有數(shù)字,指數(shù)必須為整數(shù)之前必須有數(shù)字,指數(shù)必須為整數(shù)) 如如-12.3e3(值為(值為-12.3103) ,123E2,1.23e-4(值為(值為1.

15、2310-4)o double雙精度型:雙精度型:1.23,1.23e-4o float單精度型:單精度型:1.23f,1.23e-4F2.4 浮點數(shù)浮點數(shù)2、浮點變量、浮點變量o 浮點變量的分類浮點變量的分類類型說明符類型說明符數(shù)的范圍數(shù)的范圍有效數(shù)字有效數(shù)字分配字節(jié)數(shù)分配字節(jié)數(shù)float10-3810386、74double10-3081030815、1682.4 浮點數(shù)浮點數(shù)3、浮點數(shù)據(jù)的輸入、輸出、浮點數(shù)據(jù)的輸入、輸出o printf輸出輸出%f、%lf整數(shù)部分按實際整數(shù)部分按實際位數(shù)輸出,小數(shù)位數(shù)輸出,小數(shù)部分顯示部分顯示6位位float a=12.567;printf (%f,a)

16、;12.567000%m.nf%-m.nf%.nfm表示整數(shù)部表示整數(shù)部分、小數(shù)部分分、小數(shù)部分和小數(shù)點的總和小數(shù)點的總位數(shù)位數(shù)n表示小數(shù)位數(shù)表示小數(shù)位數(shù)按照指定寬度輸按照指定寬度輸出浮點數(shù)出浮點數(shù)float a=12.567;printf (%7.2f,a);printf (%-7.2f,a); 12.5712.57 2.4 浮點數(shù)浮點數(shù)3、浮點數(shù)據(jù)的輸入、輸出、浮點數(shù)據(jù)的輸入、輸出#includevoid main( )float a,b;a=2222.2222; b=3333.3333;printf(%fn,a+b);運行結(jié)果:運行結(jié)果:5555.555420由于單精度浮點數(shù)有效位數(shù)只有

17、由于單精度浮點數(shù)有效位數(shù)只有7位,所以最后三位位,所以最后三位不準確不準確2.4 浮點數(shù)浮點數(shù)3、浮點數(shù)據(jù)的輸入、輸出、浮點數(shù)據(jù)的輸入、輸出o scanf輸入輸入o 輸入浮點數(shù)時不允許規(guī)定精度輸入浮點數(shù)時不允許規(guī)定精度例:例:scanf(%5.2f,&a); printf(%f,a);鍵入鍵入12.45,輸出,輸出-107374176.000000程序舉例程序舉例o 輸入三角形邊長,求面積。輸入三角形邊長,求面積。#include /包含開方函數(shù)包含開方函數(shù)sqrt()的頭文件的頭文件#include void main() float a,b,c,s,area;printf(輸入三角

18、形邊長:輸入三角形邊長:); scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(三角形邊長三角形邊長a=%.2f, b=%.2f, c=%.2f, ,a,b,c); printf(面積面積area=%6.2f,area);1()2() () ()sabcareassasbsc輸入輸入 3 4 5顯示顯示 三角形邊長三角形邊長a=3.00, b=4.00, c=5.00, 面積面積area= 6.00程序舉例程序舉例o #include /包含開方函數(shù)包含開方函數(shù)s

19、qrt()的頭文件的頭文件#include void main() float a,b,c,x1,x2,q; scanf(a=%f,b=%f,c=%f,&a,&b,&c);q=sqrt(b*b-4*a*c); x1=(-b+q)/(2*a); x2=(-b-q)/(2*a); printf(x1=%.2f , x2=%.2f,x1,x2);輸入輸入 a=1,b=4,c=3顯示顯示 x1=-1.00 , x2=-3.0022040axbxcbac求方程的根,設(shè)242bbacxa 思考:思考:o 輸入梯形的上底、下底和高,求梯形的面積輸入梯形的上底、下底和高,求梯形的面積(

20、保留(保留2位小數(shù))。位小數(shù))。2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)o 字符型數(shù)據(jù)的作用是什么?字符型數(shù)據(jù)的作用是什么?o 例:從鍵盤鍵入并保存一個學(xué)生的名字信息,例:從鍵盤鍵入并保存一個學(xué)生的名字信息,該學(xué)生名叫該學(xué)生名叫“Emily”。o 分析:這里要處理的數(shù)據(jù)分析:這里要處理的數(shù)據(jù)“Emily”,不是單,不是單純的數(shù),而是一串字母。這種數(shù)據(jù),用整型和純的數(shù),而是一串字母。這種數(shù)據(jù),用整型和浮點型都沒有辦法直接表示。因此,需要專門浮點型都沒有辦法直接表示。因此,需要專門的字符型數(shù)據(jù)來處理這一類的信息。的字符型數(shù)據(jù)來處理這一類的信息。2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)1、字符常量、字符常量o 字符常量是用

21、字符常量是用單引號單引號括起來的括起來的單個普通字符單個普通字符或或轉(zhuǎn)義字符轉(zhuǎn)義字符。o 字符常量的值:該字符的字符常量的值:該字符的ASCII碼碼值值例如:例如: a A ? n 101例如例如 A A65 65 a a9797 0 048 48 nn10102.5 字符型數(shù)據(jù)字符型數(shù)據(jù)1、字符常量、字符常量o 轉(zhuǎn)義字符:轉(zhuǎn)義字符:反斜線反斜線后面跟一個字符或一個代碼值表示。后面跟一個字符或一個代碼值表示。轉(zhuǎn)義字符轉(zhuǎn)義字符轉(zhuǎn)義字符的意義轉(zhuǎn)義字符的意義十進制十進制ASCII碼值碼值n回車換行,將當前位置移至下一行的開頭回車換行,將當前位置移至下一行的開頭10t橫向跳格,將當前位置移至下一個橫向

22、跳格,將當前位置移至下一個Tab位置位置9反斜杠字符本身反斜杠字符本身92單引號字符單引號字符39”雙引號字符雙引號字符34ddd13位八進制數(shù)所代表的字符位八進制數(shù)所代表的字符八進制數(shù)八進制數(shù)ddd對應(yīng)對應(yīng)的十進制數(shù)的十進制數(shù)xhh12位十六進制數(shù)所代表的字符位十六進制數(shù)所代表的字符十六進制數(shù)十六進制數(shù)hh對應(yīng)對應(yīng)的十進制數(shù)的十進制數(shù)例如:例如: 101 -A 012 -n 376 - x61 -a 60 -0 483 - ( )2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)o 例:轉(zhuǎn)義字符舉例。例:轉(zhuǎn)義字符舉例。 void main() printf(101tx42tCn); printf(I say:Ho

23、w are you?n); printf(C Programn); printf(Visual C+);顯示:顯示:A B C I say:How are you? C Program Visual C+思考:思考:o 如何實現(xiàn)以下顯示效果如何實現(xiàn)以下顯示效果? 學(xué)號學(xué)號姓名姓名性別性別成績成績1440720101李洋李洋男男901440720102郭瑞環(huán)郭瑞環(huán)男男91.2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)2、字符變量、字符變量o 字符變量的分類字符變量的分類類型說明符類型說明符數(shù)的范圍數(shù)的范圍分配字節(jié)數(shù)分配字節(jié)數(shù)char-1281271unsigned char025512.5 字符型數(shù)據(jù)字符型數(shù)據(jù)

24、3、字符數(shù)據(jù)的輸入、輸出、字符數(shù)據(jù)的輸入、輸出o printf輸出輸出%c按照按照1個字符形式輸出數(shù)據(jù)個字符形式輸出數(shù)據(jù)char a=66;printf (%c,a);B%mc%-mc按照指定寬度輸出字符按照指定寬度輸出字符char a=B;printf (%3c,a);printf (%-3c,a); BB 2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)o 例:例:#define PRICE 12.5void main() int num=3;float total;char ch1,ch2=D;total=num*PRICE;ch1=ch2-A+a;printf(total=%f,ch1=%cn,total

25、,ch1);顯示:顯示:total=37.500000,ch1=d2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3、字符數(shù)據(jù)的輸入、輸出、字符數(shù)據(jù)的輸入、輸出o putchar輸出輸出o 格式格式: putchar( c ) c為字符常量、字符變量、字符表達式或整型量為字符常量、字符變量、字符表達式或整型量o 功能:把字符功能:把字符c輸出到顯示器上輸出到顯示器上例:例:void main() int c; char a; c=65; a=B+2; putchar(c); putchar(n); putchar(a); 顯示:顯示: A D2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3、字符數(shù)據(jù)的輸入、輸出、字符數(shù)據(jù)的輸入、輸

26、出o scanf輸入輸入例:例:scanf (%c%c%c,&a,&b,&c);格式控制字符串中無分隔符時只需連續(xù)輸入字符。格式控制字符串中無分隔符時只需連續(xù)輸入字符。例:例:void main() char a,b,c; scanf(%c%c%c,&a,&b,&c); printf(%c,%c,%c,a,b,c);鍵入:鍵入: ABC顯示:顯示: A,B,C鍵入:鍵入: A B C顯示:顯示: A, , B鍵入:鍵入: A B C顯示:顯示: A B2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3、字符數(shù)據(jù)的輸入、輸出、字符數(shù)據(jù)的輸入、輸出o scanf輸入輸入例:例:void main() char a,b; scanf(%c%*c%c,&a,&b); printf(%c,%c,a,b);鍵入:鍵入: ABC顯示:顯示: A,C2.5 字符型數(shù)據(jù)字符型數(shù)據(jù)3、字符數(shù)據(jù)的輸入、輸出、字符數(shù)據(jù)的輸入、輸出o getchar輸入輸入o 格式格式: getchar()o 功能:接收到的字符的功能:接

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論