




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C語言程序設計第一章引言課程目標C語言的基本概念熟悉TurboC的上機操作環境多上機實踐會讀、會編、會調試C語言2目錄C語言發展歷史C語言特點簡單C語言程序C程序格式和結構特點C程序的執行和集成開發環境31.1C語言發展歷史
什么是計算機程序?
程序:一組計算機能識別和執行的指令
只要讓計算機執行這個程序,計算機就會自動地、有條不紊地進行工作
計算機的一切操作都是由程序控制的,離開程序,計算機將一事無成41.1C語言發展歷史
程序設計語言的發展程序設計是數據被加工的過程:結構化語言與非結構化語言機器語言匯編語言高級語言面向過程面向對象CPU指令系統,由面向機器的語言0、1序列構成的指令碼組成客觀世界可以分類,對象是類的實例如:10000000用助記符號描述的指令系統加自然語言和數學語言對象是數據和方法的封裝10010000如ADDA,B減程序設計關鍵是定義類,并由類派生對像對象間通過發送和接受消息發生聯系51.1C語言發展歷史
產生背景:最初的C語言只是為描述和實現UNIX操作系統提供一種工作語言而設計的。具有多種數據類型
產生過程BCPL語言B語言C語言?時間:1972~1973?地點:美國貝爾實驗室?目的:UNIX操作系統?設計人:Ken.Thompson和Dennis.M.Ritchie精練、接近硬件,但過于簡單,無數據類型
C標準?標準C:K&R合著《TheCProgrammingLanguage》?ANSIC:1983年?87ANSIC:1987年61.2C語言特點
語言簡潔、緊湊、靈活
運算符豐富
數據結構類型豐富
具有結構化的控制語句
語法限制不太嚴格,程序設計自由度大
直接訪問物理地址,直接操作硬件
生成目標代碼質量高
可移植性好>>>>>><>71.2C語言特點32個關鍵字:(由系統定義,不能重作其它定義)autobreakcasecharconstcontinuedefaultdodoubleelseenumifintshortsignedsizeofswitchtypedefvolatilewhileexternfloatforgotolongregisterreturnstaticstructunsignedunionvoid<81.2C語言特點9種控制語句if()~else~for()~while()~do~while()continuebreakswitchgotoreturn返回91.2C語言特點34種運算符:算術運算符:+-關系運算符:<<===>>=!=邏輯運算符:!&&||位運算符賦值運算符:=及其擴展條件運算符:?:逗號運算符:,指針運算符:*&求字節數強制類型轉換:(類型)分量運算符:.->下標運算符:[]其它*/%++--:<<>>~|^&:sizeof返回:()-101.2C語言特點C數據類型:短整型short整型整型int長整型long單精度型float雙精度型double數值類基本類型型字符類型char浮點型數組結構體struct共用體union枚舉類型enum構造類型指針類型:能用來實現各種復雜的數據結構(如鏈表、樹、棧等)的運算。空類型void定義類型typedef返回111.2C語言特點2022/4/12
對數組下標越界不做檢查
對變量的類型使用比較靈活,例如,整型量與字符型數據可以通用
C語言允許程序編寫者有較大的自由度,因此放寬了語法檢查返回121.2C語言特點2022/4/12
C的編譯系統簡潔,很容易移植到新系統
在新系統上運行時,可直接編譯“標準鏈接庫”中的大部分功能,不需要修改源代碼
幾乎所有計算機系統都可以使用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程序的結構一個C語言程序包含以下幾個部分:關于結構的說明:1.并不是所有C語言程序都1.文件包含部分2.預處理部分3.變量說明部分4.函數原型聲明部分5.主函數部分6.函數定義部分包含6個部分2.C語言程序后綴為.c3.主函數形式:main(){變量說明部分程序語句部分}171.4C程序的結構/*example1.1ThefirstCProgram*/注釋#include<stdio.h>intmain(){編譯預處理函數printf(“Hello,World!”);return0;語句}輸出:Hello,World!182022/4/12例求兩個整數之和。解題思路:
設置3個變量
a和b用來存放兩個整數
sum用來存放和數
用賦值運算符“=”把結果傳送給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例求兩個整數中的較大者。解題思路:
用一個函數實現求兩個整數中的較大者
在主函數中調用此函數并輸出結果22#include<stdio.h>intmain(){max函數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);}}主函數23#include<stdio.h>將x和y中較大者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);}}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函數的定義在main函數之后,需聲明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);輸入函數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中輸入的數據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;調用max函數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(){形式參數intmax(intx,inty);實際參數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程序格式和結構特點main()main()?習慣用小寫字母,大小寫敏感?不使用行號,無程序行概念?可使用空行和空格?常用鋸齒形書寫格式{{……………….inti,j,sum;………………sum=0;…………..for(i=1;i<10;i++)…………..{………for(j=1;j<10;j++)……….{………………………….sum+=i*j;優秀程序員的素質之一:……………….}………………..
使用TAB縮進
{}對齊
有足夠的注釋
有合適的空行}}printf(“%d\n”,sum);}341.4C程序結構特點?函數與主函數–程序由一個或多個函數組成–必須有且只能有一個主函數main()–程序執行從main開始,在main中結束,其它函數通過嵌套調用得以執行。?程序語句–C程序由語句組成–用“;”作為語句終止符非法例:/*Thisisthemain/*ofexample1.1*/*/?注釋–/**/為注釋,不能嵌套–不產生編譯代碼
編譯預處理命令351.5C程序設計語言的執行
C程序開發步驟程序代碼的錄入,生成源程序*.c開始編輯編輯源程序file.c通過詞法分析器、語法分析器和代碼生成器,翻譯生成目標程序*.obj與其它目標程序或庫鏈接裝配,生成可執行程序*.exe編譯編譯有有錯?目標程序file.obj無鏈接可執行目標程序連接庫函數和其它目標程序file.exe執行執行不正確結果正確?正確可執行程序目標程序源程序結束內容程序設計語言機器語言機器語言可執行不可以不可以可以文件名后綴.c.obj.exe361.6C程序的集成開發環境
TurboC2.0的啟動TurboC的集成開發環境確立TC工作環境調試C程序的步驟
37TurboC2.0的啟動【命令提示符】窗口38TurboC2.0的啟動TurboC2.0開始界面39TurboC的集成開發環境
集成環境分為四個部分:>
主菜單程序編輯窗口編譯信息窗口功能鍵提示行。
程序的編輯、編譯、調試、連接以及運行都將在這個主屏幕中進行。通過主菜單可以選擇TurboC集成環境所提供的各項功能。同時,使用鍵盤上的↑、↓、←、→(上、下、左、右)鍵可以選擇菜單條中所需要的菜單項,被選中的項反向顯示。
>40TurboC的集成開發環境編輯區返回TurboC2.0開始界面41文件(File)菜單文件菜單提供存取文件的功能,含有9個下拉子菜單,分別如下:
Load裝入文件
Pick顯示最近裝入過的最后9個文件的列表
New編輯新文件,文件名為NONAME.C
Save將正在編輯的文件存盤
Writeto將正在編輯的文件改名存盤
Directory顯示當前工作目錄的內容
Changedir顯示當前工作目錄的路徑名,允許把它改為另一個名字
OSshell暫時退回到DOS環境,鍵入EXIT命令返回TurboC
Quit退出TurboC,返回DOS系統42編輯(Edit)菜單
編輯菜單提供輸入和編輯程序的功能,不含下拉子菜單。43運行(Run)菜單運行菜單提供運行和調試程序的功能,含有6個下拉子菜單,常用的有:
Run編譯、連接和運行正在編輯的源程序
Userscreen查看程序運行時所產生的輸出屏幕44編譯(Co
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 云南財經職業學院《第二外語I》2023-2024學年第二學期期末試卷
- 西湖大學《汽車電子控制技術》2023-2024學年第二學期期末試卷
- 河北女子職業技術學院《廣西民族音樂》2023-2024學年第一學期期末試卷
- 濰坊工程職業學院《建筑工程計量與計價實訓》2023-2024學年第一學期期末試卷
- 四川長江職業學院《水利水電工程概預算》2023-2024學年第二學期期末試卷
- 南京機電職業技術學院《形體訓練與舞蹈編導基礎》2023-2024學年第一學期期末試卷
- 南京郵電大學《大學英語初級II》2023-2024學年第二學期期末試卷
- 學校空調維修合同書
- 代理記賬委托協議合同書
- 單位臨時工雇傭合同
- 軌道交通智能檢測技術-深度研究
- 房屋市政工程生產安全重大事故隱患判定標準(2024版)檢查指引(西安住房和城鄉建設局)
- 2025年餐飲業考試題及答案
- 2024浙江金華軌道交通集團招聘161人筆試參考題庫附帶答案詳解
- T-CSHB 0017-2024 生成式人工智能模型訓練合規技術規范
- 2025屆重慶市雙福育才中學中考化學最后沖刺卷含解析
- 管理學組織設計案例分析
- 消除艾滋病、梅毒和乙肝母嬰傳播項目工作制度及流程(模板)
- 2025年度汽車行業電子商務平臺合作開發合同
- 攝影拍攝合同畢業季拍攝合同
- 《個人所得稅申報贍養老人專項附加扣除指定分攤協議模板》
評論
0/150
提交評論