久久99精品久久久久久琪琪,久久人人爽人人爽人人片亞洲,熟妇人妻无码中文字幕,亚洲精品无码久久久久久久

C語(yǔ)言程序設(shè)計(jì)教學(xué)安排

時(shí)間:2019-05-13 01:09:16下載本文作者:會(huì)員上傳
簡(jiǎn)介:寫(xiě)寫(xiě)幫文庫(kù)小編為你整理了多篇相關(guān)的《C語(yǔ)言程序設(shè)計(jì)教學(xué)安排》,但愿對(duì)你工作學(xué)習(xí)有幫助,當(dāng)然你在寫(xiě)寫(xiě)幫文庫(kù)還可以找到更多《C語(yǔ)言程序設(shè)計(jì)教學(xué)安排》。

第一篇:C語(yǔ)言程序設(shè)計(jì)教學(xué)安排

C語(yǔ)言程序設(shè)計(jì)教學(xué)安排

本課程的任務(wù)是結(jié)合一般數(shù)值計(jì)算向?qū)W生介紹計(jì)算機(jī)程序設(shè)計(jì)的基本知識(shí),使學(xué)生掌握C語(yǔ)言的基本內(nèi)容及程序設(shè)計(jì)的基本方法與編程技巧,了解進(jìn)行科學(xué)計(jì)算的一般思路,培養(yǎng)學(xué)生應(yīng)用計(jì)算機(jī)解決和處理實(shí)際問(wèn)題的思維方法與基本能力,為進(jìn)一步學(xué)習(xí)和應(yīng)用計(jì)算機(jī)打下基礎(chǔ)。本課程學(xué)時(shí)總計(jì)32學(xué)時(shí)。

二、課程內(nèi)容、基本要求與學(xué)時(shí)分配

㈠ C語(yǔ)言的基本概念

3學(xué)時(shí)

1.了解C語(yǔ)言的特點(diǎn)及發(fā)展

2.掌握程序的基本結(jié)構(gòu)與書(shū)寫(xiě)格式

3.掌握頭文件、數(shù)據(jù)說(shuō)明、函數(shù)的開(kāi)始和結(jié)束標(biāo)志。

㈡ 數(shù)據(jù)類型及其運(yùn)算

2學(xué)時(shí)

1.掌握數(shù)據(jù)類型(基本類型、構(gòu)造類型、指針類型、空類型)及其定義方法。

2.掌握運(yùn)算符的種類、運(yùn)算優(yōu)先級(jí)、結(jié)合性。

3.掌握不同類型數(shù)據(jù)間的轉(zhuǎn)換與運(yùn)算。

4.掌握表達(dá)式類型(賦值表達(dá)式、算術(shù)表達(dá)式、關(guān)系表達(dá)式、邏輯表達(dá)式、條件表達(dá)式、逗號(hào)表達(dá)式)和求值規(guī)則。

㈢ 基本語(yǔ)句

2學(xué)時(shí)

1.掌握表達(dá)式語(yǔ)句、空語(yǔ)句、復(fù)合語(yǔ)句。

2.掌握數(shù)據(jù)的輸入/輸出和輸入/輸出函數(shù)。

3.掌握go to 語(yǔ)句和語(yǔ)句標(biāo)號(hào)的使用。

㈣ 選擇結(jié)構(gòu)

2學(xué)時(shí)

1.掌握用if語(yǔ)句實(shí)現(xiàn)選擇結(jié)構(gòu)。

2.掌握用switch語(yǔ)句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。

㈤ 循環(huán)結(jié)構(gòu)

4學(xué)時(shí)

1.掌握f(shuō)or循環(huán)結(jié)構(gòu)。

2.掌握while和do while循環(huán)結(jié)構(gòu)。

3.掌握continue、break、return語(yǔ)句。

4.掌握循環(huán)的嵌套。

㈥ 數(shù)組的定義和引用

4學(xué)時(shí)

1.掌握一維數(shù)組和多維數(shù)組的定義、初始化和引用。

2.掌握字符串與字符數(shù)組。

㈦函數(shù)

6學(xué)時(shí)

1.掌握庫(kù)函數(shù)的正確調(diào)用。

2.掌握函數(shù)的定義方法。

3.掌握函數(shù)的類型和返回值。

4.掌握形式參數(shù)與實(shí)在參數(shù)的區(qū)別,參數(shù)值的傳遞。

5.掌握函數(shù)的一般調(diào)用和嵌套調(diào)用,學(xué)會(huì)遞歸調(diào)用。

6.掌握局部變量和全局變量。

7.掌握變量的存儲(chǔ)類型(自動(dòng)、靜態(tài)、寄存器、外部),變量的作用域和生存期。

8.了解內(nèi)部函數(shù)和外部函數(shù)。

㈧編譯預(yù)處理

1學(xué)時(shí)

1.掌握編譯預(yù)處理的概念和特點(diǎn)

2.了解帶參數(shù)的宏定義及其使用,掌握不帶參數(shù)的宏定義及其使用。

3.掌握“文件包含”的概念和使用。

㈨指針

8學(xué)時(shí)

1.掌握指針的概念及指針的定義。

2.掌握指針運(yùn)算。

3.掌握指向變量、數(shù)組、字符串、函數(shù)的指針變量。

4.掌握用指針作函數(shù)參數(shù)。

5.掌握指針數(shù)組和指向指針的指針的概念及其定義方法,了解main函數(shù)的命令行參數(shù)。

㈩結(jié)構(gòu)與聯(lián)合 2學(xué)時(shí)

1.掌握結(jié)構(gòu)和聯(lián)合類型數(shù)據(jù)的定義方法。

2.掌握結(jié)構(gòu)和聯(lián)合類型數(shù)據(jù)的引用方法。3.掌握指向結(jié)構(gòu)體的指針變量。3.了解用typedef 定義類型的方法。

(十一)文件操作

2學(xué)時(shí)

1.掌握文件類型指針(file類型指針)。

2.掌握文件的打開(kāi)與關(guān)閉(fopen和fclose函數(shù))。

3.掌握文件的讀與寫(xiě)(fprintf和fscanf函數(shù))。

三、說(shuō)明

本課程的先修課程為《計(jì)算機(jī)文化基礎(chǔ)》和《高等數(shù)學(xué)》

四、課程使用的教材和主要參考書(shū)

使用的教材:《C程序設(shè)計(jì)》

潭浩強(qiáng) 著

清華大學(xué)出版社

主要參考書(shū):《C語(yǔ)言程序設(shè)計(jì)》 王樹(shù)義 錢達(dá)源 編著 大連理工大學(xué)出版社

第二篇:C語(yǔ)言程序設(shè)計(jì)實(shí)驗(yàn)安排

C語(yǔ)言實(shí)驗(yàn)指導(dǎo)

實(shí)驗(yàn)一 順序結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康氖煜ぴ赩C運(yùn)行環(huán)境下,編輯調(diào)試C語(yǔ)言程序的一般步驟。掌握順序結(jié)構(gòu)程序設(shè)計(jì)的基本思想和基本方法。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容:

⑴ 程序功能描述。

⑵ 程序版本號(hào)、創(chuàng)作日期。

⑶ 作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷ 問(wèn)題分析描述。

⑸ 算法設(shè)計(jì)描述。

⑹ 關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺ 調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻ 輸入數(shù)據(jù)樣例。

⑼ 輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

以下兩題,任選其一解答。

你知道淄博到北京的地面距離是多少千米嗎,淄博到紐約的地面距離又是多少千米呢?說(shuō)不上來(lái)了吧。還是讓我們編一個(gè)程序來(lái)計(jì)算一下吧。

1.已知地球的平均半徑為6371千米,假設(shè)在地球的同一緯度上,有兩個(gè)處于不同經(jīng)度的城市A、B,編程序求出這兩個(gè)城市之間的地面距離。

輸入數(shù)據(jù)樣例:例如,欲求北緯30度上東經(jīng)10度到東經(jīng)50度的距離,輸入格式應(yīng)為:30 10 50

參考測(cè)試數(shù)據(jù):

輸入:0 0 180 輸出:20015.08

輸入:30 0 90 輸出:8397.7

2輸入:60 0 45 輸出:2453.20

2.地球的平均半徑為6371千米,已知地球上兩個(gè)城市A、B的經(jīng)度和緯度,編程序求出這兩個(gè)城市之間的地面距離。

提示:球面上兩點(diǎn)之間的最短距離,等于過(guò)這兩點(diǎn)以球心為圓心的圓上,這兩點(diǎn)之間劣弧的長(zhǎng)度。(即這兩點(diǎn)與球心之間的連線構(gòu)成的夾角所對(duì)球面劣弧的長(zhǎng)度)。

建議你自己一步步推導(dǎo)出公式,而不要照搬網(wǎng)上的現(xiàn)成公式。

四、常見(jiàn)問(wèn)題

疑問(wèn)1:這分明是兩道數(shù)學(xué)題啊,能否將數(shù)學(xué)公式提供給我們呢,我們的主要任務(wù)不是編寫(xiě)程序嗎?

答:建立數(shù)學(xué)模型也是編程序的一部分。學(xué)會(huì)分析解決現(xiàn)實(shí)中遇到的問(wèn)題,是我們學(xué)習(xí)的重要目標(biāo)。

疑問(wèn)2:這個(gè)問(wèn)題好像屬于球面幾何的范疇,用平面幾何可以求解嗎?

答:這個(gè)問(wèn)題的確涉及到球面幾何,但是也的確可以利用投影以及平面幾何方法來(lái)求解。

實(shí)驗(yàn)二 選擇結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康?/p>

掌握選擇結(jié)構(gòu)程序設(shè)計(jì)的一般方法及選擇結(jié)構(gòu)程序的調(diào)試方法。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有充分注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容:

⑴程序功能描述。

⑵程序版本號(hào)、創(chuàng)作日期。

⑶作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷問(wèn)題分析描述。

⑸算法設(shè)計(jì)描述。

⑹關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻輸入數(shù)據(jù)樣例。

⑼輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

你知道你生日那天是星期幾嗎,還有你知道你爸爸生日那天是星期幾嗎?你可能會(huì)說(shuō):可以查萬(wàn)年歷啊。那么,不查萬(wàn)年歷你能計(jì)算出來(lái)嗎?

以下兩題,任選其一解答。

1.編程序?qū)崿F(xiàn):輸入一個(gè)年份y,求出從公元1年1月1日到y(tǒng)年1月1日,總共有多少天,并求出y年的1月1日是星期幾。

