![C語(yǔ)言第1章課件_第1頁(yè)](http://file4.renrendoc.com/view/d1c7444842fd315570fcc4024b26469e/d1c7444842fd315570fcc4024b26469e1.gif)
![C語(yǔ)言第1章課件_第2頁(yè)](http://file4.renrendoc.com/view/d1c7444842fd315570fcc4024b26469e/d1c7444842fd315570fcc4024b26469e2.gif)
![C語(yǔ)言第1章課件_第3頁(yè)](http://file4.renrendoc.com/view/d1c7444842fd315570fcc4024b26469e/d1c7444842fd315570fcc4024b26469e3.gif)
![C語(yǔ)言第1章課件_第4頁(yè)](http://file4.renrendoc.com/view/d1c7444842fd315570fcc4024b26469e/d1c7444842fd315570fcc4024b26469e4.gif)
![C語(yǔ)言第1章課件_第5頁(yè)](http://file4.renrendoc.com/view/d1c7444842fd315570fcc4024b26469e/d1c7444842fd315570fcc4024b26469e5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語(yǔ)言程序設(shè)計(jì)教學(xué)要求掌握程序設(shè)計(jì)語(yǔ)言的基本知識(shí)常用算法初步的程序設(shè)計(jì)能力學(xué)習(xí)方法自主學(xué)習(xí)重視上機(jī)實(shí)踐C語(yǔ)言程序設(shè)計(jì)教學(xué)要求如何盡快學(xué)會(huì)用C語(yǔ)言進(jìn)行程序設(shè)計(jì)了解程序設(shè)計(jì)語(yǔ)言(C語(yǔ)言)模仿、改寫(xiě)、編寫(xiě)通過(guò)不斷的編程實(shí)踐,逐步領(lǐng)會(huì)和掌握程序設(shè)計(jì)的基本思想和方法。如何盡快學(xué)會(huì)用C語(yǔ)言進(jìn)行程序設(shè)計(jì)了解程序設(shè)計(jì)語(yǔ)言(C語(yǔ)言)教材和參考書(shū)C語(yǔ)言程序設(shè)計(jì),何欽銘、顏暉主編,高等教育出版社,2008C語(yǔ)言編程(第3版),[美]Stephen,G.Kochan,張小潘譯,電子工業(yè)出版社,2006C語(yǔ)言教程(第4版),[美]AlKelley,IraPohl,徐波譯,機(jī)械工業(yè)出版社,2007標(biāo)準(zhǔn)C語(yǔ)言基礎(chǔ)教程(第4版),[美]GaryJ.Bronson,單先余等譯,電子工業(yè)出版社,2006C程序設(shè)計(jì)語(yǔ)言,[美]BrianW.Kernighan,DennisM.Ritchie,徐寶文等譯,機(jī)械工業(yè)出版社,2006教材和參考書(shū)C語(yǔ)言程序設(shè)計(jì),何欽銘、顏暉主編,高等教育出版社第一章引言一個(gè)C語(yǔ)言程序程序與程序設(shè)計(jì)語(yǔ)言C語(yǔ)言的發(fā)展歷史與特點(diǎn)實(shí)現(xiàn)問(wèn)題求解的過(guò)程第一章引言一個(gè)C語(yǔ)言程序本章要點(diǎn)什么是程序?程序設(shè)計(jì)語(yǔ)言包含哪些功能?程序設(shè)計(jì)語(yǔ)言在語(yǔ)法上包含哪些內(nèi)容?結(jié)構(gòu)化程序設(shè)計(jì)有哪些基本的控制結(jié)構(gòu)?C語(yǔ)言有哪些特點(diǎn)?C語(yǔ)言程序的基本框架如何?形成一個(gè)可運(yùn)行的C語(yǔ)言程序需要經(jīng)過(guò)哪些步驟?如何用流程圖描述簡(jiǎn)單的算法?本章要點(diǎn)什么是程序?程序設(shè)計(jì)語(yǔ)言包含哪些功能?1.1一個(gè)C語(yǔ)言程序例1-1求階乘問(wèn)題。輸入一個(gè)正整數(shù)n,輸出n!。#include<stdio.h>/*編譯預(yù)處理命令*/intmain(void)/*主函數(shù)*/{
intn; /*變量定義*/
intfactorial(intn);/*函數(shù)聲明*/
scanf("%d",&n);/*輸入一個(gè)整數(shù)*/
printf("%d\n",factorial(n));/*調(diào)用函數(shù)計(jì)算階乘*/
return0;}
intfactorial(intn) /*定義計(jì)算n!的函數(shù)*/{
inti,fact=1;
for(i=1;i<=n;i++)/*循環(huán)*/
fact=fact*i;returnfact;}輸入4輸出24C程序由函數(shù)組成有且只有一個(gè)主函數(shù)main
1.1一個(gè)C語(yǔ)言程序例1-1求階乘問(wèn)題。輸入一個(gè)正整數(shù)nC程序概貌
用C語(yǔ)言所編寫(xiě)的程序稱為C語(yǔ)言源程序,簡(jiǎn)稱C程序。
C程序一般由一個(gè)或多個(gè)函數(shù)組成,這些函數(shù)既可以集中放在一個(gè)文件中,也可以分散放在幾個(gè)文件中,每個(gè)C語(yǔ)言源程序文件以.CPP作為文件的擴(kuò)展名,以便于在vc環(huán)境中進(jìn)行編譯。C程序概貌用C語(yǔ)言所編寫(xiě)的程序稱為C語(yǔ)言源程程序的結(jié)構(gòu)
C程序由函數(shù)構(gòu)成。一個(gè)函數(shù)由兩個(gè)部分組成:
說(shuō)明部分函數(shù)名、類型、參數(shù)及類型說(shuō)明
函數(shù)體
{……}變量的定義及執(zhí)行部分書(shū)寫(xiě)格式自由:一般用小寫(xiě)字母,語(yǔ)句以分號(hào)結(jié)束,分號(hào)是語(yǔ)句的必要組成部分,一行上可以寫(xiě)幾條語(yǔ)句,一條語(yǔ)句也可以寫(xiě)在幾行上。在VC++中,大、小寫(xiě)字母是有區(qū)別的,相同字母的大小寫(xiě)代表不同的變量。
程序的結(jié)構(gòu)C程序由函數(shù)構(gòu)成。在VC++中,大、小寫(xiě)字母是程序的結(jié)構(gòu)
C程序總是從main函數(shù)開(kāi)始執(zhí)行。每個(gè)程序必須有一個(gè)而且只能有一個(gè)稱作主函數(shù)的main()函數(shù);C語(yǔ)言本身不帶輸入輸出語(yǔ)句,必須通過(guò)調(diào)用庫(kù)函數(shù)來(lái)實(shí)現(xiàn)輸入輸出。以/*……*/之間的內(nèi)容是注釋,不影響程序的執(zhí)行,可增加程序的可讀性。象其它一些語(yǔ)言一樣,變量在使用之前必須先定義其數(shù)據(jù)類型,未經(jīng)定義的變量不能使用,定義變量類型應(yīng)在可執(zhí)行語(yǔ)句前面。程序的結(jié)構(gòu)C程序總是從main函數(shù)開(kāi)始執(zhí)行。每個(gè)程序必須有1.2程序與程序設(shè)計(jì)語(yǔ)言程序人們?yōu)榻鉀Q某種問(wèn)題用計(jì)算機(jī)可以識(shí)別的代碼編排的一系列加工步驟。程序的執(zhí)行過(guò)程實(shí)際上是對(duì)程序所表達(dá)的數(shù)據(jù)進(jìn)行處理的過(guò)程。程序設(shè)計(jì)語(yǔ)言提供了一種表達(dá)數(shù)據(jù)與處理數(shù)據(jù)的功能要求程序員按照語(yǔ)言的規(guī)范編程1.2程序與程序設(shè)計(jì)語(yǔ)言程序程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言非過(guò)程語(yǔ)言面向過(guò)程pascal、Basic、C面向?qū)ο骎C、VB、Java計(jì)算機(jī)硬件系統(tǒng)可以識(shí)別的二進(jìn)制指令組成的語(yǔ)言將機(jī)器指令映射為一些可以被人讀懂的助記符屏蔽了機(jī)器的細(xì)節(jié),提高了語(yǔ)言的抽象層次。解決問(wèn)題的過(guò)程數(shù)學(xué)問(wèn)題程序設(shè)計(jì)語(yǔ)言機(jī)器語(yǔ)言匯編語(yǔ)言高級(jí)語(yǔ)言非過(guò)程語(yǔ)言面向過(guò)程p1.2程序與程序設(shè)計(jì)語(yǔ)言程序與指令程序設(shè)計(jì)語(yǔ)言的功能程序設(shè)計(jì)語(yǔ)言的語(yǔ)法程序的編譯與編程環(huán)境1.2程序與程序設(shè)計(jì)語(yǔ)言程序與指令程序與指令指令:計(jì)算機(jī)最基本的處理數(shù)據(jù)的單元。
單獨(dú)的計(jì)算機(jī)指令本身只能完成計(jì)算機(jī)的一個(gè)最基本的功能,如實(shí)現(xiàn)一次加法運(yùn)算或?qū)崿F(xiàn)一次大小的判別。計(jì)算機(jī)的指令系統(tǒng):計(jì)算機(jī)所能實(shí)現(xiàn)的指令的集合。程序:一系列計(jì)算機(jī)指令的有序組合。程序與指令指令:計(jì)算機(jī)最基本的處理數(shù)據(jù)的單元。程序與指令例1-2編寫(xiě)程序,分別求和與乘積虛擬的計(jì)算機(jī)指令系統(tǒng)(7條指令)指令1:InputX將當(dāng)前輸入數(shù)據(jù)存儲(chǔ)到內(nèi)存的X單元指令2:OutputX將內(nèi)存X單元的數(shù)據(jù)輸出。指令3:AddXYZ將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相加并將結(jié)果存儲(chǔ)到Z單元。指令4:SubXYZ將內(nèi)存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相減并將結(jié)果存儲(chǔ)到Z單元。指令5:BranchEqXYP比較X與Y,若相等則程序跳轉(zhuǎn)到P處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。指令6:JumpP程序跳轉(zhuǎn)到P處執(zhí)行。指令7:SetXY將內(nèi)存Y單元的值設(shè)為X。程序與指令例1-2編寫(xiě)程序,分別求和與乘積程序與指令輸入輸入3個(gè)數(shù)A,B和C,求A+B+C的結(jié)果InputA;輸入第1個(gè)數(shù)據(jù)到存儲(chǔ)單元A中InputB;輸入第2個(gè)數(shù)據(jù)到存儲(chǔ)單元B中InputC;輸入第3個(gè)數(shù)據(jù)到存儲(chǔ)單元C中AddABD;將A、B相加并將結(jié)果存在D中AddCDD;將C、D相加并將結(jié)果存在D中OutputD;輸出D的內(nèi)容程序與指令輸入輸入3個(gè)數(shù)A,B和C,求A+B+C的結(jié)果程序與指令輸入2個(gè)數(shù)A和B,求A*B的結(jié)果1.InputA;輸入第1個(gè)數(shù)據(jù)到存儲(chǔ)單元A中2.InputB;輸入第2個(gè)數(shù)據(jù)到存儲(chǔ)單元B中3.Set0X;將X設(shè)為0,此處X用以統(tǒng)計(jì)A累加的次數(shù)4.Set0Z;將Z設(shè)為0,此處Z用以存放A*B的結(jié)果5.BranchEqXB9;判別X與B是否相等;若相等說(shuō)明A已累加了B次,程序跳轉(zhuǎn)到第9條指令,輸出結(jié)果6.AddZAZ;Z=Z+A7.Add1XX;X=X+18.Jump5;程序跳轉(zhuǎn)到第5條指令,繼續(xù)循環(huán)執(zhí)行第6條、7條指令9.OutputZ;
輸出Z的值,該值等于A*B程序與指令輸入2個(gè)數(shù)A和B,求A*B的結(jié)果程序設(shè)計(jì)語(yǔ)言的功能數(shù)據(jù)表達(dá):表達(dá)所要處理的數(shù)據(jù)流程控制:表達(dá)數(shù)據(jù)處理的流程程序設(shè)計(jì)語(yǔ)言的功能數(shù)據(jù)表達(dá):表達(dá)所要處理的數(shù)據(jù)數(shù)據(jù)表達(dá)數(shù)據(jù)表達(dá):一般將數(shù)據(jù)抽象為若干類型數(shù)據(jù)類型:對(duì)某些具有共同特點(diǎn)的數(shù)據(jù)集合的總稱代表的數(shù)據(jù)(數(shù)據(jù)類型的定義域)在這些數(shù)據(jù)上做些什么(即操作或稱運(yùn)算)例如:整數(shù)類型包含的數(shù)據(jù):{…,-2,-1,0,1,2,…}作用在整數(shù)上的運(yùn)算:+、-、*、/等數(shù)據(jù)表達(dá)數(shù)據(jù)表達(dá):一般將數(shù)據(jù)抽象為若干類型數(shù)據(jù)表達(dá)C語(yǔ)言提供的數(shù)據(jù)類型基本數(shù)據(jù)類型:程序設(shè)計(jì)語(yǔ)言事先定義好,供程序員直接使用,如整型、實(shí)型(浮點(diǎn)型)、字符型等。構(gòu)造類型:由程序員構(gòu)造,如數(shù)組、結(jié)構(gòu)、文件、指針等。各種數(shù)據(jù)類型的常量與變量形式常量(常數(shù))與變量
數(shù)據(jù)表達(dá)C語(yǔ)言提供的數(shù)據(jù)類型流程控制結(jié)構(gòu)化程序設(shè)計(jì)方法將復(fù)雜程序劃分為若干個(gè)相互獨(dú)立的模塊模塊:一條語(yǔ)句(Statement)、一段程序或一個(gè)函數(shù)(子程序)等單入口、單出口流程控制結(jié)構(gòu)化程序設(shè)計(jì)方法流程控制任何程序都可以將模塊通過(guò)3種基本的控制結(jié)構(gòu)進(jìn)行組合來(lái)實(shí)現(xiàn)順序結(jié)構(gòu)循環(huán)結(jié)構(gòu)分支結(jié)構(gòu)流程控制任何程序都可以將模塊通過(guò)3種基本的控制結(jié)構(gòu)進(jìn)行組合程序的編譯與編程環(huán)境操作系統(tǒng)、編輯程序、編譯程序、連接程序編輯編譯連接運(yùn)行.c.exe.obj有錯(cuò)編輯程序編譯程序連接程序源程序目標(biāo)程序可執(zhí)行程序結(jié)果程序的編譯與編程環(huán)境操作系統(tǒng)、編輯程序、編譯程序、連接程序C語(yǔ)言上機(jī)過(guò)程源程序
test.cpptest.obj
可執(zhí)行代碼
test.exe編譯連接運(yùn)行C語(yǔ)言上機(jī)過(guò)程編譯連接運(yùn)行1.3C語(yǔ)言的發(fā)展歷史與特點(diǎn)歷史1972年:貝爾實(shí)驗(yàn)室的DennisRitchie在B語(yǔ)言的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了C語(yǔ)言。1978年:B.W.Kernighan和D.Ritchie(簡(jiǎn)稱K&R)合著的《TheCProgrammingLanguage》是各種C語(yǔ)言版本的基礎(chǔ),稱之為舊標(biāo)準(zhǔn)C語(yǔ)言。1983年:美國(guó)國(guó)家標(biāo)準(zhǔn)化協(xié)會(huì)(ANSI)制定了新的C語(yǔ)言標(biāo)準(zhǔn),稱ANSIC。1.3C語(yǔ)言的發(fā)展歷史與特點(diǎn)歷史1.4實(shí)現(xiàn)問(wèn)題求解的過(guò)程問(wèn)題:求1~100間所有偶數(shù)的和。1.問(wèn)題分析與算法設(shè)計(jì)求在一定范圍內(nèi)(1~100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,求累加和。思路:設(shè)置一個(gè)變量(sum),其初值為0,然后在1~100的數(shù)中(i)尋找偶數(shù),將它們一個(gè)一個(gè)累加到sum中。一步累加:sum=sum+i;重復(fù)累加,用循環(huán)語(yǔ)句實(shí)現(xiàn),在循環(huán)過(guò)程中:(1)判別i是不是偶數(shù):用分支控制語(yǔ)句來(lái)實(shí)現(xiàn)。(2)對(duì)循環(huán)次數(shù)進(jìn)行控制:通過(guò)i值的變化1.4實(shí)現(xiàn)問(wèn)題求解的過(guò)程問(wèn)題:求1~100間所有偶數(shù)問(wèn)題分析與算法設(shè)計(jì)思路——》確定算法算法:一組明確的解決問(wèn)題的步驟,它產(chǎn)生結(jié)果并可在有限的時(shí)間內(nèi)終止。算法的描述:自然語(yǔ)言偽代碼流程圖:算法的圖形表示法問(wèn)題分析與算法設(shè)計(jì)思路——》確定算法sum=0i=1i<=100i是偶數(shù)?sum=sum+ii=i+1輸出sum真真假假sum=0i<=100i是偶數(shù)?sum=sum+i實(shí)現(xiàn)問(wèn)題求解的過(guò)程2.編輯程序生成程序的源文件,C語(yǔ)言源文件的后綴為.c/.cpp#include<stdio.h>intmain(void){ inti,sum=0;
for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;printf("%d",sum);return0;}
實(shí)現(xiàn)問(wèn)題求解的過(guò)程2.編輯程序?qū)崿F(xiàn)問(wèn)題求解的過(guò)程3.程序編譯連接編輯程序后,用該語(yǔ)言的編譯程序?qū)ζ溥M(jìn)行編譯,以生成二進(jìn)制代碼表示的目標(biāo)程序(.obj),
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(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年度建筑安全施工材料質(zhì)量檢測(cè)合同
- 2025年度體育用品批發(fā)采購(gòu)合同體育
- 2025年度生態(tài)毛竹綠色采購(gòu)合同示范文本
- 2025年度專業(yè)賽車隊(duì)雇傭駕駛員及教練團(tuán)隊(duì)合同
- 綿陽(yáng)2025上半年四川綿陽(yáng)安州區(qū)面向區(qū)內(nèi)考調(diào)機(jī)關(guān)事業(yè)單位工作人員30人筆試歷年參考題庫(kù)附帶答案詳解
- 紹興浙江紹興市外服派駐越城機(jī)關(guān)單位景點(diǎn)講解員招聘筆試歷年參考題庫(kù)附帶答案詳解
- 醫(yī)用氧氣項(xiàng)目融資計(jì)劃書(shū)
- 深圳廣東深圳市南山區(qū)教育系統(tǒng)招聘財(cái)務(wù)人員(勞務(wù)派遣)7人筆試歷年參考題庫(kù)附帶答案詳解
- 柳州廣西柳州市第六中學(xué)參加廣西2025屆綜合性高校畢業(yè)生就業(yè)雙選會(huì)招聘教師3人筆試歷年參考題庫(kù)附帶答案詳解
- 杭州浙江杭州市生態(tài)環(huán)境局桐廬分局招聘編外工作人員筆試歷年參考題庫(kù)附帶答案詳解
- 2024版金礦居間合同協(xié)議書(shū)
- 2025內(nèi)蒙古匯能煤化工限公司招聘300人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 小學(xué)英語(yǔ) 國(guó)際音標(biāo) 練習(xí)及答案
- 優(yōu)秀班主任經(jīng)驗(yàn)交流課件-班主任經(jīng)驗(yàn)交流課件
- HP-DL380-Gen10-服務(wù)器用戶手冊(cè)
- 2023年廣州金融控股集團(tuán)有限公司招聘筆試題庫(kù)及答案解析
- YB∕T 105-2014 冶金石灰物理檢驗(yàn)方法
- 血液科品管圈匯報(bào)-PPT課件
- 騙提個(gè)人住房公積金檢討書(shū)
- 管道保溫及面積計(jì)算公式
- 江西省日照小時(shí)數(shù)
評(píng)論
0/150
提交評(píng)論