版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
會(huì)計(jì)學(xué)1第程序設(shè)計(jì)和C語(yǔ)言1.2什么是計(jì)算機(jī)語(yǔ)言計(jì)算機(jī)語(yǔ)言:人和計(jì)算機(jī)交流信息的、計(jì)算機(jī)和人都能識(shí)別的語(yǔ)言第1頁(yè)/共51頁(yè)計(jì)算機(jī)語(yǔ)言發(fā)展階段:機(jī)器語(yǔ)言(由0和1組成的指令)1011011000000000加符號(hào)語(yǔ)言(用英文字母和數(shù)字表示指令)也稱(chēng)匯編語(yǔ)言,不同型號(hào)的機(jī)器間不通用,計(jì)算機(jī)不識(shí)別。如:ADDA,B匯編程序:把匯編語(yǔ)言的指令轉(zhuǎn)換為機(jī)器指令低級(jí)語(yǔ)言第2頁(yè)/共51頁(yè)高級(jí)語(yǔ)言
接近于人的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言面向過(guò)程的語(yǔ)言
非結(jié)構(gòu)化的語(yǔ)言(早期的Basic,F(xiàn)ortran)
結(jié)構(gòu)化語(yǔ)言(C順序、選擇、循環(huán)三大結(jié)構(gòu))面向?qū)ο蟮恼Z(yǔ)言編譯程序:把高級(jí)語(yǔ)言寫(xiě)的程序(源程序)轉(zhuǎn)換為機(jī)器指令的程序(目標(biāo)程序),然后讓計(jì)算機(jī)執(zhí)行機(jī)器指令程序。計(jì)算機(jī)語(yǔ)言發(fā)展階段:第3頁(yè)/共51頁(yè)1.3C語(yǔ)言的發(fā)展及其特點(diǎn)C語(yǔ)言是國(guó)際上流行的、很有發(fā)展前途的計(jì)算機(jī)高級(jí)語(yǔ)言。C語(yǔ)言適合于作為“系統(tǒng)描述語(yǔ)言”。既可以用來(lái)編寫(xiě)系統(tǒng)軟件,也可以用來(lái)編寫(xiě)應(yīng)用程序。
C語(yǔ)言出現(xiàn)的歷史背景:
1)操作系統(tǒng)等系統(tǒng)軟件以前采用匯編語(yǔ)言編寫(xiě),而匯編語(yǔ)言可讀性和可移植性都比較差;
2)而當(dāng)時(shí)的高級(jí)語(yǔ)言難以實(shí)現(xiàn)匯編語(yǔ)言的某些功能(如:內(nèi)存地址的讀寫(xiě)-直接硬件、二進(jìn)制位的操作),不適宜編寫(xiě)系統(tǒng)軟件。第4頁(yè)/共51頁(yè)ALGOL60高級(jí)語(yǔ)言離硬件較遠(yuǎn)CPL較ALGOL60接近一些硬件但規(guī)模比較大,難以實(shí)現(xiàn)B語(yǔ)言很簡(jiǎn)單很接近硬件但功能有限C語(yǔ)言精煉很接近硬件功能強(qiáng)大BCPLBCPL是對(duì)CPL進(jìn)行簡(jiǎn)化后的一種語(yǔ)言。C語(yǔ)言的發(fā)展歷程第5頁(yè)/共51頁(yè)C語(yǔ)言的發(fā)展歷程1972~1973年貝爾實(shí)驗(yàn)室D.M.Ritchie設(shè)計(jì)出C語(yǔ)言1973年K.Thompson&D.M.Ritchie用C改寫(xiě)出UNIX第五版1977年出現(xiàn)了不依賴(lài)于具體機(jī)器的的C語(yǔ)言編譯文本《可移植C語(yǔ)言編譯程序》1978年C語(yǔ)言先后移植到大、中、小、微型機(jī)上,獨(dú)立于UNIX和PDP1978年K&R合著了影響深遠(yuǎn)的《TheCProgrammingLanguage》1983年美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)制定ANSIC1990年國(guó)際標(biāo)準(zhǔn)化組織ISO制定ISOC標(biāo)準(zhǔn),C891995,1999年ISO又對(duì)C89修訂,命名為ISO/IEC9899:1999,即C99第6頁(yè)/共51頁(yè)常見(jiàn)的C語(yǔ)言版本有:Borland公司:
TurboC, TurboC++ BorlandC++,C++Builder(Windows版本)Microsoft公司:
MicrosoftC
VisualC++,VisualC#(Windows版本)
教材以C99標(biāo)準(zhǔn)為依據(jù),程序基本上都可以在目前所用的編譯系統(tǒng)(如VC++6.0,TurboC++3.0,GCC)上編譯和運(yùn)行。第7頁(yè)/共51頁(yè)C語(yǔ)言的主要特點(diǎn)語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。只有37個(gè)關(guān)鍵字、9種控制語(yǔ)句程序書(shū)寫(xiě)形式自由,源程序短運(yùn)算符豐富。有34種運(yùn)算符把括號(hào)、賦值、強(qiáng)制類(lèi)型轉(zhuǎn)換等都作為運(yùn)算符處理表達(dá)式類(lèi)型多樣化第8頁(yè)/共51頁(yè)C語(yǔ)言的主要特點(diǎn)數(shù)據(jù)類(lèi)型豐富。包括:整型、浮點(diǎn)型、字符型、數(shù)組類(lèi)型、指針類(lèi)型、結(jié)構(gòu)體類(lèi)型、共用體類(lèi)型、復(fù)數(shù)浮點(diǎn)類(lèi)型、超長(zhǎng)整型、布爾類(lèi)型和指針類(lèi)型數(shù)據(jù)。具有結(jié)構(gòu)化的控制語(yǔ)句如if…else語(yǔ)句、while語(yǔ)句、do…while語(yǔ)句、switch語(yǔ)句、for語(yǔ)句,用函數(shù)作為程序的模塊單位,便于實(shí)現(xiàn)程序的模塊化第9頁(yè)/共51頁(yè)C語(yǔ)言的主要特點(diǎn)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。不要過(guò)分依賴(lài)C編譯程序去查錯(cuò);允許直接訪(fǎng)問(wèn)物理地址,能進(jìn)行位操作,可以直接對(duì)硬件進(jìn)行操作C語(yǔ)言具有高級(jí)語(yǔ)言的功能和低級(jí)語(yǔ)言的許多功能,可用來(lái)編寫(xiě)系統(tǒng)軟件這種雙重性,使它既是成功的系統(tǒng)描述語(yǔ)言,又是通用的程序設(shè)計(jì)語(yǔ)言。第10頁(yè)/共51頁(yè)C語(yǔ)言的主要特點(diǎn)用C語(yǔ)言編寫(xiě)的程序可移植性好。C的編譯系統(tǒng)簡(jiǎn)潔,很容易移植到新系統(tǒng)在新系統(tǒng)上運(yùn)行時(shí),可直接編譯“標(biāo)準(zhǔn)鏈接庫(kù)”中的大部分功能,不需要修改源代碼幾乎所有計(jì)算機(jī)系統(tǒng)都可以使用C語(yǔ)言生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。
第11頁(yè)/共51頁(yè)1.4最簡(jiǎn)單的C語(yǔ)言程序1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例1.4.2C語(yǔ)言程序的結(jié)構(gòu)第12頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例例1.1要求在屏幕上輸出以下一行信息。
ThisisaCprogram.解題思路:
在主函數(shù)中用printf函數(shù)原樣輸出以上文字。第13頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}函數(shù)的名字,表示主函數(shù)C程序必須有一個(gè)main函數(shù)第14頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
主函數(shù)類(lèi)型第15頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
函數(shù)體第16頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
輸出函數(shù)輸出語(yǔ)句第17頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
輸出語(yǔ)句第18頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
換行符第19頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
當(dāng)main函數(shù)執(zhí)行結(jié)束前將整數(shù)0作為函數(shù)值第20頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例#include<stdio.h>intmain(){
printf(”ThisisaCprogram.\n”);return0;}
表示語(yǔ)句結(jié)束用到函數(shù)庫(kù)中的輸入輸出函數(shù)時(shí)第21頁(yè)/共51頁(yè)1.4.1最簡(jiǎn)單的C語(yǔ)言程序舉例C語(yǔ)言允許用兩種注釋方式://:?jiǎn)涡凶⑨尶蓡为?dú)占一行可出現(xiàn)在一行中其他內(nèi)容的右側(cè)/*……*/:塊式注釋可包含多行第22頁(yè)/共51頁(yè)例1.2求兩個(gè)整數(shù)之和。解題思路:設(shè)置3個(gè)變量a和b用來(lái)存放兩個(gè)整數(shù)sum用來(lái)存放和數(shù)用賦值運(yùn)算符“=”把結(jié)果傳送給sum第23頁(yè)/共51頁(yè)#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}定義整型變量a,b,sum對(duì)變量a,b賦值將a與b的和賦給sum第24頁(yè)/共51頁(yè)#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;}用sum的值替代希望輸出的字符第25頁(yè)/共51頁(yè)例1.3求兩個(gè)整數(shù)中的較大者。解題思路:用一個(gè)函數(shù)實(shí)現(xiàn)求兩個(gè)整數(shù)中的較大者在主函數(shù)中調(diào)用此函數(shù)并輸出結(jié)果第26頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}主函數(shù)max函數(shù)第27頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}將x和y中較大者值返回給主函數(shù)第28頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}第29頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}因max函數(shù)的定義在main函數(shù)之后,需聲明第30頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入函數(shù)第31頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入語(yǔ)句第32頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}輸入的數(shù)據(jù)放到a,b中輸入格式a的地址第33頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}調(diào)用max函數(shù)第34頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第35頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}8588第36頁(yè)/共51頁(yè)#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;}intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}實(shí)際參數(shù)形式參數(shù)第37頁(yè)/共51頁(yè)1.4.2C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):1.一個(gè)程序由一個(gè)或多個(gè)源程序文件組成小程序往往只包括一個(gè)源程序文件例1.1,例1.2只有一個(gè)函數(shù)例1.3有兩個(gè)函數(shù)只包括一個(gè)源程序文件第38頁(yè)/共51頁(yè)1.4.2C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):一個(gè)源程序文件中可以包括三個(gè)部分:預(yù)處理指令全局聲明函數(shù)定義#include<stdio.h>等在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明每個(gè)函數(shù)用來(lái)實(shí)現(xiàn)一定的功能第39頁(yè)/共51頁(yè)1.4.2C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):2.函數(shù)是C程序的主要組成部分一個(gè)C程序是由一個(gè)或多個(gè)函數(shù)組成的必須包含一個(gè)main函數(shù)(只能有一個(gè))每個(gè)函數(shù)都用來(lái)實(shí)現(xiàn)一個(gè)或幾個(gè)特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù),也可以是自己編制設(shè)計(jì)的函數(shù)第40頁(yè)/共51頁(yè)1.4.2C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部intmax(intx,inty)函數(shù)的第1行函數(shù)類(lèi)型函數(shù)名參數(shù)類(lèi)型參數(shù)名第41頁(yè)/共51頁(yè)1.4.2C語(yǔ)言程序的結(jié)構(gòu)C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn):3.一個(gè)函數(shù)包括兩個(gè)部分:函數(shù)首部int
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版快遞業(yè)物流運(yùn)送合同標(biāo)準(zhǔn)文本2篇
- 2025版學(xué)校食堂肉類(lèi)食材采購(gòu)及供應(yīng)鏈金融服務(wù)合同3篇
- 2025年度糧食儲(chǔ)備與糧食質(zhì)量安全追溯體系合同4篇
- 2025年藕塘流轉(zhuǎn)經(jīng)營(yíng)權(quán)合同模板
- 二零二五年度沖孔樁機(jī)工安全生產(chǎn)與環(huán)境保護(hù)協(xié)議4篇
- 2025版環(huán)保監(jiān)測(cè)系統(tǒng)軟件銷(xiāo)售合同范本3篇
- 2025年中國(guó)迷你美容套裝行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資戰(zhàn)略規(guī)劃報(bào)告
- 二零二四年度小企業(yè)職工勞動(dòng)合同范本及實(shí)施細(xì)則3篇
- 二零二五版市政建設(shè)項(xiàng)目基坑降水與支護(hù)綜合服務(wù)合同3篇
- 2025年度車(chē)庫(kù)停車(chē)場(chǎng)環(huán)境治理合同4篇
- 2024年醫(yī)銷(xiāo)售藥銷(xiāo)售工作總結(jié)
- GB/T 44888-2024政務(wù)服務(wù)大廳智能化建設(shè)指南
- 2023-2024學(xué)年江西省萍鄉(xiāng)市八年級(jí)(上)期末物理試卷
- 四則混合運(yùn)算100道題四年級(jí)上冊(cè)及答案
- 四川省高職單招電氣技術(shù)類(lèi)《電子基礎(chǔ)》歷年考試真題試題庫(kù)(含答案)
- 2024年江西生物科技職業(yè)學(xué)院?jiǎn)握新殬I(yè)技能測(cè)試題庫(kù)帶解析答案
- 橋本甲狀腺炎-90天治療方案
- (2024年)安全注射培訓(xùn)課件
- 2024版《建設(shè)工程開(kāi)工、停工、復(fù)工安全管理臺(tái)賬表格(流程圖、申請(qǐng)表、報(bào)審表、考核表、通知單等)》模版
- 酒店人防管理制度
- 油田酸化工藝技術(shù)
評(píng)論
0/150
提交評(píng)論