版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、C語言程序設(shè)計(jì) 講授:包云講授:包云 單位:聊城大學(xué)計(jì)算機(jī)學(xué)院單位:聊城大學(xué)計(jì)算機(jī)學(xué)院 第1章 C語言概述第1章 C語言概述27-Dec-213主要內(nèi)容主要內(nèi)容1.1 什么是計(jì)算機(jī)程序什么是計(jì)算機(jī)程序1.2 什么是計(jì)算機(jī)語言什么是計(jì)算機(jī)語言1.3 C語言的發(fā)展及其特點(diǎn)語言的發(fā)展及其特點(diǎn)1.4 簡單的簡單的C程序介紹程序介紹1.5 C程序的上機(jī)步驟與方法程序的上機(jī)步驟與方法第1章 C語言概述27-Dec-214什么是程序?什么是程序? 為了解決某一特定問題用某一種計(jì)算機(jī)語言編寫的為了解決某一特定問題用某一種計(jì)算機(jī)語言編寫的指令序列稱為程序。指令序列稱為程序。什么是程序設(shè)計(jì)?什么是程序設(shè)計(jì)? 程序
2、是程序設(shè)計(jì)的結(jié)果,在執(zhí)行程序前必須先排程序是程序設(shè)計(jì)的結(jié)果,在執(zhí)行程序前必須先排定程序,排定以時(shí)間為進(jìn)程必須完成的各種操作叫定程序,排定以時(shí)間為進(jìn)程必須完成的各種操作叫程序設(shè)計(jì)。程序設(shè)計(jì)。用高級(jí)語言進(jìn)行程序設(shè)計(jì)時(shí)要注意以下三個(gè)概念:用高級(jí)語言進(jìn)行程序設(shè)計(jì)時(shí)要注意以下三個(gè)概念:語法語法,每種計(jì)算機(jī)語言都有自己的語法規(guī)則。,每種計(jì)算機(jī)語言都有自己的語法規(guī)則。語義語義,即某一語法成分的含義。,即某一語法成分的含義。語用語用,即正確使用語言。,即正確使用語言。第1章 C語言概述27-Dec-215計(jì)算機(jī)語言計(jì)算機(jī)語言機(jī)器語言機(jī)器語言匯編語言匯編語言高級(jí)語言高級(jí)語言非過程語言非過程語言第1章 C語言概述
3、27-Dec-216高級(jí)語言經(jīng)歷的不同的發(fā)展階段:高級(jí)語言經(jīng)歷的不同的發(fā)展階段:1、非結(jié)構(gòu)化的語言、非結(jié)構(gòu)化的語言2、結(jié)構(gòu)化語言、結(jié)構(gòu)化語言3、面向?qū)ο蟮恼Z言、面向?qū)ο蟮恼Z言第1章 C語言概述27-Dec-2171.3 C語言的發(fā)展及其特點(diǎn)語言的發(fā)展及其特點(diǎn)語言的誕生與發(fā)展語言的誕生與發(fā)展(1 1)在)在C C語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。語言誕生以前,系統(tǒng)軟件主要是用匯編語言編寫的。由于匯編語言程序依賴于計(jì)算機(jī)硬件,其可讀性和可移植由于匯編語言程序依賴于計(jì)算機(jī)硬件,其可讀性和可移植性都很差;但一般的高級(jí)語言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件的性都很差;但一般的高級(jí)語言又難以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬
4、件的直接操作(這正是匯編語言的優(yōu)勢(shì)),于是人們盼望有一直接操作(這正是匯編語言的優(yōu)勢(shì)),于是人們盼望有一種兼有匯編語言和高級(jí)語言特性的新語言。種兼有匯編語言和高級(jí)語言特性的新語言。(2 2)語言是貝爾實(shí)驗(yàn)室于)語言是貝爾實(shí)驗(yàn)室于7070年代初研制出來的,后來又被年代初研制出來的,后來又被多次改進(jìn),并出現(xiàn)了多種版本。多次改進(jìn),并出現(xiàn)了多種版本。8080年代初,美國國家標(biāo)準(zhǔn)年代初,美國國家標(biāo)準(zhǔn)化協(xié)會(huì)(化協(xié)會(huì)(ANSIANSI),根據(jù)語言問世以來各種版本對(duì)語言),根據(jù)語言問世以來各種版本對(duì)語言的發(fā)展和擴(kuò)充,制定了的發(fā)展和擴(kuò)充,制定了ANSI CANSI C標(biāo)準(zhǔn)(標(biāo)準(zhǔn)(19891989年再次做了修年再
5、次做了修訂)。訂)。本課程以本課程以 C99新標(biāo)準(zhǔn)來講解。新標(biāo)準(zhǔn)來講解。第1章 C語言概述27-Dec-218C語言的歷史背景語言的歷史背景年份年份語言名語言名語言特點(diǎn)語言特點(diǎn)1960ALGOL 60面向問題,離硬件遠(yuǎn),不易寫系統(tǒng)程序面向問題,離硬件遠(yuǎn),不易寫系統(tǒng)程序1963CPL(組合程序組合程序設(shè)計(jì)語言設(shè)計(jì)語言)接近硬件,但規(guī)模較大,難以實(shí)現(xiàn)接近硬件,但規(guī)模較大,難以實(shí)現(xiàn) (劍橋大學(xué))(劍橋大學(xué))1967BCPL(基本基本CPL)對(duì)對(duì)CPL的簡化(劍橋大學(xué),的簡化(劍橋大學(xué),Matin Richards)1970B進(jìn)一步簡化進(jìn)一步簡化CPL,并在,并在PDP/7上實(shí)現(xiàn)。上實(shí)現(xiàn)。(貝爾實(shí)驗(yàn)室
6、)(貝爾實(shí)驗(yàn)室)1972C汲取了汲取了BCPL和和B優(yōu)點(diǎn),克服了缺點(diǎn)。用優(yōu)點(diǎn),克服了缺點(diǎn)。用C編寫了編寫了UNIX系統(tǒng)系統(tǒng)90%的代碼的代碼198787ANSI C這是國際標(biāo)準(zhǔn)化組織這是國際標(biāo)準(zhǔn)化組織87年公布的年公布的C語言標(biāo)準(zhǔn)語言標(biāo)準(zhǔn)( 1989年再次做了修訂)年再次做了修訂)第1章 C語言概述27-Dec-219C語言的特點(diǎn)語言的特點(diǎn)C C語言同時(shí)具有匯編語言和高級(jí)語言的優(yōu)勢(shì)。語言同時(shí)具有匯編語言和高級(jí)語言的優(yōu)勢(shì)。語言簡潔、緊湊,使用方便、靈活。語言簡潔、緊湊,使用方便、靈活。 (3232個(gè)關(guān)鍵字個(gè)關(guān)鍵字 9 9種控制語句)種控制語句)運(yùn)算符豐富。運(yùn)算符豐富。(3434種運(yùn)算符)種運(yùn)算符
7、)數(shù)據(jù)類型豐富。數(shù)據(jù)類型豐富。具有結(jié)構(gòu)化的控制語句具有結(jié)構(gòu)化的控制語句語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大可以直接對(duì)硬件進(jìn)行操作??梢灾苯訉?duì)硬件進(jìn)行操作。生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。生成目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。可移植性好(較之匯編語言)??梢浦残院茫ㄝ^之匯編語言)。第1章 C語言概述27-Dec-2110C語言缺點(diǎn)n算符太多,優(yōu)先級(jí)多,不便記憶。算符太多,優(yōu)先級(jí)多,不便記憶。n相對(duì)來說,相對(duì)來說,C語言類型轉(zhuǎn)換隨便,安全性較差(如指針)語言類型轉(zhuǎn)換隨便,安全性較差(如指針)第1章 C語言概述27-Dec-21111.4 簡單的簡單的C程序介紹程序
8、介紹1、最簡單的程序、最簡單的程序 要求在屏幕上輸出以下一行信息要求在屏幕上輸出以下一行信息:This is a C program.#include int main()printf(“This is a C program.n”); return 0; 一個(gè)完整的程序,是由一個(gè)一個(gè)完整的程序,是由一個(gè)main()函數(shù)(又稱主函數(shù))和函數(shù)(又稱主函數(shù))和若干個(gè)其它函數(shù)若干個(gè)其它函數(shù)(又稱子函數(shù)又稱子函數(shù))結(jié)結(jié)合而成的,或僅由一個(gè)合而成的,或僅由一個(gè)main()函數(shù)構(gòu)成。函數(shù)構(gòu)成。main是函數(shù)的名字,表示是函數(shù)的名字,表示“主主函數(shù)函數(shù)”,main前面的前面的int表示此表示此函數(shù)的類型是函
9、數(shù)的類型是int類型。每個(gè)語類型。每個(gè)語句最后都有一個(gè)分號(hào),表示語句最后都有一個(gè)分號(hào),表示語句的結(jié)束。句的結(jié)束。stdio.h是系統(tǒng)提供的一個(gè)文件名,輸入輸出函數(shù)都事先放是系統(tǒng)提供的一個(gè)文件名,輸入輸出函數(shù)都事先放在這個(gè)文件里,如果想用,必須調(diào)用在這個(gè)文件里,如果想用,必須調(diào)用stdio.h。第1章 C語言概述27-Dec-2112 求兩個(gè)數(shù)的和。求兩個(gè)數(shù)的和。#include int main()int a,b,sum; a=123; b=456; sum=a+b; printf(“sum is %dn”,sum); return0;程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果: sum is 579 /*預(yù)
10、處理命令預(yù)處理命令*/*函數(shù)首部函數(shù)首部*/*聲明部分聲明部分*/*輸出語句輸出語句*/函數(shù)體函數(shù)體第1章 C語言概述27-Dec-21131.4 簡單的簡單的C程序介紹程序介紹 求求2個(gè)數(shù)中較大者。個(gè)數(shù)中較大者。#include “stdio.h”int main( ) int a,b,c; scanf(%d,%d,&a,&b); c=max(a,b); printf(max=%dn,c); return0;int max(int x,int y)int max(int x,int y) int z; int z; if (xy) z=x; if (xy) z=x; else
11、 z=y; else z=y; return z; return z; 從鍵盤輸入從鍵盤輸入:5,9程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果: max=9 說明說明: :v函數(shù)是程序的基本單位函數(shù)是程序的基本單位vC C程序總是從程序總是從main()main()函數(shù)開始執(zhí)函數(shù)開始執(zhí)行行v程序行的書寫格式自由程序行的書寫格式自由v所有語句都必須以分號(hào)所有語句都必須以分號(hào)“;”結(jié)結(jié)束束v可用可用/ /* * */ /對(duì)程序作注釋對(duì)程序作注釋第1章 C語言概述27-Dec-21141.4 簡單的簡單的C程序介紹程序介紹2.函數(shù)的一般結(jié)構(gòu)函數(shù)的一般結(jié)構(gòu)1 1)一個(gè)程序由一個(gè)或多個(gè)源程序文件組成。)一個(gè)程序由一個(gè)或
12、多個(gè)源程序文件組成。 (1 1)預(yù)處理指令。)預(yù)處理指令。 (2 2)全局聲明。)全局聲明。 (3 3)函數(shù)定義。)函數(shù)定義。2 2)函數(shù)是)函數(shù)是C C程序的主要組成部分程序的主要組成部分第1章 C語言概述27-Dec-21153 3)一個(gè)函數(shù)包括)一個(gè)函數(shù)包括2 2個(gè)部分個(gè)部分 任何函數(shù)(包括主函數(shù)任何函數(shù)(包括主函數(shù)main()main())都是由函數(shù)說明和函數(shù)體兩部)都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下:分組成。其一般結(jié)構(gòu)如下: 函數(shù)返回值的類型函數(shù)返回值的類型 函數(shù)名函數(shù)名( (函數(shù)參數(shù)表函數(shù)參數(shù)表) ) 說明語句部分;說明語句部分; 執(zhí)行語句部分;執(zhí)行語句部分; 函數(shù)首
13、部函數(shù)首部函數(shù)體函數(shù)體說明語句部分由變量定義、自定義類型定義、自定義函數(shù)說明、外部變量說明等組成??蓤?zhí)行語句部分一般由若干條可執(zhí)行語句構(gòu)成。函數(shù)參數(shù)表的格式為: 數(shù)據(jù)類型 形參1, 數(shù)據(jù)類型 形參2第1章 C語言概述27-Dec-21161. 函數(shù)是語言程序的基本單位。main()函數(shù)的作用,相當(dāng)于其它高級(jí)語言中的主程函數(shù)的作用,相當(dāng)于其它高級(jí)語言中的主程序序(“龍頭大哥龍頭大哥”,運(yùn)行時(shí)由它開始執(zhí)行,運(yùn)行時(shí)由它開始執(zhí)行);其它函數(shù)的作;其它函數(shù)的作用,相當(dāng)于子程序(一般是被調(diào)用的)。用,相當(dāng)于子程序(一般是被調(diào)用的)。 2. C語言程序總是從語言程序總是從main()函數(shù)開始執(zhí)行。函數(shù)開始執(zhí)
14、行。 一個(gè)語言程序,總是從main()函數(shù)開始執(zhí)行,而不論其在程序中的位置。當(dāng)主函數(shù)執(zhí)行完畢時(shí),亦即程序執(zhí)行完畢。 習(xí)慣上,將主函數(shù)main()放在最前頭??偨Y(jié)一下總結(jié)一下第1章 C語言概述27-Dec-2117 任何函數(shù)(包括主函數(shù)任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩)都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下:部分組成。其一般結(jié)構(gòu)如下: 函數(shù)返回值的類型函數(shù)返回值的類型 函數(shù)名函數(shù)名(函數(shù)參數(shù)表函數(shù)參數(shù)表) 說明語句部分;說明語句部分; 執(zhí)行語句部分;執(zhí)行語句部分; 函數(shù)首部函數(shù)體1. 函數(shù)首部函數(shù)首部 由函數(shù)返回值類型、函數(shù)名和函數(shù)參數(shù)表三部分組成。由函數(shù)返回
15、值類型、函數(shù)名和函數(shù)參數(shù)表三部分組成。 函數(shù)參數(shù)表的格式為:函數(shù)參數(shù)表的格式為: 數(shù)據(jù)類型數(shù)據(jù)類型 形參形參1, 數(shù)據(jù)類型數(shù)據(jù)類型 形參形參2第1章 C語言概述27-Dec-2118例如,函數(shù)例如,函數(shù)max()max(),其函數(shù)說明各部分如圖,其函數(shù)說明各部分如圖1-11-1所示。所示。 函數(shù)返回值的類型函數(shù)返回值的類型 函數(shù)名函數(shù)名 函數(shù)參數(shù)表函數(shù)參數(shù)表 int max ( int x , int y ) 圖圖1-1 函數(shù)首部結(jié)構(gòu)圖函數(shù)首部結(jié)構(gòu)圖2.函數(shù)體函數(shù)體在函數(shù)說明部分的下面、大括號(hào)(必須配對(duì)使用)內(nèi)的部分。在函數(shù)說明部分的下面、大括號(hào)(必須配對(duì)使用)內(nèi)的部分。函數(shù)體一般由說明語句和
16、可執(zhí)行語句兩部分構(gòu)成:函數(shù)體一般由說明語句和可執(zhí)行語句兩部分構(gòu)成:(1)說明語句部分)說明語句部分說明語句部分由變量定義、自定義類型定義、自定義函數(shù)說明、說明語句部分由變量定義、自定義類型定義、自定義函數(shù)說明、外部變量說明等組成。外部變量說明等組成。 第1章 C語言概述27-Dec-2119 (2)可執(zhí)行語句)可執(zhí)行語句 一般由若干條可執(zhí)行語句構(gòu)成。一般由若干條可執(zhí)行語句構(gòu)成。main()函數(shù)體的示意圖。函數(shù)體的示意圖。/*主函數(shù)主函數(shù)main()*/main() int num1,num2; printf(Input the first integer number: ); scanf(%d
17、, &num1); printf(Input the second integer number: ); scanf(%d, &num2); printf(max=%dn, max(num1, num2); 函數(shù)體變量定義部分可執(zhí)行語句部分圖圖1-2 函數(shù)體結(jié)構(gòu)示意圖函數(shù)體結(jié)構(gòu)示意圖第1章 C語言概述27-Dec-21203、源程序書寫格式1.所有語句都必須以分號(hào)所有語句都必須以分號(hào);結(jié)束結(jié)束,函數(shù)的最后一個(gè)語句也函數(shù)的最后一個(gè)語句也不例外。不例外。既允許既允許1行內(nèi)寫幾條語句,也允許行內(nèi)寫幾條語句,也允許1條語句分寫在幾行上。條語句分寫在幾行上。C語言的注釋格式為:語言的注釋
18、格式為: /* */(1) /* 和和 */ 必須成對(duì)使用,且必須成對(duì)使用,且 / 和和 * 、以、以及及*和和/之間不能有空格,否則都出錯(cuò)。之間不能有空格,否則都出錯(cuò)。第1章 C語言概述27-Dec-2121例如,例如,main() int num1,num2; printf(Input the first integer number: ); scanf(%d, &num1); printf(Input the second integer number: ); scanf(%d, &num2); printf(max=%dn, max(num1, num2); 如果某條語
19、句很長,一般需要將其分寫在幾行上。如果某條語句很長,一般需要將其分寫在幾行上。第1章 C語言概述27-Dec-2122 技巧:為避免遺漏必須配對(duì)使用的符號(hào),例如注釋符號(hào)、函為避免遺漏必須配對(duì)使用的符號(hào),例如注釋符號(hào)、函數(shù)體的起止標(biāo)識(shí)符(花括號(hào))、圓括號(hào)等等,在輸入時(shí),可連續(xù)輸數(shù)體的起止標(biāo)識(shí)符(花括號(hào))、圓括號(hào)等等,在輸入時(shí),可連續(xù)輸入這些起止標(biāo)識(shí)符,然后再在其中進(jìn)行插入來完成內(nèi)容的編輯。在入這些起止標(biāo)識(shí)符,然后再在其中進(jìn)行插入來完成內(nèi)容的編輯。在起止標(biāo)識(shí)符嵌套時(shí),以及相距較遠(yuǎn)時(shí),這樣做更有必要。起止標(biāo)識(shí)符嵌套時(shí),以及相距較遠(yuǎn)時(shí),這樣做更有必要。 (2)注釋的位置,可以單占一行,也可以跟在語句的
20、后面。)注釋的位置,可以單占一行,也可以跟在語句的后面。 (3)如果一行寫不下,可另起一行繼續(xù)寫。)如果一行寫不下,可另起一行繼續(xù)寫。 (4)注釋中允許使用漢字。在非中文操作系統(tǒng)下,看到的是)注釋中允許使用漢字。在非中文操作系統(tǒng)下,看到的是一串亂碼,但不影響程序運(yùn)行。一串亂碼,但不影響程序運(yùn)行。 (5)使用)使用/可以在一行內(nèi)注釋。例如可以在一行內(nèi)注釋。例如: printf(max=%d,c); / 輸出輸出c的值的值 第1章 C語言概述27-Dec-2123C C語言的語句和關(guān)鍵字語言的語句和關(guān)鍵字 ( (從第從第4 4章起將詳細(xì)介紹章起將詳細(xì)介紹) ) (一) C語言的語句 與其它高級(jí)語言
21、一樣,語言也是利用函數(shù)體中的可執(zhí)行語句,向計(jì)與其它高級(jí)語言一樣,語言也是利用函數(shù)體中的可執(zhí)行語句,向計(jì)算機(jī)系統(tǒng)發(fā)出操作命令。按照語句功能或構(gòu)成的不同,可將語言的語句分算機(jī)系統(tǒng)發(fā)出操作命令。按照語句功能或構(gòu)成的不同,可將語言的語句分為五類。為五類。1.控制語句控制語句控制語句完成一定的控制功能。語言只有條控制語句,又可細(xì)分控制語句完成一定的控制功能。語言只有條控制語句,又可細(xì)分為三種:為三種:( 1)選擇結(jié)構(gòu)控制語句)選擇結(jié)構(gòu)控制語句 if()else, switch()(2)循環(huán)結(jié)構(gòu)控制語句)循環(huán)結(jié)構(gòu)控制語句 dowhile(), for(), while(), break, continue
22、(3)其它控制語句)其它控制語句 goto, return第1章 C語言概述27-Dec-21242. 函數(shù)調(diào)用語句 函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個(gè)分號(hào)(語句結(jié)束標(biāo)志)構(gòu)成。函數(shù)調(diào)用語句由一次函數(shù)調(diào)用加一個(gè)分號(hào)(語句結(jié)束標(biāo)志)構(gòu)成。例如,例如,printf(This is a C function statement.);3. 表達(dá)式語句表達(dá)式語句由表達(dá)式后加一個(gè)分號(hào)構(gòu)成。最典型的表達(dá)式語句是,表達(dá)式語句由表達(dá)式后加一個(gè)分號(hào)構(gòu)成。最典型的表達(dá)式語句是,在賦值表達(dá)式后加一個(gè)分號(hào)構(gòu)成的賦值語句。在賦值表達(dá)式后加一個(gè)分號(hào)構(gòu)成的賦值語句。例如,例如,num=5 是一個(gè)賦值表達(dá)式,而是一個(gè)賦值表達(dá)式,
23、而num=5;卻是一個(gè)卻是一個(gè)賦值語句。賦值語句。4. 空語句空語句僅由一個(gè)分號(hào)構(gòu)成。顯然,空語句什么操作也不執(zhí)行。空語句僅由一個(gè)分號(hào)構(gòu)成。顯然,空語句什么操作也不執(zhí)行。 例如,下面就是一個(gè)空語句:例如,下面就是一個(gè)空語句: ; 第1章 C語言概述27-Dec-21255. 復(fù)合語句復(fù)合語句是由大括號(hào)括起來的一組(也可以是復(fù)合語句是由大括號(hào)括起來的一組(也可以是1條)語句構(gòu)成。例如:條)語句構(gòu)成。例如: main() /*復(fù)合語句。注意:右括號(hào)后不需要分號(hào)。復(fù)合語句。注意:右括號(hào)后不需要分號(hào)。*/ 復(fù)合語句的性質(zhì): (1)在語法上和單一語句相同,即單一語句可以出現(xiàn)的地方,也可)在語法上和單一語
24、句相同,即單一語句可以出現(xiàn)的地方,也可以使用復(fù)合語句。以使用復(fù)合語句。(2)復(fù)合語句可以嵌套,即復(fù)合語句中也可出現(xiàn)復(fù)合語句。)復(fù)合語句可以嵌套,即復(fù)合語句中也可出現(xiàn)復(fù)合語句。 第1章 C語言概述27-Dec-2126 (二) 關(guān)鍵字 C語言的關(guān)鍵字共有語言的關(guān)鍵字共有32個(gè),根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)個(gè),根據(jù)關(guān)鍵字的作用,可分其為數(shù)據(jù)類型關(guān)鍵字、控制語句關(guān)鍵字、存儲(chǔ)類型關(guān)鍵字和其它關(guān)鍵字四類。鍵字、控制語句關(guān)鍵字、存儲(chǔ)類型關(guān)鍵字和其它關(guān)鍵字四類。 (1)數(shù)據(jù)類型關(guān)鍵字()數(shù)據(jù)類型關(guān)鍵字(12個(gè)):個(gè)):char, double, enum, float, int, long, sho
25、rt, signed, struct, union, unsigned, void (2)控制語句關(guān)鍵字()控制語句關(guān)鍵字(12個(gè)):個(gè)):break, case, continue, default, do, else, for, goto, if, return, switch, while (3)存儲(chǔ)類型關(guān)鍵字()存儲(chǔ)類型關(guān)鍵字(4個(gè)):個(gè)):auto, extern, register, static (4)其它關(guān)鍵字()其它關(guān)鍵字(4個(gè)):個(gè)):const, sizeof, typedef, volatile第1章 C語言概述27-Dec-2127int max(int x,int
26、y)int max(int x,int y) int z; int z; if (xy) z=x; if (xy) z=x; else z=y; else z=y; return z; return z; 你會(huì)分析這個(gè)子你會(huì)分析這個(gè)子程序的結(jié)構(gòu)嗎程序的結(jié)構(gòu)嗎? ?第1章 C語言概述27-Dec-21281.5 運(yùn)行運(yùn)行C程序的步驟與方法程序的步驟與方法 在微機(jī)上通常使用的語言編譯系統(tǒng)有在微機(jī)上通常使用的語言編譯系統(tǒng)有Turbo C 、Borland C、Visual c+ 6.0 等。其中,等。其中,在早期在早期Turbo C 是在是在pc機(jī)上用的最多的。為了易機(jī)上用的最多的。為了易于以后的于
27、以后的c+過渡,建議大家熟悉并用過渡,建議大家熟悉并用Turbo C,vc+6.0環(huán)境。環(huán)境。第1章 C語言概述27-Dec-2129 編輯編譯連接運(yùn)行.c.exe.obj有錯(cuò)編輯程序編譯程序連接程序(庫函數(shù))源程序目標(biāo)程序可執(zhí)行程序結(jié)果第1章 C語言概述27-Dec-21301.5 運(yùn)行運(yùn)行C程序的步驟與方法程序的步驟與方法1. C1. C程序的建立過程程序的建立過程 編輯源程序編輯源程序(.CPP(.CPP或或.C).C)編譯編譯(.OBJ)(.OBJ)連接(連接(.EXE.EXE)執(zhí)行執(zhí)行結(jié)果結(jié)果2. 2. 上機(jī)操作步驟上機(jī)操作步驟使用的使用的C C語言系統(tǒng):語言系統(tǒng):運(yùn)行應(yīng)用程序:運(yùn)行
28、應(yīng)用程序:編輯源程序編輯源程序(.CPP)(.CPP):按:按F3F3鍵可輸入源程序文件名鍵可輸入源程序文件名編譯編譯+ +連接:按連接:按F9F9實(shí)現(xiàn)實(shí)現(xiàn)運(yùn)行源程序:運(yùn)行源程序:Ctrl+F9Ctrl+F9觀察運(yùn)行結(jié)果:觀察運(yùn)行結(jié)果:Alt+F5Alt+F5運(yùn)行TCVC第1章 C語言概述27-Dec-2131C語言的上機(jī)步驟語言的上機(jī)步驟(1)C語言的上機(jī)執(zhí)行過程語言的上機(jī)執(zhí)行過程目標(biāo)程序目標(biāo)程序*.obj源文件源文件 *.c 映象程序映象程序*.exe編譯程序編譯程序鏈接程序、庫函數(shù)鏈接程序、庫函數(shù)(編譯)(編譯)(連接)(連接)(執(zhí)行執(zhí)行)結(jié)結(jié)果果用用戶戶(編輯編輯)編輯程序編輯程序C編
29、譯編譯系統(tǒng)系統(tǒng)第1章 C語言概述27-Dec-2132C語言的上機(jī)步驟語言的上機(jī)步驟(2)1. 用用Turbo C 運(yùn)行運(yùn)行C程序的步驟程序的步驟(1). 如何進(jìn)入如何進(jìn)入Turbo C環(huán)境:環(huán)境: 雙擊桌面快捷方式雙擊桌面快捷方式( (目標(biāo)為目標(biāo)為c:tctc.exe)c:tctc.exe)n+ 全屏切換(2). 進(jìn)入進(jìn)入Turbo C環(huán)境后,必須進(jìn)行必要的環(huán)境變量的(參數(shù))環(huán)境后,必須進(jìn)行必要的環(huán)境變量的(參數(shù))的設(shè)置,然后即可開始編輯程序。的設(shè)置,然后即可開始編輯程序。參數(shù)設(shè)置主要包括:include目錄、lib(庫文件)目錄、輸出目錄等。(見下圖)在機(jī)房可以將輸出目錄設(shè)置在D盤。(3)
30、. Turbo C中無法使用中無法使用windows中的選擇、復(fù)制、粘貼。一個(gè)中的選擇、復(fù)制、粘貼。一個(gè)可行的方法是,將程序復(fù)制到可行的方法是,將程序復(fù)制到“記事本記事本”中,并保存成中,并保存成.c文件格式文件格式(也是純文本文件)。(也是純文本文件)。第1章 C語言概述27-Dec-2133第1章 C語言概述27-Dec-2134Include directories指指“包含文件包含文件”所在的目所在的目錄,系統(tǒng)顯示出默認(rèn)的子目錄錄,系統(tǒng)顯示出默認(rèn)的子目錄.Library directories 指庫文件所在的目錄,系指庫文件所在的目錄,系統(tǒng)顯示出默認(rèn)的子目錄。統(tǒng)顯示出默認(rèn)的子目錄。Ou
31、tput directory是指定輸出文件(是指定輸出文件(.obj文件文件和和.exe文件)存放的目錄。文件)存放的目錄。第1章 C語言概述27-Dec-2135C語言的上機(jī)步驟語言的上機(jī)步驟(3)(3). 如何執(zhí)行程序如何執(zhí)行程序 n用用+ 或或+,來執(zhí)行一個(gè)程序;來執(zhí)行一個(gè)程序;n用用+查看運(yùn)行結(jié)果;查看運(yùn)行結(jié)果;(4). 如何存儲(chǔ)程序如何存儲(chǔ)程序n用用或或+,, 然后輸入文件名進(jìn)行存儲(chǔ)。然后輸入文件名進(jìn)行存儲(chǔ)。(5). 如何退出如何退出Turbo C狀態(tài)狀態(tài)n用用+ 或或+,,可退出,可退出Turbo C狀狀態(tài)。態(tài)。(6). 如何調(diào)出已存在的文件如何調(diào)出已存在的文件n用用或或+,,然后
32、輸入文件名,就可以,然后輸入文件名,就可以n調(diào)出已有文件。調(diào)出已有文件。第1章 C語言概述27-Dec-2136C語言的上機(jī)步驟語言的上機(jī)步驟(4)(1). 新建源程序新建源程序n“文件新建文件C+ Source Files”(2). 源程序的保存源程序的保存n“文件(3). 源程序的編譯,鏈接,運(yùn)行源程序的編譯,鏈接,運(yùn)行n “組建Compile”n “組建Build”n “組建Execute”編譯編譯 鏈接鏈接 運(yùn)行運(yùn)行第1章 C語言概述27-Dec-21371、編輯、編輯方法一:先創(chuàng)建方法一:先創(chuàng)建C源程序源程序方法二:先創(chuàng)建空工程方法二:先創(chuàng)建空工程2、編譯和鏈接、編譯和鏈接組建組建|
33、編譯編譯 Ctrl+F7組建組建|構(gòu)件構(gòu)件 F7 3、執(zhí)行、執(zhí)行編譯編譯|執(zhí)行執(zhí)行 Ctrl+F5注意:開始新建一個(gè)新的程序時(shí)注意:開始新建一個(gè)新的程序時(shí),要選菜單,要選菜單“文件文件”-”關(guān)閉工作空間關(guān)閉工作空間“Visual C+集成開發(fā)環(huán)境文件文件|新新建建方法一:先創(chuàng)建方法一:先創(chuàng)建C C源程序源程序文件文件標(biāo)簽標(biāo)簽文件文件類型類型文件名文件名目錄目錄方法二:先創(chuàng)建空工程方法二:先創(chuàng)建空工程步驟步驟1 1工程工程標(biāo)簽標(biāo)簽工程工程類型類型工程名工程名目錄目錄方法二:先創(chuàng)建空工程方法二:先創(chuàng)建空工程步驟步驟2 2選擇空工程選擇空工程方法二:先創(chuàng)建空工程方法二:先創(chuàng)建空工程步驟步驟3 3文件
34、文件標(biāo)簽標(biāo)簽文件文件類型類型文件名文件名選中此項(xiàng)選中此項(xiàng)第1章 C語言概述27-Dec-2142上機(jī)操作要求上機(jī)操作要求預(yù)習(xí)、書寫實(shí)驗(yàn)預(yù)習(xí)報(bào)告預(yù)習(xí)、書寫實(shí)驗(yàn)預(yù)習(xí)報(bào)告預(yù)習(xí)報(bào)告中書寫清楚任務(wù)(題目),對(duì)應(yīng)程序預(yù)習(xí)報(bào)告中書寫清楚任務(wù)(題目),對(duì)應(yīng)程序設(shè)計(jì)思路或者以及自己編寫的程序設(shè)計(jì)思路或者以及自己編寫的程序預(yù)先假設(shè)的錯(cuò)誤處理對(duì)策預(yù)先假設(shè)的錯(cuò)誤處理對(duì)策第1章 C語言概述27-Dec-2143實(shí)驗(yàn)一實(shí)驗(yàn)一 C語言的運(yùn)行環(huán)境和運(yùn)行語言的運(yùn)行環(huán)境和運(yùn)行C程序的方法程序的方法實(shí)驗(yàn)內(nèi)容:習(xí)題實(shí)驗(yàn)內(nèi)容:習(xí)題1.51.8,將所有程序抄寫在作,將所有程序抄寫在作業(yè)本上,并在業(yè)本上,并在TC和和C+兩種環(huán)境中運(yùn)行。兩
35、種環(huán)境中運(yùn)行。實(shí)驗(yàn)?zāi)康模褐饕鞘煜?shí)驗(yàn)?zāi)康模褐饕鞘煜?TC和和C+環(huán)境的使用,環(huán)境的使用,以及對(duì)以及對(duì)C語言程序的基本結(jié)構(gòu)的認(rèn)識(shí)。語言程序的基本結(jié)構(gòu)的認(rèn)識(shí)。(以實(shí)驗(yàn)大綱為準(zhǔn))(以實(shí)驗(yàn)大綱為準(zhǔn))第1章 C語言概述27-Dec-2144說明說明C 程序設(shè)計(jì)同其他程序設(shè)計(jì)一樣,是實(shí)踐性很強(qiáng)的課程。程序設(shè)計(jì)同其他程序設(shè)計(jì)一樣,是實(shí)踐性很強(qiáng)的課程。除了要聽好課,多看教材和課外書外(除了要聽好課,多看教材和課外書外(特別提醒,應(yīng)該仔特別提醒,應(yīng)該仔細(xì)閱讀課本,老師課堂上很多內(nèi)容并沒有介紹細(xì)閱讀課本,老師課堂上很多內(nèi)容并沒有介紹),還需大),還需大量的上機(jī)實(shí)踐才能更好地理解和掌握所學(xué)到的內(nèi)容。一般量的上機(jī)
36、實(shí)踐才能更好地理解和掌握所學(xué)到的內(nèi)容。一般來說,上機(jī)和講課時(shí)間之比應(yīng)不少于來說,上機(jī)和講課時(shí)間之比應(yīng)不少于1:1。但由于目前學(xué)。但由于目前學(xué)校安排的教學(xué)時(shí)數(shù)限制,課內(nèi)時(shí)間將更多的精力用于講課校安排的教學(xué)時(shí)數(shù)限制,課內(nèi)時(shí)間將更多的精力用于講課上,課內(nèi)安排的上機(jī)時(shí)間相對(duì)較少,大家不要因此對(duì)上機(jī)上,課內(nèi)安排的上機(jī)時(shí)間相對(duì)較少,大家不要因此對(duì)上機(jī)的重要性有所誤解。大家應(yīng)在課外再花一定的時(shí)間進(jìn)行的重要性有所誤解。大家應(yīng)在課外再花一定的時(shí)間進(jìn)行C 語言的上機(jī)實(shí)踐,這樣才能學(xué)好該門課。語言的上機(jī)實(shí)踐,這樣才能學(xué)好該門課。上機(jī)實(shí)驗(yàn)的目的有以下幾個(gè)方面:上機(jī)實(shí)驗(yàn)的目的有以下幾個(gè)方面:n驗(yàn)證所編寫的程序的正確性。
37、驗(yàn)證所編寫的程序的正確性。n進(jìn)一步理解教材和課堂授課中介紹的內(nèi)容進(jìn)一步理解教材和課堂授課中介紹的內(nèi)容n熟練地掌握熟練地掌握C 程序開發(fā)環(huán)境的使用,為今后開發(fā)大型軟程序開發(fā)環(huán)境的使用,為今后開發(fā)大型軟件打好基礎(chǔ)。件打好基礎(chǔ)。n學(xué)習(xí)和掌握一般程序的調(diào)試和測(cè)試方法。學(xué)習(xí)和掌握一般程序的調(diào)試和測(cè)試方法。第1章 C語言概述27-Dec-2145關(guān)于實(shí)驗(yàn)關(guān)于實(shí)驗(yàn)上機(jī)前應(yīng)充分做好以下準(zhǔn)備工作:上機(jī)前應(yīng)充分做好以下準(zhǔn)備工作:n復(fù)習(xí)和掌握與本次實(shí)驗(yàn)有關(guān)的教學(xué)內(nèi)容。復(fù)習(xí)和掌握與本次實(shí)驗(yàn)有關(guān)的教學(xué)內(nèi)容。n根據(jù)本次實(shí)驗(yàn)的內(nèi)容,在紙上編寫好準(zhǔn)備上機(jī)調(diào)試的程序,根據(jù)本次實(shí)驗(yàn)的內(nèi)容,在紙上編寫好準(zhǔn)備上機(jī)調(diào)試的程序,并初步檢
38、查無誤。并初步檢查無誤。n準(zhǔn)備好對(duì)程序進(jìn)行測(cè)試的數(shù)據(jù)。準(zhǔn)備好對(duì)程序進(jìn)行測(cè)試的數(shù)據(jù)。n對(duì)每種測(cè)試數(shù)據(jù),給出預(yù)期的程序運(yùn)行結(jié)果。對(duì)每種測(cè)試數(shù)據(jù),給出預(yù)期的程序運(yùn)行結(jié)果。n預(yù)習(xí)實(shí)驗(yàn)步驟,對(duì)實(shí)驗(yàn)步驟中提出的一些問題進(jìn)行思考。預(yù)習(xí)實(shí)驗(yàn)步驟,對(duì)實(shí)驗(yàn)步驟中提出的一些問題進(jìn)行思考。n上機(jī)實(shí)驗(yàn)后,應(yīng)及時(shí)根據(jù)實(shí)驗(yàn)的結(jié)果寫出實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)上機(jī)實(shí)驗(yàn)后,應(yīng)及時(shí)根據(jù)實(shí)驗(yàn)的結(jié)果寫出實(shí)驗(yàn)報(bào)告,實(shí)驗(yàn)報(bào)告應(yīng)包括以下內(nèi)容:報(bào)告應(yīng)包括以下內(nèi)容:n實(shí)驗(yàn)?zāi)康暮蛢?nèi)容。實(shí)驗(yàn)?zāi)康暮蛢?nèi)容。n程序說明,包括程序結(jié)構(gòu)、各模塊的算法(程序說明,包括程序結(jié)構(gòu)、各模塊的算法(N-S 圖表圖表示)。示)。n調(diào)試正確的源程序。調(diào)試正確的源程序。n程序運(yùn)行記錄
39、(包括對(duì)不同測(cè)試數(shù)據(jù)的運(yùn)行結(jié)果)。程序運(yùn)行記錄(包括對(duì)不同測(cè)試數(shù)據(jù)的運(yùn)行結(jié)果)。n針對(duì)實(shí)驗(yàn)步驟中提出的問題,寫出解決辦法及對(duì)運(yùn)行結(jié)果針對(duì)實(shí)驗(yàn)步驟中提出的問題,寫出解決辦法及對(duì)運(yùn)行結(jié)果的分析。的分析。第1章 C語言概述27-Dec-2146怎樣學(xué)習(xí)怎樣學(xué)習(xí)C 語言語言很多同學(xué)對(duì)學(xué)習(xí)程序設(shè)計(jì)語言感到很難,究竟怎樣才能學(xué)好?很多同學(xué)對(duì)學(xué)習(xí)程序設(shè)計(jì)語言感到很難,究竟怎樣才能學(xué)好?這里將我對(duì)程序語言的理解給大家介紹一下這里將我對(duì)程序語言的理解給大家介紹一下提起興趣提起興趣n首先要明確學(xué)習(xí)的目標(biāo),沒有明確的學(xué)習(xí)目標(biāo)就沒有學(xué)習(xí)首先要明確學(xué)習(xí)的目標(biāo),沒有明確的學(xué)習(xí)目標(biāo)就沒有學(xué)習(xí)動(dòng)力。給自己定一個(gè)目標(biāo),比如這次
40、一定通過課程考試,動(dòng)力。給自己定一個(gè)目標(biāo),比如這次一定通過課程考試,或者這個(gè)月學(xué)習(xí)完做個(gè)東西出來等等?;蛘哌@個(gè)月學(xué)習(xí)完做個(gè)東西出來等等。n其次,確定了目標(biāo)之后,要認(rèn)真去做,其次,確定了目標(biāo)之后,要認(rèn)真去做,多上機(jī)操作實(shí)踐多上機(jī)操作實(shí)踐,遇到不懂的要多跟教師和其他同學(xué)交流,千萬不能放棄。遇到不懂的要多跟教師和其他同學(xué)交流,千萬不能放棄。當(dāng)自己編的一段小程序運(yùn)行通過,或攻下一道難題,自己當(dāng)自己編的一段小程序運(yùn)行通過,或攻下一道難題,自己就會(huì)獲得一種成就感,可能還會(huì)很興奮,也就漸漸有了興就會(huì)獲得一種成就感,可能還會(huì)很興奮,也就漸漸有了興趣。趣。n最后,要把所學(xué)的知識(shí)運(yùn)用到實(shí)際問題當(dāng)中,這樣既可以最后
41、,要把所學(xué)的知識(shí)運(yùn)用到實(shí)際問題當(dāng)中,這樣既可以鞏固所學(xué)的知識(shí),不至于完學(xué)了就忘,還可以根據(jù)實(shí)際需鞏固所學(xué)的知識(shí),不至于完學(xué)了就忘,還可以根據(jù)實(shí)際需要拓展知識(shí)面。這樣良性循環(huán),興趣也會(huì)越來越濃。要拓展知識(shí)面。這樣良性循環(huán),興趣也會(huì)越來越濃。第1章 C語言概述27-Dec-2147怎樣學(xué)習(xí)怎樣學(xué)習(xí)C 語言(續(xù))語言(續(xù))學(xué)習(xí)計(jì)算機(jī)語言最好的方法是什么?答曰:學(xué)習(xí)計(jì)算機(jī)語言最好的方法是什么?答曰:讀程序,模仿程序讀程序,模仿程序。n沒錯(cuò),讀程序是學(xué)習(xí)沒錯(cuò),讀程序是學(xué)習(xí)C 語言入門最快,也是最好的方法。不要總是抱語言入門最快,也是最好的方法。不要總是抱著書本逐行啃,而是學(xué)習(xí)它們的例程。著書本逐行啃,而
42、是學(xué)習(xí)它們的例程。 學(xué)習(xí)完每一章,都要認(rèn)真體會(huì)學(xué)習(xí)完每一章,都要認(rèn)真體會(huì)這一章的所有概念,然后不放過這一章中提到的所有例程,仔細(xì)研讀這一章的所有概念,然后不放過這一章中提到的所有例程,仔細(xì)研讀程序,直到每一行都理解了,然后找?guī)讉€(gè)編程題目,最好是和例程類程序,直到每一行都理解了,然后找?guī)讉€(gè)編程題目,最好是和例程類似的或一樣的,自己試圖寫出這段已經(jīng)讀懂的程序,不要以為例程你似的或一樣的,自己試圖寫出這段已經(jīng)讀懂的程序,不要以為例程你已經(jīng)讀懂了,你就可以寫出和它一樣的程序,絕對(duì)不一定,不相信你已經(jīng)讀懂了,你就可以寫出和它一樣的程序,絕對(duì)不一定,不相信你就試一試吧,如果寫不出來,也不要著急,回過頭來再
43、繼續(xù)研究例程,就試一試吧,如果寫不出來,也不要著急,回過頭來再繼續(xù)研究例程,想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到你想想自己為什么寫不出來,然后再去寫這段程序,反反復(fù)復(fù),直到你手到擒來為止。這一過程,就和我們學(xué)習(xí)任何其他語言比如英語和漢手到擒來為止。這一過程,就和我們學(xué)習(xí)任何其他語言比如英語和漢語一樣。我們大家都有體會(huì),我們學(xué)習(xí)一門語言,都是從最基本的語語一樣。我們大家都有體會(huì),我們學(xué)習(xí)一門語言,都是從最基本的語法開始,然后學(xué)習(xí)一些字和詞,再來學(xué)習(xí)一些詞組或句子,然后再用法開始,然后學(xué)習(xí)一些字和詞,再來學(xué)習(xí)一些詞組或句子,然后再用詞組和句子組成一段話,表達(dá)一個(gè)簡單的意思,最后才是寫一篇文章詞組和句子組成一段話,表達(dá)一個(gè)簡單的意思,最后才是寫一篇文章或者是一本書,表達(dá)更復(fù)雜的思想?;蛘呤且槐緯?,表達(dá)更復(fù)雜的思想。n我
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版港口工程保險(xiǎn)合同3篇
- 二零二五版涵洞工程環(huán)保監(jiān)測(cè)合同3篇
- 二零二五版反擔(dān)保合同模板:供應(yīng)鏈金融3篇
- 二零二五年計(jì)時(shí)工勞動(dòng)合同管理與心理關(guān)懷協(xié)議3篇
- 二零二五年度軟件開發(fā)項(xiàng)目合同及其廉潔規(guī)定2篇
- 二零二五版教育SaaS平臺(tái)軟件服務(wù)合同3篇
- 二零二五版粉煤灰運(yùn)輸安全規(guī)范與應(yīng)急預(yù)案編制合同3篇
- 二零二五年度特種飼料原料采購合同模板2篇
- 二零二五年防火墻安全防護(hù)系統(tǒng)集成與維護(hù)合同3篇
- 二零二五年度大數(shù)據(jù)中心建設(shè)與運(yùn)營勞務(wù)分包合同3篇
- 2024版塑料購銷合同范本買賣
- 【高一上】【期末話收獲 家校話未來】期末家長會(huì)
- JJF 2184-2025電子計(jì)價(jià)秤型式評(píng)價(jià)大綱(試行)
- 二年級(jí)下冊(cè)加減混合豎式練習(xí)360題附答案
- 2021年道路交通安全法期末考試試題含答案
- 股東變更情況報(bào)告表
- 自帶藥物治療告知書
- 房產(chǎn)中介門店6S管理規(guī)范
- 吞咽解剖和生理研究
- TSG11-2020 鍋爐安全技術(shù)規(guī)程
- 異地就醫(yī)備案?jìng)€(gè)人承諾書
評(píng)論
0/150
提交評(píng)論