




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、C語(yǔ)言程序設(shè)計(jì)教學(xué)做一體化 模塊一 初識(shí)C語(yǔ)言通過(guò)學(xué)習(xí)C語(yǔ)言,既可以用來(lái)編寫應(yīng)用軟件和系統(tǒng)軟件,又可以培養(yǎng)計(jì)算機(jī)編程基本思想、編程基本技能及邏輯思維能力。1.1 簡(jiǎn)單的C程序 學(xué)習(xí)目標(biāo) 1、了解C語(yǔ)言程序的結(jié)構(gòu)特點(diǎn)2、掌握庫(kù)函數(shù)的調(diào)用方法案例1-1 在計(jì)算機(jī)屏幕上輸出“Hello,my C world!”案例程序main() /*主函數(shù)*/printf(“Hello, my C world!n”) ; /*輸出要顯示的內(nèi)容*/運(yùn)行這個(gè)程序,在屏幕上顯示一行英文:Hello,my C world !由案例開始1、這是一個(gè)最簡(jiǎn)單的C程序,學(xué)習(xí)C語(yǔ)言就由此開始吧!2、C程序是由函數(shù)組成的,函數(shù)就是相
2、對(duì)獨(dú)立的可以完成特定功能的程序段。本程序就是由一個(gè)稱為main的函數(shù)構(gòu)成的。其中main是函數(shù)的名字,函數(shù)名后都要有一對(duì)圓括號(hào),用來(lái)寫函數(shù)參數(shù)的,本程序的main函數(shù)沒有參數(shù)所以不寫,但圓括號(hào)不能省略。3、一個(gè)完整的程序必須有一個(gè)main函數(shù),稱為主函數(shù),程序總是從main函數(shù)開始執(zhí)行的,也就是說(shuō),main函數(shù)是程序的入口。案例分析4、main()后面花括號(hào)內(nèi)的部分稱為函數(shù)體。本程序中的函數(shù)體只由一個(gè)語(yǔ)句組成。一般情況下函數(shù)體由“說(shuō)明部分”和“執(zhí)行部分”組成。說(shuō)明部分的作用是定義數(shù)據(jù)類型;執(zhí)行部分給出操作命令。本實(shí)例只有執(zhí)行部分而沒有說(shuō)明部分。5、C程序的每一條基本語(yǔ)句都以“;”結(jié)束。6、可以
3、用/ * . * / 對(duì)C程序的任何部分作注釋,用來(lái)解釋該條語(yǔ)句或該段程序的含義或作用,只是為了幫助程序閱讀者更好地理解程序中有關(guān)部分內(nèi)容而寫的。7、printf是C的庫(kù)函數(shù)中的一個(gè)函數(shù),它的作用是在顯示屏上輸出指定的內(nèi)容,此例輸出“Hello,my C world!”字符串。printf(“Hello,my C world!n”)括號(hào)中的內(nèi)容就是調(diào)用printf庫(kù)函數(shù)時(shí)的參數(shù),通俗地講就是“通知”printf要顯示的內(nèi)容。參數(shù)中的“n”是C語(yǔ)言中的格式控制符,作用是:在輸出“Hello,my C world!”之后執(zhí)行一個(gè)回車換行操作,如果以后還有輸出的話,將從下一行的左端開始輸出。隨堂練習(xí)
4、編寫一個(gè)C程序,輸出以下信息:*Turboc 2.0*案例1-2 求從鍵盤輸入的任意兩個(gè)整數(shù)相加的和并將結(jié)果顯示出來(lái)。#includemain()int a, b, sum;/*定義三個(gè)整型變量*/printf(“Input one number: ”);/*調(diào)用printf庫(kù)函數(shù)輸出信息在屏幕上*/scanf(“%d”,&a); /*調(diào)用scanf庫(kù)函數(shù)執(zhí)行由鍵盤輸入數(shù)據(jù)并賦值給加數(shù)a*/printf(“Input the other number:”); /*提示信息*/scanf(“%d”,&b);/*由鍵盤輸入數(shù)據(jù)賦值給被加數(shù)b*/sum=a+b;/*求a和b兩數(shù)之和*/printf(
5、“sum=%d n”, sum);/*輸出sum(和)的值在屏幕上*/案例程序程序運(yùn)行結(jié)果如下:Input one number:5 Input the other number:10sum=151、首先應(yīng)該考慮程序中要用到的數(shù)據(jù)的個(gè)數(shù),顯然本例中要用到三個(gè)數(shù),即加數(shù)、被加數(shù)、和,所以先定義三個(gè)變量。語(yǔ)句 int a, b, sum; 的作用就是定義三個(gè)變量,名字分別為a, b, sum, 類型都是整型。int 表示整型,是C語(yǔ)言的關(guān)鍵字(見知識(shí)鏈接)。當(dāng)程序運(yùn)行的時(shí)候,系統(tǒng)將根據(jù)定義在內(nèi)存中為這三個(gè)變量分配存儲(chǔ)單元。輸入的數(shù)就存放在這三個(gè)單元中。可以這樣說(shuō),變量的作用就是用來(lái)保存和標(biāo)識(shí)數(shù)據(jù),
6、訪問(wèn)數(shù)據(jù)就可以通過(guò)變量名來(lái)訪問(wèn)。案例分析sumba存儲(chǔ)單元2、庫(kù)函數(shù)調(diào)用scanf(“%d”,&a); 用來(lái)實(shí)現(xiàn)從鍵盤接收用戶輸入的數(shù)據(jù),并送到變量a所對(duì)應(yīng)的地址單元中。這也意味著,變量a的值就是輸入的值。例如從鍵盤輸入5,那么變量a的值就是5。&表示取地址(也稱為取地址運(yùn)算符),“%d”用來(lái)限制輸入數(shù)據(jù)的格式是整數(shù)。3、sum=a+b;表示將a和b兩個(gè)變量單元中的內(nèi)容相加,并將結(jié)果存放在sum所對(duì)應(yīng)的存儲(chǔ)單元中。4、庫(kù)函數(shù)調(diào)用printf(“sum=%dn”, sum); 用于輸出結(jié)果到屏幕上。注意第一個(gè)“sum”,包括“=”,都表示字符串常量的一部分,應(yīng)該按原樣輸出,即在屏幕上顯示 sum
7、= 。“%d”用來(lái)限制輸出的格式是整型,括號(hào)右端的sum是要輸出的變量名字,執(zhí)行該函數(shù)時(shí),就是把sum變量的值按照整型格式輸出在%d的位置,如圖1-2。所以最后輸出:sum=15。%d稱為格式控制符,也可以稱為占位符。printf(“sum=%dn”, sum); 用sum的值取代%d5、#include語(yǔ)句是編譯預(yù)處理語(yǔ)句,其作用是將有雙引號(hào)或尖括號(hào)括起來(lái)的文件內(nèi)容代替這行#include命令,也就是使該文件的內(nèi)容被整個(gè)地調(diào)到main函數(shù)的前面。“.h”是“頭文件”的后綴,輸入輸出函數(shù)一般需要使用#inlcude語(yǔ)句將包含輸入輸出函數(shù)說(shuō)明信息的頭文件“stdio.h”包含到源文件中。編程由鍵
8、盤輸入長(zhǎng)方形的長(zhǎng)和寬,求長(zhǎng)方形的面積。隨堂練習(xí)求一個(gè)數(shù)的絕對(duì)值并輸出。 案例1-3 #includemain()float num, n;/*定義兩個(gè)實(shí)數(shù)類型的變量*/scanf(“%f ”, &num);/*從鍵盤輸入數(shù)值保存在變量num對(duì)應(yīng)的存儲(chǔ)單元中*/n=abs(num);/*調(diào)用庫(kù)函數(shù)abs求num變量的絕對(duì)值并保存在變量n中*/printf(“%fn”, n);/*輸出所求的絕對(duì)值*/案例程序運(yùn)行程序:-1.51.51、float num,n; 表示定義變量num和n為實(shí)數(shù)類型(浮點(diǎn)型),“float”表示實(shí)型,是C語(yǔ)言數(shù)據(jù)類型關(guān)鍵字。2、“%f”是格式控制符,控制輸入輸出的數(shù)據(jù)是
9、實(shí)型。3、abs是C系統(tǒng)的庫(kù)函數(shù),在調(diào)用數(shù)學(xué)庫(kù)函數(shù)時(shí),要用到一些系統(tǒng)提供的說(shuō)明信息,這些信息包含在math.h頭文件中,所以在程序的開始要用預(yù)處理命令#include包含進(jìn)來(lái)。案例分析編程調(diào)用庫(kù)函數(shù),計(jì)算一個(gè)數(shù)的正弦值。隨堂練習(xí)1、C語(yǔ)言的關(guān)鍵字關(guān)鍵字是C語(yǔ)言已經(jīng)定義的、具有特殊功能和含義的單詞、單詞縮寫或者單詞組合。表1-1列舉了3 2個(gè)關(guān)鍵字,它們與標(biāo)準(zhǔn)C句法結(jié)合,形成了程序設(shè)計(jì)語(yǔ)言C。知識(shí)鏈接2、C語(yǔ)言的庫(kù)函數(shù)C語(yǔ)言提供了豐富的庫(kù)函數(shù),每個(gè)函數(shù)實(shí)現(xiàn)一定的功能。C語(yǔ)言本身語(yǔ)句很少,許多功能都是通過(guò)庫(kù)函數(shù)完成的。例如,前面用到的輸入輸出的功能和求絕對(duì)值的功能都是通過(guò)調(diào)用庫(kù)函數(shù)實(shí)現(xiàn)的。3、AS
10、CII字符集在計(jì)算機(jī)中,所有的信息都用二進(jìn)制表示。其中應(yīng)用最為廣泛的編碼方式就是ASCII碼。使用的字符在計(jì)算機(jī)中就是以ASCII碼方式存儲(chǔ)的。ASCII碼是美國(guó)標(biāo)準(zhǔn)信息交換碼(American Standard Code for Information Interchange),已被國(guó)際標(biāo)準(zhǔn)化組織認(rèn)定為國(guó)際標(biāo)準(zhǔn),詳見附錄。學(xué)習(xí)目標(biāo)1、掌握C程序的編譯運(yùn)行過(guò)程2、掌握C程序的錯(cuò)誤查找方法1.2 C程序的上機(jī)過(guò)程案例1-4 一個(gè)簡(jiǎn)單的C程序的運(yùn)行過(guò)程。案例分析1、把Turboc2.0文件夾放在電腦C盤下面。2、打開文件夾內(nèi)的TC可運(yùn)行文件,進(jìn)入Turboc2.0,以下簡(jiǎn)稱Turboc。3、按【A
11、lt+F】快捷鍵打開【File】(文件)菜單,用鍵盤上的【】和【】選擇【New】菜單項(xiàng),進(jìn)入編輯狀態(tài),如圖所示。在Turboc中,按【Alt】+【對(duì)應(yīng)菜單的首字母】即可打開相應(yīng)的菜單。另外,也可按【F10】功能鍵選中相應(yīng)的菜單。4、編輯在編輯區(qū)域輸入以下代碼:#include”stdio.h”main()printf(“No pains, no gains!”);還可以事先將源代碼寫在記事本中,將其保存為.c文件,然后打開Turboc的【File】菜單中的【Load】菜單項(xiàng)或按【F3】鍵,在Turboc中打開該源文件,這時(shí)在Turboc中就出現(xiàn)了在記事本中輸入的C代碼,接著編譯、連接和運(yùn)行它即
12、可。5、保存輸入程序后對(duì)程序進(jìn)行認(rèn)真檢查,并改正已發(fā)現(xiàn)的錯(cuò)誤。這時(shí)已及時(shí)將程序保存起來(lái)。選擇【File】菜單下的菜單項(xiàng)【Save】或者直接按快捷鍵【F2】,在彈出的對(duì)話框中出現(xiàn)文件的默認(rèn)路徑和默認(rèn)文件名,這時(shí)可以修改路徑和文件名,如圖1-4所示。這里把把路徑改為D盤ZHANGSAN(張三)文件夾下,文件名為CH1_1.C,表示第一章第一個(gè)C程序。6、編譯編輯好的C代碼,計(jì)算機(jī)是不能識(shí)別的。這是因?yàn)橛?jì)算機(jī)只能識(shí)別稱為機(jī)器語(yǔ)言的二進(jìn)制命令,所以要想執(zhí)行這段代碼,就必須將源代碼轉(zhuǎn)換成機(jī)器語(yǔ)言。也就是要做第二步編譯源代碼,將源代碼作為輸入,并生成一個(gè)磁盤文件,該文件包含了與源代碼語(yǔ)句對(duì)應(yīng)的機(jī)器語(yǔ)言指令
13、,該指令即為目標(biāo)代碼,而包含它們的磁盤文件稱為目標(biāo)文件。在Turboc中,編譯源代碼,按【Alt+C】快捷鍵打開【Compile】菜單,選擇【Compile】菜單下的【Compile to OBJ】菜單項(xiàng),或直接按【Alt+F9】快捷鍵,編譯程序后,出現(xiàn)編譯信息提示窗口,如圖1-5所示。它表示有一個(gè)錯(cuò)誤,沒有警告。按任意鍵信息窗口(Message)被激活,在出現(xiàn)第一個(gè)錯(cuò)誤信息提示處以白色高亮度顯示,同時(shí),編輯窗口中相應(yīng)的錯(cuò)誤語(yǔ)句所在行也以白色高亮度顯示,如圖1-6所示。按回車鍵【Enter】可切換到編輯窗口出現(xiàn)錯(cuò)誤的語(yǔ)句行,同時(shí)對(duì)應(yīng)的錯(cuò)誤提示信息以紅色亮條在編輯區(qū)上部顯示。有時(shí)候程序可能只有一
14、處錯(cuò)誤,但會(huì)顯示多條錯(cuò)誤信息。所以一般修改一處錯(cuò)誤后,應(yīng)該再次進(jìn)行編譯。在程序沒有錯(cuò)誤的情況下,便可將當(dāng)前源代碼編譯成目標(biāo)代碼。在當(dāng)前工作目錄下產(chǎn)生一個(gè)擴(kuò)展名為“.obj”的目標(biāo)程序文件。本例產(chǎn)生的文件名為“CH1_1.obj”。當(dāng)查找錯(cuò)誤時(shí),可以使用【F6】鍵在編輯窗口和消息窗口之間進(jìn)行切換。錯(cuò)誤有時(shí)會(huì)出現(xiàn)在錯(cuò)誤語(yǔ)句行前面的某條語(yǔ)句處,在圖1-5中,錯(cuò)誤原因是第一行main()后不應(yīng)有分號(hào)“;”,而出錯(cuò)信息提示卻在第二行上。這個(gè)程序剛好與剛才提到的情況相反,它實(shí)際上有兩處錯(cuò)誤,但只提示有一處錯(cuò)誤,在這種情況下,改正一處錯(cuò)誤后,再次編譯后,還會(huì)再提示第二處錯(cuò)誤。本例的第二處錯(cuò)誤是第三行語(yǔ)句應(yīng)該
15、加分號(hào)作為語(yǔ)句結(jié)束。提示7、連接有了目標(biāo)文件后,程序還不能直接運(yùn)行,還必須將目標(biāo)文件與系統(tǒng)提供的庫(kù)函數(shù)和包含文件(“#include”命令所包含的文件)等連接成一個(gè)可執(zhí)行文件,即擴(kuò)展名為“.exe”的文件,這時(shí)才形成最后的可運(yùn)行文件。選擇【Compile】菜單下的【Link EXE file】菜單項(xiàng),在當(dāng)前工作目錄中生成一個(gè)可執(zhí)行文件。本例生成可執(zhí)行文件“CH1_1.exe”。可以一次完成編譯和連接,選擇【Compile】菜單下的【Make EXE file】菜單項(xiàng),或者按【F9】快捷鍵,在當(dāng)前工作目錄中生成一個(gè)目標(biāo)文件(*.obj)和一個(gè)可執(zhí)行文件(*.exe)。另外,可以指定生成的目標(biāo)文件
16、和可執(zhí)行文件到指定的輸出目錄。本例就可以重新設(shè)定輸出目錄為“D:ZHANGSAN”。按【Alt+O】快捷鍵打開【Options】菜單,選擇【Options】菜單下的【Directories】菜單項(xiàng),在彈出對(duì)話框中選中【Output directory】選項(xiàng),然后設(shè)定輸出目錄(Output directory)為“D:ZHANGSAN”如圖所示。提示最后在相應(yīng)目錄下,可以查看本實(shí)例的源文件、目標(biāo)文件和可執(zhí)行文件如圖所示。8、運(yùn)行在TC集成環(huán)境下,按【Alt+R】快捷鍵打開【Run】菜單,選擇【Run】菜單下【Run】菜單項(xiàng),或者直接按【Ctrl+F9】快捷鍵,則可執(zhí)行文件即開始運(yùn)行。【Ctrl+
17、F9】快捷鍵的作用不僅是運(yùn)行程序,而且包含編譯、連接和運(yùn)行,也就是說(shuō),如果編輯好源程序后,經(jīng)檢查認(rèn)為沒有問(wèn)題,通過(guò)按【Ctrl+F9】快捷鍵,則可以一次完成從編譯、連接到運(yùn)行的全過(guò)程。提示9、觀察運(yùn)行結(jié)果選擇【Run】菜單下的【User screen】菜單項(xiàng),即可打開用戶屏幕觀看結(jié)果。也可以使用快捷鍵【Alt+F5】查看運(yùn)行結(jié)果。本例運(yùn)行結(jié)果如圖所示。運(yùn)行過(guò)程的常用快捷鍵是:1、F9:進(jìn)行編譯和連接。2、Ctrl+F9:運(yùn)行。3、Alt+F5:觀看運(yùn)行結(jié)果。提示按照上機(jī)過(guò)程運(yùn)行一個(gè)簡(jiǎn)單的C程序。隨堂練習(xí)C語(yǔ)言采用編譯方式將源文件轉(zhuǎn)換為二進(jìn)制的目標(biāo)代碼。從編寫到運(yùn)行一個(gè)C程序一般經(jīng)過(guò)以下幾個(gè)步驟
18、:1、編輯內(nèi)容包括:將源程序逐個(gè)字符輸入到計(jì)算機(jī)內(nèi)存;修改源程序;保存源程序到磁盤文件中。源程序是以ASCII代碼的形式輸入和存儲(chǔ)的,不能被計(jì)算機(jī)執(zhí)行。2、編譯編譯就是將編輯好的源程序翻譯成二進(jìn)制的目標(biāo)代碼。在編譯時(shí),對(duì)源程序進(jìn)行語(yǔ)法檢查,如有錯(cuò),則在屏幕上顯示出錯(cuò)信息。知識(shí)鏈接3、連接將目標(biāo)文件與系統(tǒng)提供的庫(kù)函數(shù)和包含文件(“#include”命令所包含的文件)等連接成一個(gè)可執(zhí)行文件,該文件可由計(jì)算機(jī)直接執(zhí)行。4、執(zhí)行可執(zhí)行文件連接好后,就可以運(yùn)行它了。需要指出的是,經(jīng)過(guò)成功編譯和連接的可執(zhí)行文件不一定能正確運(yùn)行,或者運(yùn)行所得的結(jié)果與期望的不符,出現(xiàn)這種情況,則需返回從頭開始檢查,找出導(dǎo)致錯(cuò)誤的原因。從編寫到運(yùn)行一個(gè)C程序的全過(guò)程如圖所示:選擇New命令新建一個(gè)源程序在編輯區(qū)錄入代碼編譯源程序,生成目標(biāo)文件連接目標(biāo)文件,生成可執(zhí)行文件運(yùn)行可執(zhí)行文件,查看結(jié)果根據(jù)編譯信息調(diào)試程序,修改錯(cuò)誤課后練習(xí)1、一個(gè)C程序的執(zhí)行是從( )。A)本程序的main函數(shù)開始,到main函數(shù)結(jié)束。B)本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束。C)本程序的main函
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 哈薩克斯坦辦學(xué)協(xié)議書
- 摩托車銷售代理協(xié)議書
- 搬用工員工合同協(xié)議書
- 繼承公證協(xié)議書
- 聯(lián)盟銷售協(xié)議書
- 廣告牌安裝安全協(xié)議書
- 籃球教練協(xié)議書
- 商場(chǎng)手扶梯使用協(xié)議書
- 深圳稅務(wù)聯(lián)盟鏈協(xié)議書
- 液化氣施工合同協(xié)議書
- 2022伊之密MES系統(tǒng)平臺(tái)使用手冊(cè)
- 校園突發(fā)事件與應(yīng)急管理課件
- CJJ-181-2012(精華部分)城鎮(zhèn)排水管道檢測(cè)與評(píng)估技術(shù)規(guī)程
- 醫(yī)藥企業(yè)管理練習(xí)測(cè)試卷
- 基于單片機(jī)的微波爐控制器
- 安全生產(chǎn)隱患識(shí)別圖集 問(wèn)題圖片和整改圖片對(duì)比 危險(xiǎn)源識(shí)別(中)
- 醫(yī)藥企業(yè)管理練習(xí)試題附答案(一)
- 《義務(wù)教育數(shù)學(xué)課程標(biāo)準(zhǔn)(2022年版)》解讀
- 【課程思政案例】《國(guó)際物流》:立德樹人深挖教學(xué)內(nèi)容,信義忠誠(chéng)彰顯思政元素
- 貴州省畢節(jié)市威寧民族中學(xué)高一下學(xué)期4月第一次月考語(yǔ)文試卷(PDF版含答案)
- 齒輪箱說(shuō)明書
評(píng)論
0/150
提交評(píng)論