c語(yǔ)言課件 第1章學(xué)習(xí)資料_第1頁(yè)
c語(yǔ)言課件 第1章學(xué)習(xí)資料_第2頁(yè)
c語(yǔ)言課件 第1章學(xué)習(xí)資料_第3頁(yè)
c語(yǔ)言課件 第1章學(xué)習(xí)資料_第4頁(yè)
c語(yǔ)言課件 第1章學(xué)習(xí)資料_第5頁(yè)
已閱讀5頁(yè),還剩43頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

高級(jí)語(yǔ)言程序設(shè)計(jì)(c)計(jì)算機(jī)系統(tǒng)硬件軟件系統(tǒng)軟件

程序設(shè)計(jì)語(yǔ)言與語(yǔ)言處理程序應(yīng)用軟件(如軟件包、數(shù)據(jù)庫(kù)QQ等)機(jī)器語(yǔ)言:0、1匯編語(yǔ)言:助記符高級(jí)語(yǔ)言:人性化C、fortran、C++操作系統(tǒng):如windows數(shù)據(jù)庫(kù)系統(tǒng)網(wǎng)絡(luò)系統(tǒng)主機(jī)輸入設(shè)備輸出設(shè)備運(yùn)算器控制器CPU存儲(chǔ)器預(yù)備知識(shí)一、課程內(nèi)容

要讓計(jì)算機(jī)按照人們的愿望工作,必須由人們事先編制、調(diào)試好程序,并輸入到計(jì)算機(jī),讓計(jì)算機(jī)執(zhí)行程序才能產(chǎn)生相應(yīng)的操作結(jié)果。程序:使用語(yǔ)言給計(jì)算機(jī)的一組指令序列。

程序設(shè)計(jì)(Programming):是指設(shè)計(jì)、編制、調(diào)試程序的方法和過(guò)程。

程序設(shè)計(jì)語(yǔ)言:用來(lái)書(shū)寫(xiě)計(jì)算機(jī)程序的語(yǔ)言。分機(jī)器語(yǔ)言、匯編語(yǔ)言、高級(jí)語(yǔ)言。

C語(yǔ)言是一門(mén)高級(jí)程序設(shè)計(jì)語(yǔ)言。類似人類語(yǔ)言,語(yǔ)言的基礎(chǔ)是一組記號(hào)和一組規(guī)則。課程介紹C語(yǔ)言程序:#include<math.h>main(){floatx;x=56+2*sqrt(24)/(85-34);printf(“%f”,x);}

算式:舉例

本課程主要內(nèi)容:學(xué)習(xí)用計(jì)算機(jī)解決問(wèn)題的一般方法,學(xué)習(xí)程序設(shè)計(jì)(算法)的思路和基本方法,學(xué)習(xí)C語(yǔ)言基本概念、語(yǔ)法結(jié)構(gòu)、數(shù)據(jù)類型。學(xué)習(xí)閱讀、設(shè)計(jì)、編寫(xiě)、調(diào)試C程序(熟練使用

Turboc或visualc++

工具)既要掌握概念,又要?jiǎng)邮志幊?,還要上機(jī)調(diào)試運(yùn)行。程序設(shè)計(jì):抽象數(shù)據(jù)、

對(duì)數(shù)據(jù)進(jìn)行加工(算法)二、課程性質(zhì)本課程是專業(yè)基礎(chǔ)課,為后面的編程類課程打下學(xué)習(xí)基礎(chǔ),為其他課程提供實(shí)現(xiàn)工具。對(duì)通信、電子、信息、計(jì)算機(jī)專業(yè)和其他大部分理工類專業(yè)來(lái)說(shuō)是一門(mén)必修的課程。為后續(xù)專業(yè)課、后續(xù)的軟件設(shè)計(jì)以及未來(lái)的就業(yè)打下良好基礎(chǔ)。對(duì)本專業(yè)同學(xué)講,本課程尤為重要,因?yàn)槲覀儚氖碌墓ぷ鲿?huì)牽涉到硬件底層,這是C語(yǔ)言的優(yōu)勢(shì)。很多單位筆試就考C語(yǔ)言拿到計(jì)算機(jī)二級(jí)等級(jí)證書(shū)三、參考資料與課時(shí)安排

參考書(shū)C程序設(shè)計(jì)題解與上機(jī)指導(dǎo)(第三版)

