版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
廈門(mén)理工學(xué)院高級(jí)語(yǔ)言程序設(shè)計(jì)教學(xué)課件
第1章C語(yǔ)言程序設(shè)計(jì)概述廈門(mén)理工學(xué)院計(jì)算機(jī)科學(xué)與技術(shù)系
2/6/2023教師:莊蔚蔚E-Mail:
zhuangweiwei@
學(xué)習(xí)要求及成績(jī)構(gòu)成成績(jī)構(gòu)成平時(shí)考勤:10%
實(shí)驗(yàn)成績(jī):20%
上機(jī)考試:35%(期中10%、期末25%
)期末考試:35%2教材、參考書(shū)與課時(shí)安排教材C語(yǔ)言程序設(shè)計(jì)
吳蕓、翁偉廈門(mén)大學(xué)出版社參考C程序設(shè)計(jì)譚浩強(qiáng)清華大學(xué)出版社3什么是程序
程序一詞來(lái)自生活,通常指完成某些事務(wù)的一種既定方式和過(guò)程在日常生活中,可以將程序看成對(duì)一系列動(dòng)作的執(zhí)行過(guò)程的描述前言4引入:智力題
100個(gè)硬幣,其中99個(gè)真硬幣,1個(gè)假硬幣。真幣和假幣不一樣重,如何使用天平判斷出真幣重還是假幣重?5引入:智力題Setp1.
100枚硬幣分A,B兩堆,各50枚一堆。Setp2.
將A,B兩堆放天平上稱(chēng)第一次,設(shè)結(jié)果是A堆重,B堆輕。Setp3.
將重的A堆分C,D兩堆,各25枚一堆。Setp4.
將C,D兩堆放天平上稱(chēng)第二次。Setp5.
如果C,D兩堆一樣重,說(shuō)明假幣不在重的A堆中,而
在輕的B堆中,說(shuō)明假幣輕。Setp6.
如果C,D兩堆不一樣重,說(shuō)明假幣在重的A堆中,說(shuō)
明假幣重。6銀行帶上存折去銀行
3.將存折遞給銀行職員
2.到相應(yīng)窗口排隊(duì)4.銀行職員辦理取款事宜
日常生活中的程序5.簽名拿到錢(qián)并離開(kāi)銀行
7什么是指令?做口述筆記……鍵入信函的內(nèi)容……發(fā)送傳真……口述2.信函_____________________________________________________3.傳真指令被逐條執(zhí)行程序員老板秘書(shū)程序:為了讓計(jì)算機(jī)執(zhí)行某些操作或解決某個(gè)問(wèn)題而編寫(xiě)的一系列有序指令的集合要執(zhí)行的一組指令程序計(jì)算機(jī)中的程序8本章概要1.1程序設(shè)計(jì)基礎(chǔ)1.2C語(yǔ)言程序簡(jiǎn)介1.3編程環(huán)境及C程序執(zhí)行過(guò)程1.4編碼規(guī)范及編程習(xí)慣9程序設(shè)計(jì)語(yǔ)言:用于編寫(xiě)程序,實(shí)現(xiàn)人與計(jì)算機(jī)“對(duì)話”的語(yǔ)言。目前,人們使用的程序設(shè)計(jì)語(yǔ)言有上百種,常用的也有幾十種,如BASIC、FORTRAN、PASCAL,以及C語(yǔ)言等。這些語(yǔ)言的表達(dá)形式接近于人的自然語(yǔ)言,都是高級(jí)程序設(shè)計(jì)語(yǔ)言(簡(jiǎn)稱(chēng)“高級(jí)語(yǔ)言”)。1.1程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)語(yǔ)言按照書(shū)寫(xiě)形式和思維方式的不同,可分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言?xún)纱箢?lèi)。低級(jí)語(yǔ)言包括機(jī)器語(yǔ)言和匯編語(yǔ)言。機(jī)器語(yǔ)言:以二進(jìn)制代碼的形式來(lái)表示這些基本指令集合。它是計(jì)算機(jī)系統(tǒng)唯一能夠直接識(shí)別和執(zhí)行的程序設(shè)計(jì)語(yǔ)言。它的優(yōu)點(diǎn)是運(yùn)算速度快,每條指令均為由0和1組合起來(lái)的代碼串,由操作碼和操作對(duì)象兩部分組成。1011100000000001000000000000010100000001000000001.1程序設(shè)計(jì)基礎(chǔ)匯編語(yǔ)言:由一組匯編指令構(gòu)成的語(yǔ)言,與機(jī)器語(yǔ)言相比,它可以用指令英文名稱(chēng)的縮寫(xiě)字符串來(lái)表示其所代表的操作,用標(biāo)號(hào)和符號(hào)來(lái)代表地址、常量和變量。高級(jí)語(yǔ)言:高級(jí)程序設(shè)計(jì)語(yǔ)言(簡(jiǎn)稱(chēng)高級(jí)語(yǔ)言)是指用于描述計(jì)算機(jī)程序的類(lèi)自然語(yǔ)言。它是程序設(shè)計(jì)發(fā)展的產(chǎn)物,它屏蔽了機(jī)器的細(xì)節(jié),提高了語(yǔ)言的抽象層次。高級(jí)語(yǔ)言采用接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的語(yǔ)句,易學(xué)、易用、易維護(hù),并且在一定程度上與機(jī)器無(wú)關(guān),給編程帶來(lái)了極大的方便。MOVAX,1ADDAX,1#include<stdio.h>main(){ printf("%d\n",1+1);}1.1程序設(shè)計(jì)基礎(chǔ)1.1程序設(shè)計(jì)基礎(chǔ)程序設(shè)計(jì)=數(shù)據(jù)結(jié)構(gòu)+算法算法
算法---解決問(wèn)題的一種策略。算法的常見(jiàn)表示方法
---自然語(yǔ)言
---傳統(tǒng)流程圖
---N-S流程圖
13算法例1-1用自然語(yǔ)言描述求三個(gè)數(shù)中最大數(shù)的算法。輸入三個(gè)數(shù)num1、num2、num3之后,先求出三個(gè)數(shù)中兩個(gè)數(shù)num1和num2的較大數(shù)max2,再把這個(gè)較大數(shù)max2與第三個(gè)數(shù)num3比較,求出最大數(shù)max3。
14流程圖2例1-2用傳統(tǒng)流程圖描述求三個(gè)數(shù)中最大數(shù)的算法。
Start/EndSymbolSemanticProcessInput/OutputTestConnectorFlowofactivities15N-S流程圖例1-3用N-S流程圖描述求三個(gè)數(shù)中最大數(shù)的算法,如圖1-4所示。16本章概要1.1
程序設(shè)計(jì)基礎(chǔ)1.2C語(yǔ)言程序簡(jiǎn)介1.3編程環(huán)境及C程序執(zhí)行過(guò)程1.4編碼規(guī)范及編程習(xí)慣171.2C語(yǔ)言程序簡(jiǎn)介1C語(yǔ)言的產(chǎn)生和發(fā)展一切從一個(gè)叫“SpaceTravel”的電子游戲開(kāi)始……為了讓他的游戲能在PDP-7上運(yùn)行,KenThompson用匯編語(yǔ)言給PDP-7寫(xiě)了一個(gè)操作系統(tǒng)——UNIX匯編太不好用了,Thompson需要高級(jí)語(yǔ)言試驗(yàn)了一些高級(jí)語(yǔ)言,包括Fortran,都不理想他在BCPL基礎(chǔ)上,自己設(shè)計(jì)了一個(gè)B語(yǔ)言UNIX開(kāi)始發(fā)展,B也不夠用了DennisRitchie加入,把B改造成C開(kāi)始用C重寫(xiě)UNIX1.2C語(yǔ)言程序簡(jiǎn)介
隨著面向?qū)ο缶幊碳夹g(shù)的出現(xiàn),在進(jìn)一步擴(kuò)充和完善了C語(yǔ)言基礎(chǔ)上,又出現(xiàn)了C++。Java,C++等面向?qū)ο笳Z(yǔ)言(第四代語(yǔ)言)是C語(yǔ)言的發(fā)展。但是,C是C++的基礎(chǔ),C++語(yǔ)言和C語(yǔ)言在很多方面是兼容的。在掌握了C語(yǔ)言后,再進(jìn)一步學(xué)習(xí)C++,就能以一種熟悉的語(yǔ)法來(lái)學(xué)習(xí)面向?qū)ο蟮恼Z(yǔ)言,可達(dá)到事半功倍的目的。1.2C語(yǔ)言程序簡(jiǎn)介是一種高級(jí)語(yǔ)言高級(jí)語(yǔ)言并不是“高級(jí)”,只是相對(duì)低級(jí)語(yǔ)言,在一個(gè)高的級(jí)別上進(jìn)行編程歷史悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代(C89),修訂與90年代(C99)很多重量級(jí)軟件都是用C寫(xiě)的上天入地,無(wú)所不能幾乎沒(méi)有不能用C寫(xiě)出來(lái)的軟件,沒(méi)有不支持C的系統(tǒng)很多流行語(yǔ)言、新生語(yǔ)言都借鑒了它的思想、語(yǔ)法從C++,到Java,再到C#,還有php等1.2C語(yǔ)言程序簡(jiǎn)介C程序的基本結(jié)構(gòu)#include<stdio.h>voidmain(){printf("HelloWorld\n");}以#開(kāi)始的語(yǔ)句稱(chēng)為預(yù)處理器指令#include語(yǔ)句不是必需的,但是,如果程序有該語(yǔ)句,就必須將它放在程序的開(kāi)始處以.h為后綴的文件被稱(chēng)為頭文件,可以是C程序中現(xiàn)成的標(biāo)準(zhǔn)庫(kù)文件,也可以是自定義的庫(kù)文件。stdio.h文件中包含了有關(guān)輸入輸出語(yǔ)句的函數(shù)
main()函數(shù)是C程序處理的起點(diǎn)。
main()函數(shù)可以返回一個(gè)值,也可以不返回值。如果某個(gè)函數(shù)沒(méi)有返回值,那么在它的前面有一個(gè)關(guān)鍵字void22C程序的基本結(jié)構(gòu)#include<stdio.h>voidmain(){printf("HelloWorld\n");}在函數(shù)定義的后面有一個(gè)左大括號(hào),即{它表示函數(shù)的開(kāi)始,后面是函數(shù)的主體大括號(hào)也可以用于將語(yǔ)句塊括起來(lái)在函數(shù)定義的結(jié)尾處有一個(gè)右大括號(hào),即}在屏幕上產(chǎn)生一行輸出“Helloworld”,并換行(\n)
函數(shù)主體中的每個(gè)語(yǔ)句都以分號(hào)結(jié)束。C程序中的一個(gè)語(yǔ)句可以跨越多行,并且用分號(hào)通知編譯器該語(yǔ)句已結(jié)束。
運(yùn)行結(jié)果:HelloWorld23C程序中的注釋#include<stdio.h>voidmain(){printf("HelloWorld\n");}//此程序用來(lái)打印HelloWorld單行注釋C程序可以包含注釋?zhuān)员阆蜃x者作一般說(shuō)明編譯器并不處理這些注釋/*此程序由×××編寫(xiě)
用來(lái)打印輸出“HelloWorld”*/多行注釋24/**************************作者:創(chuàng)建日期:描述:……***************************/#include<頭文件>voidmain(){……}注釋在程序中添加注釋是一個(gè)好的編程習(xí)慣,可以增強(qiáng)程序的可讀性。/*”和“*/”必須成對(duì)使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯(cuò)25技巧:為避免遺漏必須配對(duì)使用的符號(hào),例如注釋符號(hào)、函數(shù)體的起止標(biāo)識(shí)符(花括號(hào))、圓括號(hào)等等,在輸入時(shí),可連續(xù)成對(duì)地輸入這些起止標(biāo)識(shí)符,然后再在其中進(jìn)行插入來(lái)完成內(nèi)容的編輯。在起止標(biāo)識(shí)符嵌套時(shí),以及相距較遠(yuǎn)時(shí),這樣做更有必要。26編制C語(yǔ)言程序的基本步驟
編輯程序代碼的錄入,生成源程序*.c編譯語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj鏈接與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe運(yùn)行開(kāi)始編輯編譯有錯(cuò)?鏈接執(zhí)行結(jié)果正確?結(jié)束源程序file.c目標(biāo)程序file.obj庫(kù)函數(shù)和其它目標(biāo)程序可執(zhí)行程序file.exe不正確正確有無(wú)調(diào)試C程序的流程編寫(xiě)C程序的步驟
本章概要1.1程序設(shè)計(jì)基礎(chǔ)1.2C語(yǔ)言程序簡(jiǎn)介1.3編程環(huán)境及C程序執(zhí)行過(guò)程1.4編碼規(guī)范及編程習(xí)慣28本章概要1.1程序設(shè)計(jì)基礎(chǔ)1.2C語(yǔ)言程序簡(jiǎn)介1.3編程環(huán)境及C程序執(zhí)行過(guò)程1.4編碼規(guī)范及編程習(xí)慣29編碼規(guī)范及編程習(xí)慣
(1)一行只放一條語(yǔ)句。(2)養(yǎng)成隨時(shí)給程序加注釋的習(xí)慣。(3)程序的書(shū)寫(xiě)要有層次感,該縮進(jìn)的一定要縮進(jìn)。(4)編寫(xiě)函數(shù)時(shí),變量定義部分和函數(shù)的執(zhí)行部分之間增加一空行,或者在程序的執(zhí)行部分按照完成的功能塊增加相應(yīng)的空行,會(huì)增加程序的易讀性。(5)為變量起有意義的名字,既可以幫助程序員讀懂程序,也可以避免變量的重復(fù)亂用,導(dǎo)致程序的邏輯錯(cuò)誤。
(6)在運(yùn)算符和賦值符的兩邊加上一個(gè)空格會(huì)增加程序的易讀性。(7)以模塊化方式考慮程序結(jié)構(gòu),以函數(shù)形式書(shū)寫(xiě)較復(fù)雜的程序。voidmain(){inti,sum;sum=0;for(i=1;i<=100;i++)if(i%2==0)sum+=i;printf("sum=%d",sum);}voidmain(){inti,sum;sum=0;for(i=1;i<=100;i++)if(i%2==0)sum+=i;printf("sum=%d",sum);}沒(méi)有層次感層次清晰學(xué)好C能做什么?系統(tǒng)軟件:操作系統(tǒng);應(yīng)用軟件:圖像圖形處理,數(shù)據(jù)庫(kù),嵌入式控制,參數(shù)采集,統(tǒng)計(jì)分析;適用平臺(tái):Windows,Linux,Unix,…適用專(zhuān)業(yè):計(jì)算機(jī)、通信、控制、自動(dòng)化、材料、生物工程、應(yīng)用數(shù)學(xué)、信息與計(jì)算科學(xué),信息管理….
…..----“學(xué)好數(shù)理化,走遍天下!”----“學(xué)好C語(yǔ)言,走遍天
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 無(wú)窮大填空題目及答案
- 藥品庫(kù)房工作制度
- 養(yǎng)老院老人心理關(guān)愛(ài)制度
- 養(yǎng)老院老人日常生活照料制度
- 養(yǎng)老院緊急救援制度
- 奇哥作文題目及答案
- 辦公室員工培訓(xùn)經(jīng)費(fèi)使用制度
- 鎮(zhèn)安全生產(chǎn)管理制度
- 混合物的物理題目及答案
- 肺脹病中醫(yī)護(hù)理方案
- 安岳縣防汛抗旱應(yīng)急預(yù)案
- 2025年航空工業(yè)行業(yè)航空工業(yè)數(shù)字化轉(zhuǎn)型研究報(bào)告
- 白城市2025年下半年吉林白城洮北區(qū)面向應(yīng)征入伍高校全日制本科畢業(yè)生招聘事業(yè)單位筆試題帶
- 醫(yī)院非暴力溝通課件
- 聽(tīng)覺(jué)生理學(xué)基礎(chǔ)與聽(tīng)力檢查
- 園林綠化養(yǎng)護(hù)標(biāo)準(zhǔn)與作業(yè)流程說(shuō)明
- 收購(gòu)五金輔料店協(xié)議合同
- 噴砂車(chē)間管理辦法
- 梨狀肌綜合癥康復(fù)指導(dǎo)講課件
- 【SA8000標(biāo)準(zhǔn)(社會(huì)責(zé)任標(biāo)準(zhǔn))對(duì)我國(guó)勞動(dòng)密集型產(chǎn)業(yè)的影響及應(yīng)對(duì)措施研究12000字(論文)】
- 醫(yī)療行業(yè)知識(shí)產(chǎn)權(quán)教育的必要性
評(píng)論
0/150
提交評(píng)論