




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語言程序設(shè)計(jì)學(xué)時(shí):32學(xué)時(shí)教材:21天學(xué)通C語言(第七版) Bradley Jones著,人民郵電出版社教師:李玥華 第1課 初識(shí)C語言1.1 C語言發(fā)展簡(jiǎn)史1.2 為何要使用C語言1.3 程序開發(fā)工具及步驟1.4 如何編寫,編譯和運(yùn)行第1個(gè)C程序1.5 錯(cuò)誤消息1.6 習(xí)題C語言的發(fā)展頗為有趣。它的原型ALGOL 60語言。(也成為A語言) 1963年,劍橋大學(xué)將ALGOL 60語言發(fā)展成為CPL(Combined Programming Language)語言。 1967年,劍橋大學(xué)的Matin Richards 對(duì)CPL語言進(jìn)行了簡(jiǎn)化,于是產(chǎn)生了BCPL語言。
2、 1970年,美國(guó)貝爾實(shí)驗(yàn)室的Ken Thompson將BCPL進(jìn)行了修改,并為它起了一個(gè)有趣的名字“B語言”。意思是將CPL語言煮干,提煉出它的精華。并且他用B語言寫了第一個(gè)UNIX操作系統(tǒng)。 而在1973年,B語言也給人“煮”了一下,美國(guó)貝爾實(shí)驗(yàn)室的D.M.RITCHIE在B語言的基礎(chǔ)上最終設(shè)計(jì)出了一種新的語言,他取了BCPL的第二個(gè)字母作為這種語言的名字,這就是C語言。1.1 C語言發(fā)展簡(jiǎn)史1. 面向過程的語言2. 擁有許多庫3. 編譯速度4. 易學(xué)(語法是接近英語)5. 可移植6. C語言為許多其他目前已知的語言構(gòu)建模塊。8. C的另一個(gè)重要優(yōu)勢(shì)是它能夠擴(kuò)展自己。對(duì)于我們來說,為什么學(xué)
3、習(xí)C語言?工程計(jì)算用。單片機(jī)編程。軟件界面的編寫。1.2 為何要使用C語言1.3 程序開發(fā)工具及步驟開發(fā)工具:Dev-C+ 4.9.9.2(推薦,上課用) VS2015等程序開發(fā)步驟:創(chuàng)建源代碼;編譯源代碼;鏈接以創(chuàng)建可執(zhí)行文件4 運(yùn)行可執(zhí)行文件,查看結(jié)果。1.4 如何編寫,編譯和運(yùn)行第1個(gè)C程序#include int main(void)printf(Hello, World!n);return 0;1.6 習(xí)題1.8.1.6 你所使用的C源文件的擴(kuò)展名是什么?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ù)每個(gè)程序有且只有一個(gè)。程序開始執(zhí)行的入口。int main(void); #include 指令#define 指令#include 包含文件,又稱頭文件。用賦給指定項(xiàng)的值替換指定項(xiàng)。變量定義函數(shù)原型又稱函數(shù)聲明
6、。程序語句通常占一行,以分號(hào);結(jié)尾。函數(shù)定義庫函數(shù),用戶自定義函數(shù)。程序注釋/ 單行 /* */ 多行*花括號(hào)程序塊例1例2習(xí)題在C語言中,用花括號(hào)括起來的一組語句叫作什么?每個(gè)C程序都比不可少的部分是什么?C語言提供了哪兩種類型的函數(shù)?他們有什么區(qū)別?4 包含文件的另一個(gè)名稱是?5 分析如下程序的各個(gè)部分。第3課 存儲(chǔ)信息:變量和常量3.1計(jì)算機(jī)的內(nèi)存(RAM(GB)易失性)位bit : 字節(jié)byte: 字節(jié)是計(jì)算機(jī)數(shù)據(jù)存儲(chǔ)的基本單位。 1 GB=1024 MB 1 MB=1024 KB 1 KB=1024 B表3.1 存儲(chǔ)數(shù)據(jù)需要的內(nèi)存空間數(shù)據(jù)所需字節(jié)數(shù)字母X1數(shù)字5002數(shù)字241.10
7、54短語Sam Teach Yourself C21一張打印頁面大約3000 數(shù)據(jù)類型類型符號(hào)關(guān)鍵字?jǐn)?shù)的表示范圍所占字節(jié)整型字符型實(shí)型有無(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ù)類型 程序測(cè)試:例程3.1不同平臺(tái)C語言規(guī)則1 char的大小是1字節(jié) 。2 short的大小不超過(小于等于)int的大小。3 int的大小不超過(小于等于)long的大小。4 float的大小不超過(小于等于)double的大小。5 unsigned的大小與int的大小相等。變量名1 變量名命名規(guī)則A:可以包含字母、數(shù)字、下劃線B:第一個(gè)字符必須是字母或下劃線(不推薦)C:區(qū)別大小寫D: C語言關(guān)鍵字不能用作變量名 (int等)2 變量名最大長(zhǎng)度31個(gè)字符3 命名風(fēng)格interest_rateInterestRate變量聲明格式:變量類型 變量名;in
9、t count, number, start; typedef關(guān)鍵字本質(zhì):定義別名。typedef int integer; integer count;初始化變量int count;count=0;或 int count=0;3.2變量字面常量int count=20;float tax_rate=0.28;符號(hào)常量1 定義符號(hào)常量#define PI 3.14159const float PI=3.14159;2 #define工作原理#define PI 3.14159/*定義了一個(gè)常量PI*/#define PIPETTE 100“ PI ”3 用關(guān)鍵字const定義常量const f
10、loat PI=3.14159;PI=6.14159;(出錯(cuò))3.3常量與變量不同,儲(chǔ)存在常量中的值在程序執(zhí)行期間不可改變。例程:const.c習(xí)題整型變量和浮點(diǎn)型變量的區(qū)別?與字面常量相比,使用符號(hào)常量的兩個(gè)優(yōu)點(diǎn)是什么?定義符號(hào)常量MAXIMUM的值為100,有哪兩種方法?4 int類型的變量能儲(chǔ)存的最小值是多少?5 儲(chǔ)存下列值最好選用何種類型的變量?人的年齡一個(gè)人有多少朋友圓的半徑年薪商品的價(jià)格溫度個(gè)人的凈資產(chǎn)行星之間的距離(單位是英里)測(cè)量的最高分人名的大寫首字母第4課 語句、表達(dá)式和運(yùn)算符4.1 語句:一條完整的指令,命令計(jì)算機(jī)執(zhí)行某些任務(wù)。例: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: 空語句分號(hào)單獨(dú)占一行。作用:延時(shí),空循環(huán)體。C:復(fù)合語句放在花括號(hào)中的一組C語句。 printf(“hello,”); printf(“world!”);4.1 表達(dá)式:一切可求值的內(nèi)容均為表達(dá)式。簡(jiǎn)單表達(dá)式:PI 符號(hào)常量20 字面常量Rate 變量-1.25 字面常量復(fù)雜表達(dá)式:2+81.25/8+5*
12、rate+rate/costX=a+10;Y=X=a+10;x-=6+(y=4+5);4.3 運(yùn)算符賦值運(yùn)算符 X = Y ;數(shù)學(xué)運(yùn)算符一元數(shù)學(xué)運(yùn)算符:+ -二元數(shù)學(xué)運(yùn)算符:+ - * / %優(yōu)先級(jí)關(guān)系運(yùn)算符真相當(dāng)于1;假相當(dāng)于0;= = Y )? X:Y 逗號(hào)運(yùn)算符X= (a+, b+);運(yùn)算符優(yōu)先級(jí)表習(xí)題負(fù)數(shù)被視為真還是假?如果x變量的值是10,分別執(zhí)行下面的語句后,x和a的值是多少? a = x +; a = +x ;對(duì)表達(dá)式 10%3求值是多少 ?4 對(duì)表達(dá)式 5+3*8/2+2求值是多少 ?5 對(duì)上述表達(dá)式加圓括號(hào),使其值得16?第5課 函數(shù)5.1 函數(shù)的定義:函數(shù)是已命名的,執(zhí)行專
13、項(xiàng)任務(wù)的獨(dú)立C代碼段,可以選擇是否向調(diào)用它的程序返回一個(gè)值。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ù),只能調(diào)用函數(shù)。返回值: 關(guān)鍵字:return;后面加C語言表達(dá)式。 一個(gè)函數(shù)中包含多條return語句,但只有第1條return語句有效。函數(shù)原型盡可能使用局部變量。嚴(yán)格說,并不要求函數(shù)原型與函數(shù)頭內(nèi)容完全相同。只要求函數(shù)原型的形參類型、數(shù)量和順序與函數(shù)頭相同,其形參名可以不
14、同。5.4 給函數(shù)傳遞實(shí)參實(shí)參可以是任何有效的C表達(dá)式:常量,變量,數(shù)學(xué)表達(dá)式,邏輯表達(dá)式,有返回值的函數(shù)。5.5 函數(shù)調(diào)用:1)直接調(diào)用2)利用其返回值第6課 基本程序控制6.1 數(shù)組(array): 一組帶索引的數(shù)據(jù)存儲(chǔ)位置,各位置的名稱相同,以不同的下標(biāo)或索引來區(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):在一個(gè)循環(huán)中包含另一個(gè)循環(huán)。第7課 信息讀寫基礎(chǔ)7.1 在屏幕上顯示信息printf () 函數(shù)1 字面量文本 例: printf(“how old are you?”); 2 轉(zhuǎn)義序列 例:
17、printf(“nThe value of myNumber is %d ”, myNumber);3 轉(zhuǎn)換說明例:printf(“nThe value of myNumber is %d ”, myNumber); 注意:1 printf() 頭文件”stdio.h” 2 printh(“ ”) 3 轉(zhuǎn)換說明與變量個(gè)數(shù)需匹配puts() 函數(shù)1可在屏幕上顯示文本信息,但不可顯示數(shù)值變量。2只需要一個(gè)字符串作為參數(shù),末尾自動(dòng)添加換行符。例:puts(“hello, world.”); 等價(jià) printf(“hello, world.n”);3 字符串中可包含轉(zhuǎn)義序列。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ù)存儲(chǔ)位置,每個(gè)位置的名稱相同,存儲(chǔ)的數(shù)據(jù)類型也相同。數(shù)組中的每個(gè)存儲(chǔ)位置被稱為數(shù)組元素。8.2 一維數(shù)組8.2 多維數(shù)組:C語言對(duì)數(shù)組的偽書沒有限制。(但對(duì)數(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ù)組元素將被設(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、儲(chǔ)其他變量地址的變量。聲明指針形式:類型名 *指針名 (指針命名規(guī)則同變量, *間接運(yùn)算符)例:char *ch1, *ch2; float *value, percent;初始化指針形式:指針=&變量;例:p_rate=&rate; (把rate的地址賦值給p_rate)使用指針例 printf (“%d”, rate ); 直接訪問 printf (“%d”, *p_rate ); 間接訪問假設(shè)名為 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;測(cè)試指針占多少個(gè)字節(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 當(dāng)兩個(gè)指針都指向相同數(shù)組時(shí),可以對(duì)這兩個(gè)指針進(jìn)行比較。3 指針不能進(jìn)行乘除法運(yùn)算。*(array) = array0*(array+1) = array1*(array+2) = array2*(array+n) = arrayn第10課 字符和字符串char占1個(gè)字節(jié),內(nèi)存中存儲(chǔ)的數(shù)據(jù)與ASCII碼對(duì)應(yīng)。char類型的變量在C語言中表示“字符”還是“數(shù)字”,由程序中的轉(zhuǎn)換說明“%c”或“%d”決定。實(shí)例chartest.c字符變量聲明及初始化
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年實(shí)木類家具項(xiàng)目申請(qǐng)報(bào)告模板
- Unit 3 School rules 第3課時(shí)Story time教學(xué)課件
- 江西省吉安市遂川縣2023-2024學(xué)年四年級(jí)下學(xué)期6月期末數(shù)學(xué)試卷(含答案)
- 浙江省紹興市2023-2024學(xué)年高二下學(xué)期化學(xué)期末試卷(含答案)
- 汽車傳感器與檢測(cè)技術(shù)電子教案:煙度傳感器
- 探討黑社會(huì)性質(zhì)組織犯罪若干問題
- 商砼公司財(cái)務(wù)管理制度
- 中考地理復(fù)習(xí)教案專題五 區(qū)域差異和聯(lián)系-區(qū)域認(rèn)知
- 倉儲(chǔ)配送活動(dòng)方案
- 仙桃村團(tuán)建活動(dòng)方案
- 頤和園建筑案例分析
- 護(hù)理制度之患者身份識(shí)別制度
- 食材配送服務(wù)方案投標(biāo)文件(技術(shù)方案)
- 中建細(xì)部工程施工方案
- 2024年中考模擬試卷生物(江蘇南京卷)
- 環(huán)衛(wèi)作業(yè)公司
- 《員工執(zhí)行力培訓(xùn)》課件
- 病區(qū)消防應(yīng)急演練
- 2024年度中國(guó)第三方支付行業(yè)研究報(bào)告
- 2024年安全員C3證考試題庫及解析
- 2024年山東省青島市中考地理試題卷(含答案及解析)+2023年中考地理及答案
評(píng)論
0/150
提交評(píng)論