版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計1第一章C語言概述第一代:機器語言==〉是一種CPU機器語言。由數(shù)
字0、1組合而成。 優(yōu)點:機器可直接執(zhí)行,速度快。 缺點:程序長,難記,難理解,不易查錯。第二代:匯編語言==〉用助記符描述的指令系統(tǒng)。 如:MovAx,[bp+4] pushd1, 優(yōu)點:比機器語言較易理解,執(zhí)行速度快。 缺點:難度大,非專業(yè)人士難以掌握。一、程序設計語言的發(fā)展§1.1C語言簡介2第三代:面向過程的高級語言==〉或稱算法語言。如:
Fortran,Basic,Pascal,C等等。 優(yōu)點:靈活,易于理解,容易查錯。 缺點:對大型程序而言維護性較差,對“擬定”好的
程序難以擴充,修改(所謂牽一而動百)。第四代:非過程化的高級語言==〉是一種面向對象的設計
語言,如:C++,Java等等。 優(yōu)點:靈活、易于理解、維護、修改、擴充。 缺點:掌握難度較大。第五代:可視化多媒體程序設計工具。具有面向對象的思
想,如:VisualC++,VisualBasic,Delphi等等。3即,程序設計語言的發(fā)展主要有三個階段:
1.面向機器語
※機器語言和匯編語言
2.面向過程(功能)語言
3.面向對象語言程序設計語言的支持環(huán)境
※高級語言程序必須經(jīng)過編譯系統(tǒng)處理,方能在操作系統(tǒng)下執(zhí)行。
4二、C語言發(fā)展過程1.
1960年出現(xiàn)了Algol60語言,但該語言主要面向問題,與硬件較遠,故英國劍橋大學推出了CPL(CombinedProgrammingLanguage)2.1967年,MatinRichards對CPL進行改進、簡化、推出了BCPL(BasicCombinedProgrammingLanguage)3.1970年,美國貝爾實驗室KenThomson以BCPL為基礎,再次簡化推出了B語言,并寫了第一個UNIX系統(tǒng)。54.1972年美國貝爾實驗室D.M.Ritchie在B語言基礎上設計出了C語言,并用其將UNIX系統(tǒng)全部改寫并實現(xiàn)。5.經(jīng)進一步改進,至1977年出現(xiàn)了與具體機器無關的C編譯文本,從而使C語言廣泛應用,各種機器皆可使用。6.1978年,美國BrainW.Kernighan與Dennis.M.Ritchie聯(lián)合出版一書《TheCProgrammingLanguage》成為ANSIC之基礎。61983年,美國標準化協(xié)會(ANSI)制定了ANSIC。1987年,ANSI又公布了新標準——87ANSIC。
1990年,ISO接受87ANSIC為ISOC的標準。注:以ANSIC為基礎:
不同機器有不同版本,尤其是函數(shù)均應參考
相應的機器。
7§1.2C語言的特點2簡潔、緊湊、方便、表達能力強
32個關鍵字,9種控制語句,主要用小寫字母。1.應用面廣
C語言是一種過程化的語言。
既可編寫系統(tǒng)軟件(如:Windows、UNIX);
又可編寫應用軟件。3.運算符豐富(共有34種運算符。)
除了最基本的+、-、×、÷、%等運算外,還將括號、賦值、類型強制轉換等均作為運算符。84.數(shù)據(jù)類型豐富,結構化程度高
除基本類型外,有指針,結構體、共同體等類型。5.語法限制不太嚴格,靈活
如:數(shù)據(jù)類型可相互通用:整型、字符型通用。6.可與機器硬件打交道
能進行位操作,能直接訪問內存地址,具有“高”、“低”級語言的功能。7.生成目標代碼質量高,執(zhí)行效率高。8.語言簡潔,可移植性好
可移植性優(yōu)于匯編語言。9§1.3簡單的C語言程序
為了更好、更快地掌握C程序,我們先看幾個C語言程序:例1:
#include<stdio.h>main(){
printf("Hello!ThisisaCprogram\n");}運行結果:
Hello! ThisisaCprogram.10例2:
#include<stdio.h>main(){
printf(“Hello!\nThisisaCprogram\n");}運行結果:
Hello! ThisisaCprogram.11例3:/*Exampleforaddprogram*/ #include<stdio.h>main() {inta,b,sum;/*這是定義變量*/
a=123;b=456;/*求兩個數(shù)之和*/sum=a+b;
printf("a+b=%d\n",sum);}運行結果:
a+b=57912例4:求兩個數(shù)的最大值
#include<stdio.h>
main()/*主函數(shù)*/
{inta,b,c;/*定義變量*/
scanf(“%d,%d”,&a,&b);/*輸入變量a和b的值*/
c=max(a,b);/*調用max函數(shù),將得到的值賦給c*/
printf(“max=%d”,c;);/*輸出c的值*/
}
intmax(intx,inty)/*用戶自定義函數(shù)max,對形參x、y作類型定義
*/{
intz;/*max函用到的變量z,也要加以定義
*/
z=y;
if(x>y)z=x;
return(z);/*將z的值返回,通過max帶回調用處
*/
}13通過實例,初步看到(1)
預處理部分:如:
#include<stdio.h>(2)函數(shù)。C語言是一種函數(shù)式語言,程序全部由一個個的函數(shù)構成。一個C程序必須有且僅有一個主函數(shù)main(),其內容在其后的一對花括號{}內,其它函數(shù)可被主函數(shù)調用或相互調用。其它函數(shù)可以是C函數(shù)庫中函數(shù)(如scanf,printf),也可為用戶自已定義的函數(shù)(如max)。1.
C的程序結構:14(1)函數(shù)的說明部分。包括函數(shù)名、函數(shù)類型、函數(shù)屬性、函數(shù)參數(shù)(形參)名、形式參數(shù)類型。2.一個函數(shù)由兩部分組成:(2)函數(shù)體,即函數(shù)說明部分下面的大括弧{...}內的部分。如果一個函數(shù)內有多個大括弧,則最外層的一對{}為函數(shù)體的范圍。函數(shù)體一般包括:
①聲明部分。如[例1.3]中main函數(shù)中的
inta,b,c;②執(zhí)行部分。由若干個語句組成。156.
函數(shù)的執(zhí)行一定從main()開始。5.{}是程序段的括號4.
;是語句的結束符,每個語句都以;號結束。即使是程序中最后一個語句也應包含分號。
3./*….*/為程序注釋部分。它可增加程序的可讀性。在某些情況下函數(shù)也可以沒有變量定義部分(如例1:甚至可以既無變量定義也無執(zhí)行部分,如:dump(){}它是一個空函數(shù),什么也不干,但這是合法的。7.C語言本身沒有輸入輸出語句,輸入、輸出操作是由庫函數(shù)scanf、printf等函數(shù)來完成的。16建議:為便于閱讀,養(yǎng)成良好的程序書寫風格。
幾種供參考的書寫風格:
1、每一對{}上下對齊;
2、每一對{}都寫在行首;
3、每一行只寫一條語句;
4、每一對{}內的語句左對齊;
5、不同的語句段采用縮進格式以示區(qū)別;
6、此外應加必要的注釋。17
1.文件的打開、修改以及保存
2.編輯、編譯、連接、運行
3.環(huán)境設置
TC2.0集成環(huán)境介紹18
編輯編譯連接執(zhí)行結果
有錯有錯a.ca.obja.exeAlt+F9F9Ctrl+F9源程序的編輯、編譯、連接與執(zhí)行19一.函數(shù)簡介
※和數(shù)學函數(shù)一樣
二.應用舉例
1.1在屏幕上顯示“Programmingisfun.”
1.2計算一個數(shù)0.19199的正弦值
1.3計算300的正弦值三.本節(jié)總結
C語言程序是自上而下,通過函數(shù)的調用來實現(xiàn)其功能的。用庫函數(shù)組裝C程序20一.應用舉例
1.3求三個數(shù)的平均值
1.4求任意三個數(shù)的平均值
1.5求三個數(shù)的較大者
1.6求1+2+3+…+10的值二.本節(jié)總結
1.C程序的構成
2.函數(shù)定義的風格
自己設計C函數(shù)21程序舉例例1:
輸入三角形三邊,求三角形面積。22程序如下:#include<stdio.h>#include<math.h>main(){floata,b,c,s,area;
printf("Please
imputthreesides'length:\n");
scanf("%f,%f,%f",&a,&b,&c);if((a+b)>c&&abs(a-b)<c)/*構成三角形的條件*/ {s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c));
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 服裝行業(yè)面料設計師培訓心得
- 急診搶救科護士的工作總結
- 造紙行業(yè)工程師工作總結
- 農業(yè)行業(yè)銷售工作總結
- 紡織服裝行業(yè)營業(yè)員工作總結
- 科研行業(yè)前臺工作總結
- 服裝行業(yè)人才招聘實例總結
- 藝術行業(yè)行政后勤工作總結
- 《管教兒女的智慧》課件
- 《心力衰竭護理》課件
- GB 26920-2024商用制冷器具能效限定值及能效等級
- 備用電源使用安全管理制度
- 試卷(完整版)python考試復習題庫復習知識點試卷試題
- 能源中國學習通超星期末考試答案章節(jié)答案2024年
- 魚塘租賃合同模板8篇
- 中學美育(藝術教育)工作發(fā)展年度報告
- 生活垃圾焚燒發(fā)電項目特許經(jīng)營權采購投標方案
- 2024至2030年中國港口機械設備行業(yè)發(fā)展現(xiàn)狀調研與競爭格局報告
- 車輛駕駛業(yè)務外包服務方案
- 監(jiān)理工作重點、難點分析及解決方案
- 湖北省2024年村干部定向考試真題
評論
0/150
提交評論