公務(wù)員期刊網(wǎng) 論文中心 正文

開展C語言程序設(shè)計(jì)教學(xué)探究

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了開展C語言程序設(shè)計(jì)教學(xué)探究范文,希望能給你帶來靈感和參考,敬請(qǐng)閱讀。

開展C語言程序設(shè)計(jì)教學(xué)探究

【摘要】C語言程序設(shè)計(jì)是一門重要的計(jì)算機(jī)專業(yè)基礎(chǔ)課程,結(jié)合實(shí)例開展教學(xué)能夠增加學(xué)生的學(xué)習(xí)興趣,提高學(xué)生的學(xué)習(xí)積極性。選取貼近學(xué)生日常生活的內(nèi)容或社會(huì)的熱點(diǎn)問題作為實(shí)例,更能提高學(xué)生的學(xué)習(xí)熱情。將東京奧運(yùn)會(huì)這一熱點(diǎn)話題作為實(shí)例,淺談如何開展C語言程序設(shè)計(jì)教學(xué)設(shè)計(jì)。

【關(guān)鍵詞】C語言;實(shí)例;教學(xué)設(shè)計(jì);奧運(yùn)會(huì)

0引言

C語言程序設(shè)計(jì)不僅是計(jì)算機(jī)大類中各專業(yè)的一門專業(yè)基礎(chǔ)課程,而且是非計(jì)算機(jī)專業(yè)的學(xué)生需要學(xué)習(xí)的主要程序設(shè)計(jì)語言課程之一。這門課程不僅要求學(xué)生掌握傳統(tǒng)意義上的程序編寫,更要求學(xué)生轉(zhuǎn)換求解問題時(shí)的思維方式,培養(yǎng)學(xué)生的計(jì)算思維。這門課程主要包括C語言的基礎(chǔ)知識(shí)和程序設(shè)計(jì)的基本方法。以實(shí)際問題的求解過程為引導(dǎo),以實(shí)際應(yīng)用為背景,在一個(gè)實(shí)際案例的不斷深化中逐步引出相關(guān)知識(shí)點(diǎn),努力貼近學(xué)生,使知識(shí)點(diǎn)更加通俗易懂,案例內(nèi)容能夠緊密結(jié)合實(shí)踐,并引導(dǎo)學(xué)生舉一反三、融會(huì)貫通。在實(shí)際教學(xué)中,案例可以選擇貼近學(xué)生日常生活的內(nèi)容,例如,學(xué)生信息管理系統(tǒng)、學(xué)生食堂管理系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng);或是社會(huì)的熱點(diǎn)話題,如近期的東京奧運(yùn)會(huì)、河南洪水賑災(zāi)、疫情防控等,這些實(shí)例都可以被分解成很多細(xì)小的程序設(shè)計(jì)問題,然后穿插在課程的各個(gè)知識(shí)點(diǎn)中,增強(qiáng)學(xué)生對(duì)于知識(shí)點(diǎn)的進(jìn)一步理解。下面以東京奧運(yùn)會(huì)這一內(nèi)容為實(shí)例,淺談如何結(jié)合實(shí)例開展C語言程序設(shè)計(jì)的教學(xué)。

1教學(xué)設(shè)計(jì)

C語言程序設(shè)計(jì)按照章節(jié)安排,包括基礎(chǔ)知識(shí)、數(shù)據(jù)類型、格式化輸入輸出、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)等部分,下面將選取其中部分章節(jié)的知識(shí)點(diǎn),分析如何結(jié)合奧運(yùn)會(huì)比賽中的實(shí)例進(jìn)行教學(xué)設(shè)計(jì)。

1.1數(shù)據(jù)類型

在C語言中,數(shù)據(jù)有常量和變量?jī)煞N形式,基本的數(shù)據(jù)類型包括整型、實(shí)型、字符型和字符串型。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以結(jié)合奧運(yùn)會(huì)中運(yùn)動(dòng)員各種不同數(shù)據(jù)類型的信息。例如,運(yùn)動(dòng)員的年齡信息保存為整型數(shù)據(jù),性別信息保存為字符型數(shù)據(jù)(F為女性、M為男性),國(guó)籍信息保存為字符串型數(shù)據(jù)(如中國(guó)的國(guó)家代碼為CHN),運(yùn)動(dòng)員的姓名信息保存為字符串型數(shù)據(jù),運(yùn)動(dòng)員參賽項(xiàng)目信息保存為字符串信息,等等。另外,還可以向?qū)W生解釋說明常量和變量的實(shí)際意義,如運(yùn)動(dòng)員姓名、年齡、國(guó)籍、參賽項(xiàng)目等一些不可以修改的數(shù)據(jù)為常量,運(yùn)動(dòng)員的最佳成績(jī)、體重等可以修改的數(shù)據(jù)為變量。

1.2格式化輸入輸出

