C語言程序設(shè)計課件.ppt_第1頁
C語言程序設(shè)計課件.ppt_第2頁
C語言程序設(shè)計課件.ppt_第3頁
C語言程序設(shè)計課件.ppt_第4頁
C語言程序設(shè)計課件.ppt_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言程序設(shè)計 陳易明E mail chenym 參考書K R CPROGRAMMINGLANGUAGE 課時安排理論課 32學(xué)時上機(jī)訓(xùn)練 16學(xué)時考核成績平時考勤10 上機(jī)報告20 期末考試70 參考書與課時安排 課程要求 課后請復(fù)習(xí)保持課堂安靜 積極回答問題認(rèn)真 獨(dú)立 按時完成并提交作業(yè)重視上機(jī)實踐 有效利用上機(jī)時間 第一章C語言概述 C語言發(fā)展歷史C語言基本特點(diǎn)C語言程序結(jié)構(gòu)編譯和運(yùn)行程序 1 1C語言發(fā)展歷史程序設(shè)計語言的發(fā)展 CPU指令系統(tǒng) 由0 1序列構(gòu)成的指令碼組成如 10000000加10010000減 用助記符號描述的指令系統(tǒng)如ADDA B 面向機(jī)器的語言 程序設(shè)計是數(shù)據(jù)被加工的過程 程序設(shè)計關(guān)鍵是定義類 并由類派生對象 高級語言 面向開發(fā)者的語言以接近人類語言的形式來表現(xiàn) 具有標(biāo)識符 關(guān)鍵字 數(shù)據(jù)類型等 按一定的規(guī)則組成程序代碼 便于開發(fā)和維護(hù) 可讀和開發(fā)性大大增強(qiáng) C語言的發(fā)展史 1972年美國貝爾實驗室的Dennis M Ritchie設(shè)計出C語言 并用其將UNIX系統(tǒng)全部改寫并實現(xiàn) C語言的設(shè)計目的是為描述和實現(xiàn)UNIX操作系統(tǒng)提供一種工具語言由于 語言的強(qiáng)大功能和良好的可移植性 C語言先后被移植到各種大 中 小和微型計算機(jī)上 并得到了廣泛的使用 成為當(dāng)代最優(yōu)秀的程序設(shè)計語言之一 C語言的前生 1960年出現(xiàn)的Algol60 它是一種面向問題的高級語言 離硬件比較遠(yuǎn) 不適合用來編寫系統(tǒng)程序 1963年英國劍橋大學(xué)推出了 組合編程語言 CombinedProgrammingLanguage CPL 它在Algol60的基礎(chǔ)上更接近于硬件 但規(guī)模較大 難以實現(xiàn) 因此 1967年劍橋大學(xué)的MatinRichards對CPL進(jìn)行了簡化 提出了BCPL BasicCombinedProgrammingLanguage 語言 一切從一個叫 SpaceTravel 的電子游戲開始 C語言的創(chuàng)世紀(jì) 1963年 美國麻省理工學(xué)院MIT 貝爾實驗室和通用電器公司決定聯(lián)合開發(fā)一個操作系統(tǒng)MULTICS 其設(shè)計目標(biāo)是 公用計算服務(wù)系統(tǒng) 那時 計算機(jī)還很昂貴 主要是安裝在一些政府部門 企業(yè)和科研機(jī)構(gòu) 一般的家庭買不起 但有時人們又想使用計算機(jī)來完成一些計算任務(wù) 所以該項目的出發(fā)點(diǎn)是想提供一種計算服務(wù) 在城市里布置一臺計算機(jī)主機(jī) 然后用戶在自己的家里 使用終端并且通過電話線來接入這臺主機(jī) 終端很便宜 只有顯示器 鍵盤和通信模塊 每個家庭都買得起 他們使用終端來連接計算機(jī) 然后像使用水 電 煤氣等生活資源那樣來使用這臺計算機(jī)的計算資源 并繳納相應(yīng)的費(fèi)用 這樣一來 在主機(jī)上必須運(yùn)行一個操作系統(tǒng) 來對整個系統(tǒng)的資源進(jìn)行管理 MULTICS系統(tǒng)非常龐大 復(fù)雜 它的研制難度遠(yuǎn)遠(yuǎn)超出了人們的預(yù)料 因此 貝爾實驗室和通用電器公司先后退出了這個項目 1969年 當(dāng)貝爾實驗室退出該項目后 它的一個研究員KenThompson在MULTICS操作系統(tǒng)上編寫了一個名為 太空旅行 spacetravel 的游戲 模擬了一個飛行員駕駛著一艘宇宙飛船在太陽系中遨游 并在各個星體上著陸 后來 由于無法繼續(xù)訪問MULTICS操作系統(tǒng) 他就在貝爾實驗室里找了一臺沒有人使用的PDP 7計算機(jī) 想把游戲程序移植到這臺機(jī)器上 但是 當(dāng)時計算機(jī)硬件所能執(zhí)行的都是用機(jī)器語言來描述的指令 而對于不同類型的計算機(jī)來說 它們的機(jī)器語言是不一樣的 所以在MULTICS系統(tǒng)上運(yùn)行的程序 不能直接把它搬到PDP 7這種類型的計算機(jī)上去運(yùn)行 因此 Thompson就和貝爾實驗室的另外一名研究員DennisRitchie 他們兩個人一起 在另外一臺GE 635計算機(jī)上 利用它的操作系統(tǒng) 即GECOS所提供的一個交叉匯編器 把空間旅行游戲用PDP 7的匯編語言重新編寫了一遍 并且生成PDP 7的機(jī)器語言指令 然后用穿孔紙帶的形式把它轉(zhuǎn)移到了PDP 7上面 這樣 就可以玩了 Question 為什么不直接在PDP 7這臺計算機(jī)上編程呢 而需要使用第三臺機(jī)器GE635呢 原因很簡單 這臺PDP 7計算機(jī)之所以沒人來用 是因為它是一臺光禿禿的計算機(jī) 只有硬件而沒有任何軟件 連匯編程序都沒有 這樣 人們就沒有辦法在上面編程 如果實在想編程的話 只能直接使用機(jī)器語言 但機(jī)器語言都是一些0 1字符串 太難懂了 所以沒有人愿意使用它 Question 為什么PDP 7計算機(jī)只是硬件沒有軟件 當(dāng)時 計算機(jī)水平還很落后 很多研究小組申請項目研制計算機(jī) 僅僅是針對硬件架構(gòu) 當(dāng)計算機(jī)做好后 測試性能后項目組的任務(wù)就完成了 然后再研制更新的計算機(jī) 如果有需要 則用機(jī)器語言編寫程序 然后在紙帶上打上孔 讓計算機(jī)讀入 有孔 無孔 分別代表1 0 Question 為什么不直接在GE635上玩游戲呢 答案 一個字 貴 兩個字 很貴 三個字 非常貴 玩一小時游戲花費(fèi)75美元 當(dāng)時價值25桶石油 現(xiàn)在按70美元 桶石油算 約5250美元 后來 Thompson覺得這臺PDP 7計算機(jī)空在那里有點(diǎn)可惜 所以就和Ritchie等人開始為它編寫一個新的操作系統(tǒng) 也就是說 在硬件的基礎(chǔ)上 再給它增加一些軟 這樣 這臺機(jī)器就能夠用起來 就能做更多的事情 他們先是寫好了這個操作系統(tǒng)的文件系統(tǒng)和一組基本的軟件工具 然后再編寫了一個PDP 7匯編語言的編譯器 有了這些軟件工具后 就能直接在PDP 7上編程了 到了1970年 這個操作系統(tǒng)的基本元素都已經(jīng)完成了 他們給系統(tǒng)起了一個名字 也就是UNIX 到了1970年的夏季 研究小組得到了一臺新的 功能更強(qiáng)大的機(jī)器PDP 11 因此需要把UNIX系統(tǒng)從PDP 7移植到PDP 11上面去這項工作非常的煩瑣 因為整個系統(tǒng)都是用匯編語言來編寫的 需要把每一條PDP 7匯編語言指令都轉(zhuǎn)換為相應(yīng)的PDP 11匯編語言指令 工作量非常大 更重要的是 這種移植工作是一次性的 如果以后又來了一臺新的機(jī)器 那么整個移植工作又得重新來過 所以這是一個很大的問題 為解決這個問題呢 研究小組就開始考慮用某種高級語言來重寫整個系統(tǒng) 以提高系統(tǒng)的可移植性和可懂性 Thompson為了提高UNIX操作系統(tǒng)的可移植性 想要用某種高級語言來重寫整個系統(tǒng) 但是采用哪一種高級語言來做這件事呢 他的想法是自己去設(shè)計一種高級語言 他以BCPL語言為基礎(chǔ) 又作了進(jìn)一步的簡化 設(shè)計出很簡單而且很接近硬件的B語言 這個名稱取自于BCPL的第一個字母 但是B語言過于簡單 是一種沒有數(shù)據(jù)類型的語言 功能很有限 因此 當(dāng)他試圖用B語言來重寫UNIX操作系統(tǒng)時 效果并不太好 到了1972年 Ritchie在B語言的基礎(chǔ)上又設(shè)計出了C語言 這個名稱取自于BCPL的第二個字母 C語言既保持了BCPL和B語言的精煉 接近硬件等優(yōu)點(diǎn) 又克服了它們過于簡單 數(shù)據(jù)無類型等缺點(diǎn) 所以很快就成為研究小組內(nèi)部的首選編程語言 后來 Ritchie和Thompson兩個人合作 把整個UNIX系統(tǒng)用C語言重新寫了一遍 這樣 以后再需要移植的時候 就方便多了 大部分的系統(tǒng)代碼都無需改動 1977年 出現(xiàn)了不依賴于具體機(jī)器的C語言編譯器 使得把一個C程序從一臺機(jī)器移植到另一臺機(jī)器上所需要的工作大大地簡化了 這就推動了UNIX操作系統(tǒng)迅速地在各種類型的機(jī)器上得以實現(xiàn) 反過來 隨著UNIX系統(tǒng)日益廣泛的使用 C語言也得到了迅速地推廣 所以說 C語言和UNIX系統(tǒng)關(guān)系非常密切 在發(fā)展過程中它們是相輔相成的 C語言的發(fā)展史告訴我們 1 游戲是推動計算機(jī)軟件技術(shù)發(fā)展的重大推動力 2 玩游戲是很耗錢或費(fèi)時間的 3 適量游戲有助于身心健康 并能極大促進(jìn)電腦水平的提高 Ritchie和Thompson在開發(fā)UNIX 很貴的游戲機(jī) 絕對的 發(fā)燒級 接受美國國家技術(shù)勛章 游戲玩家的終極夢想傳說中的神器 聲望 100 000 Thompson 左 和Ritchie 中 于1999年接受當(dāng)時美國總統(tǒng)克林頓授予的國家技術(shù)勛章 一九七八年由美國電話電報公司 AT T 貝爾實驗室正式發(fā)表了 語言 B W Kernighan和D M Ritchit合著了著名的 THECPROGRAMMINGLANGUAGE 一書 通常簡稱為 K R 也有人稱之為 K R 標(biāo)準(zhǔn) 但是 在 K R 中并沒有定義一個完整的標(biāo)準(zhǔn)C語言 后來由美國國家標(biāo)準(zhǔn)協(xié)會 AmericanNationalStandardsInstitute 在此基礎(chǔ)上制定了一個C語言標(biāo)準(zhǔn) 于一九八三年發(fā)表 通常稱之為ANSIC C語言標(biāo)準(zhǔn) 語言版本 目前最流行的 語言有以下幾種 MicrosoftC或稱MSC BorlandTurboC或稱TurboC AT TC這些 語言版本都實現(xiàn)了ANSIC標(biāo)準(zhǔn) 并在此基礎(chǔ)上各自作了一些擴(kuò)充 使之更加方便 完美 我們學(xué)習(xí)的是TurboC C語言的基本特點(diǎn) 1 C語言被稱為 高級語言中的低級語言 這樣說不是指它的功能差或難于使用 而是指它具有許多匯編語言等低級語言才具備的功能 C語言允許直接訪問物理地址 能進(jìn)行位操作 能實現(xiàn)匯編語言的大部分功能 可以直接對硬件進(jìn)行操作 所以C語言在系統(tǒng)設(shè)計十分有效 過去系統(tǒng)軟件只能用匯編語言編寫 使用C語言可以減輕程序的負(fù)擔(dān) 提高效率 寫出來程序也更具有可移植性 計算機(jī)的層次 硬件 Hardware 操作系統(tǒng) OS 應(yīng)用程序 Application 應(yīng)用平臺 基于平臺的應(yīng)用程序 低級語言的地盤 高級語言的地盤 C語言的地盤 C語言的基本特點(diǎn) 2 C語言簡潔 緊湊 使用方便 靈活 ANISC語言只有32個關(guān)健字 9種控制語句 我們學(xué)習(xí)的TC擴(kuò)充了11個關(guān)鍵字 一共也才43個關(guān)鍵字 C語言的基本特點(diǎn) 3 運(yùn)算符豐富 共有34種 C把括號 賦值 逗號等都作為運(yùn)算符處理 從而使C的運(yùn)算類型極為豐富 可以實現(xiàn)其他高級語言難以實現(xiàn)的運(yùn)算 4 具有結(jié)構(gòu)化的控制語句 5 語法限制不太嚴(yán)格 程序設(shè)計自由度大 6 生成目標(biāo)代碼質(zhì)量高 程序執(zhí)行效率高 C語言的基本特點(diǎn) 7 與匯編語言相比 用C語言寫的程序可移植性好 8 C語言是程序員的語言 是為專業(yè)程序員設(shè)計的語言 它實現(xiàn)了程序員的期望 很少限制 程序設(shè)計自由度大 方便的控制結(jié)構(gòu) 獨(dú)立的函數(shù) 緊湊的關(guān)鍵字集合和較高的執(zhí)行效率 缺點(diǎn) 語法限制不太嚴(yán) 編譯器不進(jìn)行太多的錯誤檢查 程序員在編程如果不注意的話 很容易出現(xiàn)編譯通過但程序出錯的現(xiàn)象 第一個C語言程序 學(xué)習(xí)任一計算機(jī)高級語言的最佳途徑都是編程 對于任一計算機(jī)語言 編寫的第一個程序都是輸出一個字符串 出于對K R的敬意 一般講解第一個程序進(jìn)都是選擇K R的 CPROGRAMMINGLANGUAGE 一書中的第一個例子 打印 HelloWorld 來進(jìn)行講解 第一個C語言程序 如何利用C語言在屏幕上顯示出如下單詞 HelloWorld 實現(xiàn)過程 1 編寫源程序 2 編譯 將源程序編譯成目標(biāo)文件 obj 3 將目標(biāo)文件鏈接成可執(zhí)行文件 exe 4 運(yùn)行可執(zhí)行文件 第一個C語言程序 在屏幕上顯示HelloWorld include stdio h main printf helloWorld n 1 編寫源程序 存儲為helloworld c 內(nèi)容如下 功能注釋 在屏幕上顯示HelloWorld include stdio h 編譯預(yù)處理 告訴編譯程序在本程序包含標(biāo)準(zhǔn)輸入輸出庫函數(shù) main 主函數(shù) 無參數(shù) 函數(shù)頭printf HelloWorld n 調(diào)用庫函數(shù)printf 將Helloworld顯示到屏幕上 n為換行符 函數(shù)尾 編譯預(yù)處理 在C源程序中加入一些 預(yù)處理命令 可以改進(jìn)程序設(shè)計環(huán)境 提高編程效率 預(yù)處理命令不是C語言本身的組成部分 不能直接對其進(jìn)行編譯 必須在編譯之前 先對這些特殊的命令進(jìn)行相應(yīng)的處理 編譯預(yù)處理 C提供的預(yù)處理功能主要有三種 1 文件包含2 宏定義3 條件編譯 所有的預(yù)處理命令 都是以 開頭的 1 文件包含 include 文件名 文件名指的是外部的庫函數(shù)名或源程序名 庫函數(shù)是由系統(tǒng)建立的具有一定功能的函數(shù)的集合 庫函數(shù)中存放同類函數(shù)的名稱和對應(yīng)的目標(biāo)代碼 只要用了 include 庫函數(shù)名 就可以調(diào)用庫函數(shù)中的函數(shù) 編譯預(yù)處理 include stdio h 可調(diào)用各種輸入輸出函數(shù) 包括 printf scanf getchar putchar fopen fclose fprintf fsacnf fseek fread fwrite等 C語言程序的基本格式 1 每一個C程序 都由函數(shù)和變量組成 函數(shù)包含若干用于實現(xiàn)指定操作的語句 變量在計算過程中存儲有關(guān)的值 2 函數(shù)可任意命名 但每一個C程序中都必須并且只能有一個名為main的主函數(shù) C程序都是從main函數(shù)開始執(zhí)行 include stdio h main printf helloWorld n C語言程序的基本格式 3 函數(shù)必須先定義 后使用 定義函數(shù)時在函數(shù)名后加一對圓括號將變量括起來 4 由一對花括號括起構(gòu)造函數(shù)的語句 稱為函數(shù)體 花括號后不加分號 main printf helloWorld n C語言程序的基本格式 5 每一條語句的用分號 做為結(jié)束 說明 在以下三種情況下不允許有分號 a 預(yù)處理語句后面不使用分號b 所定義的函數(shù)的名稱后面不使用分號c 在右花括號 后面不使用分號 C語言程序的基本格式 6 源程序中可以有預(yù)處理命令 include命令僅為其中的一種 預(yù)處理命令通常應(yīng)放在源文件或源程序的最前面 7 一個 語言源程序可以由一個或多個源文件組成 7 在C語言中 大小寫字母是有區(qū)別的 C語言習(xí)慣用小寫字母 8 用 對C程序中的任何部分作注釋 注釋可以寫在程序的任何位置上 與 也可不在同一行上 不能嵌套 例 Thisisthemain ofexample1 1 C語言程序結(jié)構(gòu) 在屏幕上顯示HelloWorld include stdio h main printf helloWorld n 注釋語句 編譯預(yù)處理 主函數(shù)定義 函數(shù)體 程序書寫格式特點(diǎn)習(xí)慣用小寫字母 大小寫敏感不使用行號 無程序行概念可使用空行和空格常用鋸齒形書寫格式 main main inti j sum sum 0 for i 1 i 10 i for j 1 j 10 j sum i j printf d n sum 優(yōu)秀程序員的素質(zhì)之一 使用TAB縮進(jìn) 對齊有足夠的注釋有合適的空行 課堂練習(xí)一 編寫一個C語言源程序 執(zhí)行后 在屏幕上輸出 這是我的第一個C語言程序 C語言程序結(jié)構(gòu) 注釋語句 編譯預(yù)處理 主函數(shù)定義 函數(shù)體 在屏幕上顯示 這是我的第一個C語言源程序 include stdio h main printf 這是我的第一個 nC語言源程序 2 常用計算機(jī)語言 BASIC FORTRAN PASCAL COBOL C JAVA PROLOG 計算機(jī)基本工作過程 整個過程的執(zhí)行者是硬件 但硬件是受軟件控制的編程 就是編寫軟件 使硬件按照人的意圖工作 1 計算機(jī)語言的翻譯方式 1 解釋方式 2 編譯方式 程序設(shè)計語言的工作原理 高級語言源程序 解釋程序 解釋并執(zhí)行 運(yùn)算結(jié)果 高級語言源程序 編譯程序 執(zhí)行 運(yùn)算結(jié)果 操作系統(tǒng) 編譯 機(jī)器語言程序 編譯運(yùn)行 編譯過程程序員 Programmer 編寫程序源代碼 SourceCode 編譯器 Compiler 把源代碼轉(zhuǎn)換為可被計算機(jī)理解的機(jī)器代碼 MachineCode 并把機(jī)器代碼以可執(zhí)行文件 ExecutableFile 的形式保存在磁盤上軟件的運(yùn)行計算機(jī)把機(jī)器代碼讀入到內(nèi)存 Memory 由CPU運(yùn)行這些代碼 讀取輸入 Input 產(chǎn)生輸出 Output 完成程序員預(yù)定的功能 編譯語言 一種編譯語言對應(yīng)一種編譯器程序員按照該語言的語法編寫程序源代碼 把自己的意圖融入到代碼中編譯器讀入源代碼 把程序員的意圖轉(zhuǎn)換成可執(zhí)行程序 供他人使用 C語言 可執(zhí)行程序 編譯器 解釋運(yùn)行 解釋運(yùn)行過程程序員編寫程序源代碼解釋器讀入源代碼 并執(zhí)行源代碼解釋運(yùn)行的語言特點(diǎn)執(zhí)行速度慢好學(xué)易用先編譯 后解釋把源代碼編譯成更容易解釋的中間代碼 然后再解釋運(yùn)行 C程序的開發(fā)運(yùn)行過程 1 源程序的編輯可使用任意純文本編輯器編寫 如記事本 WORD UltraEit等均可 得到源程序文件 c 2 編譯由專門的編輯程序 編譯器 對源程序進(jìn)行語法分析和檢查 如無語法錯誤則轉(zhuǎn)換生成目標(biāo)碼程序文件 obj 3 鏈接與其它庫函數(shù)或目標(biāo)程序文件鏈接生成可執(zhí)行文件 exe 4 執(zhí)行 C語言集成開發(fā)環(huán)境 集成開發(fā)環(huán)境IDE IntegratedDevelopmentEnvironment包含文本編輯 程序編譯 連接以及程序運(yùn)行 調(diào)試一體化的程序軟件包 常用的集成開發(fā)環(huán)境主要有 美國Borland公司1989年出版的TurboC2 0 微軟的MicrosoftVisualC 因為TC是在DOS下進(jìn)行操作的 在WINDOWS中也要在命令窗口中進(jìn)行操作 比較麻煩 所以推薦大家使用 C C 程序設(shè)計學(xué)習(xí)與實驗系統(tǒng) 共享版 作者 鐘家民注冊費(fèi)用 35元 第二個程序 已知有變量a 12 變量b 14 編寫程序求變量a b之和 如何編寫程序 第二個程序 求 a b include stdio h main a 12 b 14 printf a b 求 a b include stdio h main inta 12 定義a為整型變量intb 14 定義b為整型變量printf a b d a b 在C語言中 所有變量必須先說明后使用 說明用于申明變量的性質(zhì) 變量說明語句格式如下 變量類型名變量1 變量2 變量n 變量類型名有 int整數(shù) float浮點(diǎn)數(shù)char字符 單字節(jié)short短整數(shù)long長整數(shù)single單精度浮點(diǎn)數(shù)double雙精度浮點(diǎn)數(shù) 第二個程序求兩數(shù)之和 兩數(shù)求和 include stdio h voidmain inta b sum 定義三個整型變量a 12 給變量賦值b 14 sum a b 求和printf a b d sum 輸出顯示 d輸出轉(zhuǎn)換說明 用整型值sum來代替它 修改程序如下 運(yùn)行結(jié)果sum include stdio h voidmain inta b sum a 12 50 b 14 50 sum a b printf a b d sum 再修改程序如下 運(yùn)行結(jié)果sum include stdio h voidmain floata b sum 定義三個浮點(diǎn)型變量a 12 50 b 14 50 sum a b printf a b d sum 兩數(shù)求和 sum include stdio h voidmain floata b sum a 12 50 b 14 50 sum a b printf a b f sum f輸出轉(zhuǎn)換說明 用浮點(diǎn)型值sum來代替它 輸出函數(shù)printf printf函數(shù)稱為格式輸出函數(shù) 用來向標(biāo)準(zhǔn)輸出設(shè)備 屏幕 寫數(shù)據(jù) printf 格式控制串 參數(shù)表 格式化字符串包括兩部分內(nèi)容 一部分是正常字符 這些字符將按原樣輸出 另一部分是格式化規(guī)定字符 以 開始 后跟一個或幾個規(guī)定字符 用來確定輸出內(nèi)容格式 參數(shù)表是需要輸出的一系列參數(shù) 其個數(shù)必須與格式化字符串所說明的輸出參數(shù)個數(shù)一樣多 各參數(shù)之間用 分開 且順序一一對應(yīng) 否則將會出現(xiàn)意想不到的錯誤 參數(shù)可以是變量 常量和表達(dá)式 1 格式化規(guī)定符TurboC2 0提供的格式化規(guī)定符如下 符號作用 d十進(jìn)制有符號整數(shù) u十進(jìn)制無符號整數(shù) f浮點(diǎn)數(shù) s字符串 c單個字符 p指針的值 e指數(shù)形式的浮點(diǎn)數(shù) x X無符號以十六進(jìn)制表示的整數(shù) 0無符號以八進(jìn)制表示的整數(shù) g自動選擇合適的表示法 1 可以在 和字母之間插進(jìn)數(shù)字表示最大場寬 3d表示輸出3位整型數(shù) 不夠3位右對齊 9 2f表示輸出場寬為9的浮點(diǎn)數(shù) 其中小數(shù)位為2 整數(shù)位為6 小數(shù)點(diǎn)占一位 不夠9位右對齊 對浮點(diǎn)數(shù) 若整數(shù)部分位數(shù)超過了說明的整數(shù)位寬度 將按實際整數(shù)位輸出 若小數(shù)部分位數(shù)超過了說明的小數(shù)位寬度 則按說明的寬度以四舍五入輸出 如果用浮點(diǎn)數(shù)表示字符或整型量的輸出格式 小數(shù)點(diǎn)后的數(shù)字代表最大寬度 小數(shù)點(diǎn)前的數(shù)字代表最小寬度 例如 6 9s表示顯示一個長度不小于6且不大于9的字符串 若大于9 則第9個字符以后的內(nèi)容將被刪除 2 可以在 和字母之間加小寫字母l 表示輸出的是長型數(shù) 例如 ld表示輸出long整數(shù) lf表示輸出double浮點(diǎn)數(shù) 3 可以控制輸出左對齊或右對齊 即在 和字母之間加入一個 號可說明輸出為左對齊 否則為右對齊 例如 7d表示輸出7位整數(shù)左對齊 2 一些特殊規(guī)定字符字符作用 n換行 f清屏并換頁 r回車 tTab符 xhh表示一個ASCII碼用16進(jìn)制數(shù)表示 其中hh是1到2個16進(jìn)制數(shù) 輸出函數(shù)printf 例子 include stdio h voidmain printf d n n 336 printf theoctalnumberof17is o n n 17 printf thehexnumberof30is x n n 30 printf fisfloatingformat n n 13 5 printf c n n a printf s n n aflingbird 兩數(shù)求和 include stdio h voidmain inta b sum a 12 b 14 sum a b printf d d d a b sum 前面的程序是在源程序中就輸入了要求和的數(shù) 如果我們想要在鍵盤中輸入數(shù)據(jù) 如果實現(xiàn)呢 可以使用scanf 函數(shù) 輸入函數(shù)scanf scanf 函數(shù)是格式化輸入函數(shù) 它從標(biāo)準(zhǔn)輸入設(shè)備 鍵盤 讀取輸入的信息 格式 scanf 輸入函數(shù)scanf 格式化字符串包括以下三類不同的字符 1 格式化說明符

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論