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

下載本文檔

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

文檔簡介

C語言程序設(shè)計第一章引言課程目標C語言的基本概念熟悉TurboC的上機操作環(huán)境多上機實踐會讀、會編、會調(diào)試C語言2目錄C語言發(fā)展歷史C語言特點簡單C語言程序C程序格式和結(jié)構(gòu)特點C程序的執(zhí)行和集成開發(fā)環(huán)境31.1C語言發(fā)展歷史

什么是計算機程序?

程序:一組計算機能識別和執(zhí)行的指令

只要讓計算機執(zhí)行這個程序,計算機就會自動地、有條不紊地進行工作

計算機的一切操作都是由程序控制的,離開程序,計算機將一事無成41.1C語言發(fā)展歷史

程序設(shè)計語言的發(fā)展程序設(shè)計是數(shù)據(jù)被加工的過程:結(jié)構(gòu)化語言與非結(jié)構(gòu)化語言機器語言匯編語言高級語言面向過程面向?qū)ο驝PU指令系統(tǒng),由面向機器的語言0、1序列構(gòu)成的指令碼組成客觀世界可以分類,對象是類的實例如:10000000用助記符號描述的指令系統(tǒng)加自然語言和數(shù)學語言對象是數(shù)據(jù)和方法的封裝10010000如ADDA,B減程序設(shè)計關(guān)鍵是定義類,并由類派生對像對象間通過發(fā)送和接受消息發(fā)生聯(lián)系51.1C語言發(fā)展歷史

產(chǎn)生背景:最初的C語言只是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計的。具有多種數(shù)據(jù)類型

產(chǎn)生過程BCPL語言B語言C語言?時間:1972~1973?地點:美國貝爾實驗室?目的:UNIX操作系統(tǒng)?設(shè)計人:Ken.Thompson和Dennis.M.Ritchie精練、接近硬件,但過于簡單,無數(shù)據(jù)類型

C標準?標準C:K&R合著《TheCProgrammingLanguage》?ANSIC:1983年?87ANSIC:1987年61.2C語言特點

語言簡潔、緊湊、靈活

運算符豐富

數(shù)據(jù)結(jié)構(gòu)類型豐富

具有結(jié)構(gòu)化的控制語句

語法限制不太嚴格,程序設(shè)計自由度大

直接訪問物理地址,直接操作硬件

生成目標代碼質(zhì)量高

