《C語言程序設計(第2版)》第01章引言_第1頁
《C語言程序設計(第2版)》第01章引言_第2頁
《C語言程序設計(第2版)》第01章引言_第3頁
《C語言程序設計(第2版)》第01章引言_第4頁
《C語言程序設計(第2版)》第01章引言_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C語言程序設計課程簡介課程名稱:C語言程序設計學分3.5,周學時3-1總學時48(講授)+16(課內實驗)+32(課外實驗)上課時間/地點(提前5分鐘到)上課:上機:考核方式課程總評分(滿分100分)=到課率及平時表現(xiàn)5%+平時作業(yè)5%+實驗30%+期末卷面60%到課率及平時表現(xiàn)5%:缺課1次扣1分,扣到0分為止平時作業(yè)5%:缺交作業(yè)1次扣1分,扣到0分為止實驗30%:期末上機考試16%+平時測驗14%平時測驗14%:平時上機測驗10%,期中上機考試4%期末卷面60%課程資料課程信息教學大綱課程簡介教學進度表課程文檔課件實驗實驗教材改錯題源程序資源訪問課程網站:上機自測練習系統(tǒng)網址:教學要求與學習方法教學要求掌握程序設計語言的基本知識掌握常用算法具備初步的程序設計能力學習方法自主學習重視上機實踐:第一周開始上機,貫穿始終如何盡快學會用C語言進行程序設計了解程序設計語言(C語言)模仿、改寫、編寫通過不斷的編程實踐,逐步領會和掌握程序設計的基本思想和方法。Chap

1引言1.1一個C語言程序1.2程序與程序設計語言1.3C語言的發(fā)展歷史與特點1.4實現(xiàn)問題求解的過程本章要點什么是程序?程序設計語言包含哪些功能?程序設計語言在語法上包含哪些內容?結構化程序設計有哪些基本的控制結構?C語言有哪些特點?C語言程序的基本框架如何?形成一個可運行的C語言程序需要經過哪些步驟?如何用流程圖描述簡單的算法?1.1一個C語言程序例1-1求階乘問題。輸入一個正整數(shù)n,輸出n!。#include<stdio.h>/*編譯預處理命令*/int

main(void)/*主函數(shù)*/{

intn; /*變量定義*/

int

factorial(intn);/*函數(shù)聲明*/

scanf("%d",&n);/*輸入一個整數(shù)*/

printf(“%d\n”,factorial(n));/*調用函數(shù)計算階乘*/

return0;}

int

factorial(intn) /*定義計算n!的函數(shù)*/{

inti,fact=1;

for(i=1;i<=n;i++)/*循環(huán)*/

fact=fact*i;returnfact;}輸入4輸出24C程序由函數(shù)組成有且只有一個主函數(shù)main()