2.編程序?qū)崿F(xiàn):輸入任意一個(gè)日期的年、月、日的值,求出從公元1年1月1日到這一天總共有多少天,并求出這一天是星期幾。

四、常見(jiàn)問(wèn)題

疑問(wèn)1:閏年的規(guī)律是不是四年一閏?

答:四年一閏是儒略歷(儒略也就是凱撒大帝)的置閏規(guī)則。我們現(xiàn)在使用的是格里高利歷,置閏規(guī)則是每400年97閏。

疑問(wèn)2:公元1年1月1日是星期幾呢?

答:星期一。

疑問(wèn)3:據(jù)說(shuō)從儒略歷改為格里高利歷時(shí),將1582年10月4日的下一天定為格里高利歷的10月15日,中間銷去了10天,這會(huì)不會(huì)影響星期幾的計(jì)算?

答:這個(gè)調(diào)整是對(duì)儒略歷誤差的糾正,并不會(huì)影響總天數(shù)和星期幾的計(jì)算。

疑問(wèn)4:這里計(jì)算總天數(shù),好像要用到循環(huán)程序吧?

答:其實(shí)根據(jù)閏年的置閏規(guī)則,不使用循環(huán)也可以計(jì)算出來(lái)總天數(shù)。當(dāng)然,你想使用循環(huán)編寫(xiě)該程序也是可以的。

實(shí)驗(yàn)三 循環(huán)結(jié)構(gòu)程序設(shè)計(jì)(2學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康恼莆昭h(huán)結(jié)構(gòu)程序設(shè)計(jì)的一般方法及循環(huán)結(jié)構(gòu)程序的調(diào)試方法。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有充分注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容:

⑴程序功能描述。

⑵程序版本號(hào)、創(chuàng)作日期。

⑶作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷問(wèn)題分析描述。

⑸算法設(shè)計(jì)描述。

⑹關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻輸入數(shù)據(jù)樣例。

⑼輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

以下兩題,任選其一解答。

1. 海萍夫婦為了徹底告別“蝸居”生活,痛下決心貸款60萬(wàn)元購(gòu)買了一套三居室。若貸款月利率為0.5%,還款期限為120個(gè)月,還款方式為等額本金還款法(即貸款期限內(nèi)每期以相等的額度償還貸款本金,貸款利息隨本金逐期遞減)。試求出每個(gè)月還款的本金、每個(gè)月的利息以及總利息分別是多少元。

2. 若還款方式采用等額本息還款法(即貸款期限內(nèi)每期以相等的額度償還貸款本息,貸款利息隨本金逐期遞減)。試求出每個(gè)月還款的本金、每個(gè)月的利息以及總利息分別是多少元。

四、常見(jiàn)問(wèn)題

疑問(wèn)1:等額本息還款法每個(gè)月的還款額怎么計(jì)算,應(yīng)該有個(gè)公式吧,要不然怎么計(jì)算出來(lái)每個(gè)月應(yīng)還的利息與本金?

答:的確有一個(gè)計(jì)算公式。當(dāng)然你可以自己推導(dǎo)出來(lái)(這樣你會(huì)很有成就感!),要不然就從網(wǎng)上搜索出來(lái)。

實(shí)驗(yàn)四 循環(huán)程序綜合應(yīng)用(4學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康模?/p>

掌握循環(huán)結(jié)構(gòu)程序設(shè)計(jì)的一般方法及循環(huán)結(jié)構(gòu)程序的調(diào)試方法,能夠綜合運(yùn)用順序、選擇和循環(huán)結(jié)構(gòu)解決一般難度的實(shí)際應(yīng)用問(wèn)題。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有充分注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容:

⑴程序功能描述。

⑵程序版本號(hào)、創(chuàng)作日期。

⑶作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷問(wèn)題分析描述。

⑸算法設(shè)計(jì)描述。

⑹關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻輸入數(shù)據(jù)樣例。

⑼輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

以下兩題,任選其一解答。

1.編程序?qū)崿F(xiàn)如下功能:輸入任意一個(gè)年份和月份,按以下格式輸出該月份的公歷日歷。

要求由程序計(jì)算出來(lái)該月份的1日是星期幾,并用循環(huán)控制打印。打印樣例如下:

2012年日歷

==========

9月

---------日 一 二 三 四 五 六2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30-------------------------

2.編程序?qū)崿F(xiàn)如下功能:輸入任意一個(gè)年份,按以下格式輸出該年份全年的公歷日歷。要求由程序計(jì)算出來(lái)每個(gè)月份的1日是星期幾,并用循環(huán)控制打印。

四、常見(jiàn)問(wèn)題

疑問(wèn)1:如何控制某個(gè)月1日的打印位置?

答:先由程序計(jì)算出來(lái)該月份的1日是星期幾,然后控制在打印“1”之前打印相應(yīng)個(gè)數(shù)的空格。

疑問(wèn)2:如何控制每周和每月的打印換行?

答:可以根據(jù)當(dāng)前這一天的打印位置控制每周的打印換行,并根據(jù)該月份的天數(shù)控制每月的打印換行。

實(shí)驗(yàn)五 字符串處理綜合應(yīng)用(4學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康?/p>

掌握字符串處理的一般方法及字符串處理應(yīng)用程序的調(diào)試方法,能夠綜合運(yùn)用選擇、循環(huán)結(jié)構(gòu)和數(shù)組、指針解決一般難度的實(shí)際應(yīng)用問(wèn)題。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有充分注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容: ⑴程序功能描述。

⑵程序版本號(hào)、創(chuàng)作日期。

⑶作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷問(wèn)題分析描述。

⑸算法設(shè)計(jì)描述。

⑹關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻輸入數(shù)據(jù)樣例。

⑼輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

以下兩題,任選其一解答。

1.編程實(shí)現(xiàn),輸入一個(gè)整數(shù)的小寫(xiě)金額值(即不考慮角和分),轉(zhuǎn)化為大寫(xiě)金額值并輸出。先實(shí)現(xiàn)基本功能,如輸入1002300,可以輸出“壹佰零拾零萬(wàn)貳仟叁佰零拾零元整”。

2.編程實(shí)現(xiàn),輸入一個(gè)小寫(xiě)金額值,轉(zhuǎn)化為大寫(xiě)金額值輸出。要求實(shí)現(xiàn)相對(duì)完善的功能,如輸入1002300.90,應(yīng)該輸出“壹佰萬(wàn)貳仟叁佰元零玖角整”。

四、常見(jiàn)問(wèn)題

疑問(wèn)1:如何才能分離出整數(shù)中的每一位數(shù)字?

答:可以利用整數(shù)的求余數(shù)和除法運(yùn)算實(shí)現(xiàn)數(shù)字的分離,同時(shí)將分離出的數(shù)字存入到一個(gè)事先定義好的數(shù)組中,每個(gè)數(shù)組元素只存儲(chǔ)一位數(shù)字。

疑問(wèn)2:若不能確定整數(shù)的實(shí)際位數(shù),如何控制分離過(guò)程?

答:可以通過(guò)循環(huán)控制數(shù)字的分離過(guò)程,每循環(huán)一次分離出來(lái)當(dāng)前的最末一位,然后去掉最末一位,直至分離出所有的位。

疑問(wèn)3:如何控制給某位數(shù)字添加合適的數(shù)量單位,如萬(wàn)、仟、佰、拾、元?

答:可以根據(jù)該數(shù)字在原小寫(xiě)數(shù)值中的位置進(jìn)行控制,如第0位單位為“元”,第1位單位為“拾”,依此類推。

實(shí)驗(yàn)六 文件應(yīng)用程序設(shè)計(jì)(2學(xué)時(shí))

一、實(shí)驗(yàn)?zāi)康恼莆瘴募?yīng)用程序設(shè)計(jì)的一般方法及其調(diào)試方法。

二、實(shí)驗(yàn)要求

1. 仔細(xì)閱讀下列實(shí)驗(yàn)內(nèi)容,并編寫(xiě)出相應(yīng)的C語(yǔ)言源程序。2. 在VC運(yùn)行環(huán)境下,編輯錄入源程序。

3. 調(diào)試運(yùn)行源程序,注意觀察調(diào)試運(yùn)行過(guò)程中發(fā)現(xiàn)的錯(cuò)誤及改正方法。4. 掌握如何根據(jù)出錯(cuò)信息查找語(yǔ)法錯(cuò)誤。

5.最后提交帶有充分注釋的源程序文件(擴(kuò)展名為.c)。要求該文件必須能夠正確地編譯及運(yùn)行,并不得與他人作品雷同。

6.源程序注釋信息可以包括以下幾方面內(nèi)容:

⑴程序功能描述。

⑵程序版本號(hào)、創(chuàng)作日期。

⑶作者信息描述:班級(jí)、學(xué)號(hào)、姓名。

⑷問(wèn)題分析描述。

⑸算法設(shè)計(jì)描述。

⑹關(guān)鍵語(yǔ)句注釋說(shuō)明。

⑺調(diào)試運(yùn)行過(guò)程中出現(xiàn)的錯(cuò)誤及改正方法。

⑻輸入數(shù)據(jù)樣例。

⑼輸出數(shù)據(jù)樣例。

三、實(shí)驗(yàn)內(nèi)容

以下兩題,任選其一解答。

1. 海萍夫婦為了徹底告別“蝸居”生活,痛下決心貸款60萬(wàn)元購(gòu)買了一套三居室。若貸款月利率為0.5%,還款期限為120個(gè)月,還款方式為等額本金還款法(即貸款期限內(nèi)每期以相等的額度償還貸款本金,貸款利息隨本金逐期遞減)。試求出每個(gè)月還款的本金、每個(gè)月的利息以及總利息分別是多少元。要求將輸出結(jié)果寫(xiě)入到數(shù)據(jù)文件中。

2. 若還款方式采用等額本息還款法(即貸款期限內(nèi)每期以相等的額度償還貸款本息,貸款利息隨本金逐期遞減)。試求出每個(gè)月還款的本金、每個(gè)月的利息以及總利息分別是多少元。要求將輸出結(jié)果寫(xiě)入到數(shù)據(jù)文件中。

第三篇:C語(yǔ)言程序設(shè)計(jì)

1.Problem A: Hello world!Description Xiao_ming有兩個(gè)哥哥,大哥叫Da_min,二哥叫Er_min。三兄弟放學(xué)回家,父母分別跟他們打招呼。

