C語言程序的組成部分ppt課件_第1頁
C語言程序的組成部分ppt課件_第2頁
C語言程序的組成部分ppt課件_第3頁
C語言程序的組成部分ppt課件_第4頁
C語言程序的組成部分ppt課件_第5頁
已閱讀5頁,還剩52頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、1第2章 C語言程序的組成部分 徐秋紅徐秋紅辦公地點:主樓西配樓信息學院辦公地點:主樓西配樓信息學院310310室室辦公電話:辦公電話:0100106233651662336516:shinestar1129126shinestar1129126;主要的內容 了解一個了解一個C C程序的構成程序的構成main()main()函數函數 理解什么是變量理解什么是變量 理解什么是常量理解什么是常量 掌握從鍵盤輸入數據的語句寫法掌握從鍵盤輸入數據的語句寫法 掌握將運算結果送到顯示器顯示的語句寫掌握將運算結果送到顯示器顯示的語句寫法法2;3了解C程序的組成部分 一個簡短的一個簡短的C C語言程序語言程序

2、#include int main(void) int a = 3; printf(a的平方是的平方是 %d.n, a*a); return 0;4可以在程序中加入注釋信息/* 這是一個這是一個C程序的例子程序的例子 */#include int main(void) int a = 3; printf(a的平方是的平方是 %d.n, a*a); return 0;/ /* *包含文件指令包含文件指令* */ / /* *函數頭函數頭 * */ / /* *函數體開始函數體開始* */ / /* *聲明變量聲明變量a a* */ / /* *輸出運算結果輸出運算結果* */ / /* *函數返

3、回語句函數返回語句* */ / /* *函數體結束函數體結束* */ / ;5C程序的組成部分(2) 每一個函數都是由兩個部分組成: 函數的首部 例如: int main(void) 函數體 一對花括號括起的若干語句。 (1)一個C程序可以包含一個或多個函數,其中一個是main() 。 #include double ep(double x)double y; y = x * x * x ;return (y) ;int main(void)double x ;printf(Input a data: );scanf(%lf, &x);printf(%f立方是%f , x,ep(x);

4、return 0;了解C程序的組成部分 1:#include 2: 3:float area(float r); 4: 5:int main(void) 6: float r; 7: printf(“Input radius: ”); /*提示輸入半徑*/ 8: scanf(%f,&r); 9: printf(nThe area is %f . n, area(r); 10: return 0; 11: 12: 13 /* 求圓面積的函數 */ 14:float area(float r) 15: 16: float s; 17: s = 3.14 * r * r; 18: retur

5、n(s); 19:;7C程序的組成部分下面是就設計計算器程序初期時,對一個計算器下面是就設計計算器程序初期時,對一個計算器功能進行簡單設計和描述的源程序。功能進行簡單設計和描述的源程序。void add(double,double) /*加法函數*/ 。void sub(double,double) /*減法函數*/ 。void mut(double,double) /*乘法函數*/ 。void div(double,double) /*除法函數*/ 。int main(void) . add(x,y); sub(a,y); mut(x,y); div(x,y); . return 0;C程序

6、常見符號分類 關鍵字關鍵字KeywordKeyword) 又稱保留字又稱保留字 CC語言中具有特殊含義的單詞語言中具有特殊含義的單詞 標識符標識符IdentifierIdentifier) 系統(tǒng)預定義標識符系統(tǒng)預定義標識符 有特殊含義,但可以被重新定有特殊含義,但可以被重新定義的單詞但是,一般不建議義的單詞但是,一般不建議去重新定義)去重新定義) 用戶自定義標識符用戶自定義標識符 變量名,函數名,變量名,函數名,#include double ep(double x)double y; y = x * x * x ;return (y) ;int main(void)double x ;pri

