傳智播客C語(yǔ)言入門2-環(huán)境搭建及helloworld.ppt_第1頁(yè)
傳智播客C語(yǔ)言入門2-環(huán)境搭建及helloworld.ppt_第2頁(yè)
傳智播客C語(yǔ)言入門2-環(huán)境搭建及helloworld.ppt_第3頁(yè)
傳智播客C語(yǔ)言入門2-環(huán)境搭建及helloworld.ppt_第4頁(yè)
傳智播客C語(yǔ)言入門2-環(huán)境搭建及helloworld.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余38頁(yè)可下載查看

下載本文檔

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

文檔簡(jiǎn)介

傳智播客C語(yǔ)言入門教程 2 講師 尹成QQ 77025077博客 C語(yǔ)言 C 語(yǔ)言 傳智播客 高薪就業(yè) 2 安裝VisualStudio2010 3 VisualStudio開發(fā)環(huán)境概述 4 跟我一起實(shí)現(xiàn)HelloWorld 5 C語(yǔ)言編譯 鏈接 生成的過(guò)程 傳智播客C語(yǔ)言入門教程 2 大綱 1 C語(yǔ)言開發(fā)環(huán)境概述 C語(yǔ)言課程概述 6 初學(xué)者的疑難解答 2 1VC C C TC 跳出這團(tuán)漿糊 認(rèn)識(shí)開發(fā)環(huán)境和語(yǔ)言的區(qū)別 VC 一般是指微軟公司的VisualStudio開發(fā)套件中的VisualC 開發(fā)環(huán)境 所謂開發(fā)環(huán)境 是集成了源代碼編輯 編譯 鏈接 調(diào)試等功能的一個(gè)綜合程序 VisualC C 是另外一門有些類似C語(yǔ)言語(yǔ)法的面向?qū)ο蟮母呒?jí)語(yǔ)言 雖然C語(yǔ)言不加修改就可以被C 編譯器編譯 但C和C 是完全不同思想的兩門語(yǔ)言 不應(yīng)將C 看作是C的超集 C C就是指C語(yǔ)言了 C TC是Borland公司開發(fā)的C編程環(huán)境 是TrobeC的簡(jiǎn)稱 一般學(xué)習(xí)C語(yǔ)言 都使用該編程環(huán)境 只是這已經(jīng)算是老古董了 對(duì)于現(xiàn)在的操作系統(tǒng) 使用TC2來(lái)編寫程序 已經(jīng)很不合時(shí)宜了 TurboC C 2 1 2IDE VisualStudio2010簡(jiǎn)介 2 2 1VS2010下載 百度網(wǎng)盤下載地址 下載該文件 把文件下載好以后打開 選擇用360壓縮打開 安裝之前請(qǐng)關(guān)閉殺毒軟件 360安全衛(wèi)士 避免安裝失敗 如果安裝失敗 建議重裝系統(tǒng)以后再裝 2 2 2VS2010打開 選中setup exe選擇解壓縮打開 2 2 3初始化開始安裝 點(diǎn)擊安裝MicrosoftVisualStudio2010 2 2 4VS2010等待加載 等待它漫長(zhǎng)的加載 2 2 5加載完成下一步 點(diǎn)擊下一步 2 2 6同意相關(guān)條款 選擇同意條款 點(diǎn)擊 下一步 按鈕 2 2 7定制安裝選項(xiàng) 硬盤夠大的同學(xué)選擇完全 不夠的同學(xué)選擇自定義 同時(shí)可以定制軟件安裝路徑 2 2 8定制安裝的功能 在這里可以定制安裝哪些 不安裝哪些 必須勾選VisualC 2 2 9開始安裝 開始安裝 忍耐 等待 2 2 10處理重啟 如果提示重啟 則重啟 2 2 11繼續(xù)安裝 繼續(xù)安裝 2 2 12安裝完成 大功告成 可以繼續(xù)安裝文檔 可裝可不裝 點(diǎn)擊安裝文檔選擇相關(guān)文檔安裝即可 2 2 13VS2010啟動(dòng)畫面 2 2 14選擇默認(rèn)開發(fā)環(huán)境 2 2 15VisualStudo2010設(shè)置ok 2 2 16安裝編程助手 代碼自動(dòng)提示 百度網(wǎng)盤下載地址 下載該文件 把文件下載好以后打開 選擇用360壓縮打開 安裝之前請(qǐng)關(guān)閉殺毒軟件 360安全衛(wèi)士 避免安裝失敗 點(diǎn)擊Install即可安裝 2 3VisualStudo2010開發(fā)環(huán)境 2 4 1VS2010新建項(xiàng)目 2 4 2HelloWorld案例的代碼 include 包含該頭文件的目的是使用了函數(shù)printf 空行 主要是為了分隔 編譯器忽略 voidmain void 主函數(shù) 入口點(diǎn) 函數(shù)開始 printf HelloWorld 打印字符串 getchar 等待輸入 起到等待的作用 2 4 3HelloWorld代碼概貌 很短 簡(jiǎn)單幾行文字 就創(chuàng)建了一個(gè)可以運(yùn)行的程序 非常神奇 代碼雖小 但五臟俱全 綜觀整個(gè)代碼 可以總結(jié)如下特點(diǎn) 1 由單詞 符號(hào) 空白組成 單詞以英語(yǔ)單詞為主 有的單詞就是純正的英語(yǔ)單詞 如main void include 有的不是 如getchar pringf 單詞一般都小寫 代碼中的標(biāo)點(diǎn)符號(hào)并不是隨意輸入的 每個(gè)符號(hào)在C中都有自己的含義 中出現(xiàn)的符號(hào) 有 單詞與單詞之間用空白分隔 空白可以是空格 也可以是Tab制表符 空白的個(gè)數(shù)沒有限制 2 如同閱讀小說(shuō)一樣 C源代碼也是從上往下閱讀 也就是C源代碼的先后順序是有講究的 行與行之間也可以有空白行 空白行數(shù)也是沒有限制的 有的行頂格書寫 有的行卻又后退了幾個(gè)空格 這種后退 稱為 縮進(jìn) 如何縮進(jìn) 這些也都是有講究的 3 并沒有專門的標(biāo)志表示文件從哪里起始 也沒有標(biāo)志表示文件到哪里結(jié)束 從第一個(gè)字符開始 文件就開始了 到最后一個(gè)字符結(jié)束 文件就結(jié)束了 2 4 4注釋 程序員的解釋 出現(xiàn)最多的是 和 包裹起來(lái)的中文語(yǔ)句 這些是注釋 注釋是幫助程序員閱讀源代碼和理解源代碼的 編譯器在編譯源代碼的時(shí)候 在目標(biāo)代碼生成以前 會(huì)把注釋剔除掉然后再進(jìn)行編譯 當(dāng)然編譯器是不會(huì)修改源文件的 這一切是在內(nèi)存中完成 由于對(duì)于注釋部分忽略不處理 就如同沒有這些字符一樣 所以注釋不會(huì)增加編譯后的程序的可執(zhí)行代碼長(zhǎng)度 對(duì)程序運(yùn)行不起任何作用 注釋分為兩種 2 4 5HelloWorld代碼解析 先看下面的代碼段 這段代碼是從中截取過(guò)來(lái)的 為了學(xué)習(xí)方便 去掉了注釋部分 voidmain void printf HelloWorld getchar voidmain void 這一段是在定義C程序的主函數(shù) 函數(shù)是可以完成一定功能的子程序 Main函數(shù)是C語(yǔ)言程序的起始執(zhí)行點(diǎn) 每一個(gè)C程序必須有且僅有一個(gè)main函數(shù) 它是由程序員提供的 2 4 6屏幕上顯示文字 函數(shù)調(diào)用 Main函數(shù)體中 printf HelloWorld 這行是調(diào)用了C語(yǔ)言提供的打印數(shù)輸出函數(shù) 該函數(shù)的名字是 printf 小括號(hào)內(nèi)雙引號(hào)括起來(lái)的文字是printf函數(shù)的參數(shù) 該函數(shù)的功能是把小括號(hào)里的文字原樣打印在屏幕上 也就是說(shuō)雙引號(hào)里的內(nèi)容變化 則打印在屏幕上的文字也會(huì)變化 2 4 7 include有什么用 源代碼最終是需要被編譯器處理的 編譯器編譯的過(guò)程比較復(fù)雜 但一般需要經(jīng)歷好幾步 第一步是預(yù)處理 所謂預(yù)處理 就是編譯前 先進(jìn)行些預(yù)先處理 如代替源代碼中需要代替的部分 include就是這么一個(gè)預(yù)處理指示指令 為了弄清楚 include的作用 現(xiàn)在請(qǐng)大家思考一個(gè)問(wèn)題 編譯器如何知道有printf這個(gè)函數(shù) 2 4 8怎么找到函數(shù) 試驗(yàn) 修改printf為其他單詞 如printfitcast 則在編譯的時(shí)候 編譯器會(huì)返回錯(cuò)誤 出現(xiàn)一個(gè)錯(cuò)誤 調(diào)用了一個(gè)沒有定義的函數(shù)printfitcast 2 4 9 include是用于做啥 做一個(gè)試驗(yàn) 將中的第一行代碼刪除掉 就是去掉了 include 再編譯看出現(xiàn)什么現(xiàn)象 是不是編譯器又提示缺少函數(shù)原型 include的作用 include是C語(yǔ)言預(yù)處理器指示符 和include之間可以有多個(gè)空格 也不一定要頂格 但是一定是第一個(gè)非空白字符 include的作用 是告訴編譯器在編譯前 要做些預(yù)先處理 將后面中的文件內(nèi)容包含到當(dāng)前文件內(nèi) 所謂包含 是指將中列出的文件的內(nèi)容復(fù)制到當(dāng)前文件里 注意 一定要是第一個(gè)非空白字符 否則編譯器會(huì)提示錯(cuò)誤 并且錯(cuò)誤信息和出錯(cuò)原因完全不匹配 因?yàn)間etchar和printf兩個(gè)函數(shù)的聲明位于stdio h文件中 所以簡(jiǎn)單的用 include把stdio h文件包含進(jìn)來(lái) 自然就把getchar和printf兩個(gè)函數(shù)的聲明包含進(jìn)來(lái)了 說(shuō)明 函數(shù)聲明只是向編譯器登記有這么一個(gè)函數(shù) 聲明了函數(shù)不調(diào)用這個(gè)函數(shù) 是被容許的 這就是為什么包含了整個(gè)stdio h文件 里面聲明了很多其他函數(shù) 但實(shí)際沒有使用這些函數(shù)而編譯器又不提示的原因 預(yù)處理指令例如包含頭文件全局聲明在函數(shù)之外進(jìn)行的數(shù)據(jù)聲明函數(shù)定義函數(shù)用來(lái)實(shí)現(xiàn)功能 必須包含一個(gè)main函數(shù) 只能有一個(gè) 每個(gè)函數(shù)都用來(lái)實(shí)現(xiàn)若干特定功能被調(diào)用的函數(shù)可以是庫(kù)函數(shù) 也可以是自己編制設(shè)計(jì)的函數(shù)程序總是從main函數(shù)開始執(zhí)行 C程序書寫格式是比較自由的 一行可以幾個(gè)語(yǔ)句 便于閱讀只寫一行數(shù)據(jù)聲明和語(yǔ)句最后必須有分號(hào)C語(yǔ)言本身不提供輸入輸出語(yǔ)句程序應(yīng)當(dāng)包含注釋 增加可讀性 一個(gè)程序由一個(gè)或多個(gè)源程序文件組成 函數(shù)是C程序的主要組成部分 C程序?qū)τ?jì)算機(jī)的操作由C語(yǔ)句完成 01 02 03 2 4 10C程序結(jié)構(gòu) 問(wèn)題分析 解決什么問(wèn)題 怎么解決 編寫程序 分析結(jié)果 結(jié)果錯(cuò)了 程序肯定錯(cuò)結(jié)果對(duì)了 程序未必對(duì) 設(shè)計(jì)算法 對(duì)源程序進(jìn)行編輯 編譯和連接 2 5C語(yǔ)言的編程流程 2 5 1數(shù)據(jù)結(jié)構(gòu)與算法 對(duì)數(shù)據(jù)的描述 對(duì)操作的描述 算法 數(shù)據(jù)結(jié)構(gòu) 程序 在程序中要指定用到哪些數(shù)據(jù)以及這些數(shù)據(jù)的類型和數(shù)據(jù)的組織形式這就是數(shù)據(jù)結(jié)構(gòu) datastructure 即要求計(jì)算機(jī)進(jìn)行操作的步驟也就是算法 algorithm 語(yǔ)言只是程序工具 程序 程序設(shè)計(jì)方法 語(yǔ)言工具 數(shù)據(jù)結(jié)構(gòu) 算法 1 2 3 4 C語(yǔ)言C 語(yǔ)言 面向過(guò)程面向?qū)ο?二叉樹隊(duì)列棧紅黑樹鏈表等等 快速排序算法冒泡排序算法選擇排序算法等等 算法 數(shù)據(jù)結(jié)構(gòu) 程序設(shè)計(jì)方法和語(yǔ)言工具是一個(gè)程序設(shè)計(jì)人員應(yīng)具備的知識(shí) 2 5 2一個(gè)程序設(shè)計(jì)人員應(yīng)具備的知識(shí) 2 5 3算法示例 笨辦法 聰明的辦法 1 2 3 4 一直加到100 一個(gè)一個(gè)的相加 1 2 3 3 3 6 6 4 10 最后等于5050 1 100 2 99 3 98 10150 101 5050 無(wú)論什么方法都是解決問(wèn)題 問(wèn)題 有窮性 一個(gè)算法應(yīng)包含有限的操作步驟 而不能是無(wú)限的 確定性 算法中的每一個(gè)步驟都應(yīng)當(dāng)是確定的 而不應(yīng)當(dāng)是含糊的 模棱兩可的 有零個(gè)或多個(gè)輸入 所謂輸入是指在執(zhí)行算法時(shí)需要從外界取得必要的信息 有一個(gè)或多個(gè)輸出 算法的目的是為了求解 解 就是輸出 沒有輸出的算法是沒有意義的 有效性 算法中的每一個(gè)步驟都應(yīng)當(dāng)能有效地執(zhí)行 并得到確定的結(jié)果 算法特性 一個(gè)有效算法應(yīng)該具有以下特點(diǎn) 2 5 4算法的特點(diǎn) 面向過(guò)程的編程語(yǔ)言 程序設(shè)計(jì)方法 結(jié)構(gòu)化編碼 模塊化設(shè)計(jì) 自頂向下 逐步細(xì)化 2 5 5C語(yǔ)言是面向過(guò)程的編程語(yǔ)言 2 5 6C語(yǔ)言編程步驟 從 obj鏈接成 exe 如果調(diào)試出現(xiàn)問(wèn)題 就返回源碼編輯 編輯源代碼 編譯源文件 鏈接生成應(yīng)用程序 代碼在 c與 h頭文件中寫好了以后 從 c h文件編譯成 obj 代碼被編譯為二進(jìn)制文件 obj以后 打包一些調(diào)用的庫(kù) 鏈接成 exe可執(zhí)行文件 C語(yǔ)言的編程步驟需要三個(gè)步驟 CPP C文件 C語(yǔ)言與C 語(yǔ)言 CPP是C 的源文件 C 語(yǔ)言兼容C語(yǔ)言 編寫C語(yǔ)言代碼可以用C 的源文件 CPP C 語(yǔ)言兼容C語(yǔ)言 C語(yǔ)言是面向過(guò)程 C 語(yǔ)言既能面向過(guò)程也可以面向?qū)ο?C是純粹的C語(yǔ)言文件 不可以有C 語(yǔ)言的代碼 默認(rèn)自帶一些庫(kù)文件 2 5 7 C與 CPP文件的差別 2 6初學(xué)者疑惑 集成開發(fā)環(huán)境 例如VisualStudio2010就是一個(gè)IDE IDE 所有的代碼字符必須在英文狀態(tài)下輸入 否則會(huì)因?yàn)樽址煌瑘?bào)錯(cuò) 代碼 字符 學(xué)習(xí)C 之前 必須先學(xué)C語(yǔ)言 不懂C語(yǔ)言的精髓 難以學(xué)好C 可以直接學(xué)C 學(xué)會(huì)編寫代碼 用代碼解決問(wèn)題 是最快的學(xué)習(xí)途徑 C C 的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論