




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計
2020/12/191我們先解決一個問題讓同學們要計算1+2+3+…+100前100個自然數的和,同學們討論一下有幾種方法?2020/12/192同學們能例舉幾種日常生活中見到用程序編寫的東西嗎?這個東西稱為什么?用來編寫程序的東西稱之什么?2020/12/193程序設計語言又分為幾種?高級語言有那幾種?2020/12/194這么多的高級語言中,為什么要學習C語言?2020/12/195學習情境一C語言概述
教學目的:1、了解C語言的產生過程2、掌握C程序結構3、掌握算法概念及算法的表示法4、掌握用VC運行一個C程序。2020/12/196重點:1、掌握C程序的基本結構構成2、學會用VC運行一個C程序難點:算法的N-S圖表示方法教學方法:講授法、演示法、舉例引導、提問2020/12/197任務一程序設計的基本概念
1.1.1C語言的發(fā)展史1.1.2程序設計概述2020/12/198一、C語言的發(fā)展史C語言是在1972年至1973年間由美國的貝爾實驗室的兩個學者以及英國劍橋大學的M.Richards學者等為描述和實現UNIX操作系統(tǒng)而設計的最初的C語言是附屬于UNIX的操作系統(tǒng)環(huán)境,而它的產生卻可以更好地描述UNIX操作系統(tǒng)。時至今日,C語言已獨立于UNIX操作系統(tǒng)。它已成為微型、小型、中型、大型和超大型(巨型)計算機通用的一種程序設計語言。2020/12/199由于C語言自身的優(yōu)點,在其后的十幾年中得到了廣泛的使用,適用于不同機種和不同操作系統(tǒng)的C編譯系統(tǒng)相繼問世。1983年美國國家標準局(ANSI)制定了C語言標準,這個標準不斷完善,并從1987年開始實施ANSI的標準C。1988年,ANSI公布了標準ANSIC。目前,C語言已經能夠在多種操作系統(tǒng)下運行,實用的C語言編譯系統(tǒng)種類繁多,如MicrosoftC、TurboC等2020/12/1910二、程序設計概述1.程序設計的基本概念1)程序用計算機語言描述的算法稱為計算機程序,或簡稱程序。2)程序設計及程序設計語言人類社會中有多種語言交流工具,每種語言又都有它的語法規(guī)則。人和計算機通信需要通過計算機語言。計算機語言是面向計算機的人造語言,是進行程序設計的工具,因此也稱程序設計語言.程序設計語言可以分為機器語言、匯編語言、高級語言。
返回到本章目錄2020/12/1911程序設計一般包含以下幾個部分①確定數據結構②確定算法③編寫程序④調試程序⑤整理文檔資料
返回到本章目錄2020/12/1912任務二C程序的基本結構1.2.1C程序的實例1.2.2輸入輸出函數的簡單介紹1.2.3C程序的基本結構1.2.4C語言的詞匯2020/12/1913一、C程序的實例例1.1一個簡單的C程序。voidmain(){printf("WelcometoBeijing!\n");/*輸出WelcometoBeijing!”!*/}程序的運行結果為:WelcometoBeijing!2020/12/1914討論:通過剛才簡單的C程序,同學們討論總結C程序的特點和結構?2020/12/1915二、C語言的主要特點(1)C語言簡潔、緊湊,使用方便、靈活。(2)C語言是中級語言,同時具備了高級語言和低級語言的特征。(3)C語言是結構化語言,具有結構化的控制語句。(4)C語言具有各種各樣的數據類型。(5)C語言適用范圍廣。(6)生成目標代碼質量高,程序執(zhí)行效率高。2020/12/1916三、C語言的基本結構
函數是C程序的基本結構,一個C程序由一個或多個函數組成,一個C函數由若干條C語句構成,一條C語句由若干基本單詞組成。C函數是完成某個整體功能的最小單位,是相對獨立的模塊。簡單的C程序可能只有一個主函數,而復雜的C程序則可能包含一個主函數和任意多個其他函數,所有C函數的結構都包括三部分:函數名、形式參數和函數體。圖1-1為C程序的一般格式。2020/12/1917
包含文件
子函數類型說明
全局變量定義
main()
{局部變量定義語句序列
}
sub1(形式參數表)
{局部變量定義
語句序列
}
...
...
subn(形式參數表)
{局部變量定義
語句序列
}
圖1-1C程序的一般格式2020/12/1918對上述程序說明如下:(1)main是主函數的函數名,表示這是一個主函數。每一個C源程序都必須有且只有一個主函數main。(2)函數體由大括號{}括起來。上面例子中的程序體只有一個printf輸出語句。printf是C語言中的輸出函數,其功能是把要輸出的內容送到顯示器去顯示。語句中的雙引號用來顯示一個字符串,雙引號內的字符串將按原樣輸出;“\n”是換行符,即在輸出“Hello,Human!”后回車換行。
2020/12/1919練習:如何在TC中調試程序2020/12/1920例1.2一個復雜的C程序。#include<math.h>/*include為文件包含命令*/#include<stdio.h>voidmain()/*主函數*/{doublex,y;/*定義變量*/printf("inputnumber:"); /*輸出字符串“
inputnumber:”*/scanf("%lf",&x);/*輸入變量x的值*/y=cos(x);/*求x的余弦,并把它賦給變量y*/printf("cosineof%lfis%lf\n",x,y);/*顯示程序運算結果*/}程序的運行情況為:inputnumber:1.2↙cosineof1.200000is0.362358本書用↙代表回車2020/12/1921上述程序中:(1)/*……*/表示注釋部分。注釋對編譯和運行不起作用。注釋可以加在程序中的任何位置。(2)在main()之前的兩行語句稱為預處理命令,這里的include稱為文件包含命令,其意義是把尖括號<>或引號“
”內指定的文件包含到本程序來,成為本程序的一部分。被包含的文件通常是由系統(tǒng)提供的,其擴展名為.h,因此也稱為頭文件或首部文件。(3)在本例中,使用了三個庫函數:輸入函數scanf、余弦函數cos、輸出函數printf。cos函數是數學函數,其頭文件為math.h文件,因此在程序的主函數前用include命令包含了math.h。2020/12/1922
說明:scanf和printf是標準輸入輸出函數,其頭文件為stdio.h,在主函數前也用include命令包含了stdio.h文件。C語言的頭文件中包括了各個標準庫函數的函數原型。因此,凡是在程序中調用一個庫函數時,都必須包含該函數原型所在的頭文件。(4)在例題中的主函數體又分為兩部分:說明部分和執(zhí)行部分。①說明部分完成變量的類型說明。C語言規(guī)定,源程序中所有用到的變量都必須先說明,后使用,否則將會出錯。本例中使用了兩個變量x,y,用來表示輸入的自變量和cos函數值。由于cos函數要求這兩個量必須是雙精度浮點型,故用類型說明符double來說明這兩個變量。2020/12/1923②說明部分后的四行為執(zhí)行部分或稱為執(zhí)行語句部分,用以完成程序的功能。執(zhí)行部分的第一行是輸出語句,調用printf函數在顯示器上輸出提示字符串,提示用戶輸入自變量x的值。第二行為輸入語句,調用scanf函數,接受鍵盤上輸入的數并存入變量x中。第三行是調用cos函數并把函數值送到變量y中。第四行是用printf函數輸出變量y的值,即x的余弦值。到此程序全部結束。2020/12/19241.2.2輸入輸出函數的簡單介紹1.格式輸出函數printf2.格式輸入函數scanf2020/12/19251.格式輸出函數printf()格式輸出函數printf()的功能是按指定的格式輸出數據,其一般的調用格式為:
printf(“格式控制字符串”,參數表);其中,printf是函數名,其后括號中的內容為該函數的參數;格式控制字符串用雙引號括起來,用來規(guī)定輸出格式,如%f用來輸出實數,%c用來輸出字符;參數表中包含零個或多個輸出項,這些輸出項可以是實數、變量或表達式,多個輸出項之間用逗號隔開。例如:printf("%d,%d",a,b);用來按十進制整數形式輸出變量a和b2020/12/19262.格式輸入函數scanf格式輸入函數scanf的功能是按指定的格式輸入數據,其一般的調用格式為:
scanf("格式控制字符串",參數表);其中,printf是函數名,其后括號中的內容為該函數的參數:格式控制字符串用雙引號括起來,用來規(guī)定輸入格式,其用法和printf函數中規(guī)定的相同;參數表中至少包含一個輸入項,且必須是變量的地址(變量地址的表示形式是在變量名前加上一個“&”),多個輸入項之間用逗號隔開。例如:scanf("%d%d",&a,&b);用來接收從鍵盤輸入的兩個十進制整數,并分別存放在變量a和b中。2020/12/1927圖1-1中,main為主函數名,sub1()到sunbn()為子函數名,在C程序中,主函數名字是固定的,其他的函數名則可以根據標識符的命名方法任意取名;形式參數是函數調用時進行數據傳遞的主要途徑,當形式參數表中有多個參數時,相互之間用逗號隔開。有的函數可能沒有形式參數;花括號{}擴起來的部分為函數體,用來描述函數的功能,一般函數體由變量定義和完成本函數功能的語句序列組成。程序在執(zhí)行時,無論各個函數的書寫位置如何,總是先執(zhí)行main()函數,再由main()函數調用其他函數,最終終止于main()函數。2020/12/19281.2.4C語言的詞匯
1.標識符2.關鍵字3.運算符4.分隔符5.常量6.注視符2020/12/19291.標識符標識符用來表示程序中使用的變量名、函數名、標號、數組名、指針名、結構體名、共用體名、枚舉常量名以及用戶定義的數據類型名等,除庫函數的函數名由系統(tǒng)定義外,其余都由用戶自定義。C語言規(guī)定,標識符由字母(A~Z,a~z)、數字(0~9)、下劃線(_)組成的字符串,并且其第一個字符必須是字母或下劃線。例如:標識符a,x,x3,BOOK_1,sum5是合法的。而以下標識符是非法的:
①3s以數字開頭。
②s*T出現非法字符*。
③-3x以減號開頭。
④bowy-1出現非法字符-(減號)。2020/12/1930在使用標識符時還必須注意以下幾點:(1)標準C不限制標識符的長度,但它受各種版本的C語言編譯系統(tǒng)限制,同時也受到具體機器的限制。例如在某版本C中規(guī)定標識符前八位有效,當兩個標識符前八位相同時,則被認為是同一個標識符。(2)在標識符中,大小寫是有區(qū)別的。例如BOOK和book是兩個不同的標識符。(3)標識符雖然可由程序員隨意定義,但標識符是用于標識某個量的符號。因此,命名應盡量有相應的意義,以便于閱讀理解,作到“顧名思義”。2020/12/19312.關鍵字關鍵字是由C語言規(guī)定的具有特定意義的字符串,通常也稱為保留字。用戶定義的標識符不應與關鍵字相同。C語言的關鍵字分為以下幾類:(1)類型說明符。用于定義和說明變量、函數或其他數據結構的類型。(2)語句定義符。用于表示一個語句的功能。(3)預處理命令字。用于表示一個預處理命令。2020/12/1932autovolatileswitchsignedshortsizeofdefaultbreakwhiletypedefunionunsignedfloatdocasecharconstcontinueregisterfordoubleelseenumexternstructreturngotoifintlongstaticvoid
表1-1ANSIC標準規(guī)定的關鍵字ANSIC標準規(guī)定的關鍵字有32個,如表1-1所示。2020/12/19333.運算符C語言中的運算符由一個或多個字符組成。運算符與變量、函數一起組成表達式,表示各種運算功能。2020/12/19344.分隔符分隔符用來分隔相鄰的標識符、關鍵字和變量等。C語言中常用的分隔符有逗號、空格、制表符等2020/12/19355.常量C語言中使用的常量可分為數值常量(如12,1.2E2等)、字符常量(如’m’)、字符串常量(如”Human”)、符號常量和轉義常量等多種。2020/12/19366.注視符以“/*”開頭并以“*/”結尾的字符串為C語言的注釋符。注釋可出現在程序中的任何位置,用來提示用戶或解釋程序的意義。程序編譯時,不對注釋作任何處理。2020/12/19371.3C程序的開發(fā)過程1.編輯2.編譯3.連接4.運行2020/12/19381.編輯
一般來說,編輯是指C語言源程序的輸入和修改。使用文本編輯器來創(chuàng)建源代碼的文件,最后以文本文件的形式存放在磁盤上,文件名由用戶自行定義,擴展名一般為.c,例如hello.c,b.c等。許多文本編輯器都可以用來編輯源程序,例如Windows記事本、DOS的EDIT等。2020/12/19392.編譯編譯是編譯器把C語言源程序翻譯成二進制目標程序。目標程序文件的主文件名與源程序的主文件名相同,擴展名為.obj。如果在編譯的過程中出現錯誤,系統(tǒng)會給出“出錯信息”,此時用戶需要回到編輯階段進行修改,直到編譯通過為止。
2020/12/19403.連接編譯成功后的目標程序仍然不能運行,需要用連接程序將編譯過的目標程序和程序中用到的庫函數連接裝配在一起,形成可執(zhí)行的目標程序??蓤?zhí)行文件的主文件名與源程序的主文件名相同,其擴展名為.exe。2020/12/19414.運行
連接后生成的可執(zhí)行文件裝入內存后即可以運行,并輸出運行結果。在很多公用環(huán)境,如:MS-DOS、UNIX和Linux操作平臺中,只要鍵入相應的可執(zhí)行文件名即可運行一個程序。在其他環(huán)境下,例如Windows環(huán)境下可以通過選擇菜單中的選項或按下特殊鍵來編輯并執(zhí)行C程序。所產生的程序還可以通過雙擊文件名或圖標直接從操作系統(tǒng)運行。如果在運行程序的過程中得不到預期的結果,就要重復進行編輯、編譯、連接、運行四個步驟,如圖1-2所示。2020/12/1942
圖1-2C程序的開發(fā)過程2020/12/19431.4C程序的集成開發(fā)環(huán)境1.4.1TurboC2.0的啟動1.4.2TurboC的集成開發(fā)環(huán)境1.4.3確立TC工作環(huán)境1.4.4調試C程序的步驟2020/12/19441.4.1TurboC2.0的啟動假定已經將TurboC2.0安裝到了計算機中,位置在C盤的TC目錄下;同時采用WindowsXP操作系統(tǒng)(對Windows98和Windows2000的用戶也同樣適用)。啟動TurboC2.0的步驟如下:(1)在WindowsXP窗口左下角選擇【開始】|【所有程序】|【附件】|【命令提示符】命令,打開【命令提示符】窗口。2020/12/1945
圖1-3【命令提示符】窗口(2)在提示光標處輸入:cd\,回車后將回到C盤的根目錄,如圖1-3所示。2020/12/1946(3)在窗口中輸入:
c:\>cdtc↙
c:\tc>tc↙
打開C程序的開發(fā)環(huán)境——TurboC2.0,如圖1-4所示。圖1-4TurboC2.0開始界面2020/12/19471.4.2TurboC的集成開發(fā)環(huán)境進入TurboC2.0集成開發(fā)環(huán)境后,屏幕中間顯示了一些版本等方面的信息,按鍵盤上的ESC鍵可以關閉該窗口。圖1-4所示的集成環(huán)境分為四個部分:最頂行為“主菜單”,中間是編輯窗口和編譯信息窗口,最底行為功能鍵提示行。這四個窗口構成了TurboC2.0的主屏幕,程序的編輯、編譯、調試、連接以及運行都將在這個主屏幕中進行。通過主菜單可以選擇TurboC集成環(huán)境所提供的各項功能。同時,使用鍵盤上的↑、↓、←、→(上、下、左、右)鍵可以選擇菜單條中所需要的菜單項,被選中的項反向顯示。下面對經常使用的幾個菜單進行簡單的介紹。2020/12/19481.文件(File)菜單
文件菜單提供存取文件的功能,含有9個下拉子菜單,分別如下:Load裝入文件Pick顯示最近裝入過的最后9個文件的列表New編輯新文件,文件名為NONAME.CSave將正在編輯的文件存盤Writeto將正在編輯的文件改名存盤Directory顯示當前工作目錄的內容Changedir顯示當前工作目錄的路徑名,允許把它改為另一個名字OSshell暫時退回到DOS環(huán)境,鍵入EXIT命令返回TurboCQuit退出TurboC,返回DOS系統(tǒng)2020/12/19492.編輯(Edit)菜單編輯菜單提供輸入和編輯程序的功能,不含下拉子菜單。2020/12/19503.運行(Run)菜單運行菜單提供運行和調試程序的功能,含有6個下拉子菜單,常用的有:Run編譯、連接和運行正在編輯的源程序Userscreen查看程序運行時所產生的輸出屏幕2020/12/19514.編譯(Compile)菜單編譯菜單提供編譯和連接目標程序的功能,含有6個下拉子菜單,常用的有:MakeEXEfile直接將源程序編譯和連接成可執(zhí)行文件
LinkEXEfile連接當前的OBJ文件和庫文件
PrimaryCfile指定待編譯的主文件,而不是當前編輯的文件
Getinfo顯示當前對話框的信息2020/12/19525.可選項(Options)菜單可選項菜單提供設定集成環(huán)境操作方式的功能,包含7個下拉子菜單,常用的有:Compiler選擇編譯程序的存儲模式Environment更改集成環(huán)境的存儲模式Directories設定標題文件、庫文件、可執(zhí)行文件所在的目錄2020/12/19531.4.3確定TurboC的工作環(huán)境一般在安裝TurboC時,如果用戶不作另外的指定,系統(tǒng)會按照默認的方案建立一個目錄C:\TC用來存放TurboC的系統(tǒng)文件,同時在TC目錄下建立一個INCLUDE子目錄用來存放“包含文件”,另外建立一個LIB子目錄用來存放庫函數。安裝TurboC時,如果用戶不采用系統(tǒng)提示的子目錄名,而想自己另外指定子目錄名,則應當通知TurboC系統(tǒng),否則在調試程序時會提示找不到指定的文件。當這種情況發(fā)生時,可以采用如下的操作解決這個問題:2020/12/1954圖1-5設置TurboC系統(tǒng)的工作環(huán)境(1)
(1)打開TurboC的主界面后,按鍵盤上的快捷鍵Alt+O,在出現的Options下拉菜單中,用↑和↓鍵選擇【Directories】項,如圖1-5所示。2020/12/1955圖1-6設置TurboC系統(tǒng)的工作環(huán)境(2)(2)按回車后彈出如圖1-6所示的窗口。2020/12/1956
下面對圖1-6所示窗口中的各項含義進行介紹:①Includedirectories:C\TC\INCLUDEInstall建立的“包含文件”默認目錄。②Librarydirectories:C\TC\LIBInstall建立的庫文件默認目錄。③Outputdirectory:存放*.exe和*.obj文件的目錄。④TurboCdirectory:C\TCInstall建立的默認目錄。2020/12/1957從圖1-6可以看出并未指定某一具體的目錄,需要我們來指定。如果不指定,系統(tǒng)就會將它保存在當前工作目錄中。此時選中第3行【Outputdirectory:】后,按回車鍵,將彈出一個“輸出文件目錄”對話框,在此框內輸入“C:\TC\C_OUT”,如圖1-7所示,它表示要將.obj文件和.exe文件保存在“C:\TC\C_OUT”子目錄中。2020/12/1958
圖1-7保存文件到指定頂目錄2020/12/1959按回車鍵后,對話框消失,此時發(fā)現“C:\TC\C_OUT”已經加入到第3行中,表示已經進行了該項的設置。(4)進行了以上設置后,需要將這些信息保存起來。具體操作為:在上述設置完畢后按Esc鍵返回【Options】菜單,然后選擇【SaveOptions】菜單項,并按回車鍵,在彈出的如圖1-8所示的“配置文件”對話框內輸入“C:\TC\TCCONFIG.TC”,按回車鍵后建立配置文件完成。2020/12/1960
圖1-8保存所做設置2020/12/19611.4.4
調試C程序的步驟以“編寫一個程序,用于在屏幕上輸出兩個數之和”為例,講解調試程序的步驟。(1)編輯源文件。進入TurboC2.0集成開發(fā)環(huán)境后,在【File】菜單下選擇【New】,系統(tǒng)的光標處于等待輸入C源程序狀態(tài),輸入如下的程序:main(){intx,y,sum;printf("inputtwonumbers:\n");scanf("%d,%d",&x,&y);
sum=x+y;
printf("sumis%d\n",sum);}2020/12/1962
圖1-9在TurboC2.0主窗口中輸入源程序輸入源程序后的屏幕如圖1-9所示。說明:源程序輸入后必須進行保存,保存的方法是在【File】菜單下選擇【Save】選項,并在彈出的保存文件對話框中輸入文件名“sum.c”,選擇【OK】命令按鈕即可。按鍵盤上的F2鍵也可以對文件進行保存。2020/12/1963(2)編譯源程序。編譯源程序的方法有兩種:方法一:通過菜單實現。具體是:按快捷鍵Alt+c打開【Compile】菜單,在其下拉菜單中選擇【CompiletoOBJ】選項,則進行編譯,得到一個后綴為.obj的目標程序。方法二:直接按Alt+F9快捷鍵,同樣可以得到一個目標程序。對源程序進行編譯以后,在屏幕上會出現一對話框,顯示編譯或連接時有無錯誤和有幾個錯誤,如圖1-10所示。2020/12/1964
圖1-10
編譯信息對話框
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 陜西省延安市實驗中學2025年高考適應性考試語文試卷含解析
- 微生物檢驗技術領域的試題及答案鏈接
- 2025年證券從業(yè)資格證技能評估試題及答案
- 2024-2025學年江西省九江市湖口二中高三第三次測評語文試卷含解析
- 銀行從業(yè)資格考試面對高壓力環(huán)境的應對方式試題及答案
- 注冊會計師考試的時間管理技巧與試題及答案
- 許昌市重點中學2024-2025學年高三第一次模擬考試語文試卷含解析
- 微生物檢驗對新產品研發(fā)的影響試題及答案
- 股票市場的非理性現象考題及答案
- 理解職業(yè)素養(yǎng)對注冊會計師考試的影響與試題及答案
- 《英語委婉語與忌語》PPT課件.ppt
- 地域文化教學大綱(修訂本)
- 通用航空產業(yè)園項目商業(yè)計劃書范文參考
- 中國書法演變史
- 工商企業(yè)管理畢業(yè)論文范文
- 調查問卷設計-課件PPT
- 井下電纜著火應急演練預案
- APP開發(fā)合作協議通用版
- 小學數學 五進制
- 勞動合同續(xù)簽評估表
- 秦皇島市住房公積金提取申請書
評論
0/150
提交評論