

摘要:應用性本科是國家高等教育的一個新生事物,具有鮮明的技術應用特征。C語言對于我校應用性本科水保專業(yè)非計算機專業(yè)的學生學習起來具有一定的難度,而循環(huán)結構又是三大基本結構中最重要、最復雜、最廣泛的一種結構。該文從C語言的課程性質(zhì)入手,介紹了循環(huán)結構的重要作用,分析了教學對象及傳統(tǒng)教學存在的問題,創(chuàng)新了教學模式,以For循環(huán)結構教學為例,采用“七步法”組織教學,開展C語言循環(huán)結構教學實踐。
關鍵詞:循環(huán)結構;單元設計;C語言
中圖分類號:G642? ? ? ? ? ?文獻標識碼:A? ? ? ? 文章編號:1009-3044(2018)36-0122-02
1 概述
《C語言程序設計基礎》課程是江西環(huán)境工程職業(yè)學院應用性本科水土保持專業(yè)開設的必修課之一,也是當代大學生應用性人才所需掌握的內(nèi)容之一。C語言課程實踐操作性極強,既要了解相關概念,又要真正動手編程。該課程的開設旨在培養(yǎng)學生嚴謹?shù)墓ぷ髯黠L、敏捷的邏輯思維能力以及互助的團隊合作能力。同時,這門課程也是“全國計算機等級考試”二級考試的主要語種之一,通過課程的開設使該專業(yè)大部分學生能夠順序通過“全國計算機等級考試”二級(C語言)考試。
C語言是一種面向過程的結構化程序設計語言,而循環(huán)結構是三大基本結構(順序結構、選擇結構、循環(huán)結構)中最重要、最復雜、最廣泛的一種結構。學好循環(huán)結構是學好C語言課程的關鍵,它是學好數(shù)組、指針、函數(shù)等內(nèi)容的基礎和前提。在日常工作和生活中通過循環(huán)結構的應用可以很方便地解決許多問題。例如,求全班學生課程的總成績和平均成績;求任意兩個正整數(shù)的最大公約數(shù)和最小公倍數(shù);九九乘法表的打印輸出等。本文將結合作者多年教授程序設計語言的教學實踐經(jīng)驗,從課程背景、教學對象與教學現(xiàn)狀分析、教學組織實施實踐等幾個方面來對循環(huán)結構教學實踐進行探討。
2 應用性本科水保專業(yè)教學對象與教學現(xiàn)狀分析
2.1 教學對象分析
我院水保本科班是與南昌工程學院聯(lián)辦的應用技術型本科班,這些學生具有鮮明的技術應用的特征,他們的培養(yǎng)目標與高職生和普通本科生完全不一樣。這些學生主要是以應用型本科教育培養(yǎng)的本科應用型人才,不是學科理論知識的學習,更加注重的是動手能力和創(chuàng)新能力的培養(yǎng)。普通本科生培養(yǎng)的是從事科學研究和學術研究的研究生人才,教學過程中注重理論知識的傳授,更多的側重系統(tǒng)理論基礎的學習,培養(yǎng)學生的理論創(chuàng)新能力。而應用型本科生培養(yǎng)的是高科技行業(yè)以及技術密集產(chǎn)業(yè)等高級應用型人才,教學過程中理論與實踐并重,培養(yǎng)學生實踐創(chuàng)新能力。這些學生大部分入校時高考成績比普通本科生成績要低,學習基礎要差一些,所以在授課過程中接受能力比普通本科生要弱,講得太快,學生跟不上進度,講得不深,學生聽不懂。
2.2 傳統(tǒng)教學存在的問題剖析
“C語言程序設計基礎”課程大部分高校在開設時采取兩節(jié)理論教學和兩節(jié)實驗教學的模式,理論教學多安排在多媒體教學上課,實驗教學安排在機房練習。有時上完理論課后,上機課隔好幾天才上,這兩個教學環(huán)節(jié)脫節(jié),由于許多學生不會及時去復習上課內(nèi)容,從而導致學生在上機過程中經(jīng)常發(fā)現(xiàn)上過的東西都不會做。C語言傳統(tǒng)教學方法單一,教學方面其一,采取講授為主,在循環(huán)結構內(nèi)容講授過程中的一般步驟是先分析如FOR循環(huán)的語法格式,然后再重點講解FOR循環(huán)的語法規(guī)則,最后通過一個小例子來理解FOR循環(huán)。這種授課方式,上面環(huán)節(jié)內(nèi)容相對枯燥,容易使得學生產(chǎn)生厭學心理,而對于應用型本科學生來說,他們的專業(yè)基礎知識不強,學習的主動性有待加強,學習效果不是很理想。其次這種以教師為主體的灌輸式教學模式,使得學生能動性較差,容易出現(xiàn)上課睡覺現(xiàn)象,學生上課時對上課內(nèi)容缺乏思考,上完課后對于編程應用還是無從下手。傳統(tǒng)教學方式忽視學生應用能力及創(chuàng)新能力的培養(yǎng),與應用型本科人才培養(yǎng)要求不符合。
3 教學組織實施實踐
C語言課程對于非計算機專業(yè)學生來說學起來比較吃力,三大基本結構:順序結構、選擇結構和循環(huán)結構是整個課程的一個重點,而循環(huán)結構相對其他結構而言較為抽象,學生學習起來比較困難,怎么才能破解這個難題,讓學生學習“循環(huán)”內(nèi)容從抽象變成形象呢,為此作者在教學過程創(chuàng)新教學模式,是以項目為載體,圍繞一個個獨立的項目實施過程開展教學單元設計,遵循“由簡到繁、由易到難、由學到用、循序漸進、逐步提高”的原則,從七個方面組織教學,具體如下:(1)新課導入與項目展示;(2)項目任務描述;(3)任務分析;(4)任務實施;(5)相關知識點;(6)技能拓展;(7)指導與評價[3]。
3.1 新課導入與項目展示
運行該項目源程序,為學生演示本章項目各個任務的實現(xiàn)效果。
(1) 新課導入
首先導入新課問題:我們都清楚,在C語言中,每門課的成績錄入,一個人成績錄入簡單,一個班的成績錄入怎么辦?數(shù)學圖形有很多種,如三角形、矩形、菱形,如果要輸出一個菱形怎么辦?其實要解決這些現(xiàn)實問題有比較簡便的方法就要通過我們今天即將要講得內(nèi)容:循環(huán)結構,通過循環(huán)結構可以比較容易解決上面的問題,實現(xiàn)一個班的成績錄入和菱形等圖形的輸出。
(2) 項目展示
3.2 項目任務描述
項目1 打印幾何圖形——菱形
本項目中,通過設計一個算法輸出一個幾何圖形,圖形的形狀為菱形。具體輸出圖形如圖2所示:
3.3 項目任務分析
該圖案是一個菱形,共有9行,每行由空格和星號“*”換行符組成,第1行至第5行的空格呈遞減趨勢,而星號“*”呈增加趨勢,第6至第9行的空格呈增加趨勢,而星號“*”呈減少趨勢。圖案輸出時可以用“For循環(huán)”來控制輸出,此項目中要用到嵌套的For循環(huán),外循環(huán)控制圖形行的輸出,兩個內(nèi)循環(huán)分別用來控制空格和星號“*”的輸出。
3.4 項目任務實施
本項目中,根據(jù)項目描述及任務分析進行詳細的代碼設計。首先打開C-Free集成開發(fā)平臺進行本項目的程序代碼設計,點擊“工程”菜單的“新建”菜單項,輸入項目的工程名稱為“ex4_1.cfpg”,然后再點擊“文件”菜單的“新建”菜單項,新建一個名稱為“ex4_1.c”的C語言源文件,將打印圖案的算法代碼錄入完畢,最后在C-Free平臺上調(diào)試運行,輸出結果。
1) 主要代碼如下:
void main()
{
int m,n ;
for(m=1;m<=5; m++) {? ? ?//1至5行數(shù)據(jù)輸出
for(n=1;n<=5-m; n++)
printf(“”); //輸出圖形的空格數(shù):5-m個
for(n=1;n<=2*m-1; n++)
printf(“*”); //輸出圖形的星號數(shù):2m-1個
printf(“\n'”); //換行輸出
}
for( ;m<=9; m++) {? ? ? //6至9行數(shù)據(jù)輸出
for(n=1;n<=m-5; n++)
printf(“”);? ?//輸出圖形的空格數(shù):m-5
for(n=1;n<=2*(9-m)+1; n++)
printf(“*”);? ?//輸出圖形的星號數(shù):2(9-m)+1個
printf(“\n'”);? //換行輸出
}
}
2) 程序設計思考
(1) 此實例中使用函數(shù)printf()來實現(xiàn)星號和空格符的輸出時,如果使用putchar(),括號內(nèi)的參數(shù)是什么引號呢,是“”還是‘?
(2) 為什么程序中第二個for循環(huán)語句的第一個表達式是空的?
3.5 相關知識點
1. For 語句
(一)for語句的格式
for (變量初始化;表達式2;表達式3){
循環(huán)體主體;
}
(二)for語句的使用說明
for語句中三個表達式可以為空,但分號符一定要有,如果表達式2為空,那么就假定該循環(huán)條件為真。for語句中變量初始化工作在程序開始時完成,只運行一次,表達式2用于判定循環(huán)是否繼續(xù)執(zhí)行,若為真,則執(zhí)行循環(huán)體主體語句,然后再更新表達式3,進行下一次條件表達式2的判斷,若條件表達式為假,則整個循環(huán)結束。
(三)for語句的注意事項
(1) 設置一個循環(huán)控制變量來實現(xiàn)遞減或遞增1;(2)for語句圓括號內(nèi)的3個表達式是可選的,都可以省略,但分號一定要保留。如果省略了條件表達式,那么默認為真;(3)可在一個for循環(huán)語句中提供用逗號分隔的表達式3和表達式1,但表達式2只能有一個;(4)for語句變量初始化部分聲明的變量,其作用域只局限于for語句內(nèi)部。
3.6 技能拓展
(一)break語句
(1) 語法格式
break;
(2) break語句的作用
在while、for、 do-whiler或switch結構中執(zhí)行break語句時,break語句會造成程序從該結構中退出,程序接著執(zhí)行該結構之后的第一條語句。
(3) 注意事項
執(zhí)行break語句后,for語句的表達式不被執(zhí)行。
(二)技能拓展訓練
項目2? 打印輸出1~100之間的全部素數(shù)
3.7 指導與評價
按小組進行分組訓練,小組同學相互交流,并對各小組學生的任務實施過程進行全程跟蹤指導,并對其出現(xiàn)的問題進行總結和評價,指出各組學生在程序編碼過程中存在的某些共性問題。例如,程序源文件命名不規(guī)范、程序編寫格式不規(guī)范、死循環(huán)、無注釋或注釋不清晰等問題。
4 結束語
在C語言程序設計課程的教學過程中,循環(huán)結構是整個課程教學的重點和難點,是學好C語言的關鍵要素,如果沒有學好它,數(shù)組、函數(shù)和指針的學習就難上加難。因此,在教學過程中,教師要不斷創(chuàng)新教學模式和教學方法,優(yōu)化C語言循環(huán)結構教學單元設計,讓學生在快樂中學習,提升學生對循環(huán)結構內(nèi)容的掌握能力,達到舉一反三的程度。另外,在教學過程中注重學生程序設計思想的培養(yǎng),針對不同的教學內(nèi)容,選擇恰當?shù)慕虒W方法,幫助學生更好地去化解學習中的疑點,注重從計算思維上對學生進行啟發(fā)訓練,發(fā)現(xiàn)和總結問題求解的規(guī)律,設計正確有效的求解算法[2]。加強教學過程中編程實踐操作,采用分小組方式加強組員之間的溝通和交流,提高學生學習的積極性,引導學生自主學習。
參考文獻:
[1] 宋建萍. C語言教學中循環(huán)結構的教學法探討[J].科技視界,2016(6):52-53.
[2] 敖勇平.基于崗位核心能力的“Java面向對象程序設計”課程設計與實踐[J].電腦知識與技術,2016,12(34):131-132.
[3] 唐紅杰. C語言教學中循環(huán)結構教學探討[J].軟件工程師,2014(10):49-50.
[通聯(lián)編輯:王力]