




已閱讀5頁(yè),還剩67頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
大連理工大學(xué)出版社 C語(yǔ)言程序設(shè)計(jì)案例教程 項(xiàng)目一學(xué)生成績(jī)的輸入和輸出 教學(xué)目的 通過(guò)本項(xiàng)目的學(xué)習(xí) 要求能理解C程序的基本結(jié)構(gòu) 能熟練使用基本輸入和輸出函數(shù)進(jìn)行數(shù)據(jù)操作 掌握C程序的上機(jī)步驟 為后面項(xiàng)目的學(xué)習(xí)奠定基礎(chǔ) 項(xiàng)目一學(xué)生成績(jī)的輸入和輸出 教學(xué)內(nèi)容 項(xiàng)目一學(xué)生成績(jī)的輸入和輸出 重點(diǎn)和難點(diǎn) 1 C程序的基本結(jié)構(gòu) 2 數(shù)據(jù)的輸入輸出方法 3 C程序的上機(jī)步驟 難點(diǎn) 數(shù)據(jù)的輸入輸出方法 任務(wù)1學(xué)生成績(jī)的輸入 輸出 實(shí)現(xiàn) 功能 學(xué)生成績(jī)的輸入和輸出 includevoidmain 1 問(wèn)題情景與實(shí)現(xiàn) 問(wèn)題情景 輔導(dǎo)員張老師在工作中發(fā)現(xiàn)需要對(duì)學(xué)生的成績(jī)進(jìn)行錄入和輸出到電腦屏幕上 故他找來(lái)了學(xué)習(xí)計(jì)算機(jī)編程的小王同學(xué) 說(shuō)明了需求 小王根據(jù)張老師的需求 利用自己所學(xué)的C語(yǔ)言編程思想 參考了相關(guān)的資料 設(shè)計(jì)了一個(gè)學(xué)生成績(jī)的輸入和輸出的程序 幫助張老師解決了該問(wèn)題 任務(wù)1學(xué)生成績(jī)的輸入 輸出 floatyuwen shuxue yingyu printf 請(qǐng)輸入學(xué)生的語(yǔ)文 數(shù)學(xué) 英語(yǔ)的成績(jī) scanf f f f 編譯 連接 和運(yùn)行程序 程序運(yùn)行后 屏幕顯示 要完成上面的任務(wù) 小王必須要能理解C程序的基本結(jié)構(gòu) 能熟練使用基本輸入和輸出函數(shù)進(jìn)行數(shù)據(jù)操作的方法 掌握C程序的上機(jī)步驟 對(duì)設(shè)計(jì)好的程序進(jìn)行調(diào)試 任務(wù)1學(xué)生成績(jī)的輸入 輸出 2 相關(guān)知識(shí) 在日常生活中 我們其實(shí)在不段地編寫(xiě)程序并執(zhí)行 只不過(guò)人們并沒(méi)有明確地意識(shí)到而已 舉個(gè)例子 我們現(xiàn)在要用全自動(dòng)洗衣機(jī)洗衣服 應(yīng)該怎么做呢 盡管簡(jiǎn)單 我們還是按照一般人的習(xí)慣來(lái)描述一下吧 第一步 就是要把臟衣服扔進(jìn)洗衣機(jī) 第二步 打開(kāi)上水的水龍頭并安裝好電源插頭 第三步 放入洗衣粉 第四步 按下洗衣機(jī)的開(kāi)始按鈕 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 1 1 1程序和程序設(shè)計(jì)語(yǔ)言 1 程序 第五步 等待洗衣機(jī)洗完衣服 當(dāng)然 不妨去干點(diǎn)什么別的事情 在洗衣機(jī)提示洗完的蜂鳴聲響了以后 就可以從洗衣機(jī)中拿出干凈衣服去晾曬了 上面所描述的五個(gè)步驟 就是人們洗衣服的 程序 也許不同的人使用的步驟并不完全一樣 例如將第一步和第二步互換一下 也同樣能將衣服洗干凈 所以干一件事的 程序 可以不惟一 這也是計(jì)算機(jī)程序的一個(gè)特點(diǎn) 對(duì)于計(jì)算機(jī)來(lái)說(shuō) 程序就是由計(jì)算機(jī)指令構(gòu)成的序列 計(jì)算機(jī)按照程序中的指令逐條執(zhí)行 就可以完成相應(yīng)的操作 實(shí)際上計(jì)算機(jī)自己不會(huì)做任何工作 它所做的工作都是由人們事先編好的程序來(lái)控制的 程序需要人來(lái)編寫(xiě) 使用的工具就是程序設(shè)計(jì)語(yǔ)言 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 匯編語(yǔ)言 計(jì)算機(jī)語(yǔ)言一般分為低級(jí)語(yǔ)言和高級(jí)語(yǔ)言 低級(jí)語(yǔ)言包括機(jī)器語(yǔ)言和匯編語(yǔ)言 機(jī)器語(yǔ)言 低級(jí)語(yǔ)言 高級(jí)語(yǔ)言 計(jì)算機(jī)語(yǔ)言 2 程序設(shè)計(jì)語(yǔ)言 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 機(jī)器語(yǔ)言直接使用二進(jìn)制表示的指令來(lái)編程的語(yǔ)言就是機(jī)器語(yǔ)言 使用機(jī)器語(yǔ)言編寫(xiě)程序時(shí) 必須準(zhǔn)確無(wú)誤地牢記每一條指令的二進(jìn)制編碼 才能編寫(xiě)程序 如果程序員面對(duì)的是 101110001110100000000011 這樣的編碼序列 能不頭痛嗎 而且 有時(shí)還要求把這些二進(jìn)制編碼再轉(zhuǎn)換成八進(jìn)制或十六進(jìn)制數(shù)才能輸入計(jì)算機(jī) 這不但加大了程序員的工作量 而且還增加了程序出錯(cuò)的機(jī)會(huì) 將大量的二進(jìn)制編碼序列準(zhǔn)確地轉(zhuǎn)換成八進(jìn)制或十六進(jìn)制數(shù) 可不是一件容易的事 機(jī)器語(yǔ)言的優(yōu)點(diǎn)是執(zhí)行速度快 并且可以直接對(duì)硬件進(jìn)行操作 例如主板上的BIOS及一些設(shè)備的驅(qū)動(dòng)程序等 機(jī)器語(yǔ)言的缺點(diǎn)也是顯而易見(jiàn)的 首先是可讀性差 就是編寫(xiě)程序語(yǔ)句 101110001110100000000011 的人也未必馬上就能看懂該句表示的是什么命令 其次 是可維護(hù)性差 別的程序員編寫(xiě)的程序 甚至是程序員自己編寫(xiě)的 很難看懂 如何談維護(hù)呢 再者 就是可移植性差 因?yàn)椴煌臋C(jī)型有自己的一套機(jī)器指令 與其他機(jī)型的機(jī)器指令不兼容 另外 用機(jī)器語(yǔ)言編寫(xiě)程序的生產(chǎn)效率低下 并且不能保證程序有好的質(zhì)量 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 匯編語(yǔ)言為了能夠更方便地編寫(xiě)程序 人們用一些符號(hào)和簡(jiǎn)單的語(yǔ)法來(lái)表示機(jī)器指令 這就是匯編語(yǔ)言 例如 101110001110100000000011 用匯編語(yǔ)言表示就是 movax 1000 該指令的功能是 將1000送入寄存器AX中 是不是清楚多了 但是CPU并不能識(shí)別匯編語(yǔ)言 因此 需要一個(gè) 翻譯 程序?qū)R編語(yǔ)言翻譯成機(jī)器語(yǔ)言 我們把這種將匯編語(yǔ)言翻譯成機(jī)器語(yǔ)言的程序叫做 匯編器 匯編語(yǔ)言與機(jī)器語(yǔ)言的指令時(shí)一一對(duì)應(yīng)的 所以 除了提高了一些可讀性 匯編語(yǔ)言從根本上并沒(méi)有改變機(jī)器語(yǔ)言的特點(diǎn) 可以說(shuō) 匯編語(yǔ)言是面向機(jī)器語(yǔ)言的 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 高級(jí)語(yǔ)言高級(jí)語(yǔ)言是一種比較接近自然語(yǔ)言和數(shù)學(xué)語(yǔ)言的程序設(shè)計(jì)語(yǔ)言 高級(jí)語(yǔ)言的出現(xiàn)大大提高了程序員的工作效率 降低了程序設(shè)計(jì)的難度 并改善了程序的質(zhì)量 用高級(jí)語(yǔ)言編寫(xiě)的程序看起來(lái)更像是英語(yǔ) 很容易讀懂 不但使程序具備良好的可讀性和可維護(hù)性 而且使更多的人掌握了程序設(shè)計(jì)方法 從而使計(jì)算機(jī)技術(shù)得到迅速的應(yīng)用和普及 另外 用高級(jí)語(yǔ)言編寫(xiě)的程序還具有很高的可移植性 從高級(jí)語(yǔ)言到機(jī)器語(yǔ)言要經(jīng)過(guò)編譯程序進(jìn)行 翻譯 而高級(jí)語(yǔ)言幾乎為每一種機(jī)器都創(chuàng)建了各自的編譯程序 從而可以將用高級(jí)語(yǔ)言編寫(xiě)的程序幾乎不加修改地運(yùn)行在不同的計(jì)算機(jī)平臺(tái)上 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 例如 語(yǔ)句段if a b c a elsec b 表示的是 如果a大于b 則c a 否則c b 是不是很容易理解 當(dāng)然 要注意 這里的 與數(shù)學(xué)語(yǔ)言等號(hào)是有根本的區(qū)別的 我們將在介紹C語(yǔ)言的運(yùn)算符時(shí) 詳細(xì)地加以討論 編譯程序分為兩種 一種是解釋系統(tǒng) 另一種是編譯系統(tǒng) 解釋系統(tǒng)是對(duì)高級(jí)語(yǔ)言編寫(xiě)的程序翻譯一句執(zhí)行一句 而編譯系統(tǒng)是將高級(jí)語(yǔ)言編寫(xiě)的程序文件全部翻譯成機(jī)器語(yǔ)言 生成可執(zhí)行文件以后再執(zhí)行 高級(jí)語(yǔ)言幾乎在每一種機(jī)器上都有自己的編譯程序 C語(yǔ)言的編譯程序?qū)儆诰幾g系統(tǒng) 1 1C程序介紹 1 1 1程序設(shè)計(jì)和程序設(shè)計(jì)語(yǔ)言 例1 1 一個(gè)簡(jiǎn)單的C程序 源文件名 Li1 1 c功能 在屏幕輸出一串字符串 includevoidmain printf Thisisacprogram n 打印輸出一行信息 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 1 1 2簡(jiǎn)單的C程序 程序運(yùn)行后 屏幕顯示 Thisisacprogram 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 1 是程序的注釋部分 注釋內(nèi)容是為了增加程序的可讀性 系統(tǒng)不編譯注釋內(nèi)容 自動(dòng)忽略從 到 之間的內(nèi)容 VisualC 6 0中以 開(kāi)頭直到本行結(jié)束的部分也是注釋 與 的區(qū)別在于 只能注釋一行 不能跨行 這種注釋也稱(chēng)為行注釋 而 注釋可以跨行 稱(chēng)為塊注釋 在Turboc2 0中沒(méi)有所謂的行注釋 只能用 來(lái)注釋 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 2 include是一條編譯預(yù)處理命令 聲明該程序要使用stdio h文件中的內(nèi)容 stdio h文件中包含了輸入函數(shù)scanf 和輸出函數(shù)printf 的定義 編譯時(shí)系統(tǒng)將頭文件stdio h中的內(nèi)容嵌入到程序中該命令位置 C中編譯預(yù)處理命令都以 開(kāi)頭 C提供了3類(lèi)編譯預(yù)處理命令 宏定義命令 文件包含命令和條件編譯命令 例1 1中出現(xiàn)的 include是文件包含命令 其中尖括號(hào)內(nèi)是被包含的文件名 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 3 程序中定義了一個(gè)主函數(shù)main 其中main是函數(shù)名 void表示該函數(shù)的返回值類(lèi)型 程序執(zhí)行從主函數(shù)開(kāi)始 一個(gè)C的程序可以包含多個(gè)文件 每個(gè)文件又可以包含多個(gè)函數(shù) 函數(shù)之間是相互平行 相互獨(dú)立的 一個(gè)C程序 必須有一個(gè)且只能有一個(gè)主函數(shù)main 執(zhí)行程序時(shí) 系統(tǒng)先從主函數(shù)開(kāi)始運(yùn)行 其他函數(shù)只能被主函數(shù)調(diào)用或通過(guò)主函數(shù)調(diào)用的函數(shù)所調(diào)用 函數(shù)可以嵌套調(diào)用 即在一個(gè)函數(shù)中調(diào)用另外一個(gè)函數(shù) 主函數(shù)可以帶參數(shù) 也可以不帶參數(shù) 函數(shù)在調(diào)用之前 必須先定義好 定義函數(shù)要按照系統(tǒng)規(guī)定的格式進(jìn)行 后面再詳細(xì)介紹 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 4 由 括起來(lái)的內(nèi)容是主函數(shù)main 的函數(shù)體 期中左大括號(hào) 表示函數(shù)的開(kāi)始 右大括號(hào) 表示函數(shù)的結(jié)束 函數(shù)體部分由許多C語(yǔ)句組成 這些語(yǔ)句描述了函數(shù)的功能實(shí)現(xiàn) 5 該程序是由函數(shù)組成的 程序中只包含一個(gè)主函數(shù) 而且主函數(shù)的函數(shù)體中只有一條語(yǔ)句 用于完成字符串的打印輸出 printf 為屏幕打印輸出函數(shù) 指定顯示器為標(biāo)準(zhǔn)輸出設(shè)備 雙引號(hào)中的內(nèi)容要原樣輸出 n表示回車(chē)換行 表示語(yǔ)句結(jié)束 C規(guī)定語(yǔ)句必須要以分號(hào) 結(jié)尾 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 例1 1 小結(jié) 由以上分析可以看出 一個(gè)C程序的基本結(jié)構(gòu)包括 以 開(kāi)頭的若干個(gè)編譯預(yù)處理命令 將程序所需要的頭文件包含進(jìn)來(lái) 然后是定義主函數(shù)和其他函數(shù) 當(dāng)然函數(shù)也可以在程序的起始部分先利用函數(shù)原型進(jìn)行聲明 以后再進(jìn)行定義 用大括號(hào) 括起來(lái)的部分是函數(shù)體部分 函數(shù)體部分主要包括各種各樣的語(yǔ)句和注釋信息 這部分是程序的主體部分 占的比重也最大 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 例1 2 求兩數(shù)之和 源文件名 Li1 2 c功能 求兩個(gè)數(shù)a和b之和sum includevoidmain inta b sum 定義三個(gè)整型變量 a 123 給變量a賦值為123 b 456 給變量b賦值為456 sum a b 變量a的值加上變量b的值 然后將兩數(shù)的和賦給變量sum printf sumis d n sum 輸出變量sum的值 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 例1 3 求兩數(shù)中較大者 源文件名 Li1 3 c功能 從鍵盤(pán)輸入兩個(gè)數(shù) 通過(guò)比較求得兩個(gè)數(shù)的較大者 并打印輸出 includeintmax int int 聲明函數(shù)max voidmain inta b c 聲明部分 定義變量 printf 請(qǐng)輸入a和b的值 提示輸入a和b的值 scanf d d 輸出c的值 定義max函數(shù) 函數(shù)值為整型 形式參數(shù)x y為整型 intmax intx inty intz max函數(shù)中的聲明部分 定義本函數(shù)中用到的變量z為整型 if x y z x elsez y return z 將z的值返回 通過(guò)max帶回調(diào)用處 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 下面來(lái)分析 例1 3 的程序結(jié)構(gòu) 該程序包括兩個(gè)函數(shù) 一個(gè)是程序的入口函數(shù)主函數(shù)main 另一個(gè)是求兩數(shù)之較大者的普通函數(shù)max 它代表某一種功能 在主函數(shù)main 中調(diào)用了普通函數(shù)max 如果把做菜比做main 函數(shù) 那么在做菜過(guò)程中用了醬油就好比調(diào)用了max 函數(shù) 實(shí)現(xiàn)調(diào)味功能 在程序的第二行聲明了max 函數(shù) 就好比在做菜之前要先把醬油準(zhǔn)備好 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 由上面幾個(gè)簡(jiǎn)單的C程序可知 在編寫(xiě)C程序時(shí) 要注意書(shū)寫(xiě)格式 盡量遵循以下基本原則 1 一般情況下一行只寫(xiě)一條語(yǔ)句 短語(yǔ)句可以一行寫(xiě)多條 長(zhǎng)語(yǔ)句可以分成多行來(lái)寫(xiě) 分行原則是不能將一個(gè)單詞分開(kāi) 用雙引號(hào)括起來(lái)的字符串最好也不要分開(kāi) 如果一定要分開(kāi) 有的編譯系統(tǒng)要求在行尾加上續(xù)行符 1 1C程序介紹 1 1 2簡(jiǎn)單的C程序 2 C程序書(shū)寫(xiě)時(shí)要盡量提高可讀性 為此 用適當(dāng)?shù)目s進(jìn)格式書(shū)寫(xiě)程序是非常必要的 表示同一類(lèi)內(nèi)容或同一層次的語(yǔ)句要對(duì)齊 例如 一個(gè)循環(huán)的循環(huán)體中的各語(yǔ)句要對(duì)齊 同一個(gè)if語(yǔ)句中的if體內(nèi)的若干條語(yǔ)句或else體內(nèi)的若干條語(yǔ)句要對(duì)齊 3 C程序中大括號(hào) 使用較多 其書(shū)寫(xiě)方法也較多 建議用戶(hù)要養(yǎng)成使用大括號(hào)的固定風(fēng)格 例如 每個(gè)大括號(hào)占一行 并與使用大括號(hào)的語(yǔ)句對(duì)齊 大括號(hào)內(nèi)的語(yǔ)句采用縮進(jìn)4個(gè)字符的格式書(shū)寫(xiě) 如例1 1所示 1 2C程序的基本結(jié)構(gòu) 函數(shù)是C程序的基本結(jié)構(gòu) 一個(gè)C程序由一個(gè)或多個(gè)函數(shù)組成 一個(gè)C函數(shù)由若干條C語(yǔ)句構(gòu)成 一條C語(yǔ)句由若干基本單詞組成 C函數(shù)是完成某個(gè)整體功能的最小單位 是相對(duì)獨(dú)立的模塊 簡(jiǎn)單的C程序可能只有一個(gè)主函數(shù) 而復(fù)雜的C程序則可能包含一個(gè)主函數(shù)和任意多個(gè)其他函數(shù) 所有C函數(shù)的結(jié)構(gòu)都包括三部分 函數(shù)名 形式參數(shù)和函數(shù)體 1 2C程序的基本結(jié)構(gòu) 下面給出C程序的一般格式 其中的main為主函數(shù)名 sub1 到subn 為子函數(shù)名 在C程序中 主函數(shù)名是固定的 其他的函數(shù)名則可以根據(jù)標(biāo)識(shí)符的命名方法任意取名 形式參數(shù)是函數(shù)調(diào)用時(shí)進(jìn)行數(shù)據(jù)傳遞的主要途徑 當(dāng)形式參數(shù)表中有多個(gè)參數(shù)時(shí) 相互之間用逗號(hào)隔開(kāi) 有的函數(shù)可以沒(méi)有形式參數(shù) 大括號(hào) 括起來(lái)的部分為函數(shù)體 用來(lái)描述函數(shù)的功能 一般函數(shù)體由局部變量定義和完成本函數(shù)功能的語(yǔ)句序列組成 程序在執(zhí)行時(shí) 無(wú)論各個(gè)函數(shù)的書(shū)寫(xiě)位置如何 總是先執(zhí)行main 函數(shù) 再由main 函數(shù)調(diào)用其他函數(shù) 最后終止于main 函數(shù) 1 2C程序的基本結(jié)構(gòu) 包含文件子函數(shù)類(lèi)型說(shuō)明全局變量定義類(lèi)型main 局部變量定義語(yǔ)句序列 類(lèi)型sub1 形式參數(shù)表 局部變量定義語(yǔ)句序列 類(lèi)型subn 形式參數(shù)表 局部變量定義語(yǔ)句序列 1 3基本輸入和輸出方法 輸入是將原始數(shù)據(jù)通過(guò)輸入設(shè)備送入計(jì)算機(jī) 輸出是將保存在內(nèi)存中的計(jì)算結(jié)果送到輸出設(shè)備上 C語(yǔ)言本身并不提供輸入輸出語(yǔ)句 有關(guān)輸入輸出操作都是由函數(shù)的調(diào)用來(lái)實(shí)現(xiàn)的 為完成此操作 C語(yǔ)言編譯系統(tǒng)提供了輸入輸出函數(shù) 如字符輸入函數(shù)getchar 字符輸出函數(shù)putchar 格式輸出函數(shù)printf 和格式輸入函數(shù)scanf 這些函數(shù)都是針對(duì)系統(tǒng)特定的輸入輸出函數(shù) 如鍵盤(pán) 顯示器等 而言的 格式 getchar 功能 從鍵盤(pán)接收輸入的一個(gè)字符 說(shuō)明 getchar 的值可以送給字符型變量 也可以送給整型變量 1 3基本輸入和輸出方法 1 3 1字符輸入函數(shù)getchar 1 3 1字符輸入函數(shù)getchar 1 3基本輸入和輸出方法 1 3 1字符輸入函數(shù)getchar 例1 4 從鍵盤(pán)輸入字符 源文件名 Li1 4 c功能 從鍵盤(pán)輸入一個(gè)字符 并將其存入字符型變量c中 includevoidmain charc c getchar 從鍵盤(pán)輸入一個(gè)字符 printf c c n c 數(shù)據(jù)的輸出一般是以終端 顯示器 為處理對(duì)象 格式 putchar c 功能 向終端 一般為顯示器 輸出一個(gè)字符 說(shuō)明 c可以是字符型或整型變量 也可以是一個(gè)字符常量或整型常量 1 3基本輸入和輸出方法 1 3 2字符輸出函數(shù)putchar 1 3 2字符輸出函數(shù)putchar 1 3基本輸入和輸出方法 1 3 2字符輸出函數(shù)putchar 例1 5 從鍵盤(pán)輸入字符 在屏幕上顯示出來(lái) 源文件名 Li1 5 c功能 從鍵盤(pán)輸入一個(gè)字符 并用putchar c 在屏幕上顯示出來(lái) includevoidmain charc c getchar 從鍵盤(pán)輸入一個(gè)字符 putchar c 在屏幕上顯示一個(gè)字符printf n 格式輸出函數(shù)printf 的功能是按指定的格式輸出數(shù)據(jù) 其一般的調(diào)用格式為 printf 格式控制字符串 參數(shù)表 其中printf是函數(shù)名 其后括號(hào)中的內(nèi)容為該函數(shù)的參數(shù) 格式控制字符串用雙引號(hào)括起來(lái) 用來(lái)規(guī)定輸出格式 如 d用來(lái)輸出整數(shù) f用來(lái)輸出實(shí)數(shù) c用來(lái)輸出字符 參數(shù)表中包含零個(gè)或多個(gè)輸出項(xiàng) 這些輸出項(xiàng)可以是整數(shù) 實(shí)數(shù) 變量或表達(dá)式 多個(gè)輸出項(xiàng)之間用逗號(hào)隔開(kāi) 例如 語(yǔ)句printf d d a b 用來(lái)按十進(jìn)制整數(shù)形式輸出變量a和b 1 3基本輸入和輸出方法 1 3 3格式輸出函數(shù)printf 1 3 3格式輸出函數(shù)printf 1 3基本輸入和輸出方法 1 3 3格式輸出函數(shù)printf 例1 6 打印輸出兩個(gè)整型變量的值 源文件名 Li1 6 c功能 在屏幕上打印輸出變量a和變量b的值 includevoidmain inta 8 intb 18 printf a d b d n a b 格式輸入函數(shù)scanf 的功能是按指定的格式輸入數(shù)據(jù) 其一般的調(diào)用格式為 scanf 格式控制字符串 參數(shù)表 其中scanf是函數(shù)名 其后括號(hào)中的內(nèi)容為該函數(shù)的參數(shù) 格式控制字符串用雙引號(hào)括起來(lái) 用來(lái)規(guī)定輸入格式 其用法和printf 函數(shù)中的規(guī)定相同 1 3基本輸入和輸出方法 1 3 4格式輸入函數(shù)scanf 1 3 4格式輸入函數(shù)scanf 參數(shù)表中至少包含一個(gè)輸入項(xiàng) 且必須是變量的地址 多個(gè)輸入項(xiàng)之間用逗號(hào)隔開(kāi) 例如 語(yǔ)句scanf d d 用來(lái)按十進(jìn)制整數(shù)形式輸出變量a和b中 1 3基本輸入和輸出方法 1 3 4格式輸入函數(shù)scanf 1 3基本輸入和輸出方法 1 3 4格式輸入函數(shù)scanf 例1 7 從鍵盤(pán)輸入兩個(gè)整型變量的值 源文件名 Li1 7 c功能 從鍵盤(pán)輸入變量a和變量b的值 并打印輸出 includevoidmain inta b printf 請(qǐng)輸入變量a和變量b的值 scanf d d 1 C程序的上機(jī)步驟 C源程序要經(jīng)過(guò)編輯 編譯 連接和運(yùn)行4個(gè)環(huán)節(jié) 才能產(chǎn)生輸出結(jié)果 例 編制一個(gè)名為Ch01 01的程序 其操作流程圖如圖所示 編輯 編譯 連接 運(yùn)行 1 C程序的上機(jī)步驟 編輯是在一定的環(huán)境下進(jìn)行程序的輸入和修改的過(guò)程 C程序可以事先在紙上寫(xiě)好 也可以在編輯環(huán)境下直接輸入到計(jì)算機(jī)中 用某種計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言編寫(xiě)的程序稱(chēng)為源程序 保存后生成程序文件 C源程序在Turboc2 0環(huán)境下默認(rèn)文件擴(kuò)展名為 c 在VisualC 6 0環(huán)境下默認(rèn)文件擴(kuò)展名為 cpp C源程序也可以使用計(jì)算機(jī)所提供的各種編輯器進(jìn)行編輯 1 編輯 1 C程序的上機(jī)步驟 編輯好的源程序不能直接被計(jì)算機(jī)所理解 源程序必須經(jīng)過(guò)編譯 生成計(jì)算機(jī)能夠識(shí)別的機(jī)器代碼 通過(guò)編譯器將C源程序轉(zhuǎn)換成二進(jìn)制機(jī)器代碼的過(guò)程稱(chēng)為編譯 這些二進(jìn)制機(jī)器代碼稱(chēng)為目標(biāo)代碼 目標(biāo)代碼保存在以 obj 為擴(kuò)展名的目標(biāo)文件中 編譯階段要進(jìn)行詞法分析和語(yǔ)法分析 又稱(chēng)源程序分析 這一階段主要是分析程序的語(yǔ)法結(jié)構(gòu) 檢查C源程序的語(yǔ)法錯(cuò)誤 如果分析過(guò)程中發(fā)現(xiàn)有不符合要求的語(yǔ)法 就會(huì)及時(shí)報(bào)告給用戶(hù) 將錯(cuò)誤類(lèi)型顯示在屏幕上 2 編譯 1 C程序的上機(jī)步驟 編譯后生成的目標(biāo)代碼還不能直接在計(jì)算機(jī)上運(yùn)行 其主要原因是編譯器對(duì)每個(gè)源程序文件分別進(jìn)行編譯 如果一個(gè)程序有多個(gè)源程序文件 編譯后這些源程序文件還分布在不同的地方 因此 需要把它們連接在一起 生成可以在計(jì)算機(jī)上運(yùn)行的可執(zhí)行文件 即使源程序僅由一個(gè)源文件構(gòu)成 這個(gè)源文件生成的目標(biāo)程序也還需要系統(tǒng)提供庫(kù)文件中的一些代碼 故也需要連接起來(lái) 3 連接 1 C程序的上機(jī)步驟 連接工作一般由編譯系統(tǒng)中的連接程序來(lái)完成 連接程序?qū)⒂删幾g器生成的目標(biāo)代碼文件和庫(kù)中的某些文件連接在一起 生成一個(gè)可執(zhí)行文件 可執(zhí)行文件的默認(rèn)擴(kuò)展名為 exe 一個(gè)C源程序經(jīng)過(guò)編譯和連接后生成了可執(zhí)行文件 可以在Windows環(huán)境下直接雙擊該文件運(yùn)行程序 也可以在VisualC 6 0的集成開(kāi)發(fā)環(huán)境下運(yùn)行 程序運(yùn)行后 將在屏幕上顯示運(yùn)行結(jié)果或提示用戶(hù)輸入數(shù)據(jù)的信息 用戶(hù)可以根據(jù)運(yùn)行結(jié)果來(lái)判斷程序是否有算法錯(cuò)誤 在生成可執(zhí)行文件之前 一定要保證編譯和連接不出現(xiàn)錯(cuò)誤和警告 這樣才能正常運(yùn)行 因?yàn)槌绦蛑杏行┚骐m然不影響生成可執(zhí)行文件 但有可能導(dǎo)致結(jié)果錯(cuò)誤 1 C程序的上機(jī)步驟 4 運(yùn)行 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 一 實(shí)訓(xùn)名稱(chēng)程序設(shè)計(jì)的基本流程與VisualC IDE的基本使用 二 實(shí)訓(xùn)目標(biāo)熟練掌握邏輯編程方法與用自然語(yǔ)言描述 熟練掌握在VisualC 6 0IDE中創(chuàng)建Win32控制臺(tái)應(yīng)用程序的操作技能 包括 源程序的編輯 編譯 連接和執(zhí)行操作 熟練掌握項(xiàng)目文件的布局 包括 新建工程 源程序及可執(zhí)行程序的目錄文件結(jié)構(gòu) 基本掌握C程序的最基本框架結(jié)構(gòu) 模仿示范實(shí)例完成程序的編制與運(yùn)行 基本掌握發(fā)現(xiàn)語(yǔ)法錯(cuò)誤 邏輯錯(cuò)誤的方法以及排除簡(jiǎn)單錯(cuò)誤的操作技能 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 三 實(shí)訓(xùn)內(nèi)容VisualC 6 0IDE的啟動(dòng)與退出 1 啟動(dòng)VisualC 6 0IDE 操作方法如下 在Windows桌面上 單擊 開(kāi)始 程序 MicrosoftVisualC 6 0 MicrosoftVisualC 6 0 菜單命令 啟動(dòng)VisualC 6 0IDE的主窗口 如圖1 3所示 圖1 3VisualC 6 0IDE的主窗口 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 2 退出VisualC 6 0IDE 操作方法如下 單擊 文件 退出 菜單命令 或單擊窗口的 關(guān)閉 按鈕 退出VisualC 新建工程 在 C STUDENT 目錄下 新建一個(gè)名為 ch01 01 的工程 新建工程ch01 01的操作方法如下 1 啟動(dòng)VisualC 2 在VisualC 主窗口中 單擊 文件 新建 彈出 新建 對(duì)話框 3 在 新建 對(duì)話框中 單擊選中 工程 標(biāo)簽下的 Win32ConsoleApplication Win32控制臺(tái)應(yīng)用程序 項(xiàng) 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 圖1 4新建工程的 新建對(duì)話框 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 4 單擊 確定 按鈕 進(jìn)入 Win32ConsoleApplication 步驟1共1步 選中 一個(gè)空工程 E 項(xiàng) 如圖1 5所示 然后在 位置 文本框中指定新建工程的路徑 C STUDENT ch01 01 最后在 工程名稱(chēng) 文本框中 輸入新建工程的名稱(chēng) ch01 01 如圖1 4所示 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 圖1 5創(chuàng)建Win32控制臺(tái)應(yīng)用程序的第一步 5 單擊 完成 按鈕 彈出 新建工程信息 對(duì)話框 顯示即將新建的Win32控制臺(tái)應(yīng)用程序的框架說(shuō)明 如圖1 6所示 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 圖1 6新建工程的框架信息 說(shuō)明 EmptyConsoleapplication 說(shuō)明將建立的是一個(gè)空的控制臺(tái)應(yīng)用程序 Nofileswillbecreatedoraddedtotheproject 說(shuō)明即將創(chuàng)建的工程中沒(méi)有任何文件 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 6 在確認(rèn)Win32控制臺(tái)應(yīng)用程序的新建工程信息無(wú)誤后 單擊 確定 按鈕 彈出ch01 01工程編輯窗口 如圖1 7所示 圖1 7工程編輯窗口 7 單擊 文件 關(guān)閉工作空間 菜單命令 關(guān)閉工程編輯窗口 回到VisualC 主窗口 如圖1 3所示 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 8 檢查新建工程ch01 01 系統(tǒng)生成了一組相關(guān)的文件夾與文件 打開(kāi) 資源管理器 窗口 單擊 C STUDENT ch01 01 文件夾圖標(biāo) 窗口內(nèi)容顯示如圖1 8所示 圖1 8新建工程文件夾中的文件 說(shuō)明 當(dāng)用VisualC 生成一個(gè)項(xiàng)目時(shí) 系統(tǒng)會(huì)產(chǎn)生出很多的文件 對(duì)這些不同類(lèi)型文件的作用簡(jiǎn)單介紹如下 dsw文件 稱(chēng)為工作區(qū) Workspace 文件 這是VisualC 中級(jí)別最高的文件 可以用它直接打開(kāi)工程 dsp文件 項(xiàng)目文件 Project 文件 存放特定的應(yīng)用程序的有關(guān)信息 如果dsw文件沒(méi)有 可以用它直接打開(kāi)工程 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 opt文件 選項(xiàng)文件 是工程關(guān)于開(kāi)發(fā)環(huán)境的選項(xiàng)設(shè)置 此文件被刪除后會(huì)自動(dòng)建立 若更換了機(jī)器環(huán)境 因開(kāi)發(fā)環(huán)境變了 該文件也會(huì)重建 ncb文件 無(wú)編譯瀏覽文件 nocompilebrowser 使用技巧 當(dāng)自動(dòng)完成功能出問(wèn)題時(shí) 可以刪除此文件 build后會(huì)自動(dòng)生成 此時(shí)Debug文件夾下沒(méi)有任何文件 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 新建源程序文件 在 ch01 01 工程中 新建一個(gè)名為 ch1 01 c 的C源程序文件 程序內(nèi)容參考 例1 1 在工程中新建源程序文件的操作方法如下 1 在VisualC 主窗口中 單擊 文件 打開(kāi)工作空間 菜單命令 彈出 打開(kāi)工作區(qū) 對(duì)話框 在 查找范圍 下拉列表中選中 C STUDENT ch01 01 文件夾 在列表框中單擊選中名為 ch01 01 dsw 的文件 對(duì)話框顯示如圖1 9所示 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 圖1 9 打開(kāi)工作區(qū) 對(duì)話框 2 單擊 打開(kāi) 按鈕 進(jìn)入如圖1 7所示的ch01 01工程編輯窗口 3 單擊 工程 添加到工程 新建 菜單命令 彈出 新建 對(duì)話框 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 4 在對(duì)話框中選中 文件 標(biāo)簽 再選中 C SourceFile 項(xiàng) 然后 在 文件名 文本框中輸入 ch01 01 c 在這里建議大家輸入擴(kuò)展名 c 如果不輸入擴(kuò)展名 系統(tǒng)將自動(dòng)添加默認(rèn)擴(kuò)展名 cpp 如圖1 10所示 圖1 10工程中的 新建 對(duì)話框 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 說(shuō)明 默認(rèn)的選項(xiàng)卡是 文件 默認(rèn)文件類(lèi)型是 ActiveServerPage 5 單擊 確定 按鈕 然后在ch01 01的工程編輯窗口中將出現(xiàn)源程序文件的編輯窗口 如圖1 11所示 標(biāo)題為 ch01 01 c 的子窗口出現(xiàn)字符輸入光標(biāo)閃爍 提示輸入源程序 圖1 11源程序文件編輯窗口 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 說(shuō)明 現(xiàn)在窗口中將有兩個(gè)子窗口 一個(gè)是工程編輯窗口 主窗口 另一個(gè)是源程序編輯窗口 6 輸入源程序的全部?jī)?nèi)容 如圖1 12所示 然后 單擊 文件 保存 命令 或按工具欄上的 保存 按鈕 將輸入的源程序內(nèi)容保存到文件 C STUDENT ch01 01 ch01 01 c 中 圖1 12輸源程序內(nèi)容 實(shí)驗(yàn)初識(shí)VisualC 6 0環(huán)境及運(yùn)行 說(shuō)明 源程序的內(nèi)容可參考例1 1 例1 7 編譯 連接和運(yùn)行程序 1 單擊 組建 編譯 ch01 01 c 菜單命令 或按Ctrl F7健 編譯源程序
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 題型03 控制變量法探究實(shí)驗(yàn)-備戰(zhàn)2020年中考化學(xué)實(shí)驗(yàn)題型特訓(xùn)(原卷版)
- 新疆選品會(huì)活動(dòng)方案
- 【綿陽(yáng)】2025年四川綿陽(yáng)招聘派駐綿陽(yáng)經(jīng)開(kāi)區(qū)機(jī)關(guān)工作人員24人筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 春節(jié)鄉(xiāng)鎮(zhèn)活動(dòng)方案
- 春天燒烤活動(dòng)方案
- 共青團(tuán)中央直屬事業(yè)單位2025年社會(huì)招聘擬聘用人員(第一批)筆試歷年典型考題及考點(diǎn)剖析附帶答案詳解
- 文化館手機(jī)活動(dòng)方案
- 文化社團(tuán)線上活動(dòng)方案
- 新縣中原銀行活動(dòng)方案
- 文體教育活動(dòng)方案
- 反恐知識(shí)宣傳主題班會(huì)
- 基礎(chǔ)護(hù)理技能實(shí)訓(xùn) 課件 模塊一項(xiàng)目四任務(wù)三血壓的測(cè)量
- 貴州省2024年12月普通高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷(含答案)
- 北京市西城區(qū)2022-2023學(xué)年三年級(jí)上學(xué)期英語(yǔ)期末試卷(含聽(tīng)力音頻)
- 海洋機(jī)器人與人工智能知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋哈爾濱工程大學(xué)
- 2024-2025學(xué)年人教新目標(biāo)英語(yǔ)八年級(jí)下冊(cè)期末綜合檢測(cè)卷(含答案)
- 涼糕擺攤技術(shù)培訓(xùn)課件
- 幕墻清洗安全培訓(xùn)
- 制造業(yè)雙重預(yù)防機(jī)制實(shí)施方案
- 大學(xué)生村官考試公共基礎(chǔ)知識(shí)考點(diǎn)
- 雨污分流及路面修復(fù)工程施工組織設(shè)計(jì)方案
評(píng)論
0/150
提交評(píng)論