全國(guó)、江蘇計(jì)算機(jī)等級(jí)考試二級(jí)相關(guān)教程……一些習(xí)題集參考視頻石油大學(xué)曾怡吉林大學(xué)康輝課時(shí)安排授課:46學(xué)時(shí)上機(jī):18學(xué)時(shí)四、課程要求

課前做好預(yù)習(xí)保持課堂安靜,認(rèn)真聽(tīng)講、思考上課、上機(jī)考勤,3次缺席,按不及格處理作業(yè)必須獨(dú)立、按時(shí)完成重視上機(jī)實(shí)踐,有效利用寶貴的上機(jī)時(shí)間盡可能地把作業(yè)也上機(jī)調(diào)試通過(guò)。課堂上機(jī)時(shí)間有限,多利用課后時(shí)間到學(xué)校機(jī)房五、考核期末:閉卷、筆試平時(shí)成績(jī)15%+實(shí)驗(yàn)成績(jī)15%+期末考試70%第一章C語(yǔ)言概述C語(yǔ)言發(fā)展歷史C語(yǔ)言特點(diǎn)簡(jiǎn)單的C語(yǔ)言程序介紹C程序上機(jī)步驟產(chǎn)生背景:解決早期操作系統(tǒng)(包括UNIX)用匯編語(yǔ)言可讀性和移植性差的缺點(diǎn)。希望找到帶有低級(jí)語(yǔ)言功能(對(duì)硬件操作)的高級(jí)語(yǔ)言。產(chǎn)生過(guò)程時(shí)間:1972~1973地點(diǎn):美國(guó)貝爾實(shí)驗(yàn)室目的:對(duì)UNIX操作系統(tǒng)90%匯編改寫(xiě),第5版設(shè)計(jì)人:Ken.Thompson和Dennis.M.RitchieC語(yǔ)言和UNIX是一個(gè)孿生兄弟,相互促進(jìn)發(fā)展。

C標(biāo)準(zhǔn)1978年標(biāo)準(zhǔn)C:K&R合著《TheCProgrammingLanguage》83ANSIC:1983年,ANSI結(jié)合各個(gè)版本,制定新的標(biāo)準(zhǔn)C89:1989年,ANSI公布了新的標(biāo)準(zhǔn)C90:1990年,國(guó)際標(biāo)準(zhǔn)組織ISO接納C89

目前流行的C編譯系統(tǒng)大多是以C89為基礎(chǔ)開(kāi)發(fā)的。§1.1C語(yǔ)言的起源與發(fā)展

C語(yǔ)言之父(1943-)NewOrleans,USA

B,C,UNIX

TuringAward(1983)(1941-)York,USA

C,UNIX

TuringAward(1983)

§1.2

C語(yǔ)言的特點(diǎn)(1)語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。

32個(gè)關(guān)鍵字、9種控制語(yǔ)句,程序形式自由(2)運(yùn)算符豐富。34種運(yùn)算符(3)數(shù)據(jù)類型豐富,具有現(xiàn)代語(yǔ)言的各種數(shù)據(jù)結(jié)構(gòu)。(4)具有結(jié)構(gòu)化的控制語(yǔ)句,完全模塊化(函數(shù))和結(jié)構(gòu)化的語(yǔ)言。(5)目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。只比匯編程序生成的目標(biāo)代碼效率低10%-20%。(6)程序可移植性好(與匯編語(yǔ)言比)?;旧喜蛔鲂薷木湍苡糜诟鞣N型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。(7)兼有高級(jí)和低級(jí)語(yǔ)言的特點(diǎn)(高級(jí)語(yǔ)言中的低級(jí)語(yǔ)言)。允許直接訪問(wèn)物理地址,能進(jìn)行位操作,能實(shí)現(xiàn)匯編語(yǔ)言的大部分功能,可直接對(duì)硬件進(jìn)行操作。一般高級(jí)語(yǔ)言不具備。(8)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。靈活,容易出錯(cuò);

是程序員語(yǔ)言,有一定基礎(chǔ)后,可編出質(zhì)量高的語(yǔ)言。

附錄B(P365):32個(gè)關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile9種控制語(yǔ)句:

