c語言入門與提高1.ppt_第1頁
c語言入門與提高1.ppt_第2頁
c語言入門與提高1.ppt_第3頁
c語言入門與提高1.ppt_第4頁
c語言入門與提高1.ppt_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

C語言入門與提高 郝慶晉 2020 4 15 1 什么是程序 程序 Program 是一個(gè)精確說明如何進(jìn)行計(jì)算的指令 Instruction 序列 人和計(jì)算機(jī)交換信息所用的語言 稱為計(jì)算機(jī)語言 2020 4 15 2 2020 4 15 3 自然語言和形式語言 什么是自然語言 什么是形式語言 兩者區(qū)別和聯(lián)系 歧義性冗余性與字面意思的一致性 2020 4 15 4 指令分類 輸入 從鍵盤 文件或者其它設(shè)備獲取數(shù)據(jù) 輸出 把數(shù)據(jù)顯示到屏幕 或者存入一個(gè)文件 或者發(fā)送到其它設(shè)備 基本運(yùn)算 執(zhí)行最基本的數(shù)學(xué)運(yùn)算 加減乘除 和數(shù)據(jù)存取 測(cè)試和分支 測(cè)試某個(gè)條件 然后根據(jù)不同的測(cè)試結(jié)果執(zhí)行不同的后續(xù)指令 循環(huán) 重復(fù)執(zhí)行一系列操作 2020 4 15 5 編程的本質(zhì) 把復(fù)雜的任務(wù)分解成子任務(wù) 把子任務(wù)再分解成更簡單的任務(wù) 層層分解 直到最后簡單得可以用以上所述指令來完成 2020 4 15 6 程序調(diào)試 編譯時(shí)錯(cuò)誤運(yùn)行時(shí)錯(cuò)誤邏輯錯(cuò)誤和語義錯(cuò)誤 2020 4 15 7 C語言的歷史 C語言是由UNIX的研制者丹尼斯 里奇 DennisRitchie 和肯 湯普遜 KenThompson 于1970年研制出的B語言的基礎(chǔ)上發(fā)展和完善起來的 1973年 Unix操作系統(tǒng)的內(nèi)核正式用C語言改寫 這是C語言第一次應(yīng)用在操作系統(tǒng)的內(nèi)核編寫上 目前 C語言編譯器普遍存在于各種不同的操作系統(tǒng)中 例如UNIX MS DOS MicrosoftWindows及Linux等 2020 4 15 8 C語言的特點(diǎn) C語言 是一種通用的 過程式的編程語言 廣泛用于系統(tǒng)與應(yīng)用軟件的開發(fā) 具有高效 靈活 功能豐富 表達(dá)力強(qiáng)和較高的移植性等特點(diǎn) 在程序員中備受青睞 2020 4 15 9 C語言特點(diǎn) C語言是一個(gè)有結(jié)構(gòu)化程序設(shè)計(jì) 具有變量作用域 variablescope 以及遞歸功能的過程式語言 傳遞參數(shù)是以值傳遞 Pass by value 也可以通過指針來傳遞參數(shù) Pass by address 不同的變量類型可以用結(jié)構(gòu)體 struct 組合在一起 只有32個(gè)保留字 reservedkeywords 使變量 函數(shù)命名有更多彈性 部份的變量類型可以轉(zhuǎn)換 例如整形和字符變量 通過指針 pointer C語言可以容易的對(duì)存儲(chǔ)器進(jìn)行低級(jí)控制 編譯預(yù)處理 preprocessor 讓C語言的編譯更具有彈性 2020 4 15 10 C語言的編譯執(zhí)行過程 2020 4 15 11 第一個(gè)C語言程序 include main generatesomesimpleoutput intmain void printf Hello world n return0 2020 4 15 12 如何編譯和運(yùn)行 gcc otestmain c a outHello world 2020 4 15 13 程序的結(jié)構(gòu) C程序由函數(shù)構(gòu)成 一個(gè)函數(shù)由兩個(gè)部分組成 說明部分函數(shù)名 類型 參數(shù)及類型說明函數(shù)體 變量的定義及執(zhí)行部分書寫格式自由 一般用小寫字母 語句以分號(hào)結(jié)束 分號(hào)是語句的必要組成部分 一行上可以寫幾條語句 一條語句也可以寫在幾行上 2020 4 15 14 程序的結(jié)構(gòu) C程序總是從main函數(shù)開始執(zhí)行 并且一定有且僅有一個(gè)主函數(shù) 主函數(shù)名必須是main C語言本身不帶輸入輸出語句 必須通過調(diào)用庫函數(shù)來實(shí)現(xiàn)輸入輸出 以 之間的內(nèi)容是注釋 不影響程序的執(zhí)行 可增加程序的可讀性 2020 4 15 15 代碼風(fēng)格 好的代碼風(fēng)格要求縮進(jìn)整齊 每個(gè)語句一行 適當(dāng)留空行 2020 4 15 16 常量 變量和數(shù)據(jù)類型 2020 4 15 17 數(shù)據(jù)類型 C語言里常用的數(shù)據(jù)類型有整型 實(shí)型 字符型 數(shù)組 結(jié)構(gòu)體類型 指針類型等 數(shù)據(jù)類型豐富是C語言的特點(diǎn)之一 如 int整型char字符型float單精度浮點(diǎn)型double雙精度浮點(diǎn)型 2020 4 15 18 常量和變量的概念 常量 在程序運(yùn)行過程中其值不能變的量 包括直接常量和符號(hào)常量 符號(hào)常量的定義 define標(biāo)識(shí)符常量變量 程序運(yùn)行過程中其值可以改變的量 系統(tǒng)為程序中的每一個(gè)變量開辟一個(gè)存儲(chǔ)單元 2020 4 15 19 變量 字母開頭 后跟字母 數(shù)字和下劃線組成 C語言中的關(guān)鍵字不能作為變量名注意 變量必須先定義后使用 變量中存放的只能是數(shù)據(jù) 而且只能是一個(gè)數(shù)據(jù) 往變量中存放數(shù)據(jù)的操作稱為賦值 2020 4 15 20 變量 變量的 名 和變量的 值 不同 變量的 名 是該變量所代表的存儲(chǔ)單元的標(biāo)志 而變量的 值 是指存儲(chǔ)單元中的內(nèi)容 2020 4 15 21 整型常量 三種形式表示 十進(jìn)制 如123600八進(jìn)制 以0開始 如0123十六進(jìn)制 以0 x開始 如0 x123 2020 4 15 22 不同進(jìn)制之間的換算 十進(jìn)制 123 1 102 2 101 3 100二進(jìn)制 A3A2A1A0 2 A3 23 A2 22 A1 21 A0 20 2020 4 15 23 字符型常量 單引號(hào)括起來的一個(gè)字符 如 a 字符常量的值是一個(gè)數(shù)字值 如字符常量 0 其ASCII為48 所以存儲(chǔ)的實(shí)際值為48 字符常量可以象整數(shù)一樣參與運(yùn)算 如 a 3 2020 4 15 24 字符常量另一種形式 轉(zhuǎn)義字符形式 轉(zhuǎn)義字符功能ASCII記號(hào)轉(zhuǎn)義字符功能ASCII記號(hào) a響鈴BEL 反斜杠字 b退格BS 單引號(hào)字符 f走紙換頁FF 雙引號(hào)字符 n換行NL 問號(hào) r回車CR ooo1 3位8進(jìn)制數(shù)ooo t橫向跳格HT xhh1 2位16進(jìn)制數(shù)hh v縱向跳格VT 2020 4 15 25 字符串常量 雙引號(hào)括起來的字符序列 如 Howareyou 0 等字符串在存儲(chǔ)時(shí)末尾被自動(dòng)加上字符 0 字符常量與只包含一個(gè)字符的字符串常量的區(qū)別 2020 4 15 26 字符型變量 字符型變量中存放ASCII字符集中的任何一個(gè)字符 字符變量在內(nèi)存中占一個(gè)字節(jié) 定義格式 char變量名1 變量名2 如 chara b a 97 32 b a 2 2020 4 15 27 整數(shù)常量還可以在末尾加u或U表示 unsigned 加l或L表示 long 加ll或LL表示 longlong 例如0 x1234U 98765ULL等 2020 4 15 28 PC機(jī)上整數(shù)類型大小 bit 2020 4 15 29 PC機(jī)上的Linux浮點(diǎn)數(shù)情況 對(duì)于每種類型 上面的行代碼數(shù)字位數(shù) 下面行代表指數(shù)的范圍 以10為基數(shù) 2020 4 15 30 類型轉(zhuǎn)換 IntegerPromotion在一個(gè)表達(dá)式中 凡是可以使用int或unsignedint類型做右值的地方也都可以使用有符號(hào)或無符號(hào)的char型 short型和Bit field 如果原始類型的取值范圍都能用int型表示 則其類型被提升為int 如果原始類型的取值范圍用int型表示不了 則提升為unsignedint型 這稱為IntegerPromotion 2020 4 15 31 類型轉(zhuǎn)換 UsualArithmeticConversion 如果有一邊的類型是longdouble 則把另一邊也轉(zhuǎn)成longdouble 否則 如果有一邊的類型是double 則把另一邊也轉(zhuǎn)成double 否則 如果有一邊的類型是float 則把另一邊也轉(zhuǎn)成float 否則 兩邊應(yīng)該都是整型 對(duì)a和b做IntegerPromotion 2020 4 15 32 類型轉(zhuǎn)換 由賦值產(chǎn)生的類型轉(zhuǎn)換 如果賦值或初始化時(shí)等號(hào)兩邊的類型不相同 則編譯器會(huì)把等號(hào)右邊的類型轉(zhuǎn)換成等號(hào)左邊的類型再做賦值 2020 4 15 33 類型轉(zhuǎn)換 強(qiáng)制類型轉(zhuǎn)換 程序員也可以通過類型轉(zhuǎn)換運(yùn)算符 CastOperator 自己規(guī)定某個(gè)表達(dá)式要轉(zhuǎn)換成何種類型 這稱為顯式類型轉(zhuǎn)換 ExplicitConversion 或強(qiáng)制類型轉(zhuǎn)換 TypeCast 2020 4 15 34 變量的作

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論