鍵盤輸入和屏幕輸出是編寫簡(jiǎn)單的順序結(jié)構(gòu)程序時(shí)最經(jīng)常用到的操作。在學(xué)習(xí)了通過調(diào)用輸入/輸出函數(shù)實(shí)現(xiàn)鍵盤輸入和屏幕輸出后,深入學(xué)習(xí)數(shù)據(jù)的格式化輸入輸出。格式轉(zhuǎn)換說明符包括帶符號(hào)的十進(jìn)制整數(shù)說明符%d、字符說明符%c、字符串說明符%s、十進(jìn)制小數(shù)說明符%f等,格式修飾符包括long型數(shù)據(jù)修飾符l、顯示精度的修飾符.n等。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以結(jié)合奧運(yùn)會(huì)的不同運(yùn)動(dòng)項(xiàng)目在屏幕上顯示其比賽結(jié)果,例如,籃球比賽、排球比賽等球類比賽的結(jié)果是整數(shù),在屏幕上顯示結(jié)果時(shí)可以用%d;跑步比賽、游泳比賽等比賽的結(jié)果是精確到小數(shù)點(diǎn)后兩位,在屏幕上輸出結(jié)果時(shí)可以用%8.2f,這里的%8.2表示輸出數(shù)據(jù)所占的域?qū)挒?0,顯示的精度為2;在飛碟射擊比賽中,需要用O和X表示擊中和未擊中,在屏幕上顯示結(jié)果時(shí)可以用%c。

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

選擇結(jié)構(gòu)也稱為分支控制結(jié)構(gòu),包括單分支、雙分支、多分支選擇控制結(jié)構(gòu),所用到的語句包括if-else和switch。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以結(jié)合奧運(yùn)比賽中成績(jī)的排序。對(duì)于2人(或兩隊(duì))參加決賽的項(xiàng)目,如球類比賽,此時(shí)已知比賽得分,需要由此得出金銀牌得主分別是哪一隊(duì),就可以用到if-else語句;對(duì)于4人(或4隊(duì))參加決賽的項(xiàng)目,如皮劃艇的B組決賽,要想分出1~4名,可以用到if-else語句的嵌套使用;對(duì)于8人(或8隊(duì))參加決賽的項(xiàng)目,如跑步?jīng)Q賽、游泳決賽等,想要分出1~8名,既可以用if-else語句嵌套使用,也可以為后面章節(jié)的數(shù)組排序做鋪墊。另外,在奧運(yùn)會(huì)的游泳比賽中,很多項(xiàng)目的報(bào)名人數(shù)很多,如100米自由泳,進(jìn)行預(yù)賽時(shí)會(huì)根據(jù)運(yùn)動(dòng)員的報(bào)名成績(jī)分成快組和慢組,因?yàn)槿绻荣愓吣芰⒉畈积R,不利于成績(jī)好的運(yùn)動(dòng)員的發(fā)揮,需要將水平相近的運(yùn)動(dòng)員放在同組,此時(shí)可以用到switch-case語句,將成績(jī)區(qū)間相同的選手放在同一組。

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

循環(huán)結(jié)構(gòu)部分主要介紹計(jì)數(shù)控制的循環(huán)和如何尋找累加或累乘項(xiàng)(即通項(xiàng))的構(gòu)成規(guī)律。循環(huán)結(jié)構(gòu)包括計(jì)數(shù)控制的循環(huán)、條件控制的循環(huán)和嵌套循環(huán)。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以結(jié)合奧運(yùn)會(huì)中的射擊比賽,在計(jì)算最終成績(jī)時(shí),需要將每一輪的環(huán)數(shù)相加,射擊的輪數(shù)會(huì)多達(dá)幾十輪,若使用普通的順序結(jié)構(gòu),程序會(huì)變得冗長(zhǎng),此時(shí)就需要用到循環(huán)結(jié)構(gòu),每一輪射擊結(jié)束后計(jì)算當(dāng)前總環(huán)數(shù)的方法都是本輪射擊環(huán)數(shù)加上本輪之前的總環(huán)數(shù),所以可以保證循環(huán)體內(nèi)執(zhí)行的操作完全一樣。在使用這個(gè)實(shí)例時(shí),可以分別用for循環(huán)、while循環(huán)和do-while循環(huán)結(jié)構(gòu)進(jìn)行編寫,并且可以比較這三種結(jié)構(gòu)下循環(huán)體有何異同。

1.5數(shù)組

數(shù)組是一組具有相同類型的變量的集合,例如,可以將8個(gè)參加游泳決賽的運(yùn)動(dòng)員成績(jī)存儲(chǔ)在內(nèi)存的一個(gè)連續(xù)區(qū)域中,使用一個(gè)統(tǒng)一的名字來標(biāo)識(shí)這組相同類型的數(shù)據(jù),這個(gè)名字稱為數(shù)組名,如取名為result。在介紹選擇結(jié)構(gòu)時(shí)曾使用對(duì)奧運(yùn)決賽成績(jī)排序的實(shí)例,當(dāng)數(shù)據(jù)數(shù)量較多時(shí),使用if-else的嵌套就會(huì)使程序變得冗長(zhǎng),此時(shí)就需要引入數(shù)組,排序是數(shù)組的一個(gè)典型應(yīng)用,可以以對(duì)奧運(yùn)會(huì)決賽成績(jī)進(jìn)行排序?yàn)閷?shí)例,分別使用選擇排序、冒泡排序和插入排序編寫對(duì)應(yīng)程序。另外,在學(xué)習(xí)二維數(shù)組時(shí),可以結(jié)合運(yùn)動(dòng)員編號(hào)和成績(jī)這個(gè)實(shí)例,并且強(qiáng)調(diào)不能用姓名和成績(jī),因?yàn)閿?shù)組里的每個(gè)元素都必須是同一類型,姓名是一個(gè)字符串類型,與成績(jī)的數(shù)據(jù)類型一定不一樣。

