[工學]大學C語言第1講C語言基礎知識課件_第1頁
[工學]大學C語言第1講C語言基礎知識課件_第2頁
[工學]大學C語言第1講C語言基礎知識課件_第3頁
[工學]大學C語言第1講C語言基礎知識課件_第4頁
[工學]大學C語言第1講C語言基礎知識課件_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第1講 C語言基礎知識一、計算機系統(tǒng)與計算機知識體系二、程序設計與程序設計語言三、C程序的基本結構和運行過程 四、數(shù)據(jù)類型、常量、變量五、賦值運算符和賦值表達式六、基本的輸入輸出七、算術運算符和算術表達式八、數(shù)學標準函數(shù)九、數(shù)據(jù)類型轉換一、計算機系統(tǒng)與計算機知識體系輸入設備輸出設備存儲器運算器控制器操作系統(tǒng)支撐軟件應用軟件(各種語言開發(fā)的應用軟件系統(tǒng))軟件硬件計算機系統(tǒng)典型的計算機硬件組成內存中央處理器外圍設備外存輸入/輸出總線軟盤、硬盤、光盤、U盤、鍵盤、顯示器、鼠標、計算機知識體系計算機硬件組成原理操作系統(tǒng)編譯程序數(shù)據(jù)庫管理系統(tǒng)高級語言(C,C+,Java等)數(shù)據(jù)結構軟件工程人(用、編程序

2、)軟件什么是ASCII碼?計算機中用得最廣泛的字符集及其編碼,是由美國國家標準局(ANSI)制定的ASCII碼(American Standard Code for Information Interchange,美國標準信息交換碼)分析1位二進制數(shù)可以表示2種狀態(tài)7位二進制數(shù)可以表示128種狀態(tài) (0127)計算機中用8位(一個字節(jié))存儲ASCII碼,其最高位(b7)用作奇偶校驗位。ASCII對應鍵盤值數(shù)的進制10進制2進制8進制16進制二、程序設計與程序設計語言什么是程序?可以連續(xù)執(zhí)行的一條條指令的集合。對計算任務的處理對象和處理過程的描述。用什么寫出程序? 很多種計算機語言,比較熟悉的高

3、級語言,如:C、Basic、C+、Java等,還有匯編語言等。高級語言接近自然語言的習慣,容易編寫,容易理解和交流,是給人看的語言。計算機只能接受和處理由0和1的代碼構成的二進制指令或數(shù)據(jù),稱為“機器語言”。高級語言程序一定要轉換(如編譯)成機器語言程序才能在計算機中被執(zhí)行。編譯程序與開發(fā)環(huán)境編譯程序你知道的開發(fā)環(huán)境?(環(huán)境包括編寫、編譯、連接、運行程序)Microsoft CTurbo CBorland CQuick C通常C+編譯系統(tǒng)兼容C, 我們用Visual C+ 6.0C語言源程序.cC語言編譯程序二進制機器指令.obj連接程序可執(zhí)行程序.exeC語言C語言的產(chǎn)生語言是貝爾實驗室于7

4、0年代初研制出來的,用于編寫UNIX。后來又被多次改進,并出現(xiàn)了多種版本。80年代初,美國國家標準化協(xié)會(ANSI),根據(jù)語言問世以來各種版本對語言的發(fā)展和擴充,制定了ANSI C標準(1989年再次做了修訂)。C語言的特點中間語言的特點:C語言同時具有匯編語言和高級語言的優(yōu)勢。面向過程,結構化程序設計語言應用非常廣泛,體現(xiàn)程序員的水平語言簡潔、緊湊,使用方便、靈活。運算符極其豐富,表達能力強。可移植性好區(qū)別C語言與C語言開發(fā)環(huán)境程序設計程序設計的發(fā)展面向計算機的程序設計二進制形式、匯編面向過程的程序設計按功能劃分,自頂向下,逐步求精面向對象的程序設計按對象劃分,研究對象之間的關系三、C程序的

5、基本結構和運行過程一個簡單的C程序是由函數(shù)組成的。僅且僅有一個主函數(shù) main() ,程序總是從主函數(shù)開始運行。還可以有多個其它函數(shù)自己編的別人編的系統(tǒng)提供的庫函數(shù)。#include int main() printf(Hello,World.n); return 0;語句函數(shù)體由語句組成。語句: 常量、變量、運算符一行可以寫多個語句,一個語句也可以寫在多行上。寫各種表達式:算術表達式、關系表達式、賦值表達式、語句加注釋的方法:/* */ 或者 / 只有 ; 的語句叫“空語句”,什么都不執(zhí)行。main() ; /什么時候用?復合語句:用 括起來的多個語句,什么時候用?main() /*復合語句