Input 無(wú)

Output 請(qǐng)輸出: Hello Da_min, Hello Er_min, Hello Xiao_ming!

Sample Input Sample Output Hello Da_min, Hello Er_min, Hello Xiao_ming!

HINT 請(qǐng)注意換行符

Append Code #include int main(){

printf(“Hello Da_min,n”);

printf(“Hello Er_min,n”);

printf(“Hello Xiao_ming!n”);} 2.Problem B: 求圓的面積和周長(zhǎng) Description 從鍵盤輸入圓的半徑,求圓的面積和周長(zhǎng),圓周率取3.14。

Input 輸入一個(gè)浮點(diǎn)型數(shù)據(jù),有效數(shù)字不會(huì)超過(guò)十進(jìn)制的6位。

Output 輸出為兩行。

第一行為圓的面積,第二行為圓的周長(zhǎng),格式見(jiàn)sample。

Sample Input 3

Sample Output Area: 28.260000 Perimeter: 18.840000

HINT 了解浮點(diǎn)類型的輸入、輸出和算術(shù)運(yùn)算符

Append Code 法一

#include int main(){ double r,p,s;scanf(“%lf”,&r);p=2*3.14*r;s=3.14*r*r;printf(“Area: %lfn”,s);printf(“Perimeter: %lfn”,p);} 法二

#include #define pi 3.14 int main(){

double r;

scanf(“%d”,&r);

printf(“Area: %lfn”,pi*r*r);

printf(“Perimeter: %lfn”,2*pi*r);

}

3.Problem C:平均值 Description 求3個(gè)數(shù)的平均值。

Input 輸入只有一行,為3個(gè)較小的整數(shù)。

Output 輸出為這3個(gè)整數(shù)的平均值,保留3位小數(shù)。

Sample Input 1 2 3 Sample Output 2.000

HINT 注意除法運(yùn)算對(duì)整型數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)是不一樣的。

Append Code #include int main(){ int a,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%.3lf”,(a+b+c)/3.0);}

4.Problem D: 求字符的值 Description 從鍵盤輸入3個(gè)字符(不含雙字節(jié)字符),分別輸出每個(gè)字符的十進(jìn)制值(ASCII碼)、八進(jìn)制值和十六進(jìn)制值。

Input 輸入為3個(gè)字符。

Output 輸出為3行。

每一行為每個(gè)字符(對(duì)應(yīng)輸入順序)的十進(jìn)制、八進(jìn)制和十六進(jìn)制值,用空格分隔開(kāi)。每個(gè)輸出的值占3個(gè)字符,不足3個(gè)字符前面補(bǔ)0。

Sample Input 0 A

Sample Output 048 060 030 032 040 020 065 101 041

HINT 了解字符值的存儲(chǔ)和整型的關(guān)系。

Append Code #include int main(){ char a,b,c;scanf(“%c%c%c”,&a,&b,&c);printf(“%.3d %.3o %.3xn”,a,a,a);printf(“%.3d %.3o %.3xn”,b,b,b);printf(“%.3d %.3o %.3xn”,c,c,c);}

5.Problem A: 最簡(jiǎn)單的程序 Description 輸出一行“Hello world!”。

Input 無(wú)

Output Hello world!

Sample Input Sample Output Hello world!

HINT Append Code #include int main(){

printf(“Hello world!”);}

6.Problem B: 算術(shù)基本運(yùn)算 Description 計(jì)算兩整數(shù)x和y(0

Input 輸入只有一行,格式見(jiàn)sample。

Output 輸出為多行,按順序每行輸出x,y的和、差、積、商、余數(shù)、x的平方和y的三次方,格式見(jiàn)sample

Sample Input x = 11, y = 3

Sample Output x + y : 14 xy : %dn“,x-y);

printf(”x * y : %dn“,x*y);

printf(”x / y quotient: %d, remainder: %dn“,x/y,x%y);

printf(”x ^ 2 : %dn“,x*x);

printf(”y ^ 3 : %dn“,y*y*y);} 7.Problem C: 自增自減運(yùn)算 Description C語(yǔ)言中有自增運(yùn)算++、自減運(yùn)算--,并且可以前置和后置。

編寫(xiě)一個(gè)程序:對(duì)輸入的一個(gè)整數(shù)a,輸出a++、a--、++a、--a的值。

Input 一個(gè)整數(shù)a,a是很小的整數(shù)。

Output 輸出為5行,第一行為a的值,后面依次為--a、a--、a++、++a的值。

5行輸出縱向a要對(duì)齊,“:”對(duì)齊,“:”前后各一個(gè)空格,后面的數(shù)值不用對(duì)齊。每行行尾都有回車。

Sample Input 0

Sample Output a : 0--a :-1 a--: 0 a++ : 0 ++a : 1

HINT Append Code #include int main(){ int a,x;scanf(”%dn“,&x);a=x;printf(” a

: %dn“,a);printf(”--a

: %dn“,--a);a=x;printf(” a--: %dn“,a--);a=x;printf(” a++ : %dn“,a++);a=x;printf(”++a

: %dn“,++a);}

8.Problem F: 絕對(duì)值 Description 求整型數(shù)據(jù)和浮點(diǎn)型數(shù)據(jù)的絕對(duì)值。

Input 輸入兩個(gè)數(shù),第一個(gè)是整數(shù),第二個(gè)是浮點(diǎn)數(shù)。

Output 輸出為兩行,第一行為整數(shù)的絕對(duì)值,第二行為浮點(diǎn)數(shù)的絕對(duì)值,注意浮點(diǎn)數(shù)的絕對(duì)值不輸出無(wú)意義的0。

Sample Input-1 1

Sample Output 1 1

HINT 求絕對(duì)值可以用標(biāo)準(zhǔn)庫(kù)函數(shù)來(lái)完成,也可以自己判斷。注意浮點(diǎn)數(shù)的輸出格式。求絕對(duì)值的函數(shù)在哪個(gè)頭文件?貌似很多人會(huì)搞錯(cuò),包括很多編書(shū)的人!

Append Code #include //#include int main(){

int n;

float m;

scanf(”%d%f“,&n,&m);

//n=abs(n);

//m=fabs(m);

if(n<0)

{

n=-n;

}

if(m<0)

{

m=-m;

}

printf(”%dn“,n);

printf(”%g“,m);

return 0;}

9.Problem A: 奇數(shù)還是偶數(shù)? Description 輸入一個(gè)整數(shù),判讀它是奇數(shù)還是偶數(shù)。

Input 輸入只有一行,為一個(gè)100以內(nèi)的正整數(shù)。

Output 輸出為一行。

若輸入為偶數(shù)則輸出“even”,奇數(shù)輸出“odd”。Sample Input 30

Sample Output even

HINT 用整數(shù)運(yùn)算可以解決,練習(xí)“?:”表達(dá)式。

Append Code #include int main(){

int n;

scanf(”%d“,&n);

if(n>=0&&n<=100){

if(n%2==0)printf(”evenn“);

else printf(”oddn“);

}

return 0;}

10.Problem B: 簡(jiǎn)單的打折計(jì)算 Description 商店規(guī)定:消費(fèi)滿n元,可以打八八折。設(shè)某件商品標(biāo)價(jià)m元,輸入購(gòu)買的件數(shù)x,計(jì)算出需要支付的金額(單位:元),精確到分。

Input 輸入只有一行,三個(gè)整數(shù)m、n和x,且0

Sample Input 95 300 4

Sample Output 334.40

HINT 了解浮點(diǎn)型的輸出控制,注意整型和浮點(diǎn)型混合運(yùn)算過(guò)程中的數(shù)據(jù)類型轉(zhuǎn)換。

Append Code #include int main(){

int m,x,n,a;

float b;

scanf(”%d%d%d“,&m,&n,&x);

0

x

m

a=m*x;

if(a>n)

b=0.88*a;

else

b=a;

printf(”%.2fn“,b);

}

11.Problem C: 判斷閏年 Description 輸入一個(gè)正整數(shù)的年份,判斷是否為閏年。

Input 輸入只有一行,為一個(gè)10000以內(nèi)的正整數(shù)。

Output 輸出為一行。

若輸入為閏年偶數(shù)則輸出“Yes”,否則輸出“No”。

Sample Input 2010

Sample Output No

HINT 了解邏輯運(yùn)算符和關(guān)系運(yùn)算符。

Append Code #include int main(){

int x;

scanf(”%d“,&x);

if(x>0&&x<10000)

{

if(x%4==0&&x%100!=0)

printf(”Yesn“);

else if(x%400==0)

printf(”Yesn“);

else

printf(”Non“);

}

else

printf(”error“);}

12.Problem D: 水仙花數(shù) Description 如果一個(gè)三位十進(jìn)制數(shù)等于其各位數(shù)字的立方和,則稱這個(gè)數(shù)為水仙花數(shù)。如:13+53+33=153。

Input 一個(gè)整數(shù)x,100<=x<=999。

Output x是水仙花數(shù),則輸出“YES”,否則為“NO”。

Sample Input 153

Sample Output YES

HINT Append Code #include int main(){

int a,b,c,x;

scanf(”%d“,&x);

a=x/100;

b=x/10%10;

c=x%10;

if(x==a*a*a+b*b*b+c*c*c)

printf(”Yes“);

else

printf(”No“);}

13.Problem E: 三個(gè)數(shù)比較大小 Description 從鍵盤上輸入0~100之間的三個(gè)數(shù),按從小到大的順序輸出。

Input 輸入只有一行,為三個(gè)整數(shù)。

Output 按從小到大輸出這三個(gè)數(shù)。

Sample Input 15 10 20

Sample Output 10 15 20

HINT 用if語(yǔ)句判斷各種情況可以解決這個(gè)問(wèn)題。

Append Code #include int main(){

int a,b,c;

scanf(”%d%d%d“,&a,&b,&c);

if(a>=b)

{

if(b>=c)

printf(”%d %d %dn“,c,b,a);

else if(c>=a)

printf(”%d %d %dn“,b,a,c);

else

printf(”%d %d %dn“,b,c,a);

}

else

{

if(a>=c)

printf(”%d %d %dn“,c,a,b);

else if(b>=c)

printf(”%d %d %dn“,a,c,b);

else

printf(”%d %d %dn“,a,b,c);

} }

14.Problem F: 奇怪的求和之一 Description 給定3個(gè)正整數(shù)a、b和c,按照如下規(guī)則求和: 如果這個(gè)數(shù)字是偶數(shù),則累加到和中;