7、ntf(Input a data: );scanf(%lf, &x);printf(%f立方是%f , x,ep(x);return 0;9關鍵字與標識符 關鍵字關鍵字C C語言的保留字)語言的保留字)intsignedexterncharunsignedfloatconstdodefault whilecasecontinueelsestaticifautosizeoflongregisterunioninlineforstructbreakgototypedefenumrestrictvoid switchreturnshortdoubleasmvolatile;10C語言的標識符

8、 標識符標識符 ( (用戶自定義標識符用戶自定義標識符) ) 設計者根據需要而定義的名稱,如變量名、數組設計者根據需要而定義的名稱,如變量名、數組名、自定義函數名名、自定義函數名。 標識符建立的規(guī)則:標識符建立的規(guī)則: (1)(1)由若干個英文字母、數字和下橫線組成。由若干個英文字母、數字和下橫線組成。 (2)(2)頭一個字符必須是字母或是下橫線頭一個字符必須是字母或是下橫線“_”“_”。 相同字母的大寫和小字是有區(qū)別的。相同字母的大寫和小字是有區(qū)別的。 countcount、CountCount、coUNTcoUNT、CoUnT CoUnT 都是不同的都是不同的 不能使用關鍵字做標識符。不能

9、使用關鍵字做標識符。;C程序常見符號分類 運算符運算符OperatorOperator) 算術、關系、邏輯算術、關系、邏輯 分隔符分隔符SeparatorSeparator) 空格、回車空格、回車/ /換行、逗換行、逗號等號等 其他符號其他符號 和和 標識函數體或語標識函數體或語句塊句塊 / /* *和和* */ /是程序注釋的是程序注釋的定界符定界符 雙引號、單引號雙引號、單引號 #include double ep(double x)double y; y = x * x * x ;return (y) ;int main(void)double x ;printf(Input a dat

10、a: );scanf(%lf, &x);printf(%f立方是%f , x,ep(x);return 0;12C程序中最重要的對象變量執(zhí)行程序的目的是進行數據運算操作,運算中經常使用的一種對象就是變量。什么是變量?計算機內存中計算機內存中一個被命名的、一個被命名的、可以存儲數據可以存儲數據的區(qū)域或存的區(qū)域或存儲單元稱作儲單元稱作變量變量內存內存;13變量 變量的特點:變量的特點: 有名有名變量名變量名 可以在變量中存儲一個數據可以在變量中存儲一個數據變量的值變量的值 因為變量存儲在內存的存儲單元中,所以變因為變量存儲在內存的存儲單元中,所以變量都有一個唯一的存儲地址量都有一個唯一的存

11、儲地址 不同的變量還可以有不同的類型不同的變量還可以有不同的類型 變量名由一個或若干個字符組成,字符的構變量名由一個或若干個字符組成,字符的構成形式必須符合成形式必須符合C C語言標識符的規(guī)定。語言標識符的規(guī)定。;14聲明變量 聲明變量的語句形式:聲明變量的語句形式: 例:例:int int x, y, age=19;x, y, age=19; float data1, data2=10.009; float data1, data2=10.009; double price_1, price_2=13.5; double price_1, price_2=13.5; char a, b =

12、$; char a, b = $;類型名變量名類型名變量名1, 變量名變量名2,;可以在聲明變量時,為變量初始化;15每個變量都有數據類型單精度實型單精度實型雙精度實型雙精度實型變量的類型變量的類型字符型字符型整型整型實型實型charshort intintfloatdouble;16變量的數據類型決定了該變量存儲于內存時將占用內存空間的大小或多少) 一個字符型一個字符型charchar的變量的變量 1 1個字節(jié)個字節(jié) 一個短整型一個短整型shortshort變量變量 2 2個字節(jié)個字節(jié) 一個基本整型一個基本整型intint變量變量 4 4個字節(jié)個字節(jié) 一個單數度實型一個單數度實型floatf

