




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言程序設計學時:32學時教材:21天學通C語言(第七版) Bradley Jones著,人民郵電出版社教師:李玥華 第1課 初識C語言1.1 C語言發(fā)展簡史1.2 為何要使用C語言1.3 程序開發(fā)工具及步驟1.4 如何編寫,編譯和運行第1個C程序1.5 錯誤消息1.6 習題C語言的發(fā)展頗為有趣。它的原型ALGOL 60語言。(也成為A語言) 1963年,劍橋大學將ALGOL 60語言發(fā)展成為CPL(Combined Programming Language)語言。 1967年,劍橋大學的Matin Richards 對CPL語言進行了簡化,于是產生了BCPL語言。
2、 1970年,美國貝爾實驗室的Ken Thompson將BCPL進行了修改,并為它起了一個有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個UNIX操作系統(tǒng)。 而在1973年,B語言也給人“煮”了一下,美國貝爾實驗室的D.M.RITCHIE在B語言的基礎上最終設計出了一種新的語言,他取了BCPL的第二個字母作為這種語言的名字,這就是C語言。1.1 C語言發(fā)展簡史1. 面向過程的語言2. 擁有許多庫3. 編譯速度4. 易學(語法是接近英語)5. 可移植6. C語言為許多其他目前已知的語言構建模塊。8. C的另一個重要優(yōu)勢是它能夠擴展自己。對于我們來說,為什么學
3、習C語言?工程計算用。單片機編程。軟件界面的編寫。1.2 為何要使用C語言1.3 程序開發(fā)工具及步驟開發(fā)工具:Dev-C+ 4.9.9.2(推薦,上課用) VS2015等程序開發(fā)步驟:創(chuàng)建源代碼;編譯源代碼;鏈接以創(chuàng)建可執(zhí)行文件4 運行可執(zhí)行文件,查看結果。1.4 如何編寫,編譯和運行第1個C程序#include int main(void)printf(Hello, World!n);return 0;1.6 習題1.8.1.6 你所使用的C源文件的擴展名是什么?1.8.1.7 FILENAME.TXT是否是C源文件的有效文件名?1.8.2.2#include #include int ra
4、dius,area;int main(void) printf(enter radius (i.e. 10):); scanf(%d,&radius); area=(int)(3.14159*radius*radius); printf(nnArea=%dn, area); getch(); /while(1); return 0; 1.8.2.3#includeint x,y;int main(void) for (x=0; x10; x+, printf(n) for (y=0; y10; y+) printf(X); / while(1); return 0;1.8.2.4#includ
5、e int main(void); printf(Keep looking!); printf(Youll find it!n); return 0; 1.8.2.5#include int main(void) printf(This is a program with a); do_it(problem!); return 0; 第2課 C語言的組成部分程序組成部分main()函數(shù)每個程序有且只有一個。程序開始執(zhí)行的入口。int main(void); #include 指令#define 指令#include 包含文件,又稱頭文件。用賦給指定項的值替換指定項。變量定義函數(shù)原型又稱函數(shù)聲明
6、。程序語句通常占一行,以分號;結尾。函數(shù)定義庫函數(shù),用戶自定義函數(shù)。程序注釋/ 單行 /* */ 多行*花括號程序塊例1例2習題在C語言中,用花括號括起來的一組語句叫作什么?每個C程序都比不可少的部分是什么?C語言提供了哪兩種類型的函數(shù)?他們有什么區(qū)別?4 包含文件的另一個名稱是?5 分析如下程序的各個部分。第3課 存儲信息:變量和常量3.1計算機的內存(RAM(GB)易失性)位bit : 字節(jié)byte: 字節(jié)是計算機數(shù)據(jù)存儲的基本單位。 1 GB=1024 MB 1 MB=1024 KB 1 KB=1024 B表3.1 存儲數(shù)據(jù)需要的內存空間數(shù)據(jù)所需字節(jié)數(shù)字母X1數(shù)字5002數(shù)字241.10
7、54短語Sam Teach Yourself C21一張打印頁面大約3000 數(shù)據(jù)類型類型符號關鍵字數(shù)的表示范圍所占字節(jié)整型字符型實型有無(signed)int4-21474836482147483647(signed)short2-3276832767(signed)long4-214748364821474836474unsigned int04294967295404294967295unsigned longunsigned short2065535有float43.4e-383.4e38有double81.7e-3081.7e308有char1-128127無unsigned cha
8、r10255表3.2 C語言的基本數(shù)據(jù)類型 程序測試:例程3.1不同平臺C語言規(guī)則1 char的大小是1字節(jié) 。2 short的大小不超過(小于等于)int的大小。3 int的大小不超過(小于等于)long的大小。4 float的大小不超過(小于等于)double的大小。5 unsigned的大小與int的大小相等。變量名1 變量名命名規(guī)則A:可以包含字母、數(shù)字、下劃線B:第一個字符必須是字母或下劃線(不推薦)C:區(qū)別大小寫D: C語言關鍵字不能用作變量名 (int等)2 變量名最大長度31個字符3 命名風格interest_rateInterestRate變量聲明格式:變量類型 變量名;in
9、t count, number, start; typedef關鍵字本質:定義別名。typedef int integer; integer count;初始化變量int count;count=0;或 int count=0;3.2變量字面常量int count=20;float tax_rate=0.28;符號常量1 定義符號常量#define PI 3.14159const float PI=3.14159;2 #define工作原理#define PI 3.14159/*定義了一個常量PI*/#define PIPETTE 100“ PI ”3 用關鍵字const定義常量const f
10、loat PI=3.14159;PI=6.14159;(出錯)3.3常量與變量不同,儲存在常量中的值在程序執(zhí)行期間不可改變。例程:const.c習題整型變量和浮點型變量的區(qū)別?與字面常量相比,使用符號常量的兩個優(yōu)點是什么?定義符號常量MAXIMUM的值為100,有哪兩種方法?4 int類型的變量能儲存的最小值是多少?5 儲存下列值最好選用何種類型的變量?人的年齡一個人有多少朋友圓的半徑年薪商品的價格溫度個人的凈資產行星之間的距離(單位是英里)測量的最高分人名的大寫首字母第4課 語句、表達式和運算符4.1 語句:一條完整的指令,命令計算機執(zhí)行某些任務。例:x=5+6;A: 語句中空白(空格、制表
11、符、空行)。例1例2例3X=2+3;“How old are you?”printf(“hello,world!”);X= 2 + 3 ;“How old are you?”printf(“hello,world!”);printf(“hello,world!”);X = 2 +3 ;B: 空語句分號單獨占一行。作用:延時,空循環(huán)體。C:復合語句放在花括號中的一組C語句。 printf(“hello,”); printf(“world!”);4.1 表達式:一切可求值的內容均為表達式。簡單表達式:PI 符號常量20 字面常量Rate 變量-1.25 字面常量復雜表達式:2+81.25/8+5*
12、rate+rate/costX=a+10;Y=X=a+10;x-=6+(y=4+5);4.3 運算符賦值運算符 X = Y ;數(shù)學運算符一元數(shù)學運算符:+ -二元數(shù)學運算符:+ - * / %優(yōu)先級關系運算符真相當于1;假相當于0;= = Y )? X:Y 逗號運算符X= (a+, b+);運算符優(yōu)先級表習題負數(shù)被視為真還是假?如果x變量的值是10,分別執(zhí)行下面的語句后,x和a的值是多少? a = x +; a = +x ;對表達式 10%3求值是多少 ?4 對表達式 5+3*8/2+2求值是多少 ?5 對上述表達式加圓括號,使其值得16?第5課 函數(shù)5.1 函數(shù)的定義:函數(shù)是已命名的,執(zhí)行專
13、項任務的獨立C代碼段,可以選擇是否向調用它的程序返回一個值。5.2 函數(shù)的工作原理main() call func1 call func2 call func3 Func1()Func2()Func3()5.3 編寫函數(shù)函數(shù)頭5.3 編寫函數(shù)函數(shù)體:函數(shù)的實際工作都是在函數(shù)體中完成局部變量函數(shù)語句:函數(shù)中不能定義其他函數(shù),只能調用函數(shù)。返回值: 關鍵字:return;后面加C語言表達式。 一個函數(shù)中包含多條return語句,但只有第1條return語句有效。函數(shù)原型盡可能使用局部變量。嚴格說,并不要求函數(shù)原型與函數(shù)頭內容完全相同。只要求函數(shù)原型的形參類型、數(shù)量和順序與函數(shù)頭相同,其形參名可以不
14、同。5.4 給函數(shù)傳遞實參實參可以是任何有效的C表達式:常量,變量,數(shù)學表達式,邏輯表達式,有返回值的函數(shù)。5.5 函數(shù)調用:1)直接調用2)利用其返回值第6課 基本程序控制6.1 數(shù)組(array): 一組帶索引的數(shù)據(jù)存儲位置,各位置的名稱相同,以不同的下標或索引來區(qū)分。定義數(shù)組:例: int data1000; int index; index=100; dataindex=12;6.2 for 語句格式: for (初值部分;循環(huán)條件;更新部分) 語句; 情景一:for (count=100; count0; count-)情景二:for (count=0; count1000; cou
15、nt+=5)情景三:count=1;for ( ; count1000; count+)情景四:count=1;for ( printf(“aaaaa”); count1000; count+)情景五:for (count=0; count1000; ) printf(“%d”, count+);情景六:for (count=0; count1000& arraycount!=0; count-)printf(“%d”, arraycount);情景七:for (count=0; count1000; arraycount+ =50) ;情景八:for (count=0; count1000;
16、 arraycount+ =50) ; 情景九:for (i=0,j=900; i1000; i+,j-) bj=ai;for語句嵌套6.3 while 語句格式:while(循環(huán)條件) for( ; 循環(huán)條件 ; ) 語句; while 嵌套6.3 do while 語句格式:do 語句; while(循環(huán)條件);注意:do while與while相比,其“語句”至少執(zhí)行一次。6.4 嵌套循環(huán)嵌套循環(huán):在一個循環(huán)中包含另一個循環(huán)。第7課 信息讀寫基礎7.1 在屏幕上顯示信息printf () 函數(shù)1 字面量文本 例: printf(“how old are you?”); 2 轉義序列 例:
17、printf(“nThe value of myNumber is %d ”, myNumber);3 轉換說明例:printf(“nThe value of myNumber is %d ”, myNumber); 注意:1 printf() 頭文件”stdio.h” 2 printh(“ ”) 3 轉換說明與變量個數(shù)需匹配puts() 函數(shù)1可在屏幕上顯示文本信息,但不可顯示數(shù)值變量。2只需要一個字符串作為參數(shù),末尾自動添加換行符。例:puts(“hello, world.”); 等價 printf(“hello, world.n”);3 字符串中可包含轉義序列。7.2 讀取鍵盤輸入信息7
18、.3 三字符序列scanf () 函數(shù)1 scanf(“%d”, &x); 2 scanf(“%f”, &rate); scanf(“%d %f”, &x, &rate); 例:printf(“?(WOW?)”); printf(“WOW”); printf(“?-”); printf(“?”);第8課 數(shù)值數(shù)組8.1 什么是數(shù)組:一組數(shù)據(jù)存儲位置,每個位置的名稱相同,存儲的數(shù)據(jù)類型也相同。數(shù)組中的每個存儲位置被稱為數(shù)組元素。8.2 一維數(shù)組8.2 多維數(shù)組:C語言對數(shù)組的偽書沒有限制。(但對數(shù)組的大小有限制)8.3 命名和聲明數(shù)組注意:#define MONTHS 12int arrayMO
19、NTHS; int array12;const int MONTHS=12;int arrayMONTHS; 8.4 初始化數(shù)組int array4 = 100, 200, 300, 400;int array = 100, 200, 300, 400;int array10 = 100, 200, 300, 400;注意:未初始化的數(shù)組元素將被設置為0.1 int array4 3 =1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ;2 int array4 3 = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 ;第9課 指針指針是存
20、儲其他變量地址的變量。聲明指針形式:類型名 *指針名 (指針命名規(guī)則同變量, *間接運算符)例:char *ch1, *ch2; float *value, percent;初始化指針形式:指針=&變量;例:p_rate=&rate; (把rate的地址賦值給p_rate)使用指針例 printf (“%d”, rate ); 直接訪問 printf (“%d”, *p_rate ); 間接訪問假設名為 ptr的指針,其初始化指向var變量*ptr和var 表示變量var的值 ptr和&var表示變量var的地址。short vshort = 12252;char vchar = 90;flo
21、at vfloat=1200.156004; int *p_vshort = &vshort;char *p_vchar = &vchar;float *p_vfloat = &vfloat;測試指針占多少個字節(jié)指針和數(shù)組數(shù)組:1 數(shù)組名是指向數(shù)組的指針 2 是指針常量 例:數(shù)組data (data=&data0) int array100; int *p_array=array;x=1000&x0=1000&x1=1002expenses=1250& expenses0=1250& expenses1=1254注意:1 指針常量不能做遞增和遞減;2 當兩個指針都指向相同數(shù)組時,可以對這兩個指針進行比較。3 指針不能進行乘除法運算。*(array) = array0*(array+1) = array1*(array+2) = array2*(array+n) = arrayn第10課 字符和字符串char占1個字節(jié),內存中存儲的數(shù)據(jù)與ASCII碼對應。char類型的變量在C語言中表示“字符”還是“數(shù)字”,由程序中的轉換說明“%c”或“%d”決定。實例chartest.c字符變量聲明及初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全自動開關機項目可行性研究報告
- 2025年毛邊玻璃項目可行性研究報告
- 2025年室內光纜項目可行性研究報告
- 2025年鍛鑄造產品項目可行性研究報告
- 婦產科醫(yī)生個人總結范文(30篇)
- 2025年度砂石場礦山環(huán)境保護監(jiān)測服務合同4篇
- 2025年度辦公樓物業(yè)安全檢查與應急預案服務協(xié)議
- 2025年重整保護催化劑項目投資可行性研究分析報告
- 2025年度企業(yè)慶典場地租賃及活動執(zhí)行合同
- 服務結算合同范本
- 2023年3月云南專升本大??肌堵糜螌W概論》試題及答案
- 一年級趣味數(shù)學幾和第幾
- 2024年中國科學技術大學創(chuàng)新班物理試題答案詳解
- 方案優(yōu)缺點對比表模板
- 數(shù)據(jù)真實性承諾書
- 山東信息職業(yè)技術學院單招職業(yè)技能測試參考試題庫(含答案)
- 充電站風險管理的法律法規(guī)研究
- 類案檢索報告
- 數(shù)字媒體藝術概論數(shù)字媒體藝術理論概述
- 企業(yè)開展防震減災知識講座
- 中石油反恐風險評估報告
評論
0/150
提交評論