可移植性好>>>>>><>71.2C語言特點32個關(guān)鍵字:(由系統(tǒng)定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumifintshortsignedsizeofswitchtypedefvolatilewhileexternfloatforgotolongregisterreturnstaticstructunsignedunionvoid<81.2C語言特點9種控制語句if()~else~for()~while()~do~while()continuebreakswitchgotoreturn返回91.2C語言特點34種運算符:算術(shù)運算符:+-關(guān)系運算符:<<===>>=!=邏輯運算符:!&&||位運算符賦值運算符:=及其擴展條件運算符:?:逗號運算符:,指針運算符:*&求字節(jié)數(shù)強制類型轉(zhuǎn)換:(類型)分量運算符:.->下標運算符:[]其它*/%++--:<<>>~|^&:sizeof返回:()-101.2C語言特點C數(shù)據(jù)類型:短整型short整型整型int長整型long單精度型float雙精度型double數(shù)值類基本類型型字符類型char浮點型數(shù)組結(jié)構(gòu)體struct共用體union枚舉類型enum構(gòu)造類型指針類型:能用來實現(xiàn)各種復(fù)雜的數(shù)據(jù)結(jié)構(gòu)(如鏈表、樹、棧等)的運算??疹愋蛌oid定義類型typedef返回111.2C語言特點2022/4/12

對數(shù)組下標越界不做檢查

對變量的類型使用比較靈活,例如,整型量與字符型數(shù)據(jù)可以通用

C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查返回121.2C語言特點2022/4/12

C的編譯系統(tǒng)簡潔,很容易移植到新系統(tǒng)

在新系統(tǒng)上運行時,可直接編譯“標準鏈接庫”中的大部分功能,不需要修改源代碼

幾乎所有計算機系統(tǒng)都可以使用C語言返回131.3簡單的C語言程序介紹/*example1.1Sayhellototheworld#include<stdio.h>main(){printf(”HelloWorld”);}141.3簡單的C語言程序介紹/*example1.2calculatethecos(x)*/#include<stdio.h>#include<math.h>main(){doublex,s;printf(”inputnumber”);scanf(“%lf”,&x);s=cos(x);printf(”cos(%lf)is%if\n",x,s);}151.3簡單的C語言程序介紹/*example1.3calculatethesumofaandb*/#include<stdio.h>/*Thisisthemainprogram*/main(){inta,b,c;printf(”Pleaseinputvalueofaandb:\n”);scanf(“%d%d”,&a,&b);c=add(a,b);printf(”sum=%d\n",c);}/*Thisfunctioncalculatesthesumofxandy*/intadd(intx,inty){return(x+y);}161.4C程序的結(jié)構(gòu)一個C語言程序包含以下幾個部分:關(guān)于結(jié)構(gòu)的說明:1.并不是所有C語言程序都1.文件包含部分2.預(yù)處理部分3.變量說明部分4.函數(shù)原型聲明部分5.主函數(shù)部分6.函數(shù)定義部分包含6個部分2.C語言程序后綴為.c3.主函數(shù)形式:main(){變量說明部分程序語句部分}171.4C程序的結(jié)構(gòu)/*example1.1ThefirstCProgram*/注釋#include<stdio.h>intmain(){編譯預(yù)處理函數(shù)printf(“Hello,World!”);return0;語句}輸出:Hello,World!182022/4/12例求兩個整數(shù)之和。解題思路:

設(shè)置3個變量

a和b用來存放兩個整數(shù)

sum用來存放和數(shù)

用賦值運算符“=”把結(jié)果傳送給sum19#include<stdio.h>intmain(){inta,b,sum;a=123;對變量a,b賦值b=456;sum=a+b;將a與b的和賦給sumprintf(”sumis%d\n”,sum);return0;定義整型變量a,b,sum}20#include<stdio.h>intmain(){inta,b,sum;a=123;b=456;sum=a+b;printf(”sumis%d\n”,sum);return0;用sum的值替代}希望輸出的字符212022/4/12例求兩個整數(shù)中的較大者。解題思路:

用一個函數(shù)實現(xiàn)求兩個整數(shù)中的較大者

在主函數(shù)中調(diào)用此函數(shù)并輸出結(jié)果22#include<stdio.h>intmain(){max函數(shù)intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);c=max(a,b);printf("max=%d\n",c);return0;intmax(intx,inty){intz;if(x>y)z=x;elsez=y;return(z);}}主函數(shù)23#include<stdio.h>將x和y中較大者intmain(){值返回給主函數(shù)intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}24#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}25#include<stdio.h>intmain(){因max函數(shù)的定義在main函數(shù)之后,需聲明intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}26#include<stdio.h>intmain(){intmax(intx,inty);輸入函數(shù)inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}27#include<stdio.h>intmain(){intmax(intx,inty);輸入語句inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}28#include<stdio.h>intmain(){放到a,b中輸入的數(shù)據(jù)intmax(intx,inty);輸入格式inta,b,c;scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%da的地址\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}29#include<stdio.h>intmain(){intmax(intx,inty);inta,b,c;調(diào)用max函數(shù)scanf(”%d,%d”,&a,&b);{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}30#include<stdio.h>intmain(){85intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);8{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}831#include<stdio.h>intmain(){85intmax(intx,inty);inta,b,c;scanf(”%d,%d”,&a,&b);8{intmax(intx,inty)c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}832#include<stdio.h>intmain(){形式參數(shù)intmax(intx,inty);實際參數(shù)intmax(intx,inty)inta,b,c;scanf(”%d,%d”,&a,&b);{c=max(a,b);printf("max=%d\n",c);if(x>y)z=x;intz;return0;elsez=y;return(z);}}331.4C程序格式和結(jié)構(gòu)特點main()main()?習慣用小寫字母,大小寫敏感?不使用行號,無程序行概念?可使用空行和空格?常用鋸齒形書寫格式{{……………….inti,j,sum;………………sum=0;…………..for(i=1;i<10;i++)…………..{………for(j=1;j<10;j++)……….{………………………….sum+=i*j;優(yōu)秀程序員的素質(zhì)之一:……………….}………………..

使用TAB縮進

{}對齊

有足夠的注釋

有合適的空行}}printf(“%d\n”,sum);}341.4C程序結(jié)構(gòu)特點?函數(shù)與主函數(shù)–程序由一個或多個函數(shù)組成–必須有且只能有一個主函數(shù)main()–程序執(zhí)行從main開始,在main中結(jié)束,其它函數(shù)通過嵌套調(diào)用得以執(zhí)行。?程序語句–C程序由語句組成–用“;”作為語句終止符非法例:/*Thisisthemain/*ofexample1.1*/*/?注釋–/**/為注釋,不能嵌套–不產(chǎn)生編譯代碼

