




已閱讀5頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì) 人民郵電出版社 高職高?,F(xiàn)代信息技術(shù)系列教材 第1章C語言初步 1 1C語言概覽1 2簡(jiǎn)述兩個(gè)最常用的輸入和輸出函數(shù) 退出 1 1C語言概覽 1 1 1C語言發(fā)展歷程簡(jiǎn)述C語言在一九七八年由美國電話電報(bào)公司 AT T 貝爾實(shí)驗(yàn)室正式發(fā)表 同時(shí)由B W Kernighan和D M Ritchit合著的 TheCProgrammingLanguage 一書對(duì)C語言作了詳細(xì)的描述 在此之后 由美國國家標(biāo)準(zhǔn)學(xué)會(huì) ANSI 在制定了一個(gè)C語言標(biāo)準(zhǔn) 于一九八三年發(fā)表 通常稱之為ANSIC 在C的基礎(chǔ)上 一九八三年又由貝爾實(shí)驗(yàn)室的BjarneStroustrup推出了C C 進(jìn)一步擴(kuò)充和完善了C語言 成為一種面向?qū)ο蟮某绦蛟O(shè)計(jì)語言 1 1 2C語言的優(yōu)點(diǎn)既有高級(jí)語言的程序思想與設(shè)計(jì)方法 又有低級(jí)語言的操作能力 所以它也被稱為 中級(jí)語言 結(jié)構(gòu)化的體系結(jié)構(gòu) 層次清晰 便于按模塊化方式組織程序 易于調(diào)試和維護(hù) 非常強(qiáng)的處理能力 不僅具有豐富的運(yùn)算符和數(shù)據(jù)類型 便于實(shí)現(xiàn)各類復(fù)雜的數(shù)據(jù)結(jié)構(gòu) 它還可以直接訪問內(nèi)存的物理地址 它還可以直接訪問內(nèi)存的物理地址 它還可以直接訪問內(nèi)存的物理地址 廣泛的可移植性 可以方便地移植到不同的軟 硬件環(huán)境 代碼效率高 1 1 3C語言的缺點(diǎn)太靈活 不易掌握 容易出錯(cuò) 不適合初學(xué)者 運(yùn)算符優(yōu)先級(jí)太多 類型轉(zhuǎn)換限制少 檢驗(yàn)較弱 不夠安全 1 1 4C源程序的結(jié)構(gòu)特征C源程序就是用C語言的語句編寫 未作其他處理 如編譯 的程序 源程序通常是由一個(gè)或多個(gè)函數(shù)組成的文件 該文件通常以 C為擴(kuò)展名 在組成程序的函數(shù)中 必須有 也只能有一個(gè)主函數(shù) 主函數(shù)的名字為main 函數(shù)名之后必須有一對(duì)小圓括號(hào) 括號(hào)中可以有參數(shù) 無論主函數(shù)放在文件中什么位置 開頭 中間或最后 總是從函數(shù)序開始運(yùn)行 注意以下例子中基本部分和書寫格式 例1 1 見課本 例1 2 見課本 例1 3 見課本 C語言中的函數(shù)就好象是其它語言 如BASIC 中的子程序 而主函數(shù)就相當(dāng)于主程序 主函數(shù)不可缺少 無論主函數(shù)在什么位置 程序的執(zhí)行總是從主函數(shù)開始 當(dāng)主函數(shù)中的語句執(zhí)行完畢后 整個(gè)程序就結(jié)束 可以在主函數(shù)中調(diào)用其他函數(shù) 但不能在其他函數(shù)中調(diào)用主函數(shù) 其他函數(shù)之間也可互相調(diào)用 通常 C函數(shù)分為兩大類 一種是系統(tǒng)提高的標(biāo)準(zhǔn)的庫函數(shù) 它的使用方法比較簡(jiǎn)單 在需要的地方調(diào)用它即可 帶上必要的參數(shù) 此時(shí) 值得注意的是 要使用哪類函數(shù) 應(yīng)在程序開頭用包含語句把相應(yīng)的頭文件包括進(jìn)來 例如 要使用數(shù)學(xué)庫函數(shù) 則應(yīng)在文件頭加上以下語句 如例1 2中那樣 includeC系統(tǒng)提供了極其豐富的庫函數(shù) 另一種是自定義函數(shù) 是由程序員自己編寫的函數(shù) 如例1 3中的函數(shù)fb 因此 在編寫一個(gè)C源程序的過程中 需編寫適當(dāng)?shù)淖远x函數(shù)并充分利用庫函數(shù) 同時(shí) 應(yīng)盡量編寫小的 功能單一的函數(shù) 并由這些函數(shù)組成大的函數(shù) 這樣 可以單獨(dú)編譯 調(diào)試這些小的函數(shù) 這樣比較容易些 1 1 5C語言源程序的書寫要求C語言源程序在書寫格式方面有自己的要求 有 源程序通常使用小寫字母 只有符號(hào)常量或其它特殊用途的符號(hào)才大寫 不使用行號(hào) 通常按語句順序執(zhí)行 用分號(hào)作為語句的結(jié)束符 不可省略 即便是最后一個(gè)語句也不能省略 但預(yù)處理命令 函數(shù)頭和花括號(hào) 之后不能加分號(hào) 可以一個(gè)語句占一行 也可多個(gè)語句占一行 此時(shí)要用分號(hào)分隔各個(gè)語句 不指定語句在一行中的起始位置 但建議同一層次的語句應(yīng)左對(duì)齊 用大括號(hào)對(duì) 表示各個(gè)結(jié)構(gòu)層次的范圍 可以表示函數(shù) 也可表示循環(huán)體等 一個(gè)語句中不同成份之間應(yīng)使用空格隔開 標(biāo)識(shí)符 關(guān)鍵字之間必須至少加一個(gè)空格以示間隔 若已有明顯的間隔符 也可不再加空格來間隔 程序中的空白行不影響程序的執(zhí)行 可以為了程序清晰而加上 但不要在一個(gè)語句中間加空行 建議多使用注釋信息 以增加程序的可讀性 源程序中可以有預(yù)處理命令 include命令僅為其中的一種 預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面 例1 4 見課本 1 1 6最小的C函數(shù)最小的C函數(shù)可以是以下的函數(shù) temp 調(diào)用此函數(shù)時(shí) 并不執(zhí)行任何操作 就立即返回到調(diào)用它的函數(shù)了 此函數(shù)的作用是在程序編制初期先占一個(gè)位置 使程序在編制初期可以順利運(yùn)行 在以后編制號(hào)相應(yīng)的程序后 再替換這個(gè)臨時(shí)程序 1 1 7函數(shù)的組成部分函數(shù)的一般形式為 函數(shù)名 參數(shù)表 參數(shù)說明 數(shù)據(jù)說明部分 執(zhí)行語句部分 函數(shù)名小括號(hào)中的 參數(shù)表 可以根據(jù)需要存在 可能有 也可能沒有 若有多個(gè) 之間應(yīng)用逗號(hào)隔開 若沒有參數(shù) 則參數(shù)說明部分可以省略 但函數(shù)名后的一對(duì)圓括號(hào)則不能省略 函數(shù)名與參數(shù)說明部分通稱為函數(shù)說明部分 一對(duì)大括號(hào)中間所包含的全部?jī)?nèi)容叫做函數(shù)體 1 1 8C語言的字符集字符是組成語言的最基本的元素 C語言字符集由字母 數(shù)字 空格 標(biāo)點(diǎn)和特殊字符組成 在字符常量 字符串常量和注釋中還可以使用漢字或其它可表示的圖形符號(hào) 1字母小寫字母a z共26個(gè) 大寫字母A Z共26個(gè) 2數(shù)字0 9共10個(gè) 3空白符空格符 制表符 換行符等統(tǒng)稱為空白符 空白符只在字符常量和字符串常量中起作用 在其它地方出現(xiàn)時(shí) 只起間隔作用 編譯程序?qū)λ鼈兒雎圆挥?jì) 因此在程序中使用空白符與否 對(duì)程序的編譯不發(fā)生影響 但在程序中適當(dāng)?shù)牡胤绞褂每瞻追麑⒃黾映绦虻那逦院涂勺x性 4標(biāo)點(diǎn)和特殊字符 1 1 9C語言字符在C語言中使用的字符分為六類 1標(biāo)識(shí)符在程序中使用的變量名 函數(shù)名 標(biāo)號(hào)等統(tǒng)稱為標(biāo)識(shí)符 除庫函數(shù)的函數(shù)名由系統(tǒng)定義外 其余都由用戶自定義 標(biāo)識(shí)符只能是字母 A Z a z 數(shù)字 0 9 下劃線 組成的字符串 并且其第一個(gè)字符必須是字母或下劃線 在使用標(biāo)識(shí)符時(shí)還必須注意以下幾點(diǎn) 盡管標(biāo)準(zhǔn)C并不限制標(biāo)識(shí)符的長(zhǎng)度 但它受各種版本的C語言編譯系統(tǒng)限制 同時(shí)也受到具體機(jī)器的限制 例如在某種C中規(guī)定標(biāo)識(shí)符前八位有效 當(dāng)兩個(gè)標(biāo)識(shí)符前八位相同時(shí) 則被認(rèn)為是同一個(gè)標(biāo)識(shí)符 在標(biāo)識(shí)符中 大小寫字母不同 例如test和TEST是兩個(gè)不同的標(biāo)識(shí)符 雖然標(biāo)識(shí)符可以由程序員隨意定義 但因?yàn)闃?biāo)識(shí)符是用于標(biāo)識(shí)某個(gè)量的符號(hào) 因此 命名時(shí)應(yīng)盡量考慮表示出相應(yīng)的意義 以利于閱讀理解 作到 見名識(shí)義 2關(guān)鍵字關(guān)鍵字是由C語言規(guī)定的具有特定意義的字符串 通常也稱為保留字 用戶定義的標(biāo)識(shí)符不能與關(guān)鍵字相同 C語言的關(guān)鍵字分為以下幾類 類型說明符 用于定義 說明變量 函數(shù)或其它數(shù)據(jù)結(jié)構(gòu)的類型 如前面例題中用到的int 語句定義符 用于表示一個(gè)語句的功能 如return就是條件語句的語句定義符 預(yù)處理命令字 用于表示一個(gè)預(yù)處理命令 如include 總之 不能作為標(biāo)識(shí)符使用的關(guān)鍵字與特定字有 int char float double short long unsigned struct union auto extern register static typedef goto return sizeof break continune if else do while switch case default enum for void entry define include undef ifndef endif line const signed void volatile 3運(yùn)算符C語言中含有相當(dāng)豐富的運(yùn)算符 運(yùn)算符與變量 函數(shù)一起組成表達(dá)式 表示各種運(yùn)算功能 運(yùn)算符由一個(gè)或多個(gè)字符組成 4分隔符在C語言中采用的分隔符有逗號(hào)和空格兩種 逗號(hào)主要用在類型說明和函數(shù)參數(shù)表中 分隔各個(gè)變量 空格多用于語句各單詞之間 起分隔作用 在關(guān)鍵字 標(biāo)識(shí)符之間必須要有一個(gè)或多個(gè)空格符分隔 5常量C語言中使用的常量可分為數(shù)字常量 字符常量 字符串常量 符號(hào)常量 轉(zhuǎn)義字符等多種 6注釋符C語言的注釋符是以 開頭并以 結(jié)尾的串 在 和 之間的內(nèi)容即為注釋 程序編譯時(shí) 不對(duì)注釋作任何處理 注釋可出現(xiàn)在程序中的任何位置 注釋用來向用戶提示或解釋程序的意義 在調(diào)試程序中對(duì)暫不使用的語句也可用注釋符括起來 使翻譯跳過不作處理 待調(diào)試結(jié)束后再去掉注釋符 1 2簡(jiǎn)述兩個(gè)最常用的輸入和輸出函數(shù) 輸入和輸出是最常用的程序功能 C語言本身并不提供輸入 輸出語句 在C程序中的輸入和輸出都是通過調(diào)用標(biāo)準(zhǔn)庫函數(shù)來實(shí)現(xiàn)的 在以上例子中 我們使用了輸入和輸出函數(shù)scanf和printf 這也是最常用的兩個(gè)輸入輸出函數(shù) scanf和printf這兩個(gè)函數(shù)分別稱為格式輸入函數(shù)和格式輸出函數(shù) 其意義是按指定的格式輸入輸出值 因此 這兩個(gè)函數(shù)在括號(hào)中的參數(shù)表都由以下兩部分組成 格式控制串 參數(shù)表 格式控制串是一個(gè)字符串 必須用雙引號(hào)括起來 它表示了輸入輸出量的數(shù)據(jù)類型 各種類型的格式表示法將在以后詳細(xì)講述 在printf函數(shù)中還可以在格式控制串內(nèi)出現(xiàn)非格式控制字符 這時(shí)在屏幕上顯示原文 參數(shù)表中給出了輸入或輸出的量 當(dāng)有多個(gè)量時(shí) 可使用逗號(hào)間隔
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 《中國電視劇產(chǎn)業(yè)概述》課件
- 《醫(yī)患溝通策略寶典》課件
- 《傷口護(hù)理的要點(diǎn)與實(shí)操》課件
- 《非洲證券案例分析》課件
- 2025未經(jīng)許可房屋買賣合同
- 2025合同終止通知
- 《防范意識(shí)提升》課件
- 人力資源租賃合同范本
- 商業(yè)招商運(yùn)營培訓(xùn)
- 項(xiàng)目管理新員工培訓(xùn)
- 2025年度電梯設(shè)備融資租賃合同范本2篇
- 室內(nèi)保潔施工方案
- 陜西省師范大學(xué)附屬中學(xué)2024-2025學(xué)年七年級(jí)上學(xué)期期末英語試題(含答案無聽力音頻及原文)
- 《橋式起重機(jī)操作安全培訓(xùn)課件》
- 二輪車安全教育培訓(xùn)
- 頭盔安全教育課件
- 藥品研發(fā)合作合同范例
- 八大危險(xiǎn)作業(yè)培訓(xùn)課件
- 曲面的面積重心轉(zhuǎn)動(dòng)慣量引力
- 3DMAX創(chuàng)建之美知到智慧樹章節(jié)測(cè)試課后答案2024年秋鄭州信息工程職業(yè)學(xué)院
- 2024屆九省聯(lián)考英語試題(含答案解析、MP3及錄音稿)
評(píng)論
0/150
提交評(píng)論