if()~else~for()~while()~do~while()continuebreakswitchgotoreturn34種運(yùn)算符(附錄CP365):算術(shù)運(yùn)算符:+-*/%++--關(guān)系運(yùn)算符:<<===>>=!=邏輯運(yùn)算符:!&&||位運(yùn)算符:<<>>~|^&賦值運(yùn)算符:=及其擴(kuò)展條件運(yùn)算符:?:逗號(hào)運(yùn)算符:,指針運(yùn)算符:*&求字節(jié)數(shù):sizeof強(qiáng)制類型轉(zhuǎn)換:(類型)分量運(yùn)算符:.->下標(biāo)運(yùn)算符:[]其它:()-C數(shù)據(jù)類型基本類型構(gòu)造類型指針類型空類型void定義類型typedef數(shù)值類型字符類型char枚舉類型enum整型實(shí)型單精度型float雙精度型double短整型short長(zhǎng)整型long整型int數(shù)組結(jié)構(gòu)體struct共用體union§1.3簡(jiǎn)單的C語(yǔ)言程序介紹/*文件包含*//*主函數(shù)*//*函數(shù)體開(kāi)始*//*輸出語(yǔ)句*//*函數(shù)體結(jié)束*/

說(shuō)明:main-主函數(shù)名,void-函數(shù)類型每個(gè)C程序須有1個(gè)主函數(shù)main,()不可丟,void返回值類型{}是函數(shù)開(kāi)始和結(jié)束的標(biāo)志,不可省每個(gè)C語(yǔ)句以分號(hào)結(jié)束使用標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)應(yīng)在程序開(kāi)頭一行寫(xiě):

#include<stdio.h>大小寫(xiě)有區(qū)別,C程序必須用小寫(xiě)字母書(shū)寫(xiě)。例1.1顯示“Helloworld!”#include<stdio.h>void