6、。注意:右括號后不需要分號。*/ 集成開發(fā)環(huán)境很多產(chǎn)品可以用上課暫用Microsoft Visual c+ 6.0你當然可以用別的什么,比如Turbo C 2.0, Turbo C+ 3.0 等等打開Microsoft Visual c+ 6.0FilenewprojectsWin32 Console Application選好工程名和位置,依向導指示做試著進行調試(書附錄C)單步運行,設斷點,運行中查看變量值等。The Build Process調試例子int main()int x,y,sum; /* 定義變量 */scanf(%d%d, &x, &y);/* 鍵盤輸入變量值 */ sum

7、 = 0; / 變量賦初值 sum = x+y; / 計算 printf(sum=%dn, sum); /* 輸出計算結果 */return 0;關鍵字數(shù)據(jù)類型關鍵字:char, double, enum, float, int, long, short, signed, struct, union, unsigned, void控制語句關鍵字:break, case, continue, default, do, else, for, goto, if, return, switch, while存儲類型關鍵字:auto, extern, register, static其它關鍵字:cons

8、t, sizeof, typedef四、數(shù)據(jù)類型、常量、變量存什么樣的數(shù)據(jù)(基本數(shù)據(jù)類型)整型實型字符型數(shù)據(jù)的存儲空間與取值范圍8位(1個字節(jié))16位(2個字節(jié))32位(4個字節(jié))64位(8個字節(jié))數(shù)據(jù)是否帶符號有符號型無符號型數(shù)據(jù)值是否會改變常量變量(必須先定義再使用)不同的數(shù)據(jù)集合上定義了不同的運算長度和精度的限制基本數(shù)據(jù)類型關鍵字shortunsigned intintlongfloatdoublechar表示數(shù)據(jù)短整型無符號整型整型長整型實型單精度實型雙精度字符占字節(jié)數(shù)244481取值范圍常量整型常量120 -987 0634(八進制) 123L 65 0 x16(十六進制)實型常量-

9、10.0 123.4f 9.0E-28 123.4(默認double型)字符常量a A 65 (轉義字符)字符串常量“A” “1234” 在程序運行過程中其值始終保持不變的量。 字符串常量用雙引號括起來的字符串,如“Whats your name?”, “ ”字符串在內存中占的空間為:字符串長度+1,因為字符串后面默認有0問題為什么10和10.0不同?123和123L有什么不同?0634與634有什么不同?0 x10是多少?“A”和A的區(qū)別?“1234”和1234的區(qū)別?符號常量程序代碼中多處用到某個數(shù)據(jù),且程序邏輯中為常量針對問題變化,可能維護和修改??梢园堰@種數(shù)據(jù)定義為符號常量,即用一個標

10、識符代表一個常量。 #define PRICE 100 /*define是一條預處理命令作用是把標識符定義為后面的常量*/int main(int argc, char* argv)int a,b;a=100;b=a*PRICE;printf(b=%dn,b);return 0;可懂度更好。維護和修改程序方便。符號常量符號常量不可以修改 #define PRICE 100 /*define是一條預處理命令作用是把標識符定義為后面的常量*/int main()int a,b;a=100;PRICE=10; /錯誤語句b=a*PRICE;printf(b=%dn,b);return 0;C預定義的

11、轉義字符序列(P13)變量必須先定義,再使用注意大小寫敏感定義的格式: ,int num;char ch;float pay1, pay2;定義變量就是在內存中申請空間存放變量值定義之后立即初始化是好的編程風格。不然你引用它時,可能是隨機值,沒有錯誤提示。例: int a; printf(%dn,a); /a值隨機int num;char ch;num5一個整型數(shù)大小cha一個字符大小變量命名:字母,數(shù)字,下劃線第1個字符必須是字母或下劃線區(qū)分大小寫取個好的名字變量賦初值定義時賦初值int data1=0;int data2(0);賦值操作賦初值 f = 0.0 ; f = data1+1;鍵

12、盤輸入賦初值取個對名字賦值號“=”是一個運算符,稱為賦值運算符。賦值表達式: 變量名=表達式 ;/右邊的值賦給左邊說明:(1)賦值號左邊必須是一個代表某一存儲單元的變量名。(2)賦值號右邊必須是C語言中合法的表達式。功能:先求出右邊表達式的值然后把此值賦給賦值號左邊的變量。優(yōu)先級與結合性優(yōu)先級:只高于逗號運算符,比任何其他運算符的優(yōu)先級都低。結合性:自右向左五、賦值運算符和賦值表達式例x = 2+73;y=x; /將x變量當前值賦給y變量。y=x+1 /y為x+1的值,x值不變。x=x+1; /將x變量當前值加1再賦給x變量。x=x; /*將x變量當前值賦給x變量。合法的表達式,但無意義。*/