如果這個(gè)數(shù)字是奇數(shù),則將大于該數(shù)的最小偶數(shù)累加到和中。

Input 三個(gè)正整數(shù),均在100以內(nèi)。

Output 一個(gè)和。

Sample Input 2 3 5

Sample Output 12

HINT 如果不會(huì)使用分支語(yǔ)句,可使用條件運(yùn)算符判斷到底將哪個(gè)數(shù)累積到和中。

Append Code #include int main(){

int a,b,c;

scanf(”%d%d%d“,&a,&b,&c);

if(a%2!=0)a++;

if(b%2!=0)b++;

if(c%2!=0)c++;

printf(”%dn“,a+b+c);

}

15.Problem G: 你過(guò)線了嗎? Description 經(jīng)過(guò)四年的學(xué)習(xí),你決定報(bào)考我國(guó)著名的“285”高校之一的北青大學(xué),經(jīng)過(guò)認(rèn)真的復(fù)習(xí),殘酷的考試,終于知曉了自己的考試成績(jī),也知道了北青大學(xué)的錄取分?jǐn)?shù)線,請(qǐng)你編程判斷,自己過(guò)線了嗎? Input 輸入有2行,第一行有4個(gè)正整數(shù),分別表示三門課程的分?jǐn)?shù)線以及總分分?jǐn)?shù)線。第二行有3個(gè)非負(fù)整數(shù),分別表示你考的三門課程的成績(jī)。

Output 如果你的三門課程成績(jī)都不低于相應(yīng)課程的分?jǐn)?shù)線,且你的考試總分也不低于北青大學(xué)的總分分?jǐn)?shù)線要求,則輸出“congratulations”,否則輸出“sorry”。

Sample Input 70 80 70 240 80 80 82

Sample Output congratulations

HINT 如果你不會(huì)使用分支語(yǔ)句,同樣可以使用條件運(yùn)算符實(shí)現(xiàn)該程序。

Append Code #include int main(){

int a,b,c,d,e,f,g,h;

scanf(”%d %d %d %dn%d %d %d“,&a,&b,&c,&d,&e,&f,&g);

h=e+f+g;

if(e>=a&&f>=b&&g>=c&&h>=d)

printf(”congratulations“);

else

printf(”sorry“);} 16.Problem I: A+B Problem(II): Input/Output

Practice Description 計(jì)算a+b,0<=a,b<1000。

Input 輸入的第一行是一個(gè)整數(shù)N,后面有N對(duì)整數(shù)a和b,每對(duì)a和b占一行,a,b用空格分開(kāi)。

Output 每行輸出一個(gè)a+b的和,順序與輸入對(duì)應(yīng)。

Sample Input 2 1 2 10 20

Sample Output 3 30

HINT N給出了測(cè)試樣例數(shù),用for循環(huán)處理方便。

Append Code #include int main(){

int n,a,b,i;Scanf(“%d”,&n);For(i=0;i

17.Problem H: A+B Problem Description 計(jì)算a+b,0<=a,b<1000。

Input 輸入有多對(duì)整數(shù)a和b組成,每對(duì)a和b占一行,a,b用空格分開(kāi)。

Output 每行輸出一個(gè)a+b的值,順序與輸入對(duì)應(yīng)。

Sample Input 1 2 10 20

Sample Output 3 30

HINT OJ系統(tǒng)上測(cè)試輸入結(jié)束符為EOF(End Of File),其值為-1。用scanf()把文件所有內(nèi)容讀完后,會(huì)讀到EOF,所以可以用來(lái)判斷輸入是否完成,測(cè)試時(shí)可以用Ctrl+Z產(chǎn)生EOF。本題解法參看FAQ。Append Code #include int main(){

int a,b;

while(scanf(”%d%d“,&a,&b)!=EOF){

printf(”%dn“,a+b);

}

return 0;}

18.Problem A: 判斷是否是元音字母 Description 輸入一個(gè)英文字母,判斷是否是元音字母。元音字母是:a,e,i,o u,A,E,I,O,U

Input 輸入一個(gè)英文字母

Output 是元音字母,輸出“yes”,否則輸出“no”,行尾沒(méi)有回車。

Sample Input A

Sample Output yes

HINT Append Code #include void main(){

char ch;

scanf(”%c“,&ch);

if(ch>='A'&&ch<='Z')

ch=ch+32;

if(ch=='a')

printf(”yes“);

else if(ch=='e')

printf(”yes“);

else if(ch=='i')

printf(”yes“);

else if(ch=='o')

printf(”yes“);

else if(ch=='u')

printf(”yes“);

else

printf(”no“);

}

19.Problem B: 按順序輸出三個(gè)數(shù) Description 對(duì)于輸入的3個(gè)整數(shù),按照從小到大的順序輸出。

Input 輸入3個(gè)int類型內(nèi)的整數(shù),兩兩之間用一個(gè)空格隔開(kāi)。

Output 按照從小到大的順序輸出上述三個(gè)數(shù),兩兩之間用一個(gè)空格隔開(kāi)。

Sample Input 2 1 3 Sample Output 1 2 3

HINT Append Code #include void main(){

int a,b,c,temp;

scanf(”%d%d%d“,&a,&b,&c);

if(a

{

temp=a;

a=b;

b=temp;

}

if(a

{

temp=a;

a=c;

c=temp;

}

if(b

{

temp=b;

b=c;

c=temp;

}

printf(”%d %d %dn“,c,b,a);}

20.Problem E: Description 判斷輸入整數(shù)的奇偶性。

判斷奇偶數(shù) Input 輸入為一個(gè)整數(shù)。

Output 輸出只有一行,代表判斷結(jié)果。如果輸入的整數(shù)n是一個(gè)偶數(shù),輸出: n is an even number.否則輸出:

n is an odd number.見(jiàn)樣例。

Sample Input 12

Sample Output 12 is an even number.HINT Append Code #include int main(){

int a;

scanf(”%d“,&a);

if(a%2==0)

printf(”%d is an even number.“,a);

else

printf(”%d is an odd number.“,a);}

21.Problem A: 判斷兩個(gè)整數(shù)的大小關(guān)系 Description 輸入2個(gè)整數(shù)a和b,如果a>b,則輸出1,否則輸出0。

Input 兩個(gè)整數(shù)a和b,均不超過(guò)int類型的表示范圍。

Output 表示a>b的結(jié)果:如果a>b,則輸出1,否則輸出0。

Sample Input 3 4

Sample Output 0

HINT

Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);if(a>b)

printf(”1“);

else

printf(”0“);return 0;} 22.Problem D: 成績(jī)的等級(jí) Description 把百分制的考試成績(jī)轉(zhuǎn)換成五級(jí)制的成績(jī): 90~100:Excellent 80~89:Good 70~79:Average 60~69:Pass 0~59:Failing

不在0~100之間的輸入是非法數(shù)據(jù),輸出“Error”。

Input 輸入多行,每行一個(gè)整數(shù)。

Output 輸入所對(duì)應(yīng)的成績(jī)等級(jí)。

Sample Input-1 81 92 35 68 72 100

Sample Output Error Good Excellent Failing Pass Average Excellent HINT 用switch語(yǔ)句解決這個(gè)問(wèn)題比較方便。

Append Code #include int main(){

int score;

while(scanf(”%d“,&score)!=EOF)

{

if(score<0||score>100)

printf(”Errorn“);

else

{

switch(score/10)

{

case 0:

case 1:

case 2:

case 3:

case 4:

case 5:printf(”Failingn“);break;

case 6:printf(”Passn“);break;

case 7:printf(”Averagen“);break;

case 8:printf(”Goodn“);break;

case 9:

case 10:printf(”Excellentn“);break;

}

}

}

return 0;}

23.Problem E: 輸出是m的倍數(shù)或n的倍數(shù)、但不是

m和n的公倍數(shù)的數(shù) Description 輸出1~k之間是m的倍數(shù)或n的倍數(shù)、但不是m和n的公倍數(shù)的數(shù),其中1<=m,n

Input 輸入三個(gè)整數(shù),依次為k、m、n。

Output 從小到大輸出符合題意的所有整數(shù),兩數(shù)之間用一個(gè)空格分開(kāi)。

Sample Input 15 2 3

Sample Output 2 3 4 8 9 10 14 15

HINT 難點(diǎn)在于輸出格式的控制:空格在數(shù)的中間,學(xué)會(huì)用循環(huán)時(shí)邊界情況的特殊處理。

Append Code #include int main(){ int k,m,n,a,i=1;scanf(”%d %d %d“,&k,&m,&n);if(m

a=m;else

a=n;printf(”%d“,a);for(i=a+1;i<=k;i++){

}

if((i%m==0&&i%n!=0)||(i%n==0&&i%m!=0))

printf(” %d“,i);} return 0;

24.Problem B: 兩整數(shù)相加減 Description 計(jì)算a+b和a-b。

Input 輸入為一對(duì)整數(shù)a和b。a,b用空格分開(kāi)。

Output 輸出a+b和a-b的計(jì)算結(jié)果,各占一行。

Sample Input 1 2

Sample Output 3-1

HINT Append Code #include int main(){ int a,b;scanf(”%d %d“,&a,&b);

printf(”%dn“,a+b);

printf(”%dn“,a-b);} 25 Problem C: 它滿足條件嗎? Description 需要判斷給定的一個(gè)整數(shù)是否同時(shí)滿足如下三個(gè)條件: 1.它是一個(gè)完全平方數(shù)。2.它是一個(gè)偶數(shù)。3.它是一個(gè)正數(shù)。

注:若一個(gè)數(shù)能表示成某個(gè)自然數(shù)的平方的形式,則稱這個(gè)數(shù)為完全平方數(shù)。例如:

0,1,4,9,16,25,36,49,64,81,100,121,144,169,196,225,256,289,324,361,400,441,484,529 Input 一個(gè)int范圍內(nèi)的整數(shù)。

Output 如果輸入的數(shù)字滿足條件,則輸出yes,否則輸出no。

Sample Input 100

Sample Output yes

HINT 注意邏輯表達(dá)式判斷三個(gè)條件的順序。如果你不會(huì)使用分支語(yǔ)句,同樣可以使用條件運(yùn)算符實(shí)現(xiàn)該程序。

庫(kù)函數(shù)sqrt()可以用于求一個(gè)數(shù)的平方根。