13、loat變量變量 4 4個字節(jié)個字節(jié) 一個雙數度實型一個雙數度實型doubledouble變量變量 8 8個字節(jié)個字節(jié)不同的數據類型的變量可以表示的數據大小也不同。不同的數據類型的變量可以表示的數據大小也不同。換句話說,不同類型的變量具有不一樣的數據范圍。換句話說,不同類型的變量具有不一樣的數據范圍。;17例如例如:數據位的不同,能表示數據的大小也不同。數據位的不同,能表示數據的大小也不同。0001101101000001010011100101110111000000000000000100000010000000110000010000000101111111001111110111111

14、1101111111100000001001000110100110011011110111178654321;不同類型占用的內存字節(jié)數不同 同種類型在不同的平臺其占字節(jié)數不盡相同同種類型在不同的平臺其占字節(jié)數不盡相同 如如intint在在1616位、位、3232位和位和6464位系統(tǒng)上分別占位系統(tǒng)上分別占2 2、4 4和和8 8個字節(jié)個字節(jié) 不要對變量所占的內存空間字節(jié)數想當然不要對變量所占的內存空間字節(jié)數想當然 用用sizeofsizeof獲得變量或者數據類型的長度獲得變量或者數據類型的長度 現(xiàn)象與危害現(xiàn)象與危害 在平臺間移植時會出現(xiàn)問題,導致數據丟失或在平臺間移植時會出現(xiàn)問題,導致數據丟

15、失或者溢出者溢出;sizeof到底是什么? C C語言的運算符,并非函數語言的運算符,并非函數 計算類型占用的字節(jié)數計算類型占用的字節(jié)數 兩種運算形式兩種運算形式 sizeof( sizeof(類型類型) ) 結果為類型占用的字節(jié)數結果為類型占用的字節(jié)數 sizeof(sizeof(表達式表達式) ) 結果為表達式值所屬類型占用的字節(jié)結果為表達式值所屬類型占用的字節(jié)數數 一般都使用一般都使用 sizeof( sizeof(變量名變量名) ) ;用程序查看當前編譯器的各種變量類型的字節(jié)數#include #include int main(void)printf(Data type Number