1.2程序與程序設計語言程序人們?yōu)榻鉀Q某種問題用計算機可以識別的代碼編排的一系列加工步驟。程序的執(zhí)行過程實際上是對程序所表達的數(shù)據(jù)進行處理的過程。程序設計語言提供了一種表達數(shù)據(jù)與處理數(shù)據(jù)的功能要求程序員按照語言的規(guī)范編程1.2程序與程序設計語言1.2.1程序與指令1.2.2程序設計語言的功能1.2.3程序設計語言的語法1.2.4程序的編譯與編程環(huán)境1.2.1程序與指令指令:計算機的一個最基本的功能如實現(xiàn)一次加法運算或實現(xiàn)一次大小的判別計算機的指令系統(tǒng):計算機所能實現(xiàn)的指令的集合程序:一系列計算機指令的有序組合程序與指令例1-2編寫程序,分別求和與乘積虛擬的計算機指令系統(tǒng)(7條指令)指令1:InputX將當前輸入數(shù)據(jù)存儲到內存的X單元指令2:OutputX將內存X單元的數(shù)據(jù)輸出。指令3:AddXYZ將內存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相加并將結果存儲到Z單元。指令4:SubXYZ將內存X單元的數(shù)據(jù)與Y單元的數(shù)據(jù)相減并將結果存儲到Z單元。指令5:BranchEqXYP比較X與Y,若相等則程序跳轉到P處執(zhí)行,否則繼續(xù)執(zhí)行下一條指令。指令6:JumpP程序跳轉到P處執(zhí)行。指令7:SetXY將內存Y單元的值設為X。程序與指令輸入3個數(shù)A,B和C,求A+B+C的結果InputA;輸入第1個數(shù)據(jù)到存儲單元A中InputB;InputC;AddABD;將A、B相加并將結果存在D中AddCDD;將C、D相加并將結果存在D中OutputD;輸出D的內容程序與指令輸入A,求A+A+A的結果解1:InputA;AddAAD;AddADD;OutputD;解2:InputA;Set0Z;AddZAZ;AddZAZ;AddZAZ;OutputZ;程序與指令輸入2個數(shù)A和B,求A*BA*B=A+A+……+A(B個A相加)1.InputA;2.InputB;3.Set0X;4.Set0Z;5.BranchEqXB9;6.AddZAZ;7.Add1XX;8.Jump5;9.OutputZ;分別輸入兩個數(shù)到A、B兩個變量設X=0,Z=0當X不等于B時,重復做以下操作:

Z=Z+A;

X=X+1;輸出Z1.2.2程序設計語言的功能數(shù)據(jù)表達:表達所要處理的數(shù)據(jù)流程控制:表達數(shù)據(jù)處理的流程數(shù)據(jù)表達數(shù)據(jù)表達:一般將數(shù)據(jù)抽象為若干類型數(shù)據(jù)類型:對某些具有共同特點的數(shù)據(jù)集合的總稱代表的數(shù)據(jù)(數(shù)據(jù)類型的定義域)在這些數(shù)據(jù)上做些什么(即操作或稱運算)例如:整數(shù)類型包含的數(shù)據(jù):{…,-2,-1,0,1,2,…}作用在整數(shù)上的運算:+、-、*、/等數(shù)據(jù)表達C語言提供的數(shù)據(jù)類型基本數(shù)據(jù)類型:程序設計語言事先定義好,供程序員直接使用,如整型、實型(浮點型)、字符型等。構造類型:由程序員構造,如數(shù)組、結構、文件、指針等。各種數(shù)據(jù)類型的常量與變量形式常量(常數(shù))與變量

流程控制結構化程序設計方法將復雜程序劃分為若干個相互獨立的模塊模塊:一條語句(Statement)、一段程序或一個函數(shù)(子程序)等單入口、單出口流程控制任何程序都可以將模塊通過3種基本的控制結構進行組合來實現(xiàn)順序結構循環(huán)結構分支結構流程控制語句級控制:3種基本的控制結構順序控制結構:自然順序執(zhí)行分支控制結構(選擇結構):根據(jù)不同的條件來選擇所要執(zhí)行的模塊循環(huán)控制結構:重復執(zhí)行某個模塊單位級控制:函數(shù)的定義與調用處理復雜問題時,將程序分為若干個相對獨立的子程序(函數(shù))1.2.3程序設計語言的語法用程序設計語言所寫的程序必須符合相應語言的語法源程序(源代碼)是一個字符序列,這些字符序列按順序組成了一系列“單詞”,“單詞”的組合就形成了語言有意義的語法單位,一些簡單語法單位的組合又形成了更復雜的語法單位,最后一系列語法單位組合成程序。程序設計語言的語法C語言的主要“單詞”(1)標識符:C語言的標識符規(guī)定由字母、數(shù)字以及下劃線組成,且第一個字符必須是字母或下劃線。(2)保留字(關鍵字):它們是C語言規(guī)定的、賦予它們以特定含義、有專門用途的標識符。(3)自定義標識符:包括在程序中定義的變量名、數(shù)據(jù)類型名、函數(shù)名以及符號常量名。有意義的英文單詞(4)常量:常量是有數(shù)據(jù)類型的,如,123、12.34(5)運算符。代表對各種數(shù)據(jù)類型實際數(shù)據(jù)對象的運算。如,+(加)、-(減)、*(乘)、/(除)、%(求余)、>(大于)程序設計語言的語法C語言的主要語法單位(1)表達式:運算符與運算對象組合就形成了表達式。如,2+3*4(2)變量定義:變量也有數(shù)據(jù)類型,所以在定義變量時要說明相應變量的類型。如:inti;(3)語句:語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實現(xiàn)的。(4)函數(shù)定義與調用1.2.4程序的編譯與編程環(huán)境程序的編譯編譯器程序----------->計算機直接能理解的指令序列編譯器:對源程序進行詞法分析、語法與語義分析,生成可執(zhí)行的代碼。直接指出程序中的語法錯誤編程環(huán)境包括編輯程序(Edit)、編譯(Compile)、調試(Debug)等過程。