Append Code #include #include int main(){ int a;scanf(”%d“,&a);

if(a==sqrt(a)*sqrt(a)&&a%2==0&&a>0)

printf(”yes“);

else

printf(”no“);}

26.Problem F: 多路分支 Description 編寫(xiě)一個(gè)完整的程序,運(yùn)行時(shí)向用戶提問(wèn)”你考試考了多少分?(0-100)“接受輸入后判斷其等級(jí)并顯示出來(lái)等級(jí): 優(yōu):90<=分?jǐn)?shù)<=100 良:80<=分?jǐn)?shù)<90 中:60<=分?jǐn)?shù)<80 差:0<=分?jǐn)?shù)<60

Input 輸入任意一個(gè)整數(shù)分?jǐn)?shù)值,顯示等級(jí);再輸入任意一個(gè)整數(shù)分?jǐn)?shù)值,顯示等級(jí);....直到測(cè)試數(shù)據(jù)較充分,可輸入-1止。

Output 對(duì)任意輸入的分?jǐn)?shù)值,輸出對(duì)應(yīng)的等級(jí),直到輸入的數(shù)為-1時(shí)才退出運(yùn)行.Sample Input 102 100 90 80 70 60 50 0-80-1

Sample Output grad must between 0 and 100 優(yōu)

優(yōu)

grad must between 0 and 100 grad must between 0 and 100

HINT Append Code #include int main(){

int x;

while(scanf(”%d“,&x)!=EOF)

{

if(x<0||x>100)

printf(”grad must between 0 and 100n“);

else if(x>=90)

printf(”優(yōu)n“);

else if(x>=80)

printf(”良n“);

else if(x>=60)

printf(”中n“);

else if(x>=0)

printf(”差n“);

}

return 0;} Problem D: 有多少人? Description 學(xué)校舉行運(yùn)動(dòng)會(huì),如果全體學(xué)生按照3人一隊(duì)列隊(duì),則多了1個(gè)人;如果按照4人一隊(duì)列隊(duì),則多了2個(gè)人;如果按照5人一隊(duì)排隊(duì),則多了3個(gè)人。請(qǐng)問(wèn)這個(gè)學(xué)校有多少學(xué)生?

Input 一個(gè)int類型的正整數(shù)N,是學(xué)生人數(shù)的上界,即:該校學(xué)生數(shù)不超過(guò)N。

Output 所有可能的學(xué)生數(shù),每個(gè)數(shù)占一行。

Sample Input 200

Sample Output 58 118 178

HINT Append Code #include #include int main(){

int n,i;

scanf(”%d“,&n);

for(i==1;i<=n;i++){ if(i%3==1&&i%4==2&&i%5==3)

printf(”%dn“,i);}

return 0;} Problem C: 正負(fù)數(shù)各有幾個(gè)? Description 輸入若干個(gè)整數(shù),求其中正數(shù)、負(fù)數(shù)的個(gè)數(shù)。

Input 輸入分為2行:第一行是一個(gè)數(shù)字N>0,表示下面有N個(gè)整數(shù)。第2行是N個(gè)整數(shù),都是int類型的。

Output 輸出所輸入的N個(gè)整數(shù)的正數(shù)個(gè)數(shù)和負(fù)數(shù)個(gè)數(shù),并用空格分開(kāi)2個(gè)輸出。Sample Input 10 2 3 4 5-1-2-3-4-5

Sample Output 5 5

HINT 貌似還有一種叫做0的數(shù)。

Append Code #include int main(){

int n,a,i,num1=0,num2=0;

scanf(”%d“,&n);for(i=0;i

{

scanf(”%d“,&a);

if(a>0)

num1++;

else if(a<0)

num2++;

}

printf(”%d %dn“,num1,num2);

return 0;} Problem A: A+B Problem(III): Input/Output

Practice Description 計(jì)算a+b,0<=a,b<1000。

Input 輸入有多對(duì)整數(shù)a和b組成,每對(duì)a和b占一行,a,b用空格分開(kāi)。當(dāng)測(cè)試樣為0 0時(shí)表示輸入結(jié)束,0 0不參與運(yùn)算。

Output 每行輸出一個(gè)a+b的值,順序與輸入對(duì)應(yīng)。

Sample Input 1 2 10 20 0 0

Sample Output 3 30

HINT 練習(xí)break的使用。

Append Code #include int main(){ int a,b;while(scanf(”%d %d“,&a,&b)!=EOF)

{

if(a!=0||b!=0)

}

printf(”%dn“,a+b);

else

break;

return 0;} 30 Problem B: A+B Problem(IV): Input/Output

Practice Description 計(jì)算a+b,0<=a,b<1000。

Input 輸入有多對(duì)整數(shù)a和b組成,每對(duì)a和b占一行,a,b用空格分開(kāi)。

Output 每行輸出一個(gè)a+b的值,順序與輸入對(duì)應(yīng)。每個(gè)格式樣例之間用一個(gè)空行分隔開(kāi)。

Sample Input 1 2 10 20 15 35

Sample Output 3 30 50

HINT 由于輸出的和比空行多一個(gè),所以全部計(jì)算放在一個(gè)循環(huán)里是不行的,必須要特殊處理開(kāi)頭或者結(jié)尾。

Append Code #include int main(){ int a,b,n=0;while(scanf(”%d %d“,&a,&b)!=EOF){

n++;

if(n==1)

printf(”%dn“,a+b);

else

printf(”n%dn“,a+b);

}

return 0;}

Problem C: n個(gè)數(shù)的最大值和最小值 Description 找出n個(gè)數(shù)中最大的數(shù)和最小的數(shù),并將它們的值輸出出來(lái)。

Input 輸入為n+1個(gè)整數(shù),都在int類型范圍內(nèi)。這些數(shù)可能用若干空格或者換行符分隔開(kāi)。輸入的第1個(gè)數(shù)為n,表示后續(xù)有n個(gè)數(shù)輸入。從輸入的第2個(gè)數(shù)開(kāi)始,求出直到第n+1個(gè)數(shù)中最大的數(shù)和最小的數(shù)。

Output 輸出為兩行,格式見(jiàn)sample。

Sample Input 3 0 1-1

Sample Output The maximum number is 1.The minimum number is-1.HINT 分隔符是空格還是回車都是空白符,對(duì)scanf(”%d“)來(lái)說(shuō)沒(méi)有區(qū)別;先讀入n,然后用for循環(huán)就很容易控制讀入n個(gè)數(shù)的過(guò)程。

Append Code #include int main(){

int n,i,max,min;

scanf(”%d“,&n);

int a[n];

for(i=0;i

scanf(”%d“,&a[i]);

max=a[0];

min=a[0];

for(i=0;i

{

if(max

max=a[i];

if(min>a[i])

min=a[i];

}

printf(”The maximum number is %d.n“,max);

printf(”The minimum number is %d.“,min);

return 0;} 32.Problem D: 求100以內(nèi)的素?cái)?shù) Description 素?cái)?shù)是只能被1和自身整除的正整數(shù),根據(jù)數(shù)學(xué)定義1不是素?cái)?shù)。素?cái)?shù)也叫質(zhì)數(shù)。

Input 輸入為兩個(gè)整數(shù)m和n,滿足0<=m<=n<=100。

Output 從大到小輸出m~n之間的所有素?cái)?shù),一個(gè)素?cái)?shù)一行。如果m~n之間沒(méi)有素?cái)?shù),則不輸出任何數(shù)。

輸出的所有數(shù)在兩行“=====”之間。

Sample Input 2 12

Sample Output ===== 11 7 5 3 2 =====

HINT 利用素?cái)?shù)的數(shù)學(xué)規(guī)律可以很容易的解出此題,題目給出的數(shù)據(jù)范圍是關(guān)鍵。

Append Code #include #include int main(){ int m,n,i,j,k,t;scanf(”%d %d“,&m,&n);printf(”=====n“);for(i=n;i>=m;i--){

t=0;

for(j=2;j<=sqrt(i);j++)

if(i%j==0)

t=1;

if(t==0&&i>1)

printf(”%dn“,i);} printf(”=====“);return 0;} 33.Problem E: 是否構(gòu)成三角形? Description 給出三個(gè)整數(shù),代表三條邊的長(zhǎng)度,判斷這三條邊的長(zhǎng)度是否能構(gòu)成一個(gè)三角形?

Input 第一行是n(1<=n<=100),表示有n組測(cè)試數(shù)據(jù)

接下來(lái)有n行,每一行包含三個(gè)整數(shù),表示三個(gè)邊長(zhǎng)(1<=邊長(zhǎng)<=100)

Output 如果三條邊能構(gòu)成三角形,輸出YES,否則輸出NO

Sample Input 3 1 2 3 2 8 7 20 20 1

Sample Output NO YES YES

HINT Append Code #include int main(){ int a,b,c,n,i;scanf(”%d“,&n);for(i=0;i

{scanf(”%d%d%d“,&a,&b,&c);

if(a+b>c&&a+c>b&&b+c>a)

printf(”YESn“);else printf(”NOn“);}

return 0;} 34.Problem C: 簡(jiǎn)單的整數(shù)排序 Description 對(duì)給出的若干整數(shù)按從小到大排序。

Input 輸入的第一個(gè)數(shù)為n(n<=1000),后接n個(gè)整數(shù)。

Output 按從小到大的順序輸出這些整數(shù),每?jī)蓚€(gè)整數(shù)之間用一個(gè)空格分隔開(kāi),最后一個(gè)整數(shù)后面沒(méi)有空格。

Sample Input 10 3 9 1 5 2 8 5 6 7 3

Sample Output 1 2 3 3 5 5 6 7 8 9

HINT 排序前必須把所有的整數(shù)都存儲(chǔ)下來(lái)。因?yàn)橹挥凶疃?000個(gè)數(shù),1秒的時(shí)間足夠任何排序算法運(yùn)行處結(jié)果來(lái)。

Append Code #include int main(){

int c,i,n,j;

int a[1000];

scanf(”%d“,&n);