編譯預(yù)處理命令351.5C程序設(shè)計語言的執(zhí)行

C程序開發(fā)步驟程序代碼的錄入,生成源程序*.c開始編輯編輯源程序file.c通過詞法分析器、語法分析器和代碼生成器,翻譯生成目標程序*.obj與其它目標程序或庫鏈接裝配,生成可執(zhí)行程序*.exe編譯編譯有有錯?目標程序file.obj無鏈接可執(zhí)行目標程序連接庫函數(shù)和其它目標程序file.exe執(zhí)行執(zhí)行不正確結(jié)果正確?正確可執(zhí)行程序目標程序源程序結(jié)束內(nèi)容程序設(shè)計語言機器語言機器語言可執(zhí)行不可以不可以可以文件名后綴.c.obj.exe361.6C程序的集成開發(fā)環(huán)境

TurboC2.0的啟動TurboC的集成開發(fā)環(huán)境確立TC工作環(huán)境調(diào)試C程序的步驟

37TurboC2.0的啟動【命令提示符】窗口38TurboC2.0的啟動TurboC2.0開始界面39TurboC的集成開發(fā)環(huán)境

集成環(huán)境分為四個部分:>

主菜單程序編輯窗口編譯信息窗口功能鍵提示行。

程序的編輯、編譯、調(diào)試、連接以及運行都將在這個主屏幕中進行。通過主菜單可以選擇TurboC集成環(huán)境所提供的各項功能。同時,使用鍵盤上的↑、↓、←、→(上、下、左、右)鍵可以選擇菜單條中所需要的菜單項,被選中的項反向顯示。

>40TurboC的集成開發(fā)環(huán)境編輯區(qū)返回TurboC2.0開始界面41文件(File)菜單文件菜單提供存取文件的功能,含有9個下拉子菜單,分別如下:

Load裝入文件

Pick顯示最近裝入過的最后9個文件的列表

New編輯新文件,文件名為NONAME.C

Save將正在編輯的文件存盤

Writeto將正在編輯的文件改名存盤

Directory顯示當前工作目錄的內(nèi)容

Changedir顯示當前工作目錄的路徑名,允許把它改為另一個名字

OSshell暫時退回到DOS環(huán)境,鍵入EXIT命令返回TurboC

Quit退出TurboC,返回DOS系統(tǒng)42編輯(Edit)菜單

編輯菜單提供輸入和編輯程序的功能,不含下拉子菜單。43運行(Run)菜單運行菜單提供運行和調(diào)試程序的功能,含有6個下拉子菜單,常用的有:

Run編譯、連接和運行正在編輯的源程序

Userscreen查看程序運行時所產(chǎn)生的輸出屏幕44編譯(Co

溫馨提示

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

評論

0/150

提交評論