16、 of bytesn);printf(- -n);printf(char %dn, sizeof(char);printf(int %dn, sizeof(int);printf(short int %dn, sizeof(short);printf(long int %dn, sizeof(long);printf(float %dn, sizeof(float);printf(double %dn, sizeof(double); system(Pause); reutrn 0;21可以通過賦值操作來改變變量的值 向變量中存儲信息的常用方法向變量中存儲信息的常用方法 賦值表達式和賦值語句:

17、賦值表達式和賦值語句:變量變量 = = 數據數據賦值運算符不是等號將一個數值存入一個內存單元將一個數值存入一個內存單元x = 90 ;;22?abcde 0a=0a=6a=2+a 6 8d=10d=d-a10 2int a,b,c,d,e;未初始化的未初始化的變量不能直變量不能直接使用,因接使用,因為其內部的為其內部的值不知道是值不知道是什么。什么。結果會是什么?#include int main(void) int x, y, sum; sum = x + y ; printf(“sum=%dn”,sum); return 0;如何在顯示器上顯示如何在顯示器上顯示我想讓計算機顯示的內容?我想

18、讓計算機顯示的內容?23;24輸出函數 printf() 標準庫函數printf(printf(格式字符串,輸出列表格式字符串,輸出列表););需要輸出的數據,需要輸出的數據,可以是常量、變量可以是常量、變量或表達式或表達式描述要輸出的數據有哪描述要輸出的數據有哪些類型,以及它們將以些類型,以及它們將以什么格式輸出什么格式輸出int x=29, y=40; (打算輸出x+y的結果)printf(%d, x+y);printf(%d+%d=%d, x, y, x+y);25舉例#include int main(void) int x=29, y=40; printf(%d n, x+y); p

19、rintf(%d+%d=%d n, x, y, x+y); return 0;2-5.c 例:在屏幕上顯示一個加法算式:例:在屏幕上顯示一個加法算式: 29+40= 29+40=?;26常用的轉換說明符轉換說明符轉換說明符含義含義對應的數據類型對應的數據類型%c單個字符單個字符char%s字符串字符串char數組數組%d有符號的十進制整數有符號的十進制整數int、short %f十進制浮點數十進制浮點數float %lf十進制浮點數的長格式十進制浮點數的長格式double、long double %e十進制浮點數的指數形式十進制浮點數的指數形式 float、double 格式轉換說明符:格式轉

20、換說明符:由由“”和一個字符組成和一個字符組成;27輸出格式中經常引用的轉義序列轉義序列轉義序列含義說明含義說明轉義序列轉義序列含義說明含義說明nn換行(換行(LFLF)bb退格(退格(BSBS)tt水平制表符水平制表符(HT)(HT)rr回退到當前行開始處回退到當前行開始處;28由鍵盤向變量中存入數據的操作函數 scanf()scanf(scanf(格式字符串格式字符串,(,(內存內存) )地址表地址表););int x;scanf(“%d”,&x);int x, y;scanf(“%d%d”,&x,&y);29舉例#include int main(void) in

21、t data1, data2; printf(“Enter two number: ”); scanf(“%d%d”,&data1,&data2); printf(“%d n”, data1+data2); printf(%d+%d=%d n, data1, data2, data1+data2); system(“Pause”); return 0;2-5.c 例:編寫一個執(zhí)行整數相加的加法程序。例:編寫一個執(zhí)行整數相加的加法程序。;30算術運算中參加運算的另一對象 常量在程序執(zhí)行過程中其值不變的數據在程序執(zhí)行過程中其值不變的數據例如例如 int y = 7 int y =

22、7; x = y 100 x = y 100; y = -0.63 + x y = -0.63 + x; 常量在程序中直接使用。常量在程序中直接使用。 C C程序可中參加運算的數據有兩種程序可中參加運算的數據有兩種 變量變量 常量常量數值常量字符常量字符串常量;31常量的寫法 十進制數十進制數 -39.9 +708 156.02 0八進制數八進制數 -037 0156 +0100 (以數字以數字0開頭開頭 )十六進制數十六進制數 0 x61 -0X2A0C 0 x6d (以以0 x或或0X開頭開頭) 無符號數無符號數 15U 760u;32常量的寫法 指數形式的常量指數形式的常量 指數形式是指

23、:尾數、字母指數形式是指:尾數、字母e e或或E E、冪值等三、冪值等三個部分組成的實數。個部分組成的實數。 -1.023e-2 ( -1.023e-2 (即即 -1.023 -1.02310-2)10-2) 尾數是十進制整數或帶小數點的實數常量尾數是十進制整數或帶小數點的實數常量 冪值部分為十進制整型常量;冪值可以帶有冪值部分為十進制整型常量;冪值可以帶有正號正號“+ +”或負號或負號“- -”,正號一般省略不寫,正號一般省略不寫。 ;33常量 整型常量:無小數位的數值整型常量:無小數位的數值 實型常量:可帶小數的數值實型常量:可帶小數的數值( (包括指數形式的實包括指數形式的實數數) )

24、例如:例如:-0.05 21.400 3.206e-4 3.206E-4-0.05 21.400 3.206e-4 3.206E-4 字符型常量:由一對英文單引號括起的一個字字符型常量:由一對英文單引號括起的一個字符符 A + 5 n A + 5 n 字符串常量:一對英文雙引號括起一個或多個字符串常量:一對英文雙引號括起一個或多個字符字符( (即多個字符形成的文本字符串即多個字符形成的文本字符串) ) Hello No.35 6 Hello No.35 6;34符號常量符號常量符號常量:為常量建立一個標識符符號常量:為常量建立一個標識符( (也就是給該常也就是給該常量取一個名字量取一個名字)

25、)。系統(tǒng)約定用大寫字母的形式。系統(tǒng)約定用大寫字母的形式。C C程序是通過程序是通過#define#define編譯預處理指令來定義符號編譯預處理指令來定義符號常量。常量。例如,在程序的開始處可以添加若干行編譯預處例如,在程序的開始處可以添加若干行編譯預處理指令去為常量建立符號名:理指令去為常量建立符號名: #define #define 符號名符號名 常量值常量值例如:#definePI3.14159 #defineER2 #defineIDCODE35符號常量的使用實例符號常量的使用實例 #include #include #define PI 3.1

26、4 / #define PI 3.14 /* * PI PI 將代表圓周率將代表圓周率 * */ /#define R 6 /#define R 6 /* * R R 將代表半徑值將代表半徑值6 6 * */ /int main(void)int main(void) double girth, area;double girth, area;girth = 2 girth = 2 * * R R * * PI; PI;area = R area = R * * R R * * PI; PI;printf(girth = %f , area = %f n , printf(girth = %f

27、 , area = %f n , girth,area);girth,area);return 0;return 0; girth = 2 * 6 * 3.14;area = 6 * 6 * 3.14;編譯前的預處理 做自動替換;36信息讀寫基礎 系統(tǒng)的輸入輸出函數都屬于系統(tǒng)的輸入輸出函數都屬于C C編譯器的標準庫編譯器的標準庫函數函數2-4.c向屏幕輸出文本信息向屏幕輸出文本信息向屏幕輸出數據、文本信息向屏幕輸出數據、文本信息讀取鍵盤輸入的數據讀取鍵盤輸入的數據向屏幕輸出個一個字符向屏幕輸出個一個字符讀取鍵盤輸入的一個字符讀取鍵盤輸入的一個字符printf() printf() 輸出函數輸出

28、函數puts() puts() 輸出函數輸出函數scanf() scanf() 輸入函數輸入函數putchar() putchar() 輸出函輸出函數數getchar() getchar() 輸入函數輸入函數;37信息讀寫基礎2-4.c在使用標準庫函數時,要用編譯預處理指令 “#include將有關的“頭文件包括到用戶的源文件中。標準輸入輸出函數對應的頭文件是stdio.h,所以在程序的開頭應該寫有如下文件包含指令: #include ;38輸出文本信息的函數 puts()puts()的用法:的用法: puts( puts(轉義字符和字符文本轉義字符和字符文本););#include int

29、main(void) puts(Hellon world!); system(Pause); return 0;轉義序列轉義序列含義說明含義說明轉義序列轉義序列含義說明含義說明nn換行(換行(LFLF)bb退格(退格(BSBS)tt水平制表符水平制表符(HT)(HT)rr回退到當前行開始處回退到當前行開始處;39程序中輸出數據的函數2-4.c輸出函數的一般格式為: printf(轉義字符和字面文本); printf(格式字符串,輸出列表);“格式字符串包括三種信息格式字符串包括三種信息: : 字面文本:為任何文本信息,它將按原本形式直接顯示字面文本:為任何文本信息,它將按原本形式直接顯示 格式

30、說明符:由格式說明符:由“”和一個字符組成,如和一個字符組成,如%d%d、%f%f等。等。它的作用是將輸出的數據以指定的格式輸出。它總是由它的作用是將輸出的數據以指定的格式輸出。它總是由“”字字符開始。符開始。 轉義序列。能提供特殊格式控制的控制符號。轉義序列。能提供特殊格式控制的控制符號?!拜敵霰磔敵霰怼保?需要輸出的一些數據,可以是常量、變量或表達式。需要輸出的一些數據,可以是常量、變量或表達式。;40常用的轉換說明符轉換說明符轉換說明符含義含義對應的數據類型對應的數據類型%c單個字符單個字符char%s字符串字符串char數組數組%d有符號的十進制整數有符號的十進制整數int、short

31、 %f十進制浮點數十進制浮點數float %lf十進制浮點數的長格式十進制浮點數的長格式double、long double %e十進制浮點數的指數形式十進制浮點數的指數形式 float、double ;41#include int main(void) int i; for(i = 10; i1000; i += 10) sleep(200); printf( rHello world: %d,i); system(Pause); return 0;42使用輸出函數put()或printf()#include int main(void) 第一行顯示I am a student. 第二行顯示

32、自己的姓名 第三行顯示自己的學號 第四行顯示自己的E-mail return 0;2-4.c例:實現(xiàn)執(zhí)行程序去輸出個人基本信息。;43#include int main(void)int a,b,c,d;a = 3;c = b = a;a = b = c = d = 6;a = c + (d = 3 * (b = 5); printf(a=%d, b=%d, c=%d, d=%d n,a,b,c,d);printf(a=%d, b=%d, r c=%d, d=%d n,a,b,c,d);return 0;44程序中數據的輸入2-6.c scanf()函數作用: 讀取鍵盤輸入的數據,按照變量在內

33、存的地址將變量的值存進去。 一般格式:scanf(格式字符串,變量地址表);%f %d %c %lf %s%f %d %c %lf %sr&取變量地址的運算符取變量地址的運算符變量變量r r;452-8.c#include #include int main(void)int main(void) int num; int num; printf(n Enter your number: ); printf(n Enter your number: ); scanf(%d, &num); scanf(%d, &num); printf(n You are a stude

34、nt. n); printf(n You are a student. n); printf( Your number is %dnnn, num); printf( Your number is %dnnn, num); system(Pause); system(Pause); return 0; return 0; 練習;46#include int main(void) float x; do printf(Input x = ); scanf(%f, &x); if(x0) x = -x; printf(“ |x| = %f n, x); while(x != 0); ret

35、urn 0;2-6.c“&x是變量x在內存中的地址,&是取地址運算符例 計算: |x|;47字符數據的輸入輸出 用用putchar()函數向屏幕上輸出一個字符函數向屏幕上輸出一個字符 putchar函數字符輸出函數的作用是向標準輸函數字符輸出函數的作用是向標準輸出設備顯示器輸出一個字符。出設備顯示器輸出一個字符。 一般形式為一般形式為 putchar(c); 用用getchar()函數接收從鍵盤輸入的一個字符函數接收從鍵盤輸入的一個字符 getchar函數字符輸入函數的作用是接收來自標函數字符輸入函數的作用是接收來自標準輸入設備鍵盤輸入的一個字符。準輸入設備鍵盤輸入的一個字符。

36、 getchar函數沒有參數,一般形式為函數沒有參數,一般形式為 c = getchar(); 函數執(zhí)行后,返回一個函數值為從鍵盤輸入的字符函數執(zhí)行后,返回一個函數值為從鍵盤輸入的字符;48#include int main(void) char my_c; puts(請輸入一個字符:); my_c = getchar(); puts( nn你剛才輸入的字符是:); putchar(my_c); printf(nn該字符的ASCII是:%d nn,my_c); system(Pause); return 0;2-8.c例如:查看一個字符的ASCII碼。;#include int main(vo

37、id) char once; /*聲明一個字符變量*/ printf(“請輸入一個小寫字母: n ); once = getchar(); /*接收來自鍵盤的輸入*/ ? putchar(once); system(Pause); return 0;例如:將小寫字母轉換為大寫字母 /* 如何做轉換如何做轉換 */;50#include int main(void) char my_c; int asc; printf(nnPlease enter a character: ); my_c=getchar(); printf(Input a character: %c. n Output the ASCII: %d nn, my_c,my_c); printf(Please enter a ASCII number of the character: ); scanf(%d,&asc); printf(ASCII of a character: %d n,asc); my

溫馨提示

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

評論

0/150

提交評論