for(i=0;i

scanf(”%d“,&a[i]);

for(i=1;i<=n-1;i++)

{

for(j=0;j

{

if(a[j]>a[j+1])

{

c=a[j];

a[j]=a[j+1];

a[j+1]=c;

}

}

}

printf(”%d“,a[0]);

for(i=1;i

printf(” %d“,a[i]);

return 0;}

35.Problem A: Description

購(gòu)物的路程 Saya和Kudo一起去購(gòu)物。假定她們逛的街是一條直線,而商鋪是這條直線上的一些點(diǎn)。她們將車停在該直線最左端的店鋪處,然后從左向右開(kāi)始逛每一個(gè)店鋪,然后從最右邊的店鋪再返回到停車處。你的任務(wù)是計(jì)算她們走了多少路。

Input 輸入有多組。每一組的第一行是N(0

Output 對(duì)每組輸入,輸出她們走的路長(zhǎng)。

Sample Input 4 13 89 37 6 7 30 41 14 39 42 0

Sample Output 152 70

HINT Append Code #include int main(){

int n,i,max,min,a[100001];

while(scanf(”%d“,&n)&&n!=0)

{

scanf(”%d“,&a[0]);

min=max=a[0];

for(i=1;i

{

scanf(”%d“,&a[i]);

if(a[i]>max)

max=a[i];

if(a[i]

min=a[i];

}

printf(”%dn“,(max-min)*2);

}

return 0;} 36.Problem B: 求累加和 Description 編程求min~max的累加和(含min和max),其中max>=min>0。部分程序已經(jīng)給出,請(qǐng)?zhí)畛淦渲械目瞻渍Z(yǔ)句,并提交填充后的完整程序。

Input 輸入為多行。第一行是一個(gè)整數(shù)N>0,表示后面有N個(gè)測(cè)試用例。后面有N行,每行包含2個(gè)整數(shù),分別是min和max。

Output 輸出為N行,每個(gè)測(cè)試用例的計(jì)算結(jié)果占據(jù)一行。每行的格式為: case i:sum=s.其中i表示測(cè)試用例的編號(hào)(從1開(kāi)始),s是該測(cè)試用例對(duì)應(yīng)的累加和(設(shè)不超過(guò)int的表示范圍)。

Sample Input 3 1 10 1 100 1 1

Sample Output case 1:sum=55.case 2:sum=5050.case 3:sum=1.HINT Append Code #include int main(){

int n,i,j,max,min,sum;

scanf(”%d“,&n);

for(i=0;i

{ sum=0;

scanf(”%d%d“,&min,&max);

if(max==min)

printf(”case %d:sum=%d.n“,i+1,min);

else

{

for(j=min;j<=max;j++)

sum=sum+j;

printf(”case %d:sum=%d.n“,i+1,sum);

}

} return 0;} 37.Problem G: 順序輸出字母 Description 按字母順序輸出兩個(gè)字母st和ed之間的所有字母,但不包括st和ed。不輸出逆序。

Input 兩個(gè)字母st和ed,都是大寫(xiě)字母,用一個(gè)空格分開(kāi)。

Output 在一行內(nèi)按順序輸出st和ed之間的所有字母,但不包括st和ed。例如:

輸入為A和E,則輸出為BCD;

輸入為A和B,則什么字母也不輸出,只有一個(gè)空行; 輸入為E和A,也是什么字母也不輸出,只有一個(gè)空行。最后要輸出一行(行尾不回車): ***END***

Sample Input A C

Sample Output B

***END***

HINT Append Code #include int main(){

char st,ed,a;

int i;

scanf(”%c%c%c“,&st,&a,&ed);

{

for(i=st+1;i

printf(”%c“,i);

printf(”n***END***“);

}

return 0;} 38.Problem F: 單字母變換 Description Tom和Jack是密碼學(xué)愛(ài)好者,他們?cè)诹奶鞎r(shí)經(jīng)常使用一些暗語(yǔ)。他們使用的一種最簡(jiǎn)單的暗語(yǔ)是:將要說(shuō)的每句話里面的英文字母變成這個(gè)字母之后的某個(gè)字母。現(xiàn)在要求你寫(xiě)一個(gè)程序,將一個(gè)字母變成它之后的某個(gè)字母。

Input 輸入有2個(gè):一個(gè)大寫(xiě)字母c和一個(gè)正整數(shù)d(0

Output 輸出字母c之后的第d個(gè)字母。大小寫(xiě)與c一致。如果c之后的某個(gè)字母已經(jīng)超出'Z',則再?gòu)淖帜?A'開(kāi)始計(jì)數(shù)。

如:c='A',d=3,則輸出應(yīng)為:D。若:c='Y',d=3,則輸出應(yīng)為:B。

Sample Input A 3

Sample Output D

HINT Append Code #include int main(){

char c;

int d;

scanf(”%c%d“,&c,&d);

if(c+d<='Z')

printf(”%c“,c+d);

else

printf(”%c“,c+d-26);

return 0;}

39.Problem B: 登錄密碼驗(yàn)證 Description 編寫(xiě)一個(gè)程序,模擬用戶登錄系統(tǒng)的密碼驗(yàn)證過(guò)程。系統(tǒng)提供給用戶的密碼長(zhǎng)度最長(zhǎng)為20個(gè)字符,若密碼輸入錯(cuò)誤可以再次輸入。但為了保證用戶密碼安全,若連續(xù)輸入密碼錯(cuò)誤超過(guò)5次就會(huì)鎖定賬號(hào)一段時(shí)間。

Input 輸入為若干個(gè)串,至EOF結(jié)束。輸入的第一個(gè)串是用戶的正確密碼,后面的串為模擬用戶登錄時(shí)的輸入的密碼。

Output 每次輸入錯(cuò)誤的密碼,輸出一個(gè)“Wrong!”,若輸入的密碼為正確的,輸出一個(gè)“Welcome!”,并結(jié)束密碼測(cè)試。若前5次輸入的密碼都是錯(cuò)誤的,則后面的輸入中不管是否有正確的密碼都輸出“Out of limited!”。

Sample Input abcdefg

123456 kkkkkkkk abcdefg

Sample Output Wrong!Wrong!Welcome!

HINT 輸入可以用scanf(”%s“)處理,密碼比較用字符串的比較可以完成。

Append Code #include #include int main(){

char a[20],b[20];

int i,j=1;

scanf(”%s“,a);

while(scanf(”%s“,b)!=EOF)

{

if(j<=5)

{

if((strcmp(a,b)==0))

{

printf(”Welcome!n“);

break;

}

else

printf(”Wrong!n“);

j++;

}

else printf(”O(jiān)ut of limited!n");

} } 40.Problem C: 兔子的繁殖問(wèn)題 Description 假設(shè)一對(duì)兔子每月能生一對(duì)小兔(一雌一雄),每對(duì)小兔出生后的下一個(gè)月是沒(méi)有繁殖能力的,至出生后的第三個(gè)月開(kāi)始又可以每月生一隊(duì)小兔,問(wèn)從一對(duì)剛出生的小兔開(kāi)始,經(jīng)過(guò)若干個(gè)月后一共有多少兔子(假設(shè)在此過(guò)程中兔子沒(méi)有死亡)?

這個(gè)問(wèn)題是意大利數(shù)學(xué)家菲波那契(Fibonacci)在他1202年出版的《算盤全書(shū)》中提出來(lái)的,從第一對(duì)剛出生的小兔開(kāi)始每月的兔子數(shù)被乘坐菲波那契序列。

Input 輸入的第一個(gè)數(shù)為n,接下來(lái)有n個(gè)數(shù)字。每個(gè)數(shù)字為一個(gè)月份m(m<=45)。

Output 輸出為n行,每行為第m個(gè)月后的兔子總數(shù)。

第四篇:C 語(yǔ)言程序設(shè)計(jì)

《C 語(yǔ)言程序設(shè)計(jì)》主要在計(jì)算機(jī)軟件、計(jì)算機(jī)網(wǎng)絡(luò)、計(jì)算機(jī)應(yīng)用、通信技術(shù)、智能電子、電子信息工程、多媒體以及核工程與核技術(shù)等專業(yè)中開(kāi)設(shè),是電子信息類、機(jī)械類等工科專業(yè)的重要專業(yè)基礎(chǔ)課。

本校從2001至今,每年都開(kāi)設(shè)《C語(yǔ)言程序設(shè)計(jì)》課程,由于,我校最開(kāi)始時(shí)的特殊情況,主要把重點(diǎn)放在C語(yǔ)言中的各類重點(diǎn)、難點(diǎn)的語(yǔ)法、語(yǔ)義上,使得學(xué)生經(jīng)過(guò)比較復(fù)雜和痛苦的過(guò)程后,對(duì)C語(yǔ)言在使用上很難做到自己編寫(xiě)程序。而且很多學(xué)生產(chǎn)生了畏懼心理。

2004年,學(xué)院成立計(jì)算機(jī)科學(xué)與技術(shù)系,為了更好學(xué)習(xí)和掌握C語(yǔ)言,計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)和計(jì)算機(jī)維護(hù)專業(yè)(計(jì)算機(jī)應(yīng)用技術(shù)前身)除了開(kāi)設(shè)《C語(yǔ)言程序設(shè)計(jì)》課程外,在后續(xù)一學(xué)期還開(kāi)設(shè)了《C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)》,使得計(jì)算機(jī)專業(yè)學(xué)生編程思想和能力得到了極大提高。

2005年,為了讓我院工科學(xué)生更好的掌握C語(yǔ)言編程以及通過(guò)四川省計(jì)算機(jī)二級(jí)考試,在《C語(yǔ)言程序設(shè)計(jì)》課程后設(shè)置《C語(yǔ)言程序設(shè)計(jì)課程設(shè)計(jì)》,極大地提高了學(xué)生的動(dòng)手機(jī)會(huì)和能力,過(guò)級(jí)率顯著提高!

2007年,依托我校建設(shè)精品課程的契機(jī),我們將C語(yǔ)言中的各個(gè)知識(shí)點(diǎn)進(jìn)行重新規(guī)整,提出適用于三本院校學(xué)生的語(yǔ)言設(shè)計(jì)學(xué)習(xí)的方法。我們提出,先了解C語(yǔ)言,再學(xué)習(xí)C語(yǔ)言,再用C語(yǔ)言的思想。即在開(kāi)始時(shí)讓學(xué)生初步知道C語(yǔ)言,然后引入比較簡(jiǎn)單的運(yùn)算符以及基本輸入、輸出和簡(jiǎn)單的順序結(jié)構(gòu)程序設(shè)計(jì)。通過(guò)這樣的方式,我們發(fā)現(xiàn),學(xué)生在C語(yǔ)言的學(xué)習(xí)就不會(huì)從開(kāi)始的時(shí)候陷入大量難懂的語(yǔ)法、語(yǔ)義和數(shù)據(jù)結(jié)構(gòu)中。有了以上鋪墊再層層進(jìn)入,最終進(jìn)入復(fù)雜的各類數(shù)據(jù)結(jié)構(gòu)以及指針等學(xué)習(xí)。通過(guò)以上的內(nèi)容規(guī)整后,教學(xué)效果有明顯提高。