掌握程序設計語言:根據(jù)語言的語法,用語言表達數(shù)據(jù)、實現(xiàn)程序的控制,并會使用編程環(huán)境。C語言上機過程源程序

test.cpp

test.obj

可執(zhí)行代碼

test.exe編譯連接運行1.3C語言的發(fā)展歷史與特點歷史1972年:貝爾實驗室的DennisRitchie在B語言的基礎上設計并實現(xiàn)了C語言。1978年:B.W.Kernighan和D.Ritchie(簡稱K&R)合著的《TheCProgrammingLanguage》是各種C語言版本的基礎,稱之為舊標準C語言。1983年:美國國家標準化協(xié)會(ANSI)制定了新的C語言標準,稱ANSIC。C語言的特點1.C語言是一種結構化語言2.C語言語句簡潔、緊湊,使用方便、靈活32個關鍵字,9種控制語句,程序書寫形式自由。3.C語言程序易于移植C語言將與硬件有關的因素從語言主體中分離出來,通過庫函數(shù)或其他實用程序實現(xiàn)它們。4.C語言有強大的處理能力5.生成的目標代碼質量高,運行效率高6.數(shù)據(jù)類型檢查不嚴格,表達式出現(xiàn)二義性,不具備數(shù)據(jù)越界自動檢查功能,運算符的優(yōu)先級與結合性對初學者難于掌握。C語言中大小寫字母代表不同含義1.4實現(xiàn)問題求解的過程問題:求1~100間所有偶數(shù)的和。1.問題分析與算法設計求在一定范圍內(1~100)、滿足一定條件(偶數(shù))的若干整數(shù)的和,求累加和。思路:設置一個變量(sum),其初值為0,然后在1~100的數(shù)中(i)尋找偶數(shù),將它們一個一個累加到sum中。一步累加:sum=sum+i;重復累加,用循環(huán)語句實現(xiàn),在循環(huán)過程中:(1)判別i是不是偶數(shù):用分支控制語句來實現(xiàn)。(2)對循環(huán)次數(shù)進行控制:通過i值的變化問題分析與算法設計思路確定算法算法:一組明確的解決問題的步驟,它產生結果并可在有限的時間內終止。算法的描述:自然語言偽代碼流程圖:算法的圖形表示法sum=0i=1i<=100i是偶數(shù)?sum=sum+ii=i+1輸出sum真真假假編輯程序2.編輯程序生成程序的源文件,C語言源文件的后綴為.c/.cpp#include<stdio.h>int

main(void){

inti,sum=0;

for(i=1;i<=100;i++)if(i%2==0)sum=sum+i;

printf("%d",sum);return0;}

程序編譯連接3.程序編譯連接編輯程序后,用該語言的編譯程序對其進行編譯,以生成二進制代碼表示的目標程序(.obj),與編程環(huán)境提供的庫函數(shù)進行連接(Link)形成可執(zhí)行的程

溫馨提示

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

評論

0/150

提交評論