1.6函數(shù)

在C語言中,函數(shù)是構(gòu)成程序的基本模塊。程序的執(zhí)行從main()的入口開始,到main()的出口結(jié)束,中間循環(huán)、往復(fù)、迭代地調(diào)用一個(gè)又一個(gè)函數(shù),每個(gè)函數(shù)分工明確、各司其職。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以使用奧運(yùn)比賽中輸入成績(jī),排序后,再顯示在屏幕上這個(gè)實(shí)例,以及前面章節(jié)的內(nèi)容。例如,已知入圍游泳決賽的8位運(yùn)動(dòng)員的半決賽成績(jī),需要為他們安排決賽的道次,此時(shí)就需要調(diào)用輸入函數(shù)輸入8位選手的半決賽成績(jī),再調(diào)用排序函數(shù)對(duì)成績(jī)進(jìn)行排序,最后調(diào)用輸出函數(shù)將成績(jī)及分配的對(duì)應(yīng)道次顯示在屏幕上。

1.7自定義數(shù)據(jù)類型

對(duì)于數(shù)組而言,它只能存儲(chǔ)同一類型的元素,那在程序中要如何表示一位運(yùn)動(dòng)員的姓名、性別、成績(jī)等不同類型的信息呢?此時(shí)就要使用到自定義數(shù)據(jù)類型的結(jié)構(gòu)體類型。在學(xué)習(xí)這個(gè)知識(shí)點(diǎn)時(shí),可以結(jié)合奧運(yùn)會(huì)中選手信息存儲(chǔ)的實(shí)例,定義一個(gè)名為athlete的結(jié)構(gòu)體類型,結(jié)構(gòu)體的成員可以包括運(yùn)動(dòng)員編號(hào)longathleteID;運(yùn)動(dòng)員姓名charathleteName[10];運(yùn)動(dòng)員性別charathleteSex;運(yùn)動(dòng)員出生年份intyearOfBirth;運(yùn)動(dòng)員參加項(xiàng)目charathleteItem[10]等,結(jié)構(gòu)體可以將不同類型的數(shù)據(jù)成員組織在一起,形成數(shù)據(jù)結(jié)構(gòu),可以將運(yùn)動(dòng)員的不同數(shù)據(jù)類型的信息保存在連續(xù)的存儲(chǔ)空間中。

2結(jié)語

通過日常的教學(xué)實(shí)踐可以證明,采用一些社會(huì)熱點(diǎn)話題作為教學(xué)實(shí)例進(jìn)行C語言教學(xué),可以將C語言中學(xué)生難以理解的概念性知識(shí)點(diǎn)、枯燥乏味的語法知識(shí)、復(fù)雜的程序結(jié)構(gòu)和繁多的算法,通過具體直觀的案例提高學(xué)生的學(xué)習(xí)興趣。奧運(yùn)會(huì)是近期的熱點(diǎn)話題,用其中的實(shí)例輔助學(xué)生理解知識(shí)點(diǎn),培養(yǎng)學(xué)生主動(dòng)思考、主動(dòng)學(xué)習(xí)的習(xí)慣,以提高C語言程序設(shè)計(jì)這門課程的教學(xué)效果,為后續(xù)其他的程序設(shè)計(jì)類課程打好基礎(chǔ)。

【參考文獻(xiàn)】

[1]王青松,張?chǎng)午?,劉?真實(shí)問題為導(dǎo)向的C語言課程教學(xué)改革實(shí)踐[J].遼寧大學(xué)學(xué)報(bào)(自然科學(xué)版),2020,47(4):319-324.

[2]劉路.C語言程序設(shè)計(jì)教學(xué)模式探索[J].福建電腦,2020,36(12):165-168.

[3]丁發(fā)紅.任務(wù)驅(qū)動(dòng)法在《C語言程序設(shè)計(jì)》課程教學(xué)中的應(yīng)用研究[J].科技視界,2020(25):104-105.

[4]王倩麗.應(yīng)用型本科院校C語言程序設(shè)計(jì)教學(xué)改革探索[J].微型電腦應(yīng)用,2021,37(5):146-147.

[5]羅曉麗.淺談“C語言程序設(shè)計(jì)”趣味創(chuàng)新案例教學(xué)[J].科技與創(chuàng)新,2021(6):110-111.

作者:仲冰 單位:鹽城工學(xué)院信息工程學(xué)院