第五篇:《C語(yǔ)言程序設(shè)計(jì)》教學(xué)的幾點(diǎn)體會(huì)

《C語(yǔ)言程序設(shè)計(jì)》教學(xué)的幾點(diǎn)體會(huì)

江西司法警官職業(yè)學(xué)院歐陽(yáng)群

摘要:隨著科學(xué)技術(shù)的發(fā)展,計(jì)算機(jī)已普及到各行各業(yè),深入到各級(jí)層次,越來(lái)越多高校把《C 語(yǔ)言程序設(shè)計(jì)》作為使用學(xué)習(xí)編程的入門語(yǔ)言,《C語(yǔ)言程序設(shè)計(jì)》課程已成為當(dāng)近計(jì)算機(jī)教育的一門必修基礎(chǔ)課。因而,搞好該門課程的教學(xué)具有非常重要而深遠(yuǎn)的意義。

關(guān)鍵字:C 語(yǔ)言程序設(shè)計(jì) 教學(xué) 算法引言

學(xué)習(xí)計(jì)算機(jī)程序設(shè)計(jì)語(yǔ)言是提高人們計(jì)算機(jī)知識(shí)水平的關(guān)鍵步驟。C語(yǔ)言作為當(dāng)今最流行的程序設(shè)計(jì)語(yǔ)言之一,不但成為計(jì)算機(jī)專業(yè)的必修課。而且也越來(lái)越多的成為非計(jì)算機(jī)專業(yè)的學(xué)習(xí)課程。C語(yǔ)言簡(jiǎn)潔,緊湊使用起來(lái)方便,靈活,運(yùn)算符和數(shù)據(jù)結(jié)構(gòu)豐富,可移植性好,硬件控制能力高,表達(dá)和運(yùn)算能力強(qiáng)。其運(yùn)算速度也優(yōu)于C++。但同時(shí),C語(yǔ)言又是一門學(xué)習(xí)起來(lái)難度較大的語(yǔ)言,同學(xué)們反映,學(xué)習(xí)過(guò)程中經(jīng)常會(huì)出現(xiàn)一些問(wèn)題,對(duì)語(yǔ)句沒(méi)有直觀的理解,而是死記硬背,缺乏對(duì)一些算法的清楚認(rèn)識(shí)以及缺少對(duì)運(yùn)算符等語(yǔ)法方面的理解,造成編寫(xiě)程序時(shí)無(wú)法理清楚解題思路,無(wú)從入手,在程序調(diào)試的過(guò)程中不認(rèn)真分析出錯(cuò)原因,面對(duì)枯燥的程序題,便失去了積極性。鑒于上面一些問(wèn)題,下面筆者從激發(fā)學(xué)生的學(xué)習(xí)興趣、培養(yǎng)學(xué)生對(duì)方法的理解、如何讓學(xué)生

處理好語(yǔ)法與算法的關(guān)系、加強(qiáng)實(shí)踐操作等幾方面談?wù)勎业慕虒W(xué)體會(huì):

2、在教學(xué)過(guò)程中要激發(fā)學(xué)生的學(xué)習(xí)興趣

有句話說(shuō)的好“興趣與愛(ài)好是最好的老師”。為了使學(xué)生能盡快地掌握計(jì)算機(jī)知識(shí),進(jìn)入計(jì)算機(jī)的應(yīng)用領(lǐng)域,在課程講授過(guò)程中,要特別注意培養(yǎng)學(xué)生的學(xué)習(xí)興趣。很多學(xué)生和我說(shuō)過(guò),他們學(xué)習(xí)計(jì)算機(jī)就是從玩游戲開(kāi)始的。學(xué)生們剛接觸計(jì)算機(jī)時(shí)都會(huì)感到新奇、好玩。這還不能說(shuō)是興趣,只是一種好奇。隨著課程的不斷深入,概念、語(yǔ)法規(guī)則、算法等知識(shí)的學(xué)習(xí)加大學(xué)習(xí)難度,使一部分(甚至是大部分)學(xué)生對(duì)課程學(xué)習(xí)產(chǎn)生厭倦情趣。為了把學(xué)生對(duì)計(jì)算機(jī)程序設(shè)計(jì)初期產(chǎn)生的好奇心轉(zhuǎn)變?yōu)閷W(xué)習(xí)興趣,授課時(shí)我們可以把對(duì)定義和規(guī)則的講解與具體問(wèn)題結(jié)合起來(lái),努力把枯燥無(wú)味的“語(yǔ)言”講的生動(dòng)、活潑。在第一節(jié)課上,我們可以給同學(xué)展示一些已經(jīng)做好的程序,讓同學(xué)們對(duì)C能做出些什么程序有一定的了解,并把C和學(xué)生曾經(jīng)學(xué)過(guò)的其他課程聯(lián)系起來(lái)。例如數(shù)學(xué)中的很多問(wèn)題,是C語(yǔ)言初期學(xué)習(xí)算法時(shí)比較好的引例。在課程的進(jìn)行中,引導(dǎo)學(xué)生學(xué)一種算法,就嘗試在同行課程中應(yīng)用。我們還可以經(jīng)常介紹一些趣味性算例,如: “菲波納契兔子問(wèn)題”、“水仙花數(shù)”、“競(jìng)賽記分”等,培養(yǎng)學(xué)生的學(xué)習(xí)興趣,讓大家積極主動(dòng)、自覺(jué)獨(dú)立地獲取知識(shí),打好學(xué)習(xí)程序設(shè)計(jì)語(yǔ)言的基礎(chǔ)。整個(gè)教學(xué)過(guò)程中應(yīng)該把解題思路、方法和步驟(即“算法”)當(dāng)作授課的重點(diǎn),從而讓學(xué)生明白如何分析并解決實(shí)際問(wèn)題,逐漸培養(yǎng)學(xué)生進(jìn)行程序設(shè)計(jì)的正確思維模式。

2、在教學(xué)過(guò)程中要加強(qiáng)學(xué)生對(duì)程序的理解

對(duì)于一門藝術(shù)性的語(yǔ)言,它的價(jià)值便是它的實(shí)用性和美感。眾所周知,英語(yǔ)的美感在于它的發(fā)音、而漢語(yǔ)則在于它的象形,它們給人的一種直觀感覺(jué)就是美。C語(yǔ)言作為一門計(jì)算機(jī)語(yǔ)言,它的美又在哪里呢?那便是它的可持續(xù)性,正確性與實(shí)用性,也就是說(shuō)一個(gè)程序我們一眼看上去就能理解它想表達(dá)的是什么,所以在教學(xué)過(guò)程,如何讓學(xué)生理解好程序,成了入門最重要的一步,例如:我們?cè)趯W(xué)習(xí)兩個(gè)數(shù)交換時(shí):

main()

{int a=1,b=2.c;

c=a;

a=b;

b=c;}

如果只是看c=a,a=b,b=c是相當(dāng)難理解的,但是,若是加以聯(lián)想,我有兩杯水,要將杯中的水相互交換,便要引入一個(gè)空杯了,而這個(gè)空杯子正是C,這樣問(wèn)題被輕而易舉地理解了,又如,我們?cè)趯W(xué)習(xí)排序方法時(shí),由于算法理解起來(lái)比較復(fù)雜,此時(shí)我們要聯(lián)系生活中的例子,以上體育課中排

隊(duì)為例按個(gè)子高低從小到大排列,并結(jié)合程序考慮該如何移動(dòng)位臵。通過(guò)與生活實(shí)際相結(jié)合,理解相對(duì)枯燥難懂的程序算法,放棄傳統(tǒng)的死記硬背的方法,無(wú)疑可以使原本吃力的學(xué)習(xí)得到一定的緩解。

3、在教學(xué)過(guò)程中要讓學(xué)生正確處理語(yǔ)法與算法的關(guān)系。教學(xué)中對(duì)程序課程教學(xué)的一項(xiàng)基本目的是要讓學(xué)生掌握設(shè)計(jì)程序的思路并對(duì)待處理實(shí)現(xiàn)的任務(wù)能用計(jì)算機(jī)語(yǔ)言編寫(xiě)出程序。要讓學(xué)生完成程序,如何處理算法與語(yǔ)法之間的關(guān)系顯得猶為重要。算法是程序的核心與靈魂,是程序精華的體現(xiàn),語(yǔ)法僅僅是一種程序工具,我們?cè)诮虒W(xué)過(guò)程中不應(yīng)把重點(diǎn)放在語(yǔ)法規(guī)則的教學(xué)上,語(yǔ)法是重要,不掌握語(yǔ)法規(guī)則就無(wú)法編寫(xiě)出正確的程序,但是只學(xué)會(huì)語(yǔ)法,甚至能把語(yǔ)法背得滾瓜爛熟,也不可能編寫(xiě)好程序。我們應(yīng)該把重點(diǎn)放在解題思路上,即算法的講解及算法優(yōu)化上,對(duì)于一個(gè)經(jīng)典的算法,需要通過(guò)大量的例題進(jìn)行學(xué)習(xí)。在學(xué)習(xí)開(kāi)始時(shí)沒(méi)必要在語(yǔ)法細(xì)節(jié)上死背死摳,畢竟讓學(xué)生能編出程序才是最重要。一些語(yǔ)法細(xì)節(jié)是需要通過(guò)長(zhǎng)期實(shí)踐才能掌握的。在學(xué)生對(duì)算法能夠較好理解后,再層層深入,讓學(xué)生去加強(qiáng)對(duì)語(yǔ)法的理解。

4、在教學(xué)過(guò)程中要突出實(shí)踐操作的重要性

程序設(shè)計(jì)課程實(shí)踐性很強(qiáng),同學(xué)在學(xué)習(xí)過(guò)程中只聽(tīng)不練根本達(dá)不到預(yù)期的學(xué)習(xí)效課,每次上機(jī)前,都要根據(jù)教學(xué)計(jì)

