計算機(jī)c語言范文
時間:2023-03-16 05:45:01
導(dǎo)語:如何才能寫好一篇計算機(jī)c語言,這就需要搜集整理更多的資料和文獻(xiàn),歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。
篇1
實訓(xùn)教學(xué)是培養(yǎng)計算機(jī)專業(yè)學(xué)生C語言的基本能力、職業(yè)能力、技術(shù)應(yīng)用能力、創(chuàng)新能力的重要途徑。本文是小編為大家整理的計算機(jī)c語言實訓(xùn)報告范文,僅供參考。
一、 課題名稱:簡單計算器
設(shè)計一個簡單的程序來模擬計算器的功能。
二、 設(shè)計目的:
1、通過理論知識與實際需求相結(jié)合,編輯解決一些日常中的實際問題,培養(yǎng)初步的獨立分析和設(shè)計能力。 2、了解應(yīng)用程序設(shè)計解決實際問題的具體過程和實現(xiàn)方法,掌握應(yīng)用C語言進(jìn)行程序設(shè)計的基本規(guī)范; 3、重點掌握C語言的程序編寫、函數(shù)設(shè)計、算法設(shè)計和程序調(diào)試方法; 4、初步掌握系統(tǒng)開發(fā)過程的問題分析、系統(tǒng)設(shè)計、程序編碼、測試等基本方法和技能。
三、 設(shè)計任務(wù):
1、通過結(jié)構(gòu)體數(shù)組和共用體數(shù)組來存放輸入的每一數(shù)字或運算符號的記錄(包括1、2、3等數(shù)字,+、--、_、等運算符號),然后將其信息存入文件中。輸入一個算術(shù)計算式,就在屏幕上顯示結(jié)果。 2、輸入簡單的加減乘除算術(shù)計算式,并在屏幕上顯示計算結(jié)果;
四、 設(shè)計要求:
1、用C語言實現(xiàn)程序設(shè)計并進(jìn)行調(diào)試; 2、畫出查詢模塊的流程圖;
3、系統(tǒng)的各個功能模塊要求用函數(shù)的形式實現(xiàn); 4、界面友好(良好的人機(jī)互交)。 5、完成設(shè)計說明書(A4)。
五、代碼設(shè)計:
#include "stdio.h" main() { float x,y;
char operator;
printf("x,yun suan fu ,y: "); scanf("%f%c%f",&x,&operator,&y); switch(operator)
{case '+': printf("%.2f+%.2f=%.2f",x,y,x+y); break; case '-':printf("%.2f-%.2f=%.2f",x,y,x-y); break; case '_':printf("%.2f_%.2f=%.2f",x,y,x_y); break; case '/': if(y==0)
printf("chushushilingwuyiyi"); else
printf("%.2f/%.2f=%.2f",x,y,x/y); break;
default: printf("yunsunfuwuxiao"); } }?
七、設(shè)計總結(jié):
學(xué)習(xí)C程序這門課一個學(xué)期了,這是我們學(xué)的第一門專業(yè)課,所以作為我這個計算機(jī)系的學(xué)生來說當(dāng)然十分重要,老師在第一節(jié)課說過,C語言是計算機(jī)的基礎(chǔ),大多數(shù)軟件都需要用C語言來編寫,通過一個學(xué)期的學(xué)習(xí),使我初步掌握了一些關(guān)于這門課的知識
這次的課程設(shè)計是對我們一個學(xué)期來所學(xué)的知識的綜合考察,里面涉及到了我們大多數(shù)所學(xué)知識。記得剛開始學(xué)這門課的時候,對這門課充滿了希望,自己有信心學(xué)好這門課,但是經(jīng)過一段時間的學(xué)習(xí)之后。才發(fā)現(xiàn)程序設(shè)計并不好學(xué),它既要你有很強(qiáng)的領(lǐng)悟能力,還要你課后的努力,也許是自己之前太有信心學(xué)好
這門課了吧,中間遇到了很大的瓶頸,一度陷入無休止的煩惱中編程序時沒有一次是成功的,總會遇到很多的error,改完一個又有一個,這時我會想到一句古話“天將降大人于斯人也,必先苦其心志,勞其筋骨,餓其體膚”,也許以后會有些許光明吧。之后,隨著時間的推移,慢慢掌握了這門課學(xué)習(xí)的一些竅門,學(xué)習(xí)起來也比剛開始的時候好了一點,至于編程序嗎還是有錯誤,但比以前少了,總讓我看到希望了。這次的課程設(shè)計要求我們編一個簡易計算器,剛開始的時候我一頭霧水,丈二摸不著頭腦,不知從哪里下手,后來經(jīng)過老師和同學(xué)的幫助,從最簡單的編框開始,慢慢的到最關(guān)鍵的算法,這其中經(jīng)歷了很多彎路,也犯過了很多錯誤,但是還是一一攻克了,好比兩萬五千里終于到達(dá)了終點??吹阶詈笞约壕帉懗鰜淼挠嬎闫鞲械礁裢獾母吲d,暫且不說計算器的功能方面吧,但畢竟是自己寫的第一個正式的程序,感到格外的高興。
在編寫程序的過程中受到了其他同學(xué)的指點,也許在某些程序方面會和有的同學(xué)想類似,另外老師也幫助了很多,一個好的學(xué)生離不開一個好老師嗎,雖說我不算一個好學(xué)生,但是老師在我編程序過程中也起到了很大的作用,就像老師說的一句話一樣“革命尚未成功,同志仍需努力”,我們在C語言這門課上還會繼續(xù)走下去,以后還會經(jīng)常碰到,我會努力的。
實驗一 工作平臺
一、目的和要求
1、熟悉C語言程序的支持運行環(huán)境,了解所用計算機(jī)系統(tǒng)的軟、硬件配置和使用方法。
2、初步了解運行一個C語言程序的過程。
二、實驗環(huán)境
硬件環(huán)境:計算機(jī)(windows xp系統(tǒng)) 軟件環(huán)境:Turbo C3.0或VC++6.0
三、實驗內(nèi)容
1.1請編寫一個程序,顯示以下兩行文字。
I am a student.
I love China.
源程序代碼:
#include
int main(void)
{printf(“I am a student.\n”);printf(“I love China.\n”); return 0;}
數(shù)據(jù)輸入與運行結(jié)果:
1.2編寫一個程序,從鍵盤輸入兩個整數(shù),輸出這兩個數(shù)之和。
源程序代碼:
#include
int main(void)
{int a,b,c; printf(“input two integers:\n”);
scanf(“%d %d”,&a,&b);c=a+b;printf(“The sum is %d:\n”,c); 數(shù)據(jù)輸入與運行結(jié)果:
1.3編寫一個程序,求3個整數(shù)之和。
源程序代碼:
#include
int main(void)
{int a,b,c,sum;a=12,b=34,c=56;sum=a+b+c;
printf(“sum is %d\n”,sum);}
數(shù)據(jù)輸入與運行結(jié)果:
1.4編寫一個程序,從5個整數(shù)中找出最小的數(shù)。
源程序代碼:
#include
int main(void)
{int a,b,c,d,e,min;
scanf(“%d %d %d %d %d”,&a,&b,&c,&d,&e);
min=a;if(min>b) min=b;if(min>c) min=c;if(min>d) min=d;
if(min>e) min=e;printf(“min is %d\n”,min);}
數(shù)據(jù)輸入與運行結(jié)果:
1.5寫出下列程序的輸出結(jié)果。
(1)#include
int main(void)
{printf(“%d%d%d%d\n”,1+2,5/2,-2_4,11%3);
printf(“%.5f%.5f%.5f\n”,1.+2.,5./2.,-2._4.);
(2)#include
int main(void)
{int i=8,j=10,m=0,n=0;
printf(“%d,%d,%d,%d”,i,j,m=++i,n=j++);
(3) #include
int main(void)
{int x;
x=-3+4_5-6;printf(“%d\n”,x); x=3+4%5-6;printf(“%d\n”,x);
x=-3_4%-6/5;printf(“%d\n”,x);x=(7+6)%5/2;printf(“%d\n”,x); }
數(shù)據(jù)輸入與運行結(jié)果:
1.6分析比較下面兩個程序的輸出結(jié)果。
(1) #include
int main(void)
{int x,y,z; x=y=2;z=3; y=x++ -1;printf(“%d\t %d\t”,x,y);
y=++x-1; printf(“%d\t%d\t”,x,y); y=z-- +1; printf(“%d\t%d\t”,z,y); y=--z+1; printf(“%d\t%d\n”,z,y); return 0;}
(2) #include
int main(void)
{int x,y,z; x=y=2;z=3; y=x + +-1;printf(“%d\t %d\t”,x,y);
y=+ + x-1; printf(“%d\t%d\t”,x,y); y=z - - +1; printf(“%d\t%d\t”,z,y); y=- -z+1; printf(“%d\t%d\n”,z,y); return 0;}
數(shù)據(jù)輸入與運行結(jié)果:
實驗二 C語言基礎(chǔ)
一、目的和要求
1、進(jìn)一步掌調(diào)試的方法。
2、掌握數(shù)據(jù)的輸入和輸出方法。
3、掌握有關(guān)運算符與表達(dá)式的運用。
二、實驗環(huán)境
硬件環(huán)境:計算機(jī)(windows xp系統(tǒng)) 軟件環(huán)境:Turbo C3.0或VC++6.0
三、實驗內(nèi)容
2.1 上機(jī)調(diào)試下面的程序,給出運行結(jié)果。
(1) #include
int main(void)
{float x=234.89;double y=-123.4567;printf(“%.3f,%.3e\n”,x,x); printf(“%08.3f,%010.3e,%015.3e\n”,x,x,x);
printf(“%g,%e\n”,y,y,y);}
(2) #include
int main(void)
{char c;short i;c=’A’;i=65;
printf(“c:dec=%d oct=%o hex=%x ASCII=%c\n”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u\n”,i,i,i,i); c=’X’;i=-4;
printf(“c:dec=%d oct=%o hex=%x ASCII=%c\n”,c,c,c,c); printf(“i:dec=%d oct=%o hex=%x unsigned=%u\n”,i,i,i,i);}
(3) #include
int main(void)
{char c1,c2; c1=’A’+’5’-’3’; c2=’A’+’5’-’3’; printf(“%d,%c\n”,c1,c2); }
數(shù)據(jù)輸入與運行結(jié)果:
2.2指出下面程序段中的錯誤,并加改正。
#include
int main(void)
{int a; float b; char c; scanf("%c%d%c%f";c,a,a,b);}
數(shù)據(jù)輸入與運行結(jié)果:
改正后的程序:
#include
int main(void)
{int a; float b; char c; scanf("%c,%d,%f",&c,&a,&b);
printf("%c,%d,%f",c,a,b);}
運行結(jié)果:
2.3寫出下面程序段執(zhí)行后變量a,b,c的值。
char a=’2’,b=’a’;int c;c=a+b;a=c;
數(shù)據(jù)輸入與運行結(jié)果:
程序:#include
int main(void)
{char a='2';char b='a';int c;c=a+b;a=c;
篇2
關(guān)鍵詞:C語言
中圖分類號:TP3-4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 08-0000-02
一、C語言的主要特點
(1)C語言適合于多種操作系統(tǒng),也適用于多種機(jī)型。C語言對編寫需要硬件進(jìn)行操作的場合,明顯優(yōu)于其它高級語言。
(2)C語言具有各種各樣的數(shù)據(jù)類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強(qiáng)大。
(3)C語言結(jié)構(gòu)式語言的結(jié)構(gòu)化方式可使程序?qū)哟吻逦阌谑褂?、維護(hù)以及調(diào)試。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調(diào)用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結(jié)構(gòu)化。
(4)C語言把高級語言的基本結(jié)構(gòu)和語句與低級語言的實用性結(jié)合起來,可以像匯編語言一樣對位、字節(jié)和地址進(jìn)行操作。
二、C語言幾個函數(shù)的使用方法
(一)main()函數(shù)的正確定義
main()函數(shù)必須聲明為int main()或int main(void)或int main(int argc,int **argv)
不能定義為void main(){}以消除無返回值警告,但是它可能導(dǎo)致與調(diào)用者期待的返回順序不能的返回順序
(二)有關(guān)i++的定義
int i=3;
printf("%d",(i++)*(i++));我的編譯器輸出結(jié)果是9,而不是12。原因盡管后綴自加和后綴自減操作符++和--在輸出其舊值之后才會執(zhí)行運算,但這里的“之后”常常被誤解。沒有任何保證確保自增或自減會在輸出變量原值之后和對表達(dá)式的其它部分進(jìn)行計算之前立即進(jìn)行。也不能保證變量的更新會在表達(dá)式“完成”之前的某個時刻進(jìn)行。本例中,編譯器選擇使用變量的舊值相乘以后再對二者進(jìn)行自增運算。
(三)NULL(空指針)到底是什么?
每個指針都有一個特殊的值,空NULL,這與其他對象或函數(shù)的地址都不相同,也就是說在程序中通過&(取地址運算符)永遠(yuǎn)無法得到NULL地址。
當(dāng)一個指針類型的變量被賦予0值,那么編譯器在編譯的時候會將其作為NULL指針,即在指針初始化、比較、賦值的時候NULL可用0代替。即自己定義
#define NULL 0
如果NULL要以函數(shù)參數(shù)傳遞的時候,編譯器可能不知道這是指針類型的變量而把其當(dāng)作是常數(shù)0看待,這是可以進(jìn)行強(qiáng)制類型轉(zhuǎn)換(char*)0來使編譯器將其作為NULL來使用。即
#define NULL ((void *)0)
所以空指針的使用注意
*在源碼中使用空指針常數(shù)時,則使用0或NULL
*在函數(shù)的參數(shù)傳遞時如果使用空指針,則使用NULL或相應(yīng)的類型指針0((type *)0)
(四)*p++的含義是自增指針p,還是自增p的內(nèi)容
*p++和*(p++)等價,++和--比前綴的一目操作運算符優(yōu)先級高,它的含義是自增p并返回p增加前地址的內(nèi)容。所以如果自己比較混淆,干脆使用括號消除自己的歧義。
三、數(shù)組的應(yīng)用
用簡單變量固然能編出各種各樣的程序,但在實際處理問題時,常常遇到這樣的情況:需要對同一類型的數(shù)據(jù)進(jìn)行多次記錄,并且需要將歷次記錄保留下來進(jìn)行處理。例如,某班有40名同學(xué),他們的某次測驗的成績共有40個數(shù)據(jù),需要將數(shù)據(jù)記錄下來分析成績。如果用簡單變量來表示,命名起來很麻煩,操作更不方便。
我們可以把同一類型數(shù)據(jù)的變量用同一個名字來代表,而這一類型的不同變量用不同的號碼加以區(qū)別。如用m1,m2,m3…m40代表測驗成績,可以表示為m(1),m(2),m(3)…m(40)。我們把按一定順序排列的一組數(shù)據(jù)或變量叫做數(shù)組。數(shù)組中的每個數(shù)據(jù)或變量叫做數(shù)組元素。
在數(shù)組中,每個數(shù)組元素都處于某一確定的位置,這個位置就稱為該數(shù)組的下標(biāo)。如果數(shù)組元素是變量,也就稱為下標(biāo)變量。
下標(biāo)變量的格式為:
數(shù)組名(下標(biāo))
例如,a(1)、a(2)…t(10)等都可以作為下標(biāo)變量。
數(shù)組中下標(biāo)的個數(shù)稱為數(shù)組的維數(shù)。我們經(jīng)常使用的有一維數(shù)組和二維數(shù)組。
數(shù)組定義方法:類型 數(shù)組名[下標(biāo)] (下標(biāo)是指數(shù)組的長度)
例:int array[10]//這樣我們就定義了一個長度為10的數(shù)組
為什么說在某些情況下數(shù)組比單個變量好用呢?下面來做一個示范:
輸入一個五位數(shù),分解為五個單個數(shù)字并輸出。
要做到這個要求首先要懂得拆數(shù)。下面來講一下拆數(shù)的方法:
首先,我們要使用取余來取一個數(shù)個位數(shù)字。使用“%”便可以達(dá)到要求。
例如:123 % 10=3(123對10取余,就是123除以10等于12余3,我們就把這個余數(shù)取出)
然后:123/10=12(如果定義int類型的變量,這里的“/”不是除以,而算是整除,所以小數(shù)點后舍去)
再用:12%10=2(十位的數(shù)也被取出了)
最后:12/10=1(百位的數(shù)也被取出了)
綜合以上拆數(shù)的方法,我們可以發(fā)現(xiàn),一個數(shù)取余,就可以拆出一個單位數(shù),再整除10、取余,就又可以得到一個數(shù)。這樣我們就可以將一個多位數(shù)拆分為多個單位數(shù)。這就是拆數(shù)的基本方法。
下面我們使用非數(shù)組方法來做一次
int a,b,c,d,e;//定義5個變量分別保存5個數(shù)字
long n;//用于讀取輸入的數(shù)
do{printf("請輸入一個5位數(shù)");
scanf("%d",&n);}while(n>99999||n
a=n%10;
b=n/10%10;
c=n/100%10;
d=n/1000%10;
e=n/10000;
printf("這五個數(shù)是%d %d %d %d %d",e,d,c,b,a);
這樣寫一個程序,用了這么多變量,如果要拆十幾位的數(shù),那就十分麻煩了。所以,下面使用數(shù)組來做一次,大家可分別來作比較。
int a[5];//定義長度為5的數(shù)組,注意:下標(biāo)的范圍是0~4,所以后面a[5]是不可使用的
long n;
int i;
do{printf("請輸入一個5位數(shù)");
scanf("%d",&n);}while(n>99999||n
for(i=0;i
{a[i]=n%10;//每次取最后面那位(這應(yīng)該很容易理解,不理解的話把程序輸入到電腦中試驗一下就知道了)
n=n/10;//每次取完以后原數(shù)要縮小十倍,給下一次做準(zhǔn)備
}//做完5次拆數(shù),循環(huán)退出
/*在上面的循環(huán)體中,我使用了i作為a數(shù)組的下標(biāo),因為i是可以變的,而i的變化就可以指定到數(shù)組的下一個位置。也就是說,現(xiàn)在a[0] a[1] a[2] a[3] a[4]分別保存的就是原數(shù)的個位、十位、百位、千位、萬位。在輸出的時候,我們同樣可用循環(huán)從后往前輸出。*/
printf("這5個數(shù)是");
for(i=4;i>=0;i--)//注意這里是從4~0的循環(huán),增量部分使用i--,每次減一
{printf("%d",a[i]);//因為i是變量,所以每次做循環(huán)體的時候a[i]表示的是就是a[4]、a[3]、a[2]……}
篇3
關(guān)鍵詞:計算機(jī);C語言;應(yīng)用特點
引言
計算機(jī)技術(shù)在當(dāng)下應(yīng)用得極為廣泛,而隨著計算機(jī)技術(shù)的發(fā)展,已經(jīng)逐漸從最基礎(chǔ)的高級語言發(fā)展到了各種硬件和軟件系統(tǒng),而只有在編碼正確的前提下,才能保證高級語言程序的順利執(zhí)行,在計算機(jī)編程的過程中,C語言是較為常用的高級語言,在整個計算機(jī)系統(tǒng)中應(yīng)用很廣。這就需要進(jìn)一步加強(qiáng)研究C語言計算機(jī)的應(yīng)用,使其得到更好地應(yīng)用和推廣。
1 C語言簡述
計算機(jī)中C語言是較為常用的設(shè)計語言,并具有高級語言和匯編語言的雙重特點,也正因為具備這樣的特性,使其得到了大力推廣,應(yīng)用較為廣泛。C語言的使用最早可以追溯到1972年,美國的貝爾研究所推出了C語言,通過研究人員的不懈努力,C語言得到了改進(jìn)和完善,進(jìn)而應(yīng)用的范圍越來越廣。C語言的設(shè)計和編寫功能得到了廣泛應(yīng)用,其除了能夠滿足工作系統(tǒng)的相關(guān)設(shè)計外,還能夠更好地完成一些程序的編寫工作,這也有力地說明了C語言之所以得到廣泛應(yīng)用的原因所在?,F(xiàn)階段C語言還能夠有效處理數(shù)據(jù),也就突破了軟件系統(tǒng)的局限,在各種科學(xué)研究中也得到了應(yīng)用。
2 C語言的特點
(1)操作簡便、靈活。C語言具有操作簡便的特點,而且還很靈活,主要是由于其包含了9種控制語言以及32個關(guān)鍵字,還能區(qū)分出大小寫。這就提升了編程書寫的效率,也便于高低級語言的更好的結(jié)合使用。
(2)廣泛的運算符設(shè)計。C語言中運算符的使用會涉及到眾多方面,涵蓋三種運算符,C語言對于一些賦值、括號以及相關(guān)強(qiáng)制類型的轉(zhuǎn)換,能夠利用運算符進(jìn)行有效的處理,這樣就豐富了C語言的運算類型,是其他語言單一性所無法比擬的。
(3)標(biāo)準(zhǔn)庫函數(shù)的應(yīng)用。在C語言中,很多都是利用標(biāo)準(zhǔn)庫函數(shù)來完成的,只有實現(xiàn)選擇、順序和循環(huán)等九條控制語句除外。這就需要在C語言的學(xué)習(xí)過程中,在全面掌握各種運算符和這九條控制語句的同時,必須要熟練掌握常用標(biāo)準(zhǔn)庫函數(shù)的基本使用。在現(xiàn)階段的發(fā)展中標(biāo)準(zhǔn)庫函數(shù)是C語言程序編寫過程中較為重要的單位。
(4)指針的有效性操作。不同于其他語言,C語言的指針獨樹一幟,這使C語言的使用范圍更加廣泛。究其原因,主要是因為C語言中的指針能夠直接控制硬件系統(tǒng)中的操作,使系統(tǒng)的工作效率更高,也更加方便快捷。同時,在指針的操作中,有時保護(hù)措施做得不到位,導(dǎo)致了安全問題的出現(xiàn),使C語言指針優(yōu)勢削弱了,這也是C語言指針的缺陷所在。而Java和C++是彌補(bǔ)這些缺陷的有效措施,但也存在安全上的缺陷,進(jìn)而使C語言系統(tǒng)運行效率大幅度降低??傊珻、Java和C++屬于一個系列,是編程的重要方面。
(5)C語言的語句。C語言也同其他的高級語言一樣,需要利用函數(shù)體中的相關(guān)語句來向計算機(jī)發(fā)出操作命令。控制語句應(yīng)用得最多,最大的功用在于完成計算機(jī)的控制,一般情況下,C語言中的控制語句共有九條,從類別上來看又可以分為三種――循環(huán)結(jié)構(gòu)控制語句、選擇結(jié)構(gòu)控制語句、其他控制語句。循環(huán)結(jié)構(gòu)控制語句主要有:for()~,while()~,do~while(),break,continue;選擇結(jié)構(gòu)控制語句主要有:if()~else~,switch()~;其他控制語句主要有:goto,return。
3 計算機(jī)中C語言的應(yīng)用
(1)有效表達(dá)文字和數(shù)據(jù)。有效表達(dá)文字和數(shù)據(jù)是C語言得到廣泛應(yīng)用的前提和基礎(chǔ),在具體的操作過程中,C語言能夠?qū)⒁恍┖唵蔚臄?shù)據(jù)和文字巧妙的連接在一起,從而達(dá)到更為有效的表述。這里值得強(qiáng)調(diào)的一點是在二進(jìn)制中文字和數(shù)據(jù)的表述還有一定的缺陷,此問題就可以利用C語言來進(jìn)行妥善解決。同時,二進(jìn)制可以發(fā)揮的空間是比較大的,但表達(dá)起來卻很抽象,如果無法轉(zhuǎn)為相應(yīng)的語言,就會在使用者的理解上造成一定的困難,C語言能夠有效表述這些文字和數(shù)據(jù),使文字和數(shù)據(jù)的傳輸更為準(zhǔn)確,使用效率更高,范圍也更廣。
(2)靈活設(shè)置變量。靈活設(shè)置變量也是C語言中極為重要且不可忽視的一個方面,其中大部分變量的地址均是由變量字節(jié)中的第一個字節(jié)地址所表述,使指針變量中變量的靈活設(shè)置和使用性更高,還可以利用靈活的設(shè)置來達(dá)到既定要求。在具體的操作過程中,相關(guān)人員在設(shè)置變量的初始值時所依靠的就是語言數(shù)據(jù)的類型和內(nèi)存的特點,這樣預(yù)期的結(jié)果就能從中反映出來,大量事實證明,這樣做使C語言編程的工作效率大大的提升。
(3)完善的內(nèi)存儲器。要想實現(xiàn)C語言良好的應(yīng)用離不開完善的內(nèi)存儲器系統(tǒng),之所以這么說,主要原因在于C語言運行中絕大多數(shù)數(shù)據(jù)保存的地點是內(nèi)存儲器,之后才利用CPU進(jìn)行處理。計算機(jī)系統(tǒng)的正常運行,必須要有內(nèi)存儲器作為支撐,所以完善的內(nèi)存儲器是C語言運行的先決條件,也只有做到這一點,C語言的優(yōu)勢才能得到最大化的發(fā)揮。完善的內(nèi)存儲器在一定程度上關(guān)乎C語言的運用,二者相輔相成,因此為了保證C語言中每一個字節(jié)都配備唯一的編號,需要更多位的二進(jìn)制來支撐,為了實現(xiàn)以上這些也需要內(nèi)存儲器的存儲容量大。
(4)有效處理計算機(jī)的關(guān)鍵環(huán)節(jié)。運用C語言中,還要對計算機(jī)中的關(guān)鍵環(huán)節(jié)進(jìn)行有效的控制和處理,這樣做的目的在于計算機(jī)中包括很多環(huán)節(jié),而C語言程序的設(shè)計是保證計算機(jī)得到有效運用的關(guān)鍵環(huán)節(jié),C語言的使用能夠解決計算機(jī)使用中所出現(xiàn)的程序問題,還要對計算機(jī)中的關(guān)鍵環(huán)節(jié)進(jìn)行有效的處理。大量事實證明,通過C語言的合理使用,一方面有效控制了計算機(jī)語言的編程方法,另一方面還大幅度提升了計算機(jī)的運行效率和質(zhì)量,這樣就提高了計算機(jī)軟件的競爭力,這就是計算機(jī)中關(guān)鍵環(huán)節(jié)的意義所在,也充分說明了處理好關(guān)鍵環(huán)節(jié)的重要性。
4 結(jié)束語
通^文章的分析使我們充分了解到現(xiàn)階段我們的社會已然進(jìn)入了計算機(jī)的網(wǎng)絡(luò)時代,計算機(jī)自然是不可或缺的重要組成部分,重要性是毋庸置疑的,而且重要性會隨著技術(shù)的不斷深入發(fā)展得到更好的體現(xiàn),C語言是計算機(jī)中重要的編程語言,應(yīng)用的范圍很廣,所以要重視C語言的應(yīng)用,相關(guān)的技術(shù)人員要認(rèn)識到自身工作的重要性,努力提高自身的專業(yè)技能,還要在日常的工作中注意積累經(jīng)驗,總而言之,使計算機(jī)中的C語言應(yīng)用得更好,為經(jīng)濟(jì)社會的發(fā)展貢獻(xiàn)出應(yīng)有的力量。
參考文獻(xiàn)
[1]章賽 .解析計算機(jī)中C語言的運用[J].消費電子,2014,7(2):69-70.
[2]田美艷.計算機(jī)中C語言的應(yīng)用特點分析[J].電子制作,2015,12(8):104-105.
[3]崔寧.計算機(jī)原理中C語言的應(yīng)用價值[J].電子技術(shù)與軟件工程,2015(09).
篇4
C語言是一種計算機(jī)程序設(shè)計語言,是計算機(jī)匯編語言的重要組成部分。其實質(zhì)就是通過對語言進(jìn)行編寫和翻譯,使其產(chǎn)生一種與社會相銜接的語言,讓人和計算之間通過這種語言能夠進(jìn)行簡單的交流。C語言是在1972年由美國貝爾研究所提出,1978年先后被運用到各種機(jī)型中。C語言具有雙重性,具備高級語言的特點和匯編語言的優(yōu)越性,不僅能對系統(tǒng)應(yīng)用程序進(jìn)行編寫,而且能對不依靠計算機(jī)硬件的應(yīng)用程序進(jìn)行編寫。同時C語言也具有廣泛的應(yīng)用性,能在多個計算機(jī)的操作系統(tǒng)中運用,大大提高了計算機(jī)軟件編程的效率。隨著計算機(jī)的日益普及,C語言的應(yīng)用領(lǐng)域越來越寬,成為目前較為流行的高級程序設(shè)計語言之一,在許多大型的軟件編程中被廣泛的應(yīng)用。C語言具有如下的特點:
1.1模塊化思想模塊化的基本思想就是運用C語言在進(jìn)行計算機(jī)軟件編程設(shè)計時,按功能作用的不同將一個較大的程序分割成為許多小的子模塊,使每個小的子模塊成為一個功能單一、理解簡單和結(jié)構(gòu)合理的小程序。
1.2簡潔性強(qiáng)C語言具有語言簡潔、結(jié)構(gòu)緊湊、使用方便、靈活的優(yōu)勢。C語言包含了32個關(guān)鍵字和9條控制語句,源程序書寫方式較自由靈活,因此在計算機(jī)軟件編程中要選擇使用小寫字母,壓縮掉所有不重要的部分。
1.3運算范圍廣C語言總共具有34種運算符,其運算符號十分豐富且對運輸結(jié)果能采用各種各樣的表達(dá)形式,因此C語言的數(shù)據(jù)處理能力強(qiáng),可以為各類數(shù)據(jù)結(jié)構(gòu)進(jìn)行復(fù)雜的運算,進(jìn)行一些高級語言較難實現(xiàn)的運算功能。
1.4移植泛用性C語言在進(jìn)行軟件編程中基本上不需要做任何的修改,就能運用于各種不同型號的計算機(jī)和操作系統(tǒng)環(huán)境上,從而形成很多不同版本的C語言。
1.5應(yīng)用效率高C語言的應(yīng)用結(jié)構(gòu)簡單清晰,能夠?qū)?nèi)存中的相應(yīng)地址進(jìn)行直接的訪問,操作十分方便,被稱為高級語言中的低級語言。同時能夠直接調(diào)用系統(tǒng)功能,直接操作硬件,具備許多高級語言所不具備的高效率。
2.C語言在計算機(jī)軟件編程中的技巧
C語言具有模塊化的特點,因此在計算機(jī)軟件程序編程中,充分發(fā)揮C語言的靈活性和方便性,提高軟件編程的技巧性,能夠優(yōu)化軟件程序編輯和提高軟件開發(fā)的效率和質(zhì)量。
2.1變量數(shù)據(jù)和運算模式的合理設(shè)置設(shè)置變量數(shù)據(jù)時,要在最大限度滿足計算機(jī)軟件編程需要的前提下,盡可能合理的設(shè)置變量數(shù)據(jù),使用無符號的最小數(shù)據(jù)類型,這樣能減少程序代碼,從而促進(jìn)計算機(jī)軟件編程的有效運行。同時在設(shè)置運算模式時,要盡量運用定點運算,避免運用浮點運算。
2.2變量存貯器類型的合理定義在計算機(jī)軟件編程中,采用和操作不同類型的變量存貯器時,會造成編譯后的代碼執(zhí)行效率各不相同,只有合理定義變量存貯器類型,才能不斷提高程序的執(zhí)行效率。因此在定義變量存貯器類型時,應(yīng)在滿足條件的情況下盡量選用內(nèi)部直接尋址存貯器。
2.3變量存貯類型的靈活設(shè)置在計算機(jī)軟件編程中,C語言具有模塊化思想,正確函數(shù)變量的傳遞在編程中十分重要,因此子程序模塊使用的變量常采用局部變量,而整個程序模塊使用的變量要采用全局變量。另外在C語言中靈活使用指針、結(jié)構(gòu)和聯(lián)合,也便于數(shù)據(jù)的傳遞,提高軟件編程的效率。
2.4設(shè)計軟件編程與C語言的接口C語言具有程序執(zhí)行速度快和直接操作硬件的優(yōu)勢,在進(jìn)行數(shù)據(jù)采集、中斷服務(wù)器處理和實時控制時,可以將C語言程序運用到計算機(jī)軟件編程中,自行控制數(shù)據(jù)的傳遞,從而能夠精確控制任務(wù),加快實時響應(yīng)。
2.5編譯控制指令的正確選擇C語言能為計算機(jī)的軟件編程提供了20多條控制指令,總體可分為首要控制指令和一般控制指令,首要控制指令的選擇只能用一次,要放在源程序的開始處,以防止重復(fù)而導(dǎo)致停止編譯,而一般控制指令的選擇可以多次。因此選擇正確的控制指令,能加速程序調(diào)試過程。
3.C語言在計算機(jī)軟件編程中的應(yīng)用
C語言具有很強(qiáng)的優(yōu)越性,可以適用于計算機(jī)軟件編程實驗研究,這就需要對C語言在計算機(jī)軟件編程中的應(yīng)用有一個全面的認(rèn)識,避免在以后的程序設(shè)計過程中出現(xiàn)基礎(chǔ)不足的情況。
3.1指針的應(yīng)用C語言中的指針代表相關(guān)變量、相應(yīng)函數(shù)的地址和地址相對應(yīng)的存儲內(nèi)容。在進(jìn)行軟件編程時,如果一個相應(yīng)的變量聲明前面,出現(xiàn)“*”號,那就表示這個內(nèi)存地址相對應(yīng)的存儲內(nèi)容。通常情況下C語言的一個指針代表著一個相應(yīng)函數(shù)的地址,是一個常量。此外,C語言的指針可以在調(diào)用函數(shù)時得到幾個不同于return(z)的返回值。
3.2字符串在C語言中,字符串是一種以ASCII的UNL作為數(shù)組退出的一種chair型的數(shù)組,在計算機(jī)軟件編程中,字符串的使用一般不需要引用庫。但在C標(biāo)準(zhǔn)庫中包含著一些函數(shù)可以操作相應(yīng)的字符串,在使用這些函數(shù)時,需要運用相對應(yīng)的頭文件進(jìn)行引用。
3.3C語言結(jié)構(gòu)C語言主要包括三種結(jié)構(gòu)模式即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。順序結(jié)構(gòu)在C語言中是按照先后次序進(jìn)行操作,通過構(gòu)建一個相對簡單和完整的程序,進(jìn)行相對獨立的運用。循環(huán)結(jié)構(gòu)是在進(jìn)行各種數(shù)據(jù)運算和處理時,需要對其中的一些語句進(jìn)行反復(fù)的執(zhí)行,這在一定程度上簡化了程序的長度,使程序變得簡潔。選擇結(jié)構(gòu)是根據(jù)相關(guān)的分支條件選擇相應(yīng)的執(zhí)行路徑,在計算機(jī)軟件編程中要選擇具有較強(qiáng)適應(yīng)性執(zhí)行路徑。
篇5
1.1理論與實踐不能相輔相成
計算機(jī)課程對學(xué)生的實際操作能力要求很高,需要學(xué)生把理論上學(xué)習(xí)的知識融會貫通,運用到編程中。可是在很多學(xué)校計算機(jī)C語言課程的理論與實際聯(lián)系不緊密,導(dǎo)致很多學(xué)生理論知識學(xué)的很好,可是不具備嚴(yán)謹(jǐn)?shù)倪壿嬎季S能力,在實踐中不知道如何進(jìn)行具體操作。而且部分學(xué)校受到硬件設(shè)施的限制,不能做到人手一臺電腦,教授計算機(jī)課程的教師也不是本專業(yè)的,在實踐課上沒有進(jìn)行計算機(jī)的教學(xué),導(dǎo)致學(xué)生們用電腦進(jìn)行其他娛樂項目,忽視了實踐課的學(xué)習(xí),影響了學(xué)生的學(xué)習(xí)效率。
1.2C語言課晦澀難懂,學(xué)生的學(xué)習(xí)興趣低
學(xué)習(xí)計算機(jī)C語言要求學(xué)生具備良好的邏輯思維能力,能夠充分理解書本上的知識,在大腦中形成思維脈絡(luò),并運用到實踐中。C語言知識比較晦澀難懂,需要學(xué)生精神高度集中,提高自身的理解能力,善于思考,把書本上的字母,轉(zhuǎn)化成編程用的符號。很多學(xué)生在剛開始學(xué)習(xí)的時候沒有打好基礎(chǔ),對于知識一知半解,隨著學(xué)習(xí)的深入,大量問題暴露出來,導(dǎo)致學(xué)生跟不上教學(xué)進(jìn)度。學(xué)生學(xué)不會C語言基礎(chǔ)知識,也缺乏對問題的思考,導(dǎo)致知識越落越多,形成了惡性循環(huán),長此下去,難以培養(yǎng)學(xué)生對于學(xué)習(xí)的興趣。
1.3C語言實驗教學(xué)的方法比較單一
C語言的學(xué)習(xí)是枯燥乏味的,需要更多的是大腦的思考,不斷探討問題的解決方法。很多學(xué)校開設(shè)課程是為了應(yīng)付考試,沒有對該門課程進(jìn)行詳細(xì)的介紹與教導(dǎo),導(dǎo)致學(xué)生對知識的學(xué)習(xí)沒有給予足夠的重視,實踐編程也是照著書本的例子模仿,對于整個學(xué)習(xí)過程沒有花費過多的精力。C語言僅僅靠老師教授知識是不夠的,而且老師也不可能把所有的情況都考慮完全,在實踐中有時候符號位置的變化都會影響編程的結(jié)果,所以需要學(xué)生結(jié)合自身實際情況去解決問題。
二、提高高校計算機(jī)C語言實驗教學(xué)質(zhì)量的主要策略
2.1在實踐教學(xué)前期加強(qiáng)對學(xué)生理論知識的教學(xué),打好實驗學(xué)習(xí)的理論基礎(chǔ)
理論知識是實踐操作的基礎(chǔ),為計算機(jī)編程提供科學(xué)依據(jù)。學(xué)校應(yīng)該重視對于理論知識的教學(xué),在課堂上加強(qiáng)對基礎(chǔ)知識的講解,確保學(xué)生打好堅實的基礎(chǔ),然后再進(jìn)行深層次的教學(xué)。在遇到重點、難點時,教師要反復(fù)強(qiáng)調(diào),或者是用提問的方式增加學(xué)生的印象,鞏固學(xué)生的理論知識水平。還要注意結(jié)合一些編程的實例,讓學(xué)生去體驗理論知識和編程應(yīng)用的聯(lián)系。
2.2強(qiáng)調(diào)學(xué)生在實驗教學(xué)中的主體性地位,為學(xué)生提供自我發(fā)揮空間
C語言教師除了從科學(xué)合理化教學(xué)模式與內(nèi)容以提高學(xué)生的興趣和投入度之外,還要注重讓學(xué)生自行動手操作。在學(xué)生獨立自主的實驗操作過程中,才會形成這樣或那樣的問題,并進(jìn)行獨立思考。學(xué)生自由實驗操作期間,教師應(yīng)當(dāng)在教室內(nèi)不斷巡視,以及時注意到學(xué)生們的難點并回答他們提出的問題,不過巡視的也不用過于頻繁,避免干擾學(xué)生的實驗操作興致。
2.3加強(qiáng)實驗教學(xué)過程中的師生交流互動與學(xué)生間的合作探究
學(xué)生在遇到問題的時候才能知道自己知識點薄弱的地方,所以在課堂上教師應(yīng)該經(jīng)常提問,并且隨時對答案進(jìn)行補(bǔ)充,以加深學(xué)生的印象。在實踐中要讓學(xué)生學(xué)會獨立編程,對學(xué)生在編程中出現(xiàn)的問題進(jìn)行改正。并且在班級中設(shè)立學(xué)習(xí)小組,統(tǒng)一布置課題,以加強(qiáng)學(xué)生間的交流合作,促使小組間進(jìn)行良性競爭,引起學(xué)生的學(xué)習(xí)興趣。小組成員共同討論課題,研究解決方案,對于提高自身的實踐能力和創(chuàng)新能力有重要作用。
三、小結(jié)
篇6
這次實訓(xùn)有很大的收獲,讓我對c語言有了更深的認(rèn)識,平時在課堂上學(xué)到的東西可以自己動手編寫,將其轉(zhuǎn)化成一些實用的技能。如果是一個程序?qū)懲暌惶庡e誤也沒有,會有種成就感,于是興趣就來了,興趣來了,自然學(xué)的東西也就多了,能把理論變成實際的技能,讓我對c語言有了濃厚的興趣和更深層的認(rèn)識。
c語言是一個有序的學(xué)習(xí),學(xué)了最基本的替換,然后擴(kuò)展到循環(huán),嵌套,條理很清楚,不是一個零散的知識,實際上所有的課程都如此,不過通過實訓(xùn)我也知道了自己的不足,存在的很多問題。
比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養(yǎng)成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以后要多多鍛煉自己的信心和增加自己的能力,爭取做到老師不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。
還有自己的基礎(chǔ)知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓(xùn),逐漸理清了順序,對于簡單的程序和一些相對比較繁瑣的嵌套,循環(huán),不在是看著一頭霧水。其實只要理清了思路,把基礎(chǔ)知識掌握了,然后有條不紊的分析,一步一步理解,c語言還是很有意思的課程。
自己親自動手編寫程序讓我增加了對c語言程序開發(fā)環(huán)境的了解,在上課的時候老師就講,學(xué)習(xí)c語言最重要的是學(xué)習(xí)c語言的邏輯思維,不管以后從事什么行業(yè),學(xué)習(xí)c語言都對自己的職業(yè)很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以后的編程工作可能不用c語言,但是擁有扎實的c語言基礎(chǔ)是對工作很有用的。
篇7
關(guān)鍵詞: 非計算機(jī)專業(yè) C語言程序設(shè)計 邵陽學(xué)院
目前,C語言程序設(shè)計課程已成為計算機(jī)專業(yè)及其他相關(guān)專業(yè)的基礎(chǔ)課,目的是通過C語言程序設(shè)計課程的學(xué)習(xí),使學(xué)生掌握用計算機(jī)解決問題的方法,學(xué)習(xí)常用的各種算法,掌握程序設(shè)計的基本思想。程序設(shè)計思想貫穿相關(guān)專業(yè)的后續(xù)課程,是最基礎(chǔ)的內(nèi)容。教學(xué)實踐證明:程序設(shè)計課的教學(xué)質(zhì)量對相關(guān)后續(xù)課程的教學(xué)與實踐有很大的影響。
1.C語言程序設(shè)計前期教學(xué)中存在的問題
C語言程序設(shè)計是一門邏輯性較強(qiáng)的語言類課程,對于初學(xué)程序設(shè)計的大學(xué)生來說,面臨大量的基本語法和程序結(jié)構(gòu)理論性的學(xué)習(xí),某些學(xué)生認(rèn)為教師講的這些知識理論性較強(qiáng)而實用性不強(qiáng),因而會對這門課程的學(xué)習(xí)產(chǎn)生不重視甚至是抵觸的心理。還有的學(xué)生雖然認(rèn)識到該課程的重要性,也很想學(xué)好,但由于教材缺乏較容易理解和生動有趣的范例,感覺學(xué)習(xí)過程缺少樂趣與興趣,漸漸地就失去學(xué)好這門課程的自信心。同時在實踐考察環(huán)節(jié)中由于實驗內(nèi)容設(shè)置欠合理,大部分學(xué)生即使到期末也很難對本門課程有一個整體框架式的認(rèn)識,課程教學(xué)效果無法保證。
2.原因的剖析
(1)學(xué)生的基礎(chǔ)薄弱,特別是英語、數(shù)學(xué)比較差是一個主要原因,也是阻礙他們學(xué)習(xí)該門課程的最大障礙。英文版的VC++系統(tǒng)是大部分學(xué)生攔路虎,程序算法問題的處理更讓他們望而卻步,要真正解決問題,就要想辦法提高他們的學(xué)習(xí)興趣,讓他們不斷地練習(xí),積累經(jīng)驗,尋找解決問題的突破點,探索適合學(xué)生發(fā)展的教學(xué)方法和教學(xué)內(nèi)容,以充分調(diào)動他們的學(xué)生積極性和主觀能動性。
(2)有的教材內(nèi)容過多過難,不符合非計算機(jī)專業(yè)學(xué)生的實際。首先我們先對C教材進(jìn)行分析,目前使用的C語言教材涉及太多的數(shù)學(xué)知識,這使得學(xué)生一看到教材就感到頭昏腦漲,培養(yǎng)興趣就更無從談起,使得老師在講授例題和練習(xí)時首先必須先解釋數(shù)學(xué)知識,然后學(xué)生才能勉強(qiáng)接受。當(dāng)前常用的編程系統(tǒng)是TruboC,其特點是:①界面是單任務(wù)的DOS界面;②菜單、命令、幫助等都是英語;③當(dāng)程序出現(xiàn)錯誤時,也都是英語提示信息,學(xué)生感覺無從下手,而且操作麻煩,為了與計算機(jī)等級考試相適應(yīng),因此我們使用漢化的VC編譯系統(tǒng)替代TurboC。
3.非計算機(jī)專業(yè)C語言程序設(shè)計教學(xué)的特點
與計算機(jī)專業(yè)相比,非計算機(jī)專業(yè)的C語言程序設(shè)計教學(xué)有其自身的特點,主要表現(xiàn)如下:
(1)教學(xué)目標(biāo)不同。
計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語言是為了增強(qiáng)邏輯思維能力,為學(xué)習(xí)其他的編程語言和以后從事軟件開發(fā)工作打下基礎(chǔ);而對于非計算機(jī)專業(yè)的學(xué)生來說,掌握計算機(jī)知識主要為以后就業(yè)提供保障,因此,通過這門課程的學(xué)習(xí),使學(xué)生順利通過國家計算機(jī)二級考試,獲得一份二級證書無疑是每位教師努力的方向。
(2)教學(xué)重點不同。
計算機(jī)專業(yè)的教學(xué)主要為了提高學(xué)生的編程技能,因此所教授的內(nèi)容無論是從難度、深度和廣度都遠(yuǎn)比非計算機(jī)專業(yè)要大;而非計算機(jī)專業(yè)的教學(xué)重點是依據(jù)二級考試大綱,學(xué)生只需要掌握大綱要求的知識點,牢固基礎(chǔ)知識,具備一定的編程能力即可。
(3)教學(xué)手段不同。
計算機(jī)專業(yè)的C語言教學(xué)理論和實驗學(xué)時都很充足,可以將重點難點知識深入展開講解,除了實驗課外,還可以安排實習(xí)讓學(xué)生動手編寫一個完整的應(yīng)用程序,為后續(xù)的學(xué)習(xí)打下基礎(chǔ);而非計算機(jī)專業(yè)受學(xué)時所限,需要教師在理論課上利用有效的教學(xué)方法,高效地把重點難點內(nèi)容講透徹,在實驗課上盡量激發(fā)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生自主學(xué)習(xí),使學(xué)生逐步學(xué)會編程。
4.C語言程序設(shè)計課程教學(xué)改革
邵陽學(xué)院非計算機(jī)專業(yè)的C語言程序設(shè)計課程都安排在大一的下學(xué)期,均為理工科學(xué)生開設(shè),由于這一階段課程多,課時長,而C語言程序設(shè)計課程側(cè)重于應(yīng)用,需要大量的上機(jī)實踐。而且C語言課程中存在較多新的概念,較為抽象、復(fù)雜,對于一年級學(xué)生尤其是非計算機(jī)專業(yè)的學(xué)生來說還存在很大的難度。針對這一問題,我們在多年的教學(xué)實踐當(dāng)中對于教學(xué)方法進(jìn)行了一系列的改進(jìn)和探索,取得了較好的教學(xué)效果。在這里進(jìn)行簡單的總結(jié)和分析,主要從教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)模式、教學(xué)評價及師資隊伍優(yōu)化等方面提出多項教學(xué)改革措施。
(1)明確教學(xué)目標(biāo),優(yōu)化教學(xué)內(nèi)容的組織結(jié)構(gòu)。
教學(xué)目標(biāo)是指教學(xué)活動實施的方向和預(yù)期達(dá)到的結(jié)果,是一切教學(xué)活動的出發(fā)點和最終歸宿[1]。C語言程序設(shè)計的課程教學(xué)目標(biāo)要求學(xué)生掌握C語言的基本概念、語法和程序設(shè)計的常用方法,領(lǐng)會結(jié)構(gòu)化、模塊化程序設(shè)計的基本思想;通過編程訓(xùn)練,熟練地使用編程工具編寫和調(diào)試程序;在課程學(xué)習(xí)的過程中,形成良好的編程風(fēng)格和程序設(shè)計思維方式,提高分析問題及通過設(shè)計程序解決實際問題的能力,為專業(yè)課程體系中后續(xù)課程的學(xué)習(xí)打下基礎(chǔ)。教學(xué)內(nèi)容是實現(xiàn)教學(xué)目標(biāo)的基礎(chǔ),合理地組織教學(xué)內(nèi)容是實現(xiàn)教學(xué)目標(biāo)的保證。只有通過分析和研究C語言程序設(shè)計的前導(dǎo)、后續(xù)課程才能更好地優(yōu)化教學(xué)內(nèi)容的組織結(jié)構(gòu)。C語言程序設(shè)計的后續(xù)課程可以分為直接后續(xù)課程和間接后續(xù)課程,其課程內(nèi)容的組織優(yōu)化要以服務(wù)后續(xù)課程的學(xué)習(xí)為目的,充分考慮課程內(nèi)容之間的內(nèi)在聯(lián)系。例如C語言中的單向鏈表屬于數(shù)據(jù)結(jié)構(gòu)中的鏈表部分;C語言中的文件讀寫函數(shù)是操作系統(tǒng)中文件處理的具體實現(xiàn);C語言中的結(jié)構(gòu)體可以看成面向?qū)ο蟪绦蛟O(shè)計中的類;C語言是學(xué)習(xí)編譯原理的載體和媒介??傊?,任課教師要認(rèn)清C語言程序設(shè)計課程在整個專業(yè)課程體系中的地位,講解內(nèi)容時要有的放矢,不但要告訴學(xué)生學(xué)什么,還要告訴學(xué)生學(xué)有何用。
(2)采用師生互動式教學(xué)與任務(wù)驅(qū)動式教學(xué)相結(jié)合模式,提高學(xué)生的學(xué)習(xí)積極性。
邵陽學(xué)院C語言程序設(shè)計理論授課46課時,授課過程中要求教師同時應(yīng)用PowerPoint和VC++兩個軟件,課件制作要求高質(zhì)量,當(dāng)講解到程序示例時,適時切換到VC環(huán)境中演示C程序運行,例如有這樣一個程序:假設(shè)有一張足夠大的紙,厚度為0.0001米,問將這張紙對折多少次超過珠穆朗瑪峰高度。程序代碼如下:
main()
{floath=0.0001;
intn=0;
while(h
{h=2*h;n++;}
printf(“n=%d次”,n);}
此題讓學(xué)生感覺很有意思,當(dāng)程序結(jié)果打印出來是27次時,學(xué)生頓時目瞪口呆,在腦海里產(chǎn)生深刻的印象,接著修改程序的部分語句再次運行,顯示每一次變化的數(shù)值,讓學(xué)生立即看到修改之后的結(jié)果,幫助學(xué)生徹底搞清楚程序每個部分的功能,讓學(xué)生直接看到程序的真實運行結(jié)果,大大調(diào)動學(xué)生的學(xué)習(xí)C語言的積極性。VC環(huán)境中字體較小,后排的學(xué)生往往看不清楚,可以打開Windows輔助工具中的放大鏡功能,對局部區(qū)域進(jìn)行放大,增強(qiáng)顯示效果。我們還結(jié)合VisualC++集成開發(fā)環(huán)境進(jìn)行示錯教學(xué)的嘗試。給出一些例子和程序,讓學(xué)生進(jìn)行分析,哪些是對的,哪些是錯的,錯誤的原因是什么,應(yīng)該怎樣修改。然后立即在VC中演示,先演示未作修改之前的運行情況,提示學(xué)生注意VC報告的錯誤信息及相關(guān)位置,接著在修改后再次運行程序。這樣可以使學(xué)生對于相關(guān)知識點掌握得更加牢固。同時,我們針對某些比較復(fù)雜、學(xué)生理解起來有一定困難的算法制作生動有趣的FLASH動畫。如排序算法中的冒泡排序、選擇排序。函數(shù)調(diào)用中的遞歸調(diào)用(以漢諾塔問題為例)等。講解具體算法時結(jié)合動畫演示,將抽象問題形象化、枯燥問題生動化,使學(xué)生較快地理解相關(guān)算法的思想實質(zhì)。
在基本語法知識互動式講解完成后,可以引入任務(wù)驅(qū)動教學(xué)法穿插于教學(xué)過程中[2],以完成一個個具體任務(wù)為線索,由教師巧妙設(shè)置任務(wù),任務(wù)中含有知識點,把教學(xué)內(nèi)容融于實際任務(wù)中。任務(wù)開始時向?qū)W生介紹需要用到的概念、思想和方法,學(xué)生經(jīng)過思考和教師的點撥,自己解決問題。在完成任務(wù)的同時,可以培養(yǎng)學(xué)生的創(chuàng)新意識、創(chuàng)新能力及自學(xué)的習(xí)慣,學(xué)會如何發(fā)現(xiàn)問題、思考問題及尋找解決問題的方法,從而極大地提高學(xué)生的主觀能動性。在這個過程中,教師的任務(wù)則是對學(xué)生如何完成任務(wù)進(jìn)行引導(dǎo)和指導(dǎo),并加以鼓勵和評價。
(3)加強(qiáng)實踐環(huán)節(jié),增強(qiáng)學(xué)生動手能力。
我們精心制定12次(24課時)上機(jī)實驗內(nèi)容,其中包含11次設(shè)計性實驗和1次綜合性實驗,設(shè)計性實驗內(nèi)容按最新大綱要求所訂,綜合性實驗鍛煉學(xué)生的綜合應(yīng)用能力,實驗內(nèi)容統(tǒng)籌語法掌握與能力的培養(yǎng)。上機(jī)實驗是學(xué)生掌握C語言的語法、語義、程序結(jié)構(gòu)的重要過程,能提高學(xué)生的動手能力,加深學(xué)生對基礎(chǔ)知識和算法的理解,是提高學(xué)生程序設(shè)計能力的重要環(huán)節(jié),實驗教學(xué)和理論教學(xué)同樣重要。上機(jī)實驗前要求教師課前做好充分的準(zhǔn)備,必須精心設(shè)計每一次實驗課,同時要對學(xué)生提出具體要求。要求學(xué)生根據(jù)教師的實驗題目在上機(jī)實驗前完成相關(guān)程序設(shè)計,并形成實驗報告,最后完成上機(jī)實驗,并提交實驗報告待老師檢查。實驗任務(wù)可以給學(xué)生以壓力,在規(guī)定的時間讓學(xué)生充分動腦,爭取在短時間內(nèi)完成任務(wù)。這樣做有利于提高學(xué)生自身運用C語言的能力,展示平時學(xué)習(xí)的效果。較高的實驗分?jǐn)?shù)能給學(xué)生一種榮譽(yù)感及成就感,更有利于調(diào)動學(xué)生學(xué)習(xí)的主動性、創(chuàng)造性,充分展示學(xué)生的學(xué)習(xí)能力。對于成績好的學(xué)生出現(xiàn)“吃不飽”的問題,我們特意組織有經(jīng)驗老師像搞課程設(shè)計一樣,另外為他們加題,指導(dǎo)他們完成任務(wù)。
(4)加強(qiáng)課外輔導(dǎo),及時了解學(xué)生的學(xué)習(xí)情況。
課外答疑和習(xí)題課是課外輔導(dǎo)的一種形式,是完善教學(xué)的一種補(bǔ)充,每章內(nèi)容教學(xué)完成后,給學(xué)生布置一定量的作業(yè),安排一次答疑或一次習(xí)題課,往往可以達(dá)到事半功倍的效果,由于時間關(guān)系,習(xí)題課上由教師詳細(xì)挑選有一定代表性習(xí)題進(jìn)行詳細(xì)講解,對編程思路及程序結(jié)構(gòu)進(jìn)行解析并演示運行結(jié)果。答疑則通過課后實現(xiàn),為此要求老師與所任班級學(xué)生始終保持通訊暢通,采用面授、郵件、QQ工具等方式實現(xiàn)。這樣可及時掌握學(xué)生的學(xué)習(xí)情況,真正做到為學(xué)生服務(wù)。
(5)使用多種評價形式,優(yōu)化師資教學(xué)團(tuán)隊,提高服務(wù)水準(zhǔn)。
課程評價既檢驗學(xué)生對基本概念、語法知識的掌握,更檢驗學(xué)生使用程序設(shè)計解決實際問題的能力;評價一般應(yīng)采用筆試、上機(jī)考試兩種形式,具體有學(xué)校課程考試、湖南省計算機(jī)等級考試、全國計算機(jī)等級考試等。筆試題目的題型豐富多樣,利用選擇題、填空題考查學(xué)生對基本知識的把握,利用閱讀題、編程題考查學(xué)生讀、寫程序的能力。上機(jī)考試可以使用隨機(jī)抽題自動評分系統(tǒng),對學(xué)生的動手能力進(jìn)行客觀、公正的評價。在對學(xué)生學(xué)習(xí)情況評價的同時,學(xué)校應(yīng)組織學(xué)生評教和教師互評活動,通過對教師的多方位評價衡量教師教學(xué)的質(zhì)量。教師隊伍的優(yōu)化是有效實施教學(xué)改革、穩(wěn)步提升課程教學(xué)質(zhì)量的重要保證。C語言程序設(shè)計教學(xué)隊伍要依托課程質(zhì)量工程建設(shè),在課程負(fù)責(zé)人的帶領(lǐng)下積極申報教研項目,定期開展教研活動,重點培養(yǎng)一批中青年教師,逐漸形成一個教學(xué)水平高、科研能力強(qiáng)、年齡層次合理的優(yōu)秀教學(xué)團(tuán)隊。
5.結(jié)語
通過對非計算機(jī)專業(yè)C語言程序設(shè)計課程的教學(xué)實踐,我們深深體會到教材的選擇、課程內(nèi)容的安排、教學(xué)方法的運用不但要符合教學(xué)的目標(biāo),更要適合學(xué)生的思維特點。在C語言教學(xué)中,注重學(xué)生的思維訓(xùn)練,增強(qiáng)學(xué)生的實際動手能力,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生分析問題和解決問題的能力,將學(xué)生引進(jìn)計算機(jī)應(yīng)用領(lǐng)域,使其在更高的層次上理解計算機(jī)和應(yīng)用計算機(jī),使C語言真正成為非計算機(jī)專業(yè)學(xué)生運用計算機(jī)解決本專業(yè)應(yīng)用問題的工具,這才是我們的目的。
參考文獻(xiàn):
篇8
關(guān)鍵詞:C語言;基礎(chǔ)語言;計算機(jī)專業(yè)
中圖分類號:TP312.1-4 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9599 (2012) 17-0000-02
C語言是目前高校計算機(jī)專業(yè)課程中廣泛應(yīng)用于教學(xué)的計算機(jī)高級語言,一直以來被作為計算機(jī)專業(yè)的基礎(chǔ)課程,在一些非計算機(jī)專業(yè)的教學(xué)中也是一門重要基礎(chǔ)學(xué)科。C語言廣泛應(yīng)用于計算機(jī)的各個領(lǐng)域,包括計算機(jī)數(shù)據(jù)分析和管理、圖像圖形處理、操作程序和系統(tǒng)、軟件程序設(shè)計等等。C語言作為計算機(jī)專業(yè)的基礎(chǔ)語言,具有優(yōu)點多、應(yīng)用廣、通用性強(qiáng)、可植性強(qiáng)、效率高等特點,這決定了它廣闊的應(yīng)用領(lǐng)域和持久的生命力。
1 C語言在計算機(jī)應(yīng)用領(lǐng)域中的應(yīng)用特點
C語言是進(jìn)行計算機(jī)程序設(shè)計的一種基礎(chǔ)語言。1972年由美國貝爾科研所推出,1978年之后開始相繼在其他計算機(jī)上進(jìn)行使用,經(jīng)過多年的發(fā)展的進(jìn)步,C語言已經(jīng)成為一門成熟、專業(yè)的計算機(jī)科學(xué)學(xué)科。在當(dāng)下計算機(jī)軟件技術(shù)迅速發(fā)展的前提之下,C語言程序設(shè)計已成為現(xiàn)代化編程的主流。C語言能夠廣泛的應(yīng)用于各種科研領(lǐng)域,與它自身優(yōu)點和特性密不可分。
(1)C語言可以在DOS、Windows、Linux等多種操作系統(tǒng)下進(jìn)行程序編寫,不限制操作平臺,具備強(qiáng)大的功能。(2)C語言具有很強(qiáng)的應(yīng)用性,能夠在計算機(jī)科技產(chǎn)業(yè)中廣泛運用、快速投產(chǎn)、并且逐步產(chǎn)生可觀的經(jīng)濟(jì)效益。(3)C語言是程序設(shè)計、軟件開發(fā)最根本的前提和基礎(chǔ)。(4)C語言在計算機(jī)領(lǐng)域中發(fā)展空間廣闊。(5)C語言具備強(qiáng)大的描述功能和語言結(jié)構(gòu),是操作系統(tǒng)教學(xué)和數(shù)據(jù)結(jié)構(gòu)教學(xué)的課程基礎(chǔ),滿足當(dāng)下計算機(jī)專業(yè)課程教學(xué)的需要。
2 目前高校計算機(jī)專業(yè)的發(fā)展現(xiàn)狀
在我國經(jīng)濟(jì)迅速發(fā)展和科學(xué)不斷進(jìn)步的共同作用之下,計算機(jī)技術(shù)已經(jīng)成為現(xiàn)代社會應(yīng)用最為普遍的科技成果,給社會帶來了最本質(zhì)的改觀和深遠(yuǎn)影響。高校的計算機(jī)相關(guān)專業(yè)的設(shè)立,為計算機(jī)科技行業(yè)的持續(xù)發(fā)展源源不斷輸送人才,積極推進(jìn)了全民計算機(jī)技術(shù)相關(guān)知識的普及和運用。隨著信息時代的全面到來,我國高校的計算機(jī)相關(guān)專業(yè)的規(guī)模在不斷壯大。截止到目前為止,全國范圍內(nèi)大約有上千家高校開設(shè)計算機(jī)專業(yè)。同其他學(xué)科的專業(yè)設(shè)置情況相比較,高校計算機(jī)專業(yè)的課程設(shè)置類型和專業(yè)規(guī)模都首屈一指。
為滿足社會發(fā)展的需求,高校計算機(jī)相關(guān)專業(yè)課程不斷進(jìn)行改革以培養(yǎng)適應(yīng)時展的科技型人才。在課程教學(xué)中,高校計算機(jī)專業(yè)的從業(yè)教師以現(xiàn)有課程體系為基礎(chǔ),注重知識的及時更新和實踐練習(xí)、前沿操作技術(shù)的引入、教學(xué)模式和教學(xué)內(nèi)容的完善。在多方努力之下,我國高校計算機(jī)專業(yè)在探索中蓬勃發(fā)展、穩(wěn)步前行。
結(jié)合當(dāng)前社會形勢和經(jīng)濟(jì)形勢對計算機(jī)相關(guān)人才的專業(yè)和技術(shù)要求,高校的計算機(jī)專業(yè)現(xiàn)狀仍然存在很多問題。對于高校計算機(jī)相關(guān)專業(yè)的學(xué)生而言,計算機(jī)操作水準(zhǔn)和應(yīng)用能力已經(jīng)成為衡量個人素質(zhì)及能力的重要標(biāo)桿??旃?jié)奏的社會生活要求計算機(jī)專業(yè)的大學(xué)生在具備理論知識素養(yǎng)的同時,也要有熟練的專業(yè)技能和豐富的實踐經(jīng)驗。因而高校計算機(jī)專業(yè)教學(xué)所面臨最為嚴(yán)峻的問題就是能否使教學(xué)內(nèi)容與時俱進(jìn);能否培養(yǎng)出適應(yīng)社會需要的專業(yè)型、復(fù)合型人才。
就目前高校計算機(jī)專業(yè)教學(xué)現(xiàn)狀而言,專業(yè)師資力量的匱乏、傳統(tǒng)的“填鴨式”方法在理論教學(xué)中依舊存在、理論知識與技術(shù)操作設(shè)置失衡、書面考試仍舊作為常規(guī)考核辦法,這些不利于計算機(jī)專業(yè)學(xué)生發(fā)展的弊病較為普遍、常見。在高校計算機(jī)專業(yè)課程體制之中硬件系統(tǒng)教學(xué)薄弱、軟件系統(tǒng)方面缺乏實踐練習(xí)、相關(guān)實驗受到條件嚴(yán)重限制、課程體系落伍、數(shù)據(jù)及網(wǎng)絡(luò)理論得不到良好消化等問題還沒有得到全面解決。相關(guān)教育部門和高校自身針對上述問題相繼采取了許多改革措施,力爭使高校計算機(jī)專業(yè)教育符合現(xiàn)代社會的發(fā)展需求,盡力縮短課程發(fā)展與社會發(fā)展之間的距離。
3 C語言在高校計算機(jī)專業(yè)課程中的重要意義
C語言是計算機(jī)相關(guān)專業(yè)中最重要的基礎(chǔ)課程之一。C語言課程的學(xué)習(xí)是為了培養(yǎng)學(xué)生計算機(jī)編程的基本能力,同時為更多計算機(jī)技能的學(xué)習(xí)打下基礎(chǔ)。C語言的應(yīng)用領(lǐng)域非常廣泛,在計算機(jī)圖形圖像處理、操作系統(tǒng)、軟件工程、數(shù)據(jù)具體分析和數(shù)據(jù)庫相關(guān)管理等方面都需要運用C語言進(jìn)行設(shè)計和編程。決定C語言在計算機(jī)科技領(lǐng)域廣泛運用的重要因素之一就是它操作和應(yīng)用上的可取性。C語言在計算機(jī)科技領(lǐng)域中的應(yīng)用優(yōu)勢主要包含以下幾個方面:
3.1 C語言強(qiáng)大的功能優(yōu)勢和良好的使用性能
C語言豐富完備的數(shù)據(jù)結(jié)構(gòu)設(shè)計,能夠較為靈活的對數(shù)據(jù)流進(jìn)行控制,同時還具備通用性、可植入性、目標(biāo)效率較高等優(yōu)良性能,C語言的上述特性適應(yīng)計算機(jī)程序設(shè)計要求。C語言的最大特點就是同時具備高級語言和低級語言的性能,可以實現(xiàn)靈活操作運用。C語言允許編程人員進(jìn)行分塊編譯,方便編程者管理項目,大大提高編程效率。
3.2 C語言廣闊的市場前景
C語言既是高校計算機(jī)專業(yè)課程設(shè)計中必須學(xué)習(xí)的基礎(chǔ)語言,又是專業(yè)的計算機(jī)科技領(lǐng)域里常用的高級語言。它廣泛的應(yīng)用領(lǐng)域使其具備較強(qiáng)的應(yīng)用性。C語言在計算機(jī)中的運用可以直接投產(chǎn)到計算機(jī)科技產(chǎn)業(yè)當(dāng)中并產(chǎn)生十分可觀的效益。廣闊的市場空間和專業(yè)人才缺乏的社會現(xiàn)狀,使得C語言開發(fā)人才成為大型國企、外企競相爭奪的對象。良好的市場發(fā)展形勢證明了,C語言在計算機(jī)專業(yè)課程中的設(shè)置滿足現(xiàn)有經(jīng)濟(jì)形勢下社會對于計算機(jī)專業(yè)人才的需要。
3.3 C語言在其他計算機(jī)專業(yè)課程中的作用及地位
C語言作為功能強(qiáng)大、性能優(yōu)良的綜合編程語言,使用便捷靈活且具有豐富的表達(dá)能力。除了具備前文中提及的諸多優(yōu)點之外,它還可以直接進(jìn)行計算機(jī)硬件方面的操作。適合各種不同類型軟件設(shè)計、開發(fā)以及系統(tǒng)編寫。C語言在計算機(jī)專業(yè)課程中能夠起到良好的銜接作用,盡早學(xué)習(xí)C語言有利于為日后學(xué)習(xí)“數(shù)據(jù)結(jié)構(gòu)課程”“C++”“Java”打下良好基礎(chǔ)。
C語言是計算機(jī)專業(yè)程序設(shè)計課程中最常用的基礎(chǔ)語言。學(xué)習(xí)C語言可以使計算機(jī)專業(yè)的每一個學(xué)生了解程序設(shè)計的基本理論、掌握程序設(shè)計的相關(guān)問題。C語言中的許多內(nèi)容機(jī)制將程序設(shè)計得以融入到高級語言當(dāng)中,而且C語言可使計算機(jī)專業(yè)初學(xué)者更容易掌握程序設(shè)計的思維和方法。
在計算機(jī)圖形圖像課程中,C語言承擔(dān)著開發(fā)環(huán)境、編寫程序、將計算機(jī)圖形的相關(guān)理論與計算機(jī)繪圖實踐有效結(jié)合的重要作用。C語言自身具備強(qiáng)大的圖形功能,并且不限制顯示器和驅(qū)動的類型,操作十分便捷。在C語言編譯軟件中大量的圖形庫函數(shù)使得C語言的繪圖功能十分強(qiáng)大。
4 總結(jié)
C語言作為高校計算機(jī)相關(guān)專業(yè)學(xué)生的一門必修科目,作為計算機(jī)專業(yè)相關(guān)課程學(xué)習(xí)的基礎(chǔ),它的重要作用和地位是無可厚非的。同時C語言作為現(xiàn)今社會經(jīng)濟(jì)形勢下最流行的計算機(jī)基礎(chǔ)語言,它在今后計算機(jī)科技領(lǐng)域和產(chǎn)業(yè)中的發(fā)展也是不可限量的。培養(yǎng)適應(yīng)時展的計算機(jī)專業(yè)人才是高校教育工作的要點和重要使命。綜上所述,C語言無論作為高校計算機(jī)專業(yè)課程學(xué)習(xí)的基礎(chǔ)語言,還是保證學(xué)生具備社會所需專業(yè)技能的一種就業(yè)手段,它都有足夠的優(yōu)勢長期存在于高校計算機(jī)專業(yè)課程體系之中。
參考文獻(xiàn):
[1]朱迅.“C語言程序設(shè)計”教學(xué)的探討[J].軟件導(dǎo)刊,2010(8).
[2]王琪,周彩根.C 語言程序設(shè)計.課程建設(shè)的研究與實踐[J].中國成人教育,2007,12.
[3]蔡曉麗,陳舜青,丁志云.計算機(jī)C語言實驗教學(xué)改革探討[J].電腦知識與技術(shù).2010,15.
[3]曹鳳蓮,李英明.淺談C語言學(xué)習(xí)[J].網(wǎng)絡(luò)與信息,2007,6.
[4]高偉,張國印,黃宏濤.C語言程序設(shè)計課程建設(shè)研究與實踐[J].計算機(jī)教育,2010,16.
篇9
關(guān)鍵詞:C語言程序設(shè)計;教學(xué)方法;非計算機(jī)專業(yè);示例教學(xué)法
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)17-4064-03
C語言是一種通用的計算機(jī)程序設(shè)計語言,對于計算機(jī)專業(yè)的學(xué)生來說,它是最重要的一門基礎(chǔ)課程。學(xué)習(xí)C語言之后,可以為后面繼續(xù)學(xué)習(xí)其他的高級程序設(shè)計語言打下堅實的基礎(chǔ)。通過對C語言的學(xué)習(xí),可以培養(yǎng)學(xué)生的提出問題、分析問題、解決問題的能力。在計算機(jī)專業(yè)的課程設(shè)計中,C語言程序設(shè)計是數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、面向?qū)ο蟪绦蛟O(shè)計等多門課程的先修課程,對這些課程的教學(xué)有著直接的影響[2]。
學(xué)習(xí)C語言不止對計算機(jī)專業(yè)的學(xué)生來說重要,對非計算機(jī)專業(yè)的學(xué)生也是相當(dāng)?shù)闹匾kS著社會的發(fā)展,科技的進(jìn)步,用人單位對員工的要求等的越來越高,加上應(yīng)屆畢業(yè)生的求職門檻越來越高,很多非計算機(jī)專業(yè)的學(xué)生也紛紛學(xué)習(xí)C語言,因為它不僅可以證明其具有一定的計算機(jī)操作的能力,如果拿到國家計算機(jī)等級考試C語言二級證書的話,還能在求職過程中,占據(jù)相當(dāng)大的優(yōu)勢,贏得面試官的親睞。所以大量的非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語言,而因為其計算機(jī)基礎(chǔ)很弱,甚至有的為零,那么怎樣才能讓其將C語言學(xué)會,學(xué)好,并能靈活運用呢?這就是本文的探討所在。
目前,在各大高校的非計算機(jī)專業(yè)都會設(shè)置相應(yīng)的C語言程序設(shè)計課程,不僅如此,還有大量的培訓(xùn)機(jī)構(gòu)招收非計算機(jī)專業(yè)的學(xué)生進(jìn)行培訓(xùn),以達(dá)到獲得國家C語言二級證書,或使其具備一定的編程能力以備求職所用,可見C語言的重要性。
1 存在的問題
1.1 學(xué)生的問題
在近幾年的教學(xué)實踐中,發(fā)現(xiàn)學(xué)生普遍認(rèn)為這門課難度很大,不容易學(xué),而且即使懂了理論也不會做題或編寫程序。究其原因,主要有:
1)很多學(xué)生的學(xué)習(xí)目的是不明確的[3]。經(jīng)過相應(yīng)的調(diào)查,發(fā)現(xiàn)在高等院校中,很多學(xué)生只是順從學(xué)?;?qū)W院的安排,盲目地去上課,根本就不清楚自己為什么要學(xué)習(xí)C語言,所以一旦遇到困難,就會覺得難學(xué),甚至?xí)X得學(xué)了也沒用,導(dǎo)致學(xué)習(xí)興趣以及熱情的下降,這樣就會缺乏學(xué)習(xí)的積極性和主動性。
2)學(xué)生的實踐動手能力不高。C語言是一門邏輯性和操作性都很強(qiáng)的計算機(jī)語言,而很多學(xué)生都不明確上機(jī)實驗的目的,甚至有的學(xué)生連實驗的內(nèi)容都不清楚,到了機(jī)房就是一盤散沙,不知道要做什么,導(dǎo)致動手能力不高。當(dāng)然在上機(jī)的過程中,也難免會出現(xiàn)某些學(xué)生玩游戲等這樣的情況,所以這也是實踐課程中管理的疏忽。
3)對于高等院校的非計算機(jī)專業(yè)的學(xué)生來說,他們對學(xué)校安排的計算機(jī)課程的重視度不高。認(rèn)為本門課程不是主課,僅僅是為應(yīng)付考試而去學(xué)習(xí),所以學(xué)習(xí)積極性不高,有時可能會發(fā)生上課不聽講,下課不看書的現(xiàn)象[4]。
4)教學(xué)過程中,發(fā)現(xiàn)在學(xué)生中存在一種普遍現(xiàn)象,即程序設(shè)計能力和調(diào)試能力都比較弱。究其原因,主要是因為其對于算法不夠熟練,靈活運用知識的能力比較弱,編程的時候程序結(jié)構(gòu)不清晰,標(biāo)點符號等語法錯誤較多,不夠細(xì)心。
1.2 教師的問題
教學(xué)的過程是教與學(xué)的過程,是教師的教與學(xué)生的學(xué)相結(jié)合的。國內(nèi)著名的教育技術(shù)專家何克抗教授提出來“主導(dǎo)-主體”教學(xué)理論[5],他認(rèn)為教學(xué)活動應(yīng)該以教師為主導(dǎo)以學(xué)生為主體,突出教師在教學(xué)活動中主導(dǎo)者地位的同時,要注重對學(xué)生創(chuàng)新思維和創(chuàng)新能力的培養(yǎng),避免學(xué)生被動學(xué)習(xí)。
1)在課堂教學(xué)過程中,太重理論的講解,而忽視了對學(xué)生實踐操作的引導(dǎo)。這就要求教師在備課過程中,必須清楚整個教學(xué)大綱的內(nèi)容,做到有的放矢,理論講解的同時,注重對鍛煉學(xué)生動手能力的實踐做相應(yīng)的指導(dǎo)。
2)在上機(jī)實踐時,容易放心讓學(xué)生自己練習(xí),導(dǎo)致學(xué)生動手能力未能得到確切的提高。這樣就可能會導(dǎo)致很多學(xué)生在實驗課上玩耍而不做任何實驗。所以這就要求老師事前必須得做好實驗課內(nèi)容的設(shè)計,并嚴(yán)格要求學(xué)生達(dá)到什么樣的效果,讓學(xué)生自己動手操作,以達(dá)到鍛煉提高的目的。
2 解決方案
基于上述問題的存在,并結(jié)合近幾年的教學(xué)經(jīng)驗,該文提出一些改進(jìn)的教學(xué)方法,以達(dá)到提高非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語言的學(xué)習(xí)效果。做到盡量讓學(xué)生感覺學(xué)習(xí)C語言很輕松,很有趣,且能將其學(xué)會并靈活應(yīng)用。
2.1首因效應(yīng)
作為一名教師,應(yīng)該很清楚第一堂課是非常重要的。首先應(yīng)該與學(xué)生互動,相互了解,建立良好的師生關(guān)系,拉近彼此間的距離,如果一個老師的氣場足夠吸引學(xué)生的話,后面的教學(xué)過程中的任何問題都能很好地解決,缺課現(xiàn)象也會少之又少。其次要消除學(xué)生對于C語言程序設(shè)計課程的陌生感和神秘感,使其明白C語言對于我們而言,其實并不陌生,它存在于我們的日常生活中。舉例如計算器、手機(jī)等電子產(chǎn)品、各種游戲軟件、操作系統(tǒng)、智能電器等的功能都可以由C語言程序設(shè)計實現(xiàn)。最后充分調(diào)動學(xué)生學(xué)習(xí)的興趣,使其明白學(xué)習(xí)C語言并沒有想象中的那么難。
在第一堂課時,可以少講課程內(nèi)容,必須得讓學(xué)生明白其學(xué)習(xí)目的,可以通過現(xiàn)場調(diào)查法了解學(xué)生的想法,并引導(dǎo)其明白學(xué)習(xí)本課程的目標(biāo)。這樣能使學(xué)生具有更大的學(xué)習(xí)動力。充分調(diào)動學(xué)生的積極性,激發(fā)其興趣,這有利于日后的教學(xué)工作的進(jìn)行,以及改變學(xué)生學(xué)習(xí)的氛圍。
2.2 教學(xué)方法
要想提高學(xué)生的學(xué)習(xí)效果,就必須得注重教學(xué)方法的使用。只有方法對,使用得當(dāng),才會達(dá)到事半功倍的效果。針對非計算機(jī)專業(yè)的學(xué)生來說,該文總結(jié)出下面幾種方法。
2.2.1 示例教學(xué)法
項目教學(xué)法在文獻(xiàn)[6]中闡述得很清楚,它是通過實施一個完整的項目而進(jìn)行的教學(xué)活動,使學(xué)生通過對所選項目的完成來完成對C語言的學(xué)習(xí)。這樣的方法有一定的效果,但是在實施方面的難度比較大,比如所選項目的難易如何把握,時間如何分配(尤其是在高等院校的日常教學(xué)中),達(dá)到的效果如何衡量等。這些都很難有一個標(biāo)尺來衡量。有兩種效果,一是對C語言掌握得非常的好,應(yīng)用能力很強(qiáng);二是對C語言一頭霧水,云里霧里,不知所云。所以對此本文提出一種結(jié)合項目教學(xué)法的優(yōu)勢與高等院校特點于一體的示例教學(xué)方法。此方法是在傳統(tǒng)教學(xué)方法的基礎(chǔ)上,對于課堂的設(shè)計有所改變。傳統(tǒng)教學(xué)注重理論的講解,而此方法是在簡要講解理論的基礎(chǔ)上,針對某些重點知識的運用,例舉一些具體的有趣且貼近生活的實例,做出相應(yīng)的講解后,加以演示,讓學(xué)生對此程序的運行結(jié)果等有一個直觀的感受;而且在演示的過程中,還可以教學(xué)生相應(yīng)的一些調(diào)試程序找錯的方法,這樣學(xué)生自己上機(jī)練習(xí)的時候,調(diào)試能力會大大的增強(qiáng)。通過示例教學(xué)法,可以使學(xué)生對知識點的掌握以及運用能力得到很大的提高。
2.2.2 誘導(dǎo)法
傳統(tǒng)教學(xué)模式是針對什么內(nèi)容就很直白的講解相應(yīng)的內(nèi)容,這樣會使學(xué)生覺得枯燥乏味,久而久之會產(chǎn)生相應(yīng)的厭學(xué)情緒,導(dǎo)致學(xué)習(xí)效率低下,學(xué)習(xí)效果低。該文針對此現(xiàn)象提出相應(yīng)的改進(jìn)方法,即誘導(dǎo)學(xué)習(xí)法。在課堂上,學(xué)生是主體,教師應(yīng)該設(shè)計好所講授內(nèi)容的先后連接順序,做到連貫有序。比如引入一個新的知識點之前,先提出問題,引導(dǎo)學(xué)生思考相應(yīng)的解決方法,或讓學(xué)生相互討論,最終引出知識點進(jìn)行講解。這樣更能提高學(xué)生課堂上學(xué)習(xí)的積極性。比如在學(xué)習(xí)數(shù)組之前,先提出問題,如果用一般的變量存放學(xué)生的年齡,需要存放幾萬學(xué)生的年齡,則需要幾萬個的變量,這樣的編程量是非常大的,引導(dǎo)學(xué)生思考解決方法,并引出數(shù)組的概念和作用,這樣學(xué)生比較容易接受,而且也不會覺得很突然或陌生,更能輕易得接受并學(xué)習(xí)。
2.2.3 對比法
根據(jù)人類認(rèn)識事物的規(guī)律,在課堂上采取對比教學(xué)法會得到的非常好的效果。從常理出發(fā),人們習(xí)慣性地會對比身邊的事物,從而認(rèn)識相應(yīng)的事物。所以在課堂上講解知識點的時候,恰到好處地運用好此方法的話,教學(xué)效果是非常好的。比如在學(xué)習(xí)數(shù)組的時候,當(dāng)學(xué)習(xí)完一維數(shù)組之后,學(xué)維數(shù)組的時候,就可以以類比的方法來介紹二維數(shù)組,學(xué)生會很快學(xué)會并吸收二維數(shù)組的內(nèi)容。這樣的效果是非常顯著的。
2.2.4 抽象具體化
C語言中,有很多抽象的專業(yè)性描述的概念理論,而對這些理論的講解是比較難的。對于學(xué)生而言,這些內(nèi)容在頭腦里是很抽象難以理解的。所以這時就需要教師在講解內(nèi)容時,少用專業(yè)術(shù)語進(jìn)行解釋。比如講解C語言充有且只能有一個main函數(shù),且程序從main函數(shù)開始到main函數(shù)結(jié)束時,很多學(xué)生不是很理解,教師就可以舉例說一個學(xué)校只有一個大門,學(xué)生要想進(jìn)入學(xué)校逛耍就只能通過大門走進(jìn),而逛耍完后想要走出學(xué)校時,也只能通過大門才能出去。學(xué)校的大門就類似于main函數(shù),要想進(jìn)入學(xué)校只能從大門進(jìn)或出,而C語言程序的開始結(jié)束也只能從main函數(shù)開始或結(jié)束。這樣的話,學(xué)生比較能接受并理解此知識點,而且會覺得有趣。
2.2.5 組隊上機(jī)法
此方法主要是針對上機(jī)實驗課。傳統(tǒng)的實驗課是學(xué)生進(jìn)入機(jī)房之后,個人練習(xí),各練各的,學(xué)生之間缺少交流溝通。對此,該文提出的組隊上機(jī)法可以有效地改善此現(xiàn)象,并得到相應(yīng)的效果的提高。事先將學(xué)生進(jìn)行分組,然后對每個小組分配任務(wù),并提出要求及實驗結(jié)果,還可以制定一些相應(yīng)的獎懲制度,當(dāng)然獎懲制度得切實可行。上機(jī)實踐時,小組成員之間相互探討問題,互動地學(xué)習(xí),這樣可以激發(fā)學(xué)生的求知欲,也能鍛煉學(xué)生的團(tuán)隊協(xié)作能力。相互之間有競爭,就可以刺激學(xué)生的學(xué)習(xí)欲望。
2.3 課后溝通
因為高校的老師和學(xué)生之間見面的機(jī)會最多的就是上課時間,而學(xué)生有問題又不可能在課堂上問。針對這種現(xiàn)象,如果老師能和學(xué)生打成一片,加入學(xué)生的QQ學(xué)習(xí)群里,課后有任何的問題,大家都可以通過互聯(lián)網(wǎng)在QQ群里討論,老師也可解答問題。這樣的學(xué)習(xí)效率是很高的,學(xué)生覺得老師負(fù)責(zé),他的學(xué)習(xí)激情會更大,潛能也會被激發(fā)。
3 總結(jié)
教學(xué)實踐證明,針對目前非計算機(jī)專業(yè)的學(xué)生學(xué)習(xí)C語言的現(xiàn)狀,該文所提出的解決方案教學(xué)方法是切實可行的,且教學(xué)效果得到了確切的提高。利用這些方法,不僅可以激發(fā)學(xué)生的學(xué)習(xí)興趣,更能增強(qiáng)學(xué)生分析處理問題的能力。學(xué)生在一種快樂融洽的氛圍中學(xué)習(xí),學(xué)習(xí)效率是非常高的。
參考文獻(xiàn):
[1] 謝競博.C語言程序設(shè)計教學(xué)中的問題及改革建議[J].重慶郵電大學(xué)學(xué)報:社會科學(xué)報,2008(2).
[2] 王繼東,趙瑞斌,陳桂林.計算機(jī)專業(yè)C語言程序設(shè)計課程教學(xué)改革探索[J].計算機(jī)時代,2012(2).
[3] 牛熠,董阿妮,吳燕玲.C語言教學(xué)中學(xué)生興趣的培養(yǎng)[J].東莞理工學(xué)院學(xué)報,2006(1).
[4] 冀振川,谷飛.計算機(jī)C語言教學(xué)方法初探[J].新課程學(xué)習(xí)(中),2011(9).
篇10
關(guān)鍵詞:中職學(xué)校;C 語言程序設(shè)計;教學(xué)設(shè)計;計算機(jī)專業(yè)人才
隨著計算機(jī)產(chǎn)業(yè)的迅速崛起,計算機(jī)被應(yīng)用于各個行業(yè),我國對計算機(jī)專業(yè)人才的需求逐年增加。而目前計算機(jī)行業(yè)人才濟(jì)濟(jì),就業(yè)競爭激烈,中職學(xué)校的計算機(jī)專業(yè)學(xué)生不能局限于一些常用的應(yīng)用軟件的學(xué)習(xí),作為當(dāng)今最流行的程序設(shè)計語言之一,C語言的學(xué)習(xí)顯得尤為重要。在中職學(xué)校,這不僅被作為計算機(jī)專業(yè)的必修課,而且被選為非計算機(jī)專業(yè)的選修課。又由于中職的學(xué)生大多數(shù)是中考失敗者,他們的英語和數(shù)學(xué)方面的基礎(chǔ)較差,而C語言學(xué)習(xí)既有高級語言的特點,又有匯編語言的特點,因此學(xué)生在學(xué)習(xí)這門課程的時候難免會遇到各種各樣的障礙。加之學(xué)習(xí)的內(nèi)容相對枯燥,如果教師在授課的時候還是按照傳統(tǒng)的方法來教學(xué)生的話,學(xué)生勢必會產(chǎn)生抵制的情緒。所以,教師在授課的時候一定要講求方法,針對當(dāng)前中職學(xué)生的特點,注重學(xué)生學(xué)習(xí)的情緒。這樣,才有利于促進(jìn)教學(xué)目標(biāo)的達(dá)成,培養(yǎng)學(xué)生專業(yè)才能。
一、注重第一堂課開始就要培養(yǎng)學(xué)生
學(xué)習(xí)的興趣
興趣是學(xué)生學(xué)好一門課程的敲門磚。從學(xué)生的角度分析,當(dāng)他們第一次接觸到C語言程序設(shè)計的時候,往往都是比較興奮的。在他們看來,這門課程既神秘又充滿挑戰(zhàn)性,加之以前學(xué)長學(xué)姐的描述,他們誰都不想在一開始就落下去。從教師角度分析而言,在《C語言程序設(shè)計》教學(xué)中,教師一般都是以Turbo C為主,但是Turbo C的調(diào)試環(huán)境不是可視化的過程,這在客觀上造成了學(xué)生掌握C語言程序設(shè)計知識的難度。為此,教師要想辦法整合教學(xué)內(nèi)容,改變那種單一猶如“模板”一樣的教學(xué)模式,讓學(xué)生感到這門課程雖然神秘,但是不會像傳說中的那樣難學(xué)。
我認(rèn)為,上好第一堂《C語言程序設(shè)計》課是至關(guān)重要的。因為第一堂課的成功與否直接關(guān)系到學(xué)生能否對這門課產(chǎn)生興趣。所以,我在教學(xué)的時候,第一堂課或者是在新的一章節(jié),一般都會將學(xué)習(xí)變成“趣味C語言導(dǎo)學(xué)課”。為了讓學(xué)生初步了解與重視這門課程,會先給學(xué)生強(qiáng)調(diào)這門課程的重要性,告訴他們:C語言是學(xué)生今后學(xué)好后繼課程的基礎(chǔ),雖然更新很快,但是只要具備了真正解決實際問題的能力,就萬變不離其中。然后,為了讓學(xué)生對這門課程產(chǎn)生興趣,先利用多媒體給學(xué)生展示C語言的強(qiáng)大功能,例如可以解決“水仙花數(shù)、翻譯密碼、判斷素數(shù)”等等問題。這樣,學(xué)生會被深深吸引,有些學(xué)生已經(jīng)有些“蠢蠢欲動”了。為了讓他們感覺這門課程不是傳說中的那么難學(xué),我又通過一些影片向?qū)W生介紹IT人士的經(jīng)歷和成功經(jīng)驗,讓他們感到“既然別人都能成功,為何我不能學(xué)好”。緊接著,我又為學(xué)生展示一些趣味性的問題并演示實用性的程序。這樣,更加刺激了學(xué)生學(xué)習(xí)的興趣。第一堂課,學(xué)生往往是學(xué)習(xí)興趣高漲,正如俗話說的“好的開始是成功的一半”,這就為學(xué)生日后更好地學(xué)習(xí)打下了基礎(chǔ)。
二、教學(xué)中要多采用案例教學(xué)法,將復(fù)雜的問題簡單化
前文已經(jīng)提到,中職學(xué)生的基礎(chǔ)普遍較差,特別是在數(shù)學(xué)方面。而本課程知識又涉及程序設(shè)計的三種基本結(jié)構(gòu)、數(shù)組、函數(shù)等內(nèi)容,學(xué)生學(xué)習(xí)起來很吃力也是必然的。所以,教師在授課中,要適當(dāng)降低理論知識的難度和深度,將教學(xué)重點放在對程序設(shè)計方法的理解和使用上,而案例教學(xué)法是目前見效最快的好辦法。
所謂的案例教學(xué)法,是指教師根據(jù)課堂教學(xué)目標(biāo)和教學(xué)內(nèi)容的需要,通過設(shè)置一個個具體案例,引導(dǎo)學(xué)生參與分析、討論,提高學(xué)生具體問題具體分析的能力。通過實踐,我認(rèn)為這種方法的優(yōu)點有兩點。其一,具有高度的真實模擬性,案例取自于生活、貼近于生活,可以激發(fā)學(xué)生學(xué)習(xí)的熱情。其二,不僅可以針對本次課程的知識點,同時還要與相關(guān)的知識點進(jìn)行必要的聯(lián)系,讓學(xué)生既學(xué)到新知識,又鞏固舊知識。
例如在講授if語句的一般形式時,我并沒有直接給學(xué)生if一般形式,而是說“如果天氣不下雨,大家就去打籃球,否則,大家就呆在教室”。我告訴學(xué)生,這是一個典型的選擇結(jié)構(gòu):“根據(jù)天氣的情況給出兩種選擇,天氣是選擇的條件。”接著讓學(xué)生自己舉類似的例子。這樣,通過日常的例子,讓學(xué)生理解選擇結(jié)構(gòu)的實質(zhì)含義,逐步引入if語句的一般形式。又如,在學(xué)習(xí)一維數(shù)組的時候,我以箱子為例進(jìn)行講解,提出不同的柜子存放不同的物品,然后提出柜子的容量是否無限的問題。循環(huán)引導(dǎo)學(xué)生學(xué)習(xí),最后給出定義數(shù)組的一般式來說明其實這也是類似制造柜子的過程。學(xué)生在先前學(xué)習(xí)的基礎(chǔ)上,通過日常的物品,理解了數(shù)組的概念, 掌握了定義數(shù)組的方法。
三、改革考核形式,不要以呆板的理論考核為主要形式
考核是檢查學(xué)生學(xué)習(xí)成績好與壞的重要方式,可以讓教師與學(xué)生知道自己在哪些方面存在著不足,由此日后進(jìn)一步改進(jìn)。基于多年程序設(shè)計課不同考核方式考核效果的分析,我認(rèn)為,對于C 程序設(shè)計課來說,要考查學(xué)生學(xué)習(xí)情況,最好采取上機(jī)考核的形式來實施。以前C 程序設(shè)計課考核的方式是以筆試為主,也就是通過試卷讓學(xué)生做一些填空題、選擇題考察學(xué)生的基礎(chǔ),而能力題則是給一些不完整的程序讓學(xué)生填寫完整。雖然這種考核的方式可以反映出學(xué)生學(xué)習(xí)的情況,但是,通過死記硬背的方式來檢查很難發(fā)揮學(xué)生的積極性與創(chuàng)造性。而后來,是先在教室進(jìn)行筆試,后進(jìn)電腦室上機(jī)考核,但是我覺得,有一些死記硬背的知識根本就沒有必要對學(xué)生考核。
學(xué)校開設(shè)C 語言程序設(shè)計課的教學(xué)目的,是為了讓學(xué)生掌握運用計算機(jī)語言編制和調(diào)試程序,從而解決實際問題的能力。所以,我認(rèn)為,筆試應(yīng)該及時淘汰掉,只采取上機(jī)操作來考核學(xué)生的編寫和調(diào)試程序的能力便可以。我是這樣做的:在離考核一個月前,就將要考的相關(guān)內(nèi)容范圍告訴學(xué)生,然后讓學(xué)生提前在課余時間進(jìn)行編程練習(xí)。在考試的時候,我從告訴學(xué)生的范圍中選出典型的題型,讓學(xué)生在電腦上編寫程序并調(diào)試運行??荚嚨哪康?,在于讓學(xué)生掌握應(yīng)該掌握的技術(shù),將考題范圍告訴學(xué)生,也就給了學(xué)生積極學(xué)習(xí)的動力。
參考文獻(xiàn):
[1]曹紅蘋.C 語言程序設(shè)計課程教學(xué)探討
[J].計算機(jī)與信息技術(shù),2012(11).