main(){

printf(“Helloworld!\n");}例1.2求兩數(shù)之和

#include<stdio.h>

voidmain()

/*求兩數(shù)之和*/

{

inta,b,sum;

/*聲明,定義變量為整型*/

/*以下3行為C語(yǔ)句*/

a=10;b=24;

sum=a+b;

printf(″sumis%d\n″,sum);

}說(shuō)明:

/*……*/表示注釋。注釋只是給人看的,對(duì)編譯和運(yùn)行不起作用。所以可以用漢字或英文字符表示,可以出現(xiàn)在一行中的最右側(cè),也可以單獨(dú)成為一行。輸出一行信息:sumis34運(yùn)行結(jié)果:sum=34預(yù)處理命令例1.2求兩數(shù)之和(用函數(shù)調(diào)用)#include<stdio.h>/*主函數(shù)*/voidmain(){inta,b,sum;intadd(int,int);

a=10;b=24;

sum=add(a,b);printf(”sum=%d\n",sum);}函數(shù)調(diào)用語(yǔ)句函數(shù)定義語(yǔ)句說(shuō)明:本程序包括main和被調(diào)用函數(shù)add兩個(gè)函數(shù)。add函數(shù)的作用是求變量x、變量y的和并賦給變量z。

return語(yǔ)句將z的值返回給主調(diào)函數(shù)main。函數(shù)/*add函數(shù)計(jì)算x,y的和*/intadd(intx,inty){intz;z=x+y;

return(z);}函數(shù)聲明語(yǔ)句例1.3求2個(gè)數(shù)中較大者。

#include<stdio.h>

voidmain()

/*主函數(shù)*/

{

intmax(intx,inty);

/對(duì)被調(diào)用函數(shù)max的聲明*/

inta,b,c;

/*定義變量a、b、c*/

scanf(″%d,%d″,&a,&b);

/*輸入變量a和b的值*/

c=max(a,b);

/*調(diào)用max函數(shù),將得到的值賦給c*/

printf(″max=%d\\n″,c);

/*輸出c的值*/

}程序運(yùn)行情況如下:8,5↙(輸入8和5賦給a和b)max=8(輸出c的值)intmax(intx,inty))

{intz;if(x>y)z=x;elsez=y;

return(z);}

說(shuō)明:本程序包括main和被調(diào)用函數(shù)max兩個(gè)函數(shù)。max函數(shù)的作用是將x和y中較大者的值賦給變量z。return語(yǔ)句將z的值返回給主調(diào)函數(shù)main。1.3.1C程序的結(jié)構(gòu)特點(diǎn)和書(shū)寫(xiě)格式歸納:1、函數(shù)與主函數(shù)(1)函數(shù)是C程序的基本構(gòu)件,程序由1個(gè)或多個(gè)函數(shù)組成。(2)必須有且只能有一個(gè)主函數(shù)main()

(3)程序執(zhí)行從main開(kāi)始,在main中結(jié)束,與main函數(shù)的位置無(wú)關(guān),其它函數(shù)通過(guò)嵌套調(diào)用得以執(zhí)行。2、一個(gè)函數(shù)由兩部分組成:

(1)函數(shù)的首部:例1.3中max函數(shù)首部intmax(intx,inty)

(2)函數(shù)體:花括號(hào)內(nèi)的部分。若一個(gè)函數(shù)有多個(gè)花括號(hào),則最外層的一對(duì)花括號(hào)為函數(shù)體的范圍。函數(shù)體包括兩部分:聲明部分:inta,b,c;可缺省執(zhí)行部分:由若干個(gè)語(yǔ)句組成??扇笔?/p>

注意:函數(shù)體的聲明部分和執(zhí)行部分都可缺省,例如:空函數(shù)

voiddump(){}3、c語(yǔ)句(1)C程序由一條條語(yǔ)句組成。一行一般寫(xiě)一條語(yǔ)句;(2)每個(gè)語(yǔ)句和數(shù)據(jù)聲明的最后必須有一個(gè);(3)C語(yǔ)言本身沒(méi)有輸入輸出語(yǔ)句。輸入和輸出的操作是由庫(kù)函數(shù)scanf和printf等函數(shù)來(lái)完成的。4、編譯預(yù)處理命令

#開(kāi)頭的:編譯時(shí)在其他語(yǔ)句編譯前預(yù)先處理,如#include<stdio.h>5、/*……*/表示注釋,不產(chǎn)生編譯代碼。(1)注釋便于閱讀、方便別人和自己(2)用于調(diào)試時(shí)起屏蔽某段程序作用。main(){

inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}6、優(yōu)秀程序員的素質(zhì)之一:使用縮進(jìn)同級(jí)別{}對(duì)齊,有足夠的注釋有合適的空行鋸齒形書(shū)寫(xiě)格式一、運(yùn)行C程序的步驟1、編輯上機(jī)輸入與編輯源程序,擴(kuò)展名為.c2、編譯對(duì)源程序進(jìn)行編譯生成目標(biāo)文件,擴(kuò)展名為.obj3、鏈接目標(biāo)文件與庫(kù)函數(shù)和其他目標(biāo)文件鏈接生成可執(zhí)行文件,擴(kuò)展名為.exe4、運(yùn)行運(yùn)行目標(biāo)程序§1.4運(yùn)行C程序的步驟和方法編輯鏈接編譯執(zhí)行程序代碼的錄入,生成源程序*.c語(yǔ)法分析查錯(cuò),翻譯生成目標(biāo)程序*.obj與其它目標(biāo)程序或庫(kù)鏈接裝配,生成可執(zhí)行程序*.exe二、上機(jī)運(yùn)行C程序的方法

可以用不同的編譯系統(tǒng)對(duì)C程序進(jìn)行操作,目前使用的大多數(shù)C編譯系統(tǒng)都是集成環(huán)境(IDE)的。常用的有TurboC2.0、VisualC++等參閱實(shí)驗(yàn)和習(xí)題指導(dǎo)書(shū):

《C語(yǔ)言設(shè)計(jì)題解與上機(jī)指導(dǎo)》譚浩強(qiáng)編

《C語(yǔ)言課程程序設(shè)計(jì)基礎(chǔ)實(shí)驗(yàn)教程》廖雷主編演示軟件使用工具1、TurboC集成開(kāi)發(fā)環(huán)境的使用TurboC提供兩種編輯、編譯、鏈接和運(yùn)行C程序的方法集成開(kāi)發(fā)環(huán)境:即編輯、編譯、鏈接和運(yùn)行C程序的這些功能都完整的組件

在TurboC系統(tǒng)內(nèi),用戶通過(guò)一個(gè)簡(jiǎn)明的界面來(lái)訪問(wèn)。

(快速、高效、易學(xué))2.命令行編輯器:需要逐行輸入命令啟動(dòng)TurboC:在WINDOS下,雙擊我的電腦在c盤(pán)或其它盤(pán)上找到TurboC或TC圖標(biāo)并雙擊它,再雙擊TC.exe文件。在DOS提示符下鍵入:TC退出TurboC:在TC環(huán)境中按:Alt+X或File--ExitTurboC2.0的上機(jī)操作方法建立一個(gè)新文件

1.按F10,進(jìn)入主菜單,控制光標(biāo)選中FILE2.回車,進(jìn)入FILE的子菜單

3.按光標(biāo)控制鍵↓,選中“NEW”4.回車,進(jìn)入編輯窗口,文件名被自動(dòng)命名為“noname.c”TurboC2.0的上機(jī)操作方法編輯源程序逐個(gè)輸入字符刪除一個(gè)字符:按delete鍵插入字符插入一行:Ctrl+n刪除一行:Ctrl+y刪除一個(gè)單詞:Ctrl+t合行:回車鍵(Enter)定義塊首:Ctrl+kb;定義塊尾:Ctrl+kk刪除一個(gè)塊:Ctrl+ky復(fù)制一個(gè)塊:Ctrl+kc移動(dòng)一個(gè)塊:Ctrl+kvTurboC2.0的上機(jī)操作方法存盤(pán)不改文件名:F10FILESave(F2)回車改文件名:F10FILEWriteTo

回車輸入新的文件名TurboC2.0的上機(jī)操作方法調(diào)入原有的文件F10→FILE→Load(F3)

顯示的是上次打開(kāi)的文件名,在其中輸入所需的文件名即可。選擇文件名

Load(F3)→*.c→回車從本次用過(guò)的文件名中查找

FILE→Pick:顯示的是本次上機(jī)剛剛調(diào)用過(guò)的文件名,縮小了查找范圍。TurboC2.0的上機(jī)操作方法編譯:按

F9

鍵完成編譯、鏈接、運(yùn)行:Ctrl+F9看運(yùn)行結(jié)果:Alt+F5程序調(diào)試:實(shí)驗(yàn)指導(dǎo)書(shū)P6

單步跟蹤調(diào)試:F8---Stepover

增加變量值監(jiān)視窗口:Ctrl+F7---AddWatch

TurboC2.0的上機(jī)操作方法TurboC程序的開(kāi)發(fā)過(guò)程:(1)啟動(dòng)TurboC(2)輸入源程序(3)源程序存盤(pán)(4)編譯、鏈接、運(yùn)行程序:Ctrl+F9(5)若編譯有錯(cuò),改錯(cuò),再按Ctrl+F9(6)看程序結(jié)果:

Alt+F5(7)若程序結(jié)果有錯(cuò),重復(fù)(5)(8)程序結(jié)果正確,結(jié)束。TC的使用的演示:小結(jié):

C語(yǔ)言歷史/特點(diǎn)/格式和結(jié)構(gòu)特點(diǎn)/開(kāi)發(fā)過(guò)程工具2:VC++6.0的使用1.安裝VC++6.0和進(jìn)入VC++6.0集成環(huán)境

(1)VisualC++6.0適用于Windows環(huán)境。首先在所用的計(jì)算機(jī)上安裝VisualC++6.0系統(tǒng)。安裝完后,雙擊VisualC++6.0圖標(biāo),就能進(jìn)入VC++6.0集成環(huán)境。(2)在VC++主窗口的頂部是VC++的主菜單欄。其中包含9個(gè)項(xiàng)∶FileEditViewInsertProjectBuildToolswindowsHelp;主窗口的左側(cè)是項(xiàng)目工作區(qū)窗口(用來(lái)顯示所設(shè)定的工作區(qū)的信息),右側(cè)是程序編輯窗口(用來(lái)輸入和編輯源程序)。2.輸入和編輯源程序(1)新建一個(gè)源程序

①在VC++主窗口的主菜單欄中選擇“File”,然后選擇“New”

單擊屏幕上出現(xiàn)的“New”對(duì)話框上方的“Files”,在其下拉菜單中選擇“C++SourceFile”項(xiàng);然后在對(duì)話框右半“Location”文本框中輸入準(zhǔn)備編輯的源程序文件的存儲(chǔ)路徑(假定D:\cc);在其上方的File(文件)文本框中輸入準(zhǔn)備編輯的源程序文件的名字(輸入c1-1.c)。②輸入和編輯源程序單擊“OK”按鈕后,回到VC++主窗口程序,編輯窗口已激活,即可輸入和編輯源程序。在輸入過(guò)程中如發(fā)現(xiàn)有錯(cuò)誤,可以利用全屏幕編輯方法進(jìn)行修改編輯。

③源程序的保存檢查無(wú)誤后,在主菜單欄中選擇“File”(文件),并在其下拉菜單中選擇“Save”(保存)項(xiàng)說(shuō)明:

VC++6.0可以編譯后綴為.c的C源程序,也可以編譯后綴為.cpp的C++源程序。

(2)打開(kāi)一個(gè)已有的程序

①在“我的電腦”中

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論