劃布臵與理論教學(xué)配套的實(shí)踐作業(yè),讓學(xué)生明確上機(jī)任務(wù),編寫(xiě)好上機(jī)調(diào)試的程序,使學(xué)生在每次上機(jī)實(shí)習(xí)中有收獲,加強(qiáng)對(duì)理論的理解。我們可以在機(jī)房中設(shè)立教師機(jī),讓學(xué)生在教師機(jī)上建立以學(xué)號(hào)和姓名為文件名的文件夾,以后每節(jié)課作業(yè)都存入其中,課程結(jié)束后按作業(yè)的多少、優(yōu)劣來(lái)評(píng)定實(shí)習(xí)成績(jī)。針對(duì)程序設(shè)計(jì)中的一些操作難點(diǎn),可以讓學(xué)生分組討論并集中演示,這可以起到事半功倍的效果。課程結(jié)束前我們把教師機(jī)中學(xué)生作業(yè)完成情況及所學(xué)的內(nèi)容作一個(gè)分析,并進(jìn)行有針對(duì)性的講解,前后聯(lián)系起來(lái),使學(xué)生對(duì)課程內(nèi)容能夠融匯貫通。我們要讓學(xué)生用積極的思維解決出現(xiàn)問(wèn)題,程序報(bào)錯(cuò)不能運(yùn)行時(shí),認(rèn)真檢查核對(duì)語(yǔ)法錯(cuò)誤;程序能運(yùn)行卻得不到正確的結(jié)果時(shí),認(rèn)真檢查核對(duì)算法的疏漏,使學(xué)生知道可能往往程序中一個(gè)小小標(biāo)點(diǎn)或者字母的失誤,都可能導(dǎo)致整個(gè)程序出現(xiàn)問(wèn)題。

5、結(jié)束語(yǔ)

在對(duì)學(xué)生進(jìn)行C語(yǔ)言教學(xué)時(shí),除了采取以上措施外,筆者認(rèn)為由于該課程涉及內(nèi)容太多,在學(xué)時(shí)較少的情況下,可以對(duì)一些應(yīng)用性教差及教難的問(wèn)題適當(dāng)帶過(guò),如果,過(guò)分強(qiáng)調(diào)那些難點(diǎn)問(wèn)題,必然影響學(xué)生對(duì)基本知識(shí)的理解,并且也會(huì)加大學(xué)生學(xué)習(xí)負(fù)擔(dān)。學(xué)生掌握好程序設(shè)計(jì)中最基本、最常用的部分后已經(jīng)可以解決大多數(shù)的問(wèn)題。在學(xué)生熟練地掌握了基本知識(shí)后再去學(xué)習(xí)較難的部分也會(huì)使難點(diǎn)問(wèn)題簡(jiǎn)單很

多。“授之魚(yú)、不如授之以漁”,在教學(xué)中除了要加強(qiáng)學(xué)生對(duì)知識(shí)的理論學(xué)習(xí)外,最重要的是培養(yǎng)學(xué)生從計(jì)算機(jī)的角度去考慮如何解決問(wèn)題、培養(yǎng)學(xué)生良好的思維習(xí)慣。

參考文獻(xiàn)

[1]譚浩強(qiáng).C語(yǔ)言程序設(shè)計(jì).清華大學(xué)出版社, 2002

[2] 石愛(ài)容, C語(yǔ)言程序設(shè)計(jì)課程教學(xué)探析.警官教育論壇,2006年第2期

[3] 吳麗麗.論職業(yè)技術(shù)教育中《C語(yǔ)言程序設(shè)計(jì)》的教學(xué).科技信息(學(xué)術(shù)版).2006第9期

[4] 張海玉.C語(yǔ)言程序設(shè)計(jì)教學(xué)方法探析.山西財(cái)政稅務(wù)專科學(xué)校學(xué)報(bào).2006年 第8卷 第1期

[5] 孫鋒.C 語(yǔ)言程序設(shè)計(jì)教學(xué)的幾點(diǎn)體會(huì).教育與培訓(xùn).2006 第7期

作者簡(jiǎn)介:

歐陽(yáng)群, 女, 江西司法警官職業(yè)學(xué)院司法信息系,助理講師

下載C語(yǔ)言程序設(shè)計(jì)教學(xué)安排word格式文檔
下載C語(yǔ)言程序設(shè)計(jì)教學(xué)安排.doc
將本文檔下載到自己電腦,方便修改和收藏,請(qǐng)勿使用迅雷等下載。
點(diǎn)此處下載文檔

文檔為doc格式


聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),未作人工編輯處理,也不承擔(dān)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)有涉嫌版權(quán)的內(nèi)容,歡迎發(fā)送郵件至:645879355@qq.com 進(jìn)行舉報(bào),并提供相關(guān)證據(jù),工作人員會(huì)在5個(gè)工作日內(nèi)聯(lián)系你,一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

相關(guān)范文推薦

    《C語(yǔ)言程序設(shè)計(jì)》課程教學(xué)設(shè)計(jì)

    《C語(yǔ)言程序設(shè)計(jì)》課程教學(xué)設(shè)計(jì) 理學(xué)院電子科學(xué)系計(jì)算機(jī)基礎(chǔ)教研室 趙永梅 《C語(yǔ)言程序設(shè)計(jì)》是大學(xué)計(jì)算機(jī)基礎(chǔ)教學(xué)系列中的核心課程之一,是計(jì)算機(jī)及信息類專業(yè)本科生必修的......

    《C語(yǔ)言程序設(shè)計(jì)》教學(xué)的幾點(diǎn)體會(huì)

    《C語(yǔ)言程序設(shè)計(jì)》教學(xué)的幾點(diǎn)體會(huì).txt我不奢望什么,只希望你以后的女人一個(gè)不如一個(gè)。真懷念小時(shí)候啊,天熱的時(shí)候我也可以像男人一樣光膀子!《C語(yǔ)言程序設(shè)計(jì)》教學(xué)的幾點(diǎn)體會(huì)......

    淺談《C語(yǔ)言程序設(shè)計(jì)》教學(xué)與實(shí)踐

    淺談《C語(yǔ)言程序設(shè)計(jì)》教學(xué)與實(shí)踐 為了有效改善當(dāng)前C語(yǔ)言程序設(shè)計(jì)教學(xué)方法的諸多問(wèn)題,本文提出了一種互動(dòng)式和啟發(fā)式教學(xué)方法,從實(shí)際出發(fā),制定出切實(shí)可行的教學(xué)案例。通過(guò)測(cè)......

    《C語(yǔ)言程序設(shè)計(jì)》教學(xué)總結(jié)(五篇模版)

    《C語(yǔ)言程序設(shè)計(jì)》教學(xué)總結(jié) C語(yǔ)言是計(jì)算機(jī)專業(yè)的一門專業(yè)課,它以其處理功能豐富,表達(dá)能力強(qiáng),使用方便靈活,執(zhí)行效率高,既具有高級(jí)語(yǔ)言的特點(diǎn),又具有匯編語(yǔ)言的特點(diǎn),因而成為國(guó)內(nèi)外......

    C語(yǔ)言程序設(shè)計(jì)課程教學(xué)設(shè)計(jì)

    C語(yǔ)言程序設(shè)計(jì)課程教學(xué)設(shè)計(jì) 蘇小紅 一 課程內(nèi)容體系 : 基本描述 課程名稱: C 語(yǔ)言程序設(shè)計(jì) 英文譯名 : C PROGRAMMING LANGUAGES 總 學(xué) 時(shí): 50 ; 講課學(xué)時(shí): 30 ; 實(shí)驗(yàn)學(xué)時(shí) : 0......

    C語(yǔ)言程序設(shè)計(jì)教學(xué)探究論文

    [摘要]文章主要針對(duì)高職高專院校中《C語(yǔ)言程序設(shè)計(jì)》教學(xué)中出現(xiàn)的聽(tīng)得懂、編不出的現(xiàn)象,分析問(wèn)題存在的原因,從教學(xué)的課程目標(biāo)定位、教學(xué)內(nèi)容和方法改革方面進(jìn)行了探討,提出只......

    經(jīng)典C語(yǔ)言程序設(shè)計(jì)例題

    經(jīng)典C語(yǔ)言程序設(shè)計(jì)例題 【程序1】 題目:有1、2、3、4個(gè)數(shù)字,能組成多少個(gè)互不相同且無(wú)重復(fù)數(shù)字的三位數(shù)?都是多少? 1.程序分析:可填在百位、十位、個(gè)位的數(shù)字都是1、2、3、4。組......

    第一章 C語(yǔ)言程序設(shè)計(jì)

    第一章 C語(yǔ)言程序設(shè)計(jì) 考試形式:試卷(全國(guó)統(tǒng)一 4月第二個(gè)星期六9月倒數(shù)第二個(gè)星期六) 筆試: 滿分100分60分及格 時(shí)間:90分鐘內(nèi)容: 70分 C語(yǔ)言知識(shí)30分 公共基礎(chǔ) 選擇題:60分 前......

主站蜘蛛池模板: 午夜片无码区在线观看视频| 吃奶摸下高潮60分钟免费视频| 久久妇女高潮喷水多| 国产成人麻豆精品午夜福利在线| 人妻无码中文字幕永久有效视频| 波多野结衣av一区二区全免费观看| 小13箩利洗澡无码免费视频| 国产成人亚洲精品另类动态| 国语自产偷拍在线观看| 女人爽得直叫免费视频| 久久无码中文字幕东京热| 青青草国产精品亚洲专区无码| 亚洲熟妇av日韩熟妇在线| 国内揄拍国内精品人妻| 亚洲精品无码永久电影在线| 高级会所人妻互换94部分| 国产亚洲精久久久久久无码77777| 成人伊人亚洲人综合网站| 久久久久久好爽爽久久| 国产最新进精品视频| 国产福利萌白酱精品tv一区| 免费做a爰片久久毛片a片下载| 久久青草国产免费频观| 偷窥自拍性综合图区| 特级毛片a级毛片100免费播放| 国精无码欧精品亚洲一区| 亚洲香蕉成人av网站在线观看| 2022久久国产精品免费热麻豆| 在线成人爽a毛片免费软件| 国产精品99久久免费黑人人妻| 久久免费无码高潮看片a片| 挺进朋友人妻雪白的身体韩国电影| 国产精品va无码一区二区| 国产一区二区三区乱码在线观看| 99精品久久毛片a片| 人人爽人人澡人人人妻| 亚洲国产精品久久久久久无码| 国产亚洲无线码一区二区| 日本理伦片午夜理伦片| 熟女丝袜潮喷内裤视频网站| 国产精品亚洲五月天高清|