版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、C語言內涵教程(第二版)第1頁,共66頁。第1章 C語言和計算機1.4 “懂”C語言的計算機1.5 與虛擬C語言計算機深入交流1.6 C語言語句簡析 多上機編程是初學者學習編程的必由之路,只有實踐才能出真知,但理論指導下的實踐才是最有效的實踐,一定要養(yǎng)成人工執(zhí)行源程序的習慣。第2頁,共66頁。1.4 “懂”C語言的計算機要點:C語言不是計算機的“母語”用VC6.0編譯程序第3頁,共66頁。編譯器 機器語言是大多數(shù)計算機硬件能夠“理解”的唯一語言;機器語言編寫的程序是由二進制代碼組成的序列,難于閱讀和編寫。用高級語言編寫的程序稱為源程序,計算機不能理解和執(zhí)行,需要編譯程序將源程序翻譯成計算機能理
2、解并執(zhí)行的目標程序。第4頁,共66頁。VC6.0是微軟公司提供的在Windows環(huán)境下進行應用程序開發(fā)的C/C+編譯器系統(tǒng)。VC6.0是一個集成開發(fā)環(huán)境(IDE),包含了許多獨立的組件。如編輯器、編譯器、調試器以及各種各樣為開發(fā)Windows下的C/C+程序而設計的工具。Visual C+ 6.0 (簡稱VC6.0) 第5頁,共66頁。使用VC6.0與計算機溝通第6頁,共66頁。在VC6.0中編譯程序 在VC6.0中,程序須作為工程的一部分來管理,因此在編程前要先建立一個工程。第7頁,共66頁。兩種交互方式圖形用戶接口GUI(即Windows標準),特點是利用鼠標通過窗口、菜單、按鍵等方式方便
3、快捷地實現(xiàn)用戶與計算機的交互??刂婆_應用程序是命令行模式的用戶接口CLI (Command line User Interface ),特點是通過鍵盤基于字符。有時也稱為字符用戶接口CUI(Character User Interface)。 第8頁,共66頁。選擇 控制臺程序的類型 查看 新建工程信息匯總第9頁,共66頁。建立一個空的類型為控制臺程序名為1_1的工程后VC6.0的界面第10頁,共66頁。新建(New)對話框中的文件(Files)選項卡 第11頁,共66頁。 VC6.0中編輯器等待輸入時的界面 第12頁,共66頁??梢跃幾g運行程序了嗎?第13頁,共66頁。編譯運行時出現(xiàn)的錯誤沒
4、有定義的標識符!函數(shù)也需要先定義再使用!第14頁,共66頁。庫函數(shù)scanf函數(shù)和printf函數(shù)是庫函數(shù)。庫函數(shù)是由C語言編譯系統(tǒng)根據(jù)一般用戶的需要或C語言標準編制并提供給用戶使用的一組函數(shù)。使用庫函數(shù)時,需要把庫函數(shù)的定義拷貝到當前源文件中,以符合先定義再使用的原則??梢院唵蔚卣J為輸入輸出函數(shù)在stdio.h中定義。第15頁,共66頁。include命令include命令的一般用法:#include “#include ”命令的功能是用指定的文件內容替換該命令行,從而把指定的文件和當前的源程序文件合成一個源文件。#include include命令是C語言語句嗎?第16頁,共66頁。完整的
5、程序1-1#include void main( ) int a, b, c; printf(請輸入兩個整數(shù):n); scanf(%d%d, &a, &b); c = a + b; printf(和為%dn, c);第17頁,共66頁。輸入、編譯并執(zhí)行程序。 程序1-1輸入完成后,選擇組建(Build)執(zhí)行命令或按下快捷鍵(Ctrl+F5),編譯執(zhí)行程序。第18頁,共66頁。程序1-1的運行 用戶輸入23 32 第19頁,共66頁。再次輸入、編譯另一個程序第20頁,共66頁。1.5 與虛擬C語言計算機深入交流要點:C語言的一些語法規(guī)則回車鍵與普通鍵的區(qū)別和聯(lián)系轉義序列與占位序列第21頁,共66
6、頁。最重要的規(guī)則代碼風格代碼風格是指源代碼的書寫風格。良好的代碼風格能提高代碼(程序)的可讀性,可讀性是程序的一個重要屬性,畢竟源程序要先由程序員執(zhí)行。對齊和縮進可以使代碼整潔、層次清晰。輸入代碼時,VC6.0會自動判斷對齊和縮進的位置,因此,通常只需在VC6.0提示的位置輸入即可。第22頁,共66頁。哪里錯了?#include void main ( )int a,b,c;printf(請輸入兩個整數(shù):n);scanf (%d%d, &a, &b);c=a+b;printf(和為%dn, c);第23頁,共66頁。1.5.1 C語言的一些規(guī)則 1.C程序書寫格式自由。但是在多數(shù)情況下,一行寫
7、一條語句。2.每條語句或變量定義的最后必須有一個分號“;”,分號是C語言語句的結束標志。只有一個分號的語句也是一條語句,稱為空語句,不表示任何實際的操作,僅用于構造程序。include命令不是C語言語句,不以分號結尾。 第24頁,共66頁。C語言的一些規(guī)則3.關鍵字是C語言中預先定義了的有專門用途的標識符,不能作為變量或函數(shù)的名字。4.C語言中使用英文符號(半角符號),如不能把語句結束標志的分號“;”誤作中文的標點符號“;”。VC6.0中全角符號(如漢字)只可以出現(xiàn)一對雙撇號或注釋中。 第25頁,共66頁。C語言的一些規(guī)則5.用scanf函數(shù)讓用戶輸入數(shù)據(jù)時,變量前面通常有一個“&”,如sca
8、nf(%d%d, &a, &b);。當用戶一次輸入多個數(shù)據(jù)時,數(shù)據(jù)之間常用空格或Tab鍵分隔。 6.注釋的功能是對程序中的內容提供解釋說明,方便程序的閱讀和理解。編譯程序時注釋會作為空白字符略過而不予處理。第26頁,共66頁。注釋單行注釋/*這是一個單行注釋的示例 */ VC6.0中單行注釋也可如此。 多行注釋/*這是一個多行注釋的示例*/第27頁,共66頁。1.5.2 printf函數(shù)的使用 C語言中,printf函數(shù)用來控制輸出設備,調用printf函數(shù)可以在輸出設備上輸出一串字符。使用時,只須把欲輸出的字符用一對雙撇號( )括起來作為輸入值調用printf函數(shù)即可。如語句printf(W
9、elcome to C! );的輸出結果如圖所示。第28頁,共66頁。標識起始位置的光標程序運行窗口中閃爍的光標是輸入或輸出的起始位置,程序開始運行時,標識起始位置的光標位于窗口中的第一行第一列。當用戶輸入數(shù)據(jù)或程序中使用printf函數(shù)輸出數(shù)據(jù)時,標識起始位置的光標會自動調整位置,它始終指示下一次輸入或輸出的起始位置。printf函數(shù)會從標識起始位置的光標指示的位置開始輸出數(shù)據(jù)。 第29頁,共66頁。分析程序1-2的輸出#include void main( ) printf (Welcome ); /*注意空格字符*/ printf(to C!);第30頁,共66頁。問題討論 1.如何用一
10、條printf函數(shù)調用語句輸出兩行字符?如圖所示。屏幕上的字符串實際上為:Hi,“回車鍵”Welcome to c!問題其實與回車鍵有關 第31頁,共66頁。1.如何用一條printf函數(shù)調用語句輸出兩行字符?怎樣得到兩行?按下回車鍵!鍵盤上的每個鍵都對應于一個“字符”,字符又可分為普通字符和控制字符。z字母鍵對應的字母z就是普通字符,按下該鍵后,顯示器上通常就會出現(xiàn)字母z?;剀囨I對應的字符就是控制字符,按下回車鍵,顯示器上不會顯示任何字符,但輸入輸出光標會移到下一行的第一列。輸出控制字符時,計算機只是執(zhí)行相關的操作。第32頁,共66頁?!盎剀囨I”假設“回車鍵”就是代表回車鍵對應的字符,pri
11、ntf(“回車鍵”)怎樣輸出?printf(z)時會顯示一個字符Z,相當于按下Z字母鍵,可見,printf函數(shù)輸出字符時,?printf函數(shù)只能輸出“一行”?兩行的字符能否“變成”一行?Hi, “回車鍵”Welcome to C!回車鍵什么樣子呢?第33頁,共66頁?!盎剀囨I”用“n”表示。用兩個普通字符構成一個特殊的字符組合來表示它。在VC6.0中,“回車鍵”用“n”表示。printf(Hi,nWelcome to C!); 第34頁,共66頁。2.如何用printf函數(shù)輸出雙撇號“”? 雙撇號“”原本是一個普通字符,只需把它作為printf函數(shù)輸入值包含在一對雙撇號( )即可,但是,pri
12、ntf()這種形式在C語言中不允許。因為這種書寫形式在C語言中將被解釋為一對雙撇號(其中什么也沒有)和一個雙撇號,printf函數(shù)中會因多一個雙撇號而出現(xiàn)語法錯誤。 第35頁,共66頁。轉義序列反斜杠和下一個字符的組合稱為“轉義序列”,有著特殊的含義。在輸出時如遇到“轉義序列”,printf函數(shù)會按照事先的約定輸出而不會“原樣”輸出。在雙撇號中字符應寫成,字符應寫成,回車鍵應寫成n。請用printf函數(shù)輸出如圖所示的字符串。第36頁,共66頁。占位序列“占位序列”是printf函數(shù)中另一種特殊的符號組合,由百分號%及與之相鄰的字符組成。遇到占位序列時,printf函數(shù)會用相應位置上的數(shù)據(jù)代替占
13、位序列。printf函數(shù)用“占位序列” 輸出數(shù)據(jù)。printf(%dn, 3+2);printf(和為%d!, z);第37頁,共66頁。“占位序列”也稱“格式字符串”“占位序列”也稱“格式字符串”,因為,不同類型的數(shù)據(jù)需用不同的占位序列:整數(shù)用%d,浮點數(shù)用%f,字符用%c printf(%fn, 2.3);第38頁,共66頁。分析程序1-3的輸出結果#include void main( ) int a = 3; int b = 5; printf(%d + %d = %d, a, b, 3+5);printf(a + b = %d, a + b); 變量的類型換成浮點型后改寫程序。第39
14、頁,共66頁。1.5.3 用VC6.0觀察程序運行的過程要點:程序的調試執(zhí)行程序的運行過程第40頁,共66頁。分析下面的程序第41頁,共66頁。程序1-4的執(zhí)行順序一覽第42頁,共66頁。插入斷點 第43頁,共66頁。程序有兩種執(zhí)行方式在VC6.0中程序有兩種執(zhí)行方式:執(zhí)行(快捷鍵Ctrl+ F5)和調試執(zhí)行(快捷鍵F5)。兩者的區(qū)別在于,當執(zhí)行到含有斷點的語句時,如果是“調試執(zhí)行”程序,則程序就會暫停執(zhí)行;如果是“執(zhí)行”程序,則程序不會暫停執(zhí)行。 第44頁,共66頁。選擇【組建(Build)】【開始調試(Debug)】【Go】命令(或按下快捷鍵F5),進入調試執(zhí)行模式 第45頁,共66頁。當
15、整型變量定義后沒有賦值時,它的值是多少呢?可以用下面的代碼段驗證。int a; printf(%d, a);語句printf(%d, a);的輸出結果與編譯程序有關,VC6.0的輸出結果是-858993460。定義后沒有賦值的變量的值通常應認為是一個隨機數(shù)。輸出的-858993460只是VC6.0自動為程序中沒有賦值的整型變量a賦的值。第46頁,共66頁。單步執(zhí)行在調試執(zhí)行模式下可以利用調試命令控制程序的執(zhí)行,最常用的調試命令就是單步執(zhí)行。單步執(zhí)行每次只執(zhí)行一條語句,執(zhí)行完一條語句后程序自動暫停執(zhí)行。利用單步執(zhí)行可以方便地查看程序的執(zhí)行過程。單步執(zhí)行命令(或按下快捷鍵F11)第47頁,共66頁
16、。執(zhí)行完第11行語句后程序再次暫停第48頁,共66頁。當執(zhí)行到第13行語句時,sum函數(shù)將被調用執(zhí)行。再次按下快捷鍵F11,程序開始執(zhí)行sum函數(shù),如圖所示。 第49頁,共66頁。繼續(xù)按下快捷鍵F11直到sum函數(shù)執(zhí)行完成并返回到main函數(shù)。賦值語句將sum函數(shù)的返回值18賦值給了整型變量c,如圖所示。 第50頁,共66頁。沒有必要調試執(zhí)行庫函數(shù)第14行語句將調用執(zhí)行printf函數(shù),如果按下快捷鍵F11,那么程序將調試執(zhí)行printf函數(shù)。沒有必要調試執(zhí)行庫函數(shù),因此,這里應使用快捷鍵F10來進行單步調試執(zhí)行。第51頁,共66頁??旖萱IF10與快捷鍵F11快捷鍵F10與快捷鍵F11的作用稍
17、有不同。如果當前的執(zhí)行語句中有函數(shù)調用,使用快捷鍵F10時不會調試執(zhí)行被調用函數(shù),而是連續(xù)執(zhí)行被調用函數(shù)直到返回調用函數(shù)時才暫停執(zhí)行程序。如果當前的執(zhí)行語句中沒有函數(shù)調用,則快捷鍵F10與快捷鍵F11的作用相同。第52頁,共66頁?;仡櫝绦虻膱?zhí)行順序第53頁,共66頁。結束調試執(zhí)行在調試執(zhí)行狀態(tài)程序暫停時如想結束調試執(zhí)行,則可以用快捷鍵Shift+F5,如圖所示。(在調試執(zhí)行狀態(tài),【組建】菜單會自動變?yōu)椤菊{試】菜單。) 第54頁,共66頁。調試執(zhí)行時注意事項在調試執(zhí)行時可以切換到程序的運行窗口,輸入數(shù)據(jù)或查看當前的輸出。程序中沒有斷點而調試執(zhí)行程序時,程序執(zhí)行完畢后運行窗口會自動關閉。此時如何
18、查看程序的執(zhí)行結果?第55頁,共66頁。遇到錯誤時遇到錯誤時,首先在信息輸出窗口找到第一個錯誤提示,接著用鼠標左鍵雙擊該提示,此時編程器會自動定位出現(xiàn)錯誤的位置,最后就是結合錯誤提示信息細心查找出錯原因了。修正一個錯誤后通常要再次嘗試運行程序,不要急著修改下一個錯誤。 第56頁,共66頁。如編譯程序1-1時,出現(xiàn)了如圖所示的錯誤第57頁,共66頁。1.6 C語言語句簡析要點:C語言語句的組成C語言語句的作用第58頁,共66頁。C語言語句int a = 3;c = a + b;return z;c = sum(a, b);printf(a+b=%dn, 3+5);有字符(串)如int,a,ret
19、urn等有符號如=,+等;還有數(shù)字如3,5等第59頁,共66頁。語句中的字符(串)可能是C語言關鍵字如int,return,有規(guī)定的作用可能是一個變量如a、b、c、z,用于在程序中標識計算機中的一個存儲單元也可能是一個函數(shù)如sum、printf,具有特定功能。 變量與函數(shù)的區(qū)別在于?第60頁,共66頁。語句中的符號語句中的符號通常表示由C語言規(guī)定的需由計算機執(zhí)行的某種操作,C語言是高級語言,因此,常見的操作使用了熟知的符號,如用+表示算加法,a+b中的+就表示執(zhí)行時計算機需計算變量a與變量b的和。但常見的=(等號)在C語言中表示賦值,用于給變量賦初值或改變某變量的值,如a=3表示讓計算機把整數(shù)3存入到變量a所標識的存儲單元中。賦值號?等號?第61頁,共66頁。雙撇號 C語言語句中的字符都有特殊的含義,或為變量、函數(shù)或為關鍵字,那
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024丁方物業(yè)管理與維護合同
- 雇傭合同案例寶庫
- 住宿管理承包合同范本
- 2024建設工程設計合同(專業(yè)建設工程設計合同)新版
- 舊物品買賣合同格式
- 化妝品店轉讓合同樣本
- 2024年采購管理程序
- 建材加盟合同范本大全
- 全面合伙合同模板集合
- 就業(yè)協(xié)議書填寫指南與示例
- 藍天救援隊隊員風險告知書
- 《工程勘察設計收費管理規(guī)定》計價格2002-10號文
- 宿舍消防疏散圖
- 站場明敷接地扁鋼安裝技術要求
- 《個人防護用品PPE》ppt課件
- 國際貿易SimTrade外貿實習報告
- 導師帶徒實施辦法6、30
- 《Fishing with Grandpa》RAZ分級閱讀繪本pdf資源
- 水穩(wěn)施工方案(完整版)
- 跨海大橋施工方案
- MATLAB語言課程論文 基于MATLAB的電磁場數(shù)值圖像分析
評論
0/150
提交評論