




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
廈門理工學(xué)院高級語言程序設(shè)計教學(xué)課件
第1章C語言程序設(shè)計概述廈門理工學(xué)院計算機(jī)科學(xué)與技術(shù)系
2/6/2023教師:莊蔚蔚E-Mail:
zhuangweiwei@
學(xué)習(xí)要求及成績構(gòu)成成績構(gòu)成平時考勤:10%
實驗成績:20%
上機(jī)考試:35%(期中10%、期末25%
)期末考試:35%2教材、參考書與課時安排教材C語言程序設(shè)計
吳蕓、翁偉廈門大學(xué)出版社參考C程序設(shè)計譚浩強(qiáng)清華大學(xué)出版社3什么是程序
程序一詞來自生活,通常指完成某些事務(wù)的一種既定方式和過程在日常生活中,可以將程序看成對一系列動作的執(zhí)行過程的描述前言4引入:智力題
100個硬幣,其中99個真硬幣,1個假硬幣。真幣和假幣不一樣重,如何使用天平判斷出真幣重還是假幣重?5引入:智力題Setp1.
100枚硬幣分A,B兩堆,各50枚一堆。Setp2.
將A,B兩堆放天平上稱第一次,設(shè)結(jié)果是A堆重,B堆輕。Setp3.
將重的A堆分C,D兩堆,各25枚一堆。Setp4.
將C,D兩堆放天平上稱第二次。Setp5.
如果C,D兩堆一樣重,說明假幣不在重的A堆中,而
在輕的B堆中,說明假幣輕。Setp6.
如果C,D兩堆不一樣重,說明假幣在重的A堆中,說
明假幣重。6銀行帶上存折去銀行
3.將存折遞給銀行職員
2.到相應(yīng)窗口排隊4.銀行職員辦理取款事宜
日常生活中的程序5.簽名拿到錢并離開銀行
7什么是指令?做口述筆記……鍵入信函的內(nèi)容……發(fā)送傳真……口述2.信函_____________________________________________________3.傳真指令被逐條執(zhí)行程序員老板秘書程序:為了讓計算機(jī)執(zhí)行某些操作或解決某個問題而編寫的一系列有序指令的集合要執(zhí)行的一組指令程序計算機(jī)中的程序8本章概要1.1程序設(shè)計基礎(chǔ)1.2C語言程序簡介1.3編程環(huán)境及C程序執(zhí)行過程1.4編碼規(guī)范及編程習(xí)慣9程序設(shè)計語言:用于編寫程序,實現(xiàn)人與計算機(jī)“對話”的語言。目前,人們使用的程序設(shè)計語言有上百種,常用的也有幾十種,如BASIC、FORTRAN、PASCAL,以及C語言等。這些語言的表達(dá)形式接近于人的自然語言,都是高級程序設(shè)計語言(簡稱“高級語言”)。1.1程序設(shè)計基礎(chǔ)程序設(shè)計語言按照書寫形式和思維方式的不同,可分為低級語言和高級語言兩大類。低級語言包括機(jī)器語言和匯編語言。機(jī)器語言:以二進(jìn)制代碼的形式來表示這些基本指令集合。它是計算機(jī)系統(tǒng)唯一能夠直接識別和執(zhí)行的程序設(shè)計語言。它的優(yōu)點是運算速度快,每條指令均為由0和1組合起來的代碼串,由操作碼和操作對象兩部分組成。1011100000000001000000000000010100000001000000001.1程序設(shè)計基礎(chǔ)匯編語言:由一組匯編指令構(gòu)成的語言,與機(jī)器語言相比,它可以用指令英文名稱的縮寫字符串來表示其所代表的操作,用標(biāo)號和符號來代表地址、常量和變量。高級語言:高級程序設(shè)計語言(簡稱高級語言)是指用于描述計算機(jī)程序的類自然語言。它是程序設(shè)計發(fā)展的產(chǎn)物,它屏蔽了機(jī)器的細(xì)節(jié),提高了語言的抽象層次。高級語言采用接近自然語言和數(shù)學(xué)語言的語句,易學(xué)、易用、易維護(hù),并且在一定程度上與機(jī)器無關(guān),給編程帶來了極大的方便。MOVAX,1ADDAX,1#include<stdio.h>main(){ printf("%d\n",1+1);}1.1程序設(shè)計基礎(chǔ)1.1程序設(shè)計基礎(chǔ)程序設(shè)計=數(shù)據(jù)結(jié)構(gòu)+算法算法
算法---解決問題的一種策略。算法的常見表示方法
---自然語言
---傳統(tǒng)流程圖
---N-S流程圖
13算法例1-1用自然語言描述求三個數(shù)中最大數(shù)的算法。輸入三個數(shù)num1、num2、num3之后,先求出三個數(shù)中兩個數(shù)num1和num2的較大數(shù)max2,再把這個較大數(shù)max2與第三個數(shù)num3比較,求出最大數(shù)max3。
14流程圖2例1-2用傳統(tǒng)流程圖描述求三個數(shù)中最大數(shù)的算法。
Start/EndSymbolSemanticProcessInput/OutputTestConnectorFlowofactivities15N-S流程圖例1-3用N-S流程圖描述求三個數(shù)中最大數(shù)的算法,如圖1-4所示。16本章概要1.1
程序設(shè)計基礎(chǔ)1.2C語言程序簡介1.3編程環(huán)境及C程序執(zhí)行過程1.4編碼規(guī)范及編程習(xí)慣171.2C語言程序簡介1C語言的產(chǎn)生和發(fā)展一切從一個叫“SpaceTravel”的電子游戲開始……為了讓他的游戲能在PDP-7上運行,KenThompson用匯編語言給PDP-7寫了一個操作系統(tǒng)——UNIX匯編太不好用了,Thompson需要高級語言試驗了一些高級語言,包括Fortran,都不理想他在BCPL基礎(chǔ)上,自己設(shè)計了一個B語言UNIX開始發(fā)展,B也不夠用了DennisRitchie加入,把B改造成C開始用C重寫UNIX1.2C語言程序簡介
隨著面向?qū)ο缶幊碳夹g(shù)的出現(xiàn),在進(jìn)一步擴(kuò)充和完善了C語言基礎(chǔ)上,又出現(xiàn)了C++。Java,C++等面向?qū)ο笳Z言(第四代語言)是C語言的發(fā)展。但是,C是C++的基礎(chǔ),C++語言和C語言在很多方面是兼容的。在掌握了C語言后,再進(jìn)一步學(xué)習(xí)C++,就能以一種熟悉的語法來學(xué)習(xí)面向?qū)ο蟮恼Z言,可達(dá)到事半功倍的目的。1.2C語言程序簡介是一種高級語言高級語言并不是“高級”,只是相對低級語言,在一個高的級別上進(jìn)行編程歷史悠久,戰(zhàn)勛卓著誕生于上世紀(jì)70年代初,成熟于80年代(C89),修訂與90年代(C99)很多重量級軟件都是用C寫的上天入地,無所不能幾乎沒有不能用C寫出來的軟件,沒有不支持C的系統(tǒng)很多流行語言、新生語言都借鑒了它的思想、語法從C++,到Java,再到C#,還有php等1.2C語言程序簡介C程序的基本結(jié)構(gòu)#include<stdio.h>voidmain(){printf("HelloWorld\n");}以#開始的語句稱為預(yù)處理器指令#include語句不是必需的,但是,如果程序有該語句,就必須將它放在程序的開始處以.h為后綴的文件被稱為頭文件,可以是C程序中現(xiàn)成的標(biāo)準(zhǔn)庫文件,也可以是自定義的庫文件。stdio.h文件中包含了有關(guān)輸入輸出語句的函數(shù)
main()函數(shù)是C程序處理的起點。
main()函數(shù)可以返回一個值,也可以不返回值。如果某個函數(shù)沒有返回值,那么在它的前面有一個關(guān)鍵字void22C程序的基本結(jié)構(gòu)#include<stdio.h>voidmain(){printf("HelloWorld\n");}在函數(shù)定義的后面有一個左大括號,即{它表示函數(shù)的開始,后面是函數(shù)的主體大括號也可以用于將語句塊括起來在函數(shù)定義的結(jié)尾處有一個右大括號,即}在屏幕上產(chǎn)生一行輸出“Helloworld”,并換行(\n)
函數(shù)主體中的每個語句都以分號結(jié)束。C程序中的一個語句可以跨越多行,并且用分號通知編譯器該語句已結(jié)束。
運行結(jié)果:HelloWorld23C程序中的注釋#include<stdio.h>voidmain(){printf("HelloWorld\n");}//此程序用來打印HelloWorld單行注釋C程序可以包含注釋,以便向讀者作一般說明編譯器并不處理這些注釋/*此程序由×××編寫
用來打印輸出“HelloWorld”*/多行注釋24/**************************作者:創(chuàng)建日期:描述:……***************************/#include<頭文件>voidmain(){……}注釋在程序中添加注釋是一個好的編程習(xí)慣,可以增強(qiáng)程序的可讀性。/*”和“*/”必須成對使用,且“/”和“*”、以及“*”和“/”之間不能有空格,否則都出錯25技巧:為避免遺漏必須配對使用的符號,例如注釋符號、函數(shù)體的起止標(biāo)識符(花括號)、圓括號等等,在輸入時,可連續(xù)成對地輸入這些起止標(biāo)識符,然后再在其中進(jìn)行插入來完成內(nèi)容的編輯。在起止標(biāo)識符嵌套時,以及相距較遠(yuǎn)時,這樣做更有必要。26編制C語言程序的基本步驟
編輯程序代碼的錄入,生成源程序*.c編譯語法分析查錯,翻譯生成目標(biāo)程序*.obj鏈接與其它目標(biāo)程序或庫鏈接裝配,生成可執(zhí)行程序*.exe運行開始編輯編譯有錯?鏈接執(zhí)行結(jié)果正確?結(jié)束源程序file.c目標(biāo)程序file.obj庫函數(shù)和其它目標(biāo)程序可執(zhí)行程序file.exe不正確正確有無調(diào)試C程序的流程編寫C程序的步驟
本章概要1.1程序設(shè)計基礎(chǔ)1.2C語言程序簡介1.3編程環(huán)境及C程序執(zhí)行過程1.4編碼規(guī)范及編程習(xí)慣28本章概要1.1程序設(shè)計基礎(chǔ)1.2C語言程序簡介1.3編程環(huán)境及C程序執(zhí)行過程1.4編碼規(guī)范及編程習(xí)慣29編碼規(guī)范及編程習(xí)慣
(1)一行只放一條語句。(2)養(yǎng)成隨時給程序加注釋的習(xí)慣。(3)程序的書寫要有層次感,該縮進(jìn)的一定要縮進(jìn)。(4)編寫函數(shù)時,變量定義部分和函數(shù)的執(zhí)行部分之間增加一空行,或者在程序的執(zhí)行部分按照完成的功能塊增加相應(yīng)的空行,會增加程序的易讀性。(5)為變量起有意義的名字,既可以幫助程序員讀懂程序,也可以避免變量的重復(fù)亂用,導(dǎo)致程序的邏輯錯誤。
(6)在運算符和賦值符的兩邊加上一個空格會增加程序的易讀性。(7)以模塊化方式考慮程序結(jié)構(gòu),以函數(shù)形式書寫較復(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);}沒有層次感層次清晰學(xué)好C能做什么?系統(tǒng)軟件:操作系統(tǒng);應(yīng)用軟件:圖像圖形處理,數(shù)據(jù)庫,嵌入式控制,參數(shù)采集,統(tǒng)計分析;適用平臺:Windows,Linux,Unix,…適用專業(yè):計算機(jī)、通信、控制、自動化、材料、生物工程、應(yīng)用數(shù)學(xué)、信息與計算科學(xué),信息管理….
…..----“學(xué)好數(shù)理化,走遍天下!”----“學(xué)好C語言,走遍天
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 臨床診斷學(xué)模擬試題及答案
- 鋼鐵材料采購預(yù)付款合同
- 畢業(yè)生就業(yè)跟蹤與職業(yè)發(fā)展支持協(xié)議
- 壓實安全生產(chǎn)各方責(zé)任
- 班前安全培訓(xùn)內(nèi)容
- 餐飲安全生產(chǎn)責(zé)任制度表
- 安全生產(chǎn)月活動報道稿件
- 新時代鄉(xiāng)村教師發(fā)展的內(nèi)涵與路徑探討
- 2025至2030水龍頭凈水器市場前景分析及行業(yè)項目調(diào)研及市場前景預(yù)測評估報告
- 2025-2030中國啤酒玻璃器皿行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 探索玻璃瓶身藝術(shù)噴漆裝飾的美學(xué)價值
- 南電一水庫防洪搶險應(yīng)急預(yù)案
- 2023年中國收藏卡市場研究報告-2023
- 檔案掃描保密管理制度
- 初中數(shù)學(xué)中心對稱圖形訓(xùn)練50題(含參考答案)
- 2024版網(wǎng)絡(luò)安全攻防演練與實踐分享培訓(xùn)課件
- 大中小學(xué)思政課內(nèi)容一體化研究
- 美國FDA-21CFR820法規(guī)培訓(xùn)
- 報名統(tǒng)計表格
- 特許經(jīng)營管理手冊范本(餐飲)
- DB34-T 4180-2022 農(nóng)村公益性公墓建設(shè)規(guī)范
評論
0/150
提交評論