13、a=b=7+1; /正確的表達式。7+1的值8先賦給b,再賦給a。a+b=c; /*錯誤的表達式。左邊只能是變量名。*/x=1,y=2;復合賦值運算符+= 例:n += 1; 等價于:n=n+1;-= 例:n -= 1; 等價于:n=n-1;*= 例:n *= 1; 等價于:n=n*1;= 例:n /= 1; 等價于:n=n/1;%= 例:n%=1; 等價于:n=n%1;注意:兩個符號之間不可以有空格優(yōu)先級:與賦值運算符相同;結合性:自右至左例:已有變量a,其值為9,計算表達式a+=a-=a+a; 的值。結果:a為 -18六、基本的輸入輸出標準的輸入設備-鍵盤標準的輸出設備-顯示器標準的輸入輸

14、出函數(shù)實現(xiàn)數(shù)據(jù)流的輸入輸出需要包含頭文件:stdio.h#include /多用于系統(tǒng)頭文件#include “stdio.h” /另一寫法非格式化輸入輸出getchar()char ch ;ch = getchar() ;putchar()putchar(ch) ;char ch ;ch = getchar() ;putchar(ch) ;putchar(n);格式化輸入輸出scanf(,)int x,y ;float f1, f2 ; scanf(%d%d%f%f,&x,&y,&f1,&f2) ;printf(,)printf(%d %d %f %fn,x,y,f1,f2);printf(

15、%d %fn,x+y,f1+f2);部分格式說明符%c單個字符%d十進制數(shù)%e科學計數(shù)%f浮點十進制數(shù)%s字符串%顯示百分號%0八進制數(shù)%x十六進制數(shù)輸出格式控制%m 場寬 輸出數(shù)據(jù)在屏幕上占的列數(shù)%m.n n為輸出實型數(shù)時為小數(shù)點后位數(shù),輸出整型數(shù)時為最少顯示的位數(shù)??刂茖ζ潺R方式:%后加 - 為左對齊,缺省為右對齊作業(yè):閱讀P25算術運算符:+ - * / %23+90 8.8-7 a*2.7 4%4不同的數(shù)據(jù)類型上定義了不同的操作% 只用于整型數(shù)。當數(shù)據(jù)類型不同時如何運算,結果如何保存?二進制位數(shù)少的數(shù)據(jù)類型自動轉換為二進制位數(shù)多的數(shù)據(jù)類型(即向精度到的數(shù)據(jù)類型轉換),再進行運算。作業(yè):

16、閱讀P26七、算術運算符和算術表達式提問int i=5;float f=1.0; double d=1.0;char c=A; i+10結果是什么?i+f結果是什么?i+d結果是什么?printf(%cn,c+25);12/i結果是什么?12.0/i結果是什么?自學P26,例1-8, P27,例1-9,上機調試這兩個程序。運算符學習總結弄清的關鍵問題運算符的意義適用的數(shù)據(jù)集合優(yōu)先級結合性自加、自減運算符運算符“+”和“-”是單目運算符(1)后綴形式:i+。i先參與運算,再自加。(2)前綴形式:+i。i先自加,再參與運算。一種特殊的賦值運算,比賦值效率高。i+,相當于i=i+1;i-,相當于i=

17、i-1。例1:int a=5; a = a*(a+); /結果:a 為26 例2:int a=5; a = a*(+a); /結果:a 為36注意:運算對象可以是整型、實型、字符型變量,不可以是常量和其他的表達式。例如,3+、(i+j)+都是錯誤的。運算符的優(yōu)先級和結合性運算符優(yōu)先級結合性+ -高右結合(不同系統(tǒng)可能不同)* / %次之左結合+ -低左結合圓括號()的優(yōu)先級最高。+和-的優(yōu)先級和結合性優(yōu)先級:高于其他算術運算符。(多用圓括號)例3:int a=5; a = a*a+; /結果:a仍為26 結合性:自右至左例4:int x=1,y=2; printf(%dn, x+y); /結果

18、:3例5:int x=1,y=2; printf(%dn, (x+)+y); /結果:3例6:int x=1,y=2; printf(%dn, x+(+y); /結果:4八、數(shù)學標準函數(shù)系統(tǒng)有了的標準庫函數(shù)用于數(shù)學運算的部分函數(shù)原型在math.h中,要包含它。見書P30作業(yè):閱讀P31,例1-10,上機調試。九、數(shù)據(jù)類型轉換賦值運算中的數(shù)據(jù)類型轉換(1)“ = ”兩邊數(shù)據(jù)類型一致,賦值操作正確執(zhí)行。(2)“ = ”兩邊數(shù)據(jù)類型不一致,但系統(tǒng)可以將右側的數(shù)據(jù)類型自動或強制地轉換為左邊的數(shù)據(jù)類型,賦值操作可以執(zhí)行,并稱此賦值為“賦值兼容”。(3)“ = ”兩邊數(shù)據(jù)類型不一致,但系統(tǒng)也不能將右側的數(shù)據(jù)類型轉換為左邊的數(shù)

溫馨提示

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

評論

0/150

提交評論