計算機c語言范文

時間:2023-03-16 05:45:01

導語:如何才能寫好一篇計算機c語言,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

計算機c語言

篇1

實訓教學是培養計算機專業學生C語言的基本能力、職業能力、技術應用能力、創新能力的重要途徑。本文是小編為大家整理的計算機c語言實訓報告范文,僅供參考。

一、 課題名稱:簡單計算器

設計一個簡單的程序來模擬計算器的功能。

二、 設計目的:

1、通過理論知識與實際需求相結合,編輯解決一些日常中的實際問題,培養初步的獨立分析和設計能力。 2、了解應用程序設計解決實際問題的具體過程和實現方法,掌握應用C語言進行程序設計的基本規范; 3、重點掌握C語言的程序編寫、函數設計、算法設計和程序調試方法; 4、初步掌握系統開發過程的問題分析、系統設計、程序編碼、測試等基本方法和技能。

三、 設計任務:

1、通過結構體數組和共用體數組來存放輸入的每一數字或運算符號的記錄(包括1、2、3等數字,+、--、_、等運算符號),然后將其信息存入文件中。輸入一個算術計算式,就在屏幕上顯示結果。 2、輸入簡單的加減乘除算術計算式,并在屏幕上顯示計算結果;

四、 設計要求:

1、用C語言實現程序設計并進行調試; 2、畫出查詢模塊的流程圖;

3、系統的各個功能模塊要求用函數的形式實現; 4、界面友好(良好的人機互交)。 5、完成設計說明書(A4)。

五、代碼設計:

#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"); } }?

七、設計總結:

學習C程序這門課一個學期了,這是我們學的第一門專業課,所以作為我這個計算機系的學生來說當然十分重要,老師在第一節課說過,C語言是計算機的基礎,大多數軟件都需要用C語言來編寫,通過一個學期的學習,使我初步掌握了一些關于這門課的知識

這次的課程設計是對我們一個學期來所學的知識的綜合考察,里面涉及到了我們大多數所學知識。記得剛開始學這門課的時候,對這門課充滿了希望,自己有信心學好這門課,但是經過一段時間的學習之后。才發現程序設計并不好學,它既要你有很強的領悟能力,還要你課后的努力,也許是自己之前太有信心學好

這門課了吧,中間遇到了很大的瓶頸,一度陷入無休止的煩惱中編程序時沒有一次是成功的,總會遇到很多的error,改完一個又有一個,這時我會想到一句古話“天將降大人于斯人也,必先苦其心志,勞其筋骨,餓其體膚”,也許以后會有些許光明吧。之后,隨著時間的推移,慢慢掌握了這門課學習的一些竅門,學習起來也比剛開始的時候好了一點,至于編程序嗎還是有錯誤,但比以前少了,總讓我看到希望了。這次的課程設計要求我們編一個簡易計算器,剛開始的時候我一頭霧水,丈二摸不著頭腦,不知從哪里下手,后來經過老師和同學的幫助,從最簡單的編框開始,慢慢的到最關鍵的算法,這其中經歷了很多彎路,也犯過了很多錯誤,但是還是一一攻克了,好比兩萬五千里終于到達了終點。看到最后自己編寫出來的計算器感到格外的高興,暫且不說計算器的功能方面吧,但畢竟是自己寫的第一個正式的程序,感到格外的高興。

在編寫程序的過程中受到了其他同學的指點,也許在某些程序方面會和有的同學想類似,另外老師也幫助了很多,一個好的學生離不開一個好老師嗎,雖說我不算一個好學生,但是老師在我編程序過程中也起到了很大的作用,就像老師說的一句話一樣“革命尚未成功,同志仍需努力”,我們在C語言這門課上還會繼續走下去,以后還會經常碰到,我會努力的。

實驗一 工作平臺

一、目的和要求

1、熟悉C語言程序的支持運行環境,了解所用計算機系統的軟、硬件配置和使用方法。

2、初步了解運行一個C語言程序的過程。

二、實驗環境

硬件環境:計算機(windows xp系統) 軟件環境:Turbo C3.0或VC++6.0

三、實驗內容

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;}

數據輸入與運行結果:

1.2編寫一個程序,從鍵盤輸入兩個整數,輸出這兩個數之和。

源程序代碼:

#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); 數據輸入與運行結果:

1.3編寫一個程序,求3個整數之和。

源程序代碼:

#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);}

數據輸入與運行結果:

1.4編寫一個程序,從5個整數中找出最小的數。

源程序代碼:

#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);}

數據輸入與運行結果:

1.5寫出下列程序的輸出結果。

(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); }

數據輸入與運行結果:

1.6分析比較下面兩個程序的輸出結果。

(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;}

數據輸入與運行結果:

實驗二 C語言基礎

一、目的和要求

1、進一步掌調試的方法。

2、掌握數據的輸入和輸出方法。

3、掌握有關運算符與表達式的運用。

二、實驗環境

硬件環境:計算機(windows xp系統) 軟件環境:Turbo C3.0或VC++6.0

三、實驗內容

2.1 上機調試下面的程序,給出運行結果。

(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); }

數據輸入與運行結果:

2.2指出下面程序段中的錯誤,并加改正。

#include

int main(void)

{int a; float b; char c; scanf("%c%d%c%f";c,a,a,b);}

數據輸入與運行結果:

改正后的程序:

#include

int main(void)

{int a; float b; char c; scanf("%c,%d,%f",&c,&a,&b);

printf("%c,%d,%f",c,a,b);}

運行結果:

2.3寫出下面程序段執行后變量a,b,c的值。

char a=’2’,b=’a’;int c;c=a+b;a=c;

數據輸入與運行結果:

程序:#include

int main(void)

{char a='2';char b='a';int c;c=a+b;a=c;

篇2

關鍵詞:C語言

中圖分類號:TP3-4 文獻標識碼:A 文章編號:1007-9599 (2012) 08-0000-02

一、C語言的主要特點

(1)C語言適合于多種操作系統,也適用于多種機型。C語言對編寫需要硬件進行操作的場合,明顯優于其它高級語言。

(2)C語言具有各種各樣的數據類型,并引入了指針概念,可使程序效率更高。而且計算功能、邏輯判斷功能也比較強大。

(3)C語言結構式語言的結構化方式可使程序層次清晰,便于使用、維護以及調試。C語言是以函數形式提供給用戶的,這些函數可方便的調用,并具有多種循環、條件語句控制程序流向,從而使程序完全結構化。

(4)C語言把高級語言的基本結構和語句與低級語言的實用性結合起來,可以像匯編語言一樣對位、字節和地址進行操作。

二、C語言幾個函數的使用方法

(一)main()函數的正確定義

main()函數必須聲明為int main()或int main(void)或int main(int argc,int **argv)

不能定義為void main(){}以消除無返回值警告,但是它可能導致與調用者期待的返回順序不能的返回順序

(二)有關i++的定義

int i=3;

printf("%d",(i++)*(i++));我的編譯器輸出結果是9,而不是12。原因盡管后綴自加和后綴自減操作符++和--在輸出其舊值之后才會執行運算,但這里的“之后”常常被誤解。沒有任何保證確保自增或自減會在輸出變量原值之后和對表達式的其它部分進行計算之前立即進行。也不能保證變量的更新會在表達式“完成”之前的某個時刻進行。本例中,編譯器選擇使用變量的舊值相乘以后再對二者進行自增運算。

(三)NULL(空指針)到底是什么?

每個指針都有一個特殊的值,空NULL,這與其他對象或函數的地址都不相同,也就是說在程序中通過&(取地址運算符)永遠無法得到NULL地址。

當一個指針類型的變量被賦予0值,那么編譯器在編譯的時候會將其作為NULL指針,即在指針初始化、比較、賦值的時候NULL可用0代替。即自己定義

#define NULL 0

如果NULL要以函數參數傳遞的時候,編譯器可能不知道這是指針類型的變量而把其當作是常數0看待,這是可以進行強制類型轉換(char*)0來使編譯器將其作為NULL來使用。即

#define NULL ((void *)0)

所以空指針的使用注意

*在源碼中使用空指針常數時,則使用0或NULL

*在函數的參數傳遞時如果使用空指針,則使用NULL或相應的類型指針0((type *)0)

(四)*p++的含義是自增指針p,還是自增p的內容

*p++和*(p++)等價,++和--比前綴的一目操作運算符優先級高,它的含義是自增p并返回p增加前地址的內容。所以如果自己比較混淆,干脆使用括號消除自己的歧義。

三、數組的應用

用簡單變量固然能編出各種各樣的程序,但在實際處理問題時,常常遇到這樣的情況:需要對同一類型的數據進行多次記錄,并且需要將歷次記錄保留下來進行處理。例如,某班有40名同學,他們的某次測驗的成績共有40個數據,需要將數據記錄下來分析成績。如果用簡單變量來表示,命名起來很麻煩,操作更不方便。

我們可以把同一類型數據的變量用同一個名字來代表,而這一類型的不同變量用不同的號碼加以區別。如用m1,m2,m3…m40代表測驗成績,可以表示為m(1),m(2),m(3)…m(40)。我們把按一定順序排列的一組數據或變量叫做數組。數組中的每個數據或變量叫做數組元素。

在數組中,每個數組元素都處于某一確定的位置,這個位置就稱為該數組的下標。如果數組元素是變量,也就稱為下標變量。

下標變量的格式為:

數組名(下標)

例如,a(1)、a(2)…t(10)等都可以作為下標變量。

數組中下標的個數稱為數組的維數。我們經常使用的有一維數組和二維數組。

數組定義方法:類型 數組名[下標] (下標是指數組的長度)

例:int array[10]//這樣我們就定義了一個長度為10的數組

為什么說在某些情況下數組比單個變量好用呢?下面來做一個示范:

輸入一個五位數,分解為五個單個數字并輸出。

要做到這個要求首先要懂得拆數。下面來講一下拆數的方法:

首先,我們要使用取余來取一個數個位數字。使用“%”便可以達到要求。

例如:123 % 10=3(123對10取余,就是123除以10等于12余3,我們就把這個余數取出)

然后:123/10=12(如果定義int類型的變量,這里的“/”不是除以,而算是整除,所以小數點后舍去)

再用:12%10=2(十位的數也被取出了)

最后:12/10=1(百位的數也被取出了)

綜合以上拆數的方法,我們可以發現,一個數取余,就可以拆出一個單位數,再整除10、取余,就又可以得到一個數。這樣我們就可以將一個多位數拆分為多個單位數。這就是拆數的基本方法。

下面我們使用非數組方法來做一次

int a,b,c,d,e;//定義5個變量分別保存5個數字

long n;//用于讀取輸入的數

do{printf("請輸入一個5位數");

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("這五個數是%d %d %d %d %d",e,d,c,b,a);

這樣寫一個程序,用了這么多變量,如果要拆十幾位的數,那就十分麻煩了。所以,下面使用數組來做一次,大家可分別來作比較。

int a[5];//定義長度為5的數組,注意:下標的范圍是0~4,所以后面a[5]是不可使用的

long n;

int i;

do{printf("請輸入一個5位數");

scanf("%d",&n);}while(n>99999||n

for(i=0;i

{a[i]=n%10;//每次取最后面那位(這應該很容易理解,不理解的話把程序輸入到電腦中試驗一下就知道了)

n=n/10;//每次取完以后原數要縮小十倍,給下一次做準備

}//做完5次拆數,循環退出

/*在上面的循環體中,我使用了i作為a數組的下標,因為i是可以變的,而i的變化就可以指定到數組的下一個位置。也就是說,現在a[0] a[1] a[2] a[3] a[4]分別保存的就是原數的個位、十位、百位、千位、萬位。在輸出的時候,我們同樣可用循環從后往前輸出。*/

printf("這5個數是");

for(i=4;i>=0;i--)//注意這里是從4~0的循環,增量部分使用i--,每次減一

{printf("%d",a[i]);//因為i是變量,所以每次做循環體的時候a[i]表示的是就是a[4]、a[3]、a[2]……}

篇3

關鍵詞:計算機;C語言;應用特點

引言

計算機技術在當下應用得極為廣泛,而隨著計算機技術的發展,已經逐漸從最基礎的高級語言發展到了各種硬件和軟件系統,而只有在編碼正確的前提下,才能保證高級語言程序的順利執行,在計算機編程的過程中,C語言是較為常用的高級語言,在整個計算機系統中應用很廣。這就需要進一步加強研究C語言計算機的應用,使其得到更好地應用和推廣。

1 C語言簡述

計算機中C語言是較為常用的設計語言,并具有高級語言和匯編語言的雙重特點,也正因為具備這樣的特性,使其得到了大力推廣,應用較為廣泛。C語言的使用最早可以追溯到1972年,美國的貝爾研究所推出了C語言,通過研究人員的不懈努力,C語言得到了改進和完善,進而應用的范圍越來越廣。C語言的設計和編寫功能得到了廣泛應用,其除了能夠滿足工作系統的相關設計外,還能夠更好地完成一些程序的編寫工作,這也有力地說明了C語言之所以得到廣泛應用的原因所在。現階段C語言還能夠有效處理數據,也就突破了軟件系統的局限,在各種科學研究中也得到了應用。

2 C語言的特點

(1)操作簡便、靈活。C語言具有操作簡便的特點,而且還很靈活,主要是由于其包含了9種控制語言以及32個關鍵字,還能區分出大小寫。這就提升了編程書寫的效率,也便于高低級語言的更好的結合使用。

(2)廣泛的運算符設計。C語言中運算符的使用會涉及到眾多方面,涵蓋三種運算符,C語言對于一些賦值、括號以及相關強制類型的轉換,能夠利用運算符進行有效的處理,這樣就豐富了C語言的運算類型,是其他語言單一性所無法比擬的。

(3)標準庫函數的應用。在C語言中,很多都是利用標準庫函數來完成的,只有實現選擇、順序和循環等九條控制語句除外。這就需要在C語言的學習過程中,在全面掌握各種運算符和這九條控制語句的同時,必須要熟練掌握常用標準庫函數的基本使用。在現階段的發展中標準庫函數是C語言程序編寫過程中較為重要的單位。

(4)指針的有效性操作。不同于其他語言,C語言的指針獨樹一幟,這使C語言的使用范圍更加廣泛。究其原因,主要是因為C語言中的指針能夠直接控制硬件系統中的操作,使系統的工作效率更高,也更加方便快捷。同時,在指針的操作中,有時保護措施做得不到位,導致了安全問題的出現,使C語言指針優勢削弱了,這也是C語言指針的缺陷所在。而Java和C++是彌補這些缺陷的有效措施,但也存在安全上的缺陷,進而使C語言系統運行效率大幅度降低。總之,C、Java和C++屬于一個系列,是編程的重要方面。

(5)C語言的語句。C語言也同其他的高級語言一樣,需要利用函數體中的相關語句來向計算機發出操作命令。控制語句應用得最多,最大的功用在于完成計算機的控制,一般情況下,C語言中的控制語句共有九條,從類別上來看又可以分為三種――循環結構控制語句、選擇結構控制語句、其他控制語句。循環結構控制語句主要有:for()~,while()~,do~while(),break,continue;選擇結構控制語句主要有:if()~else~,switch()~;其他控制語句主要有:goto,return。

3 計算機中C語言的應用

(1)有效表達文字和數據。有效表達文字和數據是C語言得到廣泛應用的前提和基礎,在具體的操作過程中,C語言能夠將一些簡單的數據和文字巧妙的連接在一起,從而達到更為有效的表述。這里值得強調的一點是在二進制中文字和數據的表述還有一定的缺陷,此問題就可以利用C語言來進行妥善解決。同時,二進制可以發揮的空間是比較大的,但表達起來卻很抽象,如果無法轉為相應的語言,就會在使用者的理解上造成一定的困難,C語言能夠有效表述這些文字和數據,使文字和數據的傳輸更為準確,使用效率更高,范圍也更廣。

(2)靈活設置變量。靈活設置變量也是C語言中極為重要且不可忽視的一個方面,其中大部分變量的地址均是由變量字節中的第一個字節地址所表述,使指針變量中變量的靈活設置和使用性更高,還可以利用靈活的設置來達到既定要求。在具體的操作過程中,相關人員在設置變量的初始值時所依靠的就是語言數據的類型和內存的特點,這樣預期的結果就能從中反映出來,大量事實證明,這樣做使C語言編程的工作效率大大的提升。

(3)完善的內存儲器。要想實現C語言良好的應用離不開完善的內存儲器系統,之所以這么說,主要原因在于C語言運行中絕大多數數據保存的地點是內存儲器,之后才利用CPU進行處理。計算機系統的正常運行,必須要有內存儲器作為支撐,所以完善的內存儲器是C語言運行的先決條件,也只有做到這一點,C語言的優勢才能得到最大化的發揮。完善的內存儲器在一定程度上關乎C語言的運用,二者相輔相成,因此為了保證C語言中每一個字節都配備唯一的編號,需要更多位的二進制來支撐,為了實現以上這些也需要內存儲器的存儲容量大。

(4)有效處理計算機的關鍵環節。運用C語言中,還要對計算機中的關鍵環節進行有效的控制和處理,這樣做的目的在于計算機中包括很多環節,而C語言程序的設計是保證計算機得到有效運用的關鍵環節,C語言的使用能夠解決計算機使用中所出現的程序問題,還要對計算機中的關鍵環節進行有效的處理。大量事實證明,通過C語言的合理使用,一方面有效控制了計算機語言的編程方法,另一方面還大幅度提升了計算機的運行效率和質量,這樣就提高了計算機軟件的競爭力,這就是計算機中關鍵環節的意義所在,也充分說明了處理好關鍵環節的重要性。

4 結束語

通^文章的分析使我們充分了解到現階段我們的社會已然進入了計算機的網絡時代,計算機自然是不可或缺的重要組成部分,重要性是毋庸置疑的,而且重要性會隨著技術的不斷深入發展得到更好的體現,C語言是計算機中重要的編程語言,應用的范圍很廣,所以要重視C語言的應用,相關的技術人員要認識到自身工作的重要性,努力提高自身的專業技能,還要在日常的工作中注意積累經驗,總而言之,使計算機中的C語言應用得更好,為經濟社會的發展貢獻出應有的力量。

參考文獻

[1]章賽 .解析計算機中C語言的運用[J].消費電子,2014,7(2):69-70.

[2]田美艷.計算機中C語言的應用特點分析[J].電子制作,2015,12(8):104-105.

[3]崔寧.計算機原理中C語言的應用價值[J].電子技術與軟件工程,2015(09).

篇4

C語言是一種計算機程序設計語言,是計算機匯編語言的重要組成部分。其實質就是通過對語言進行編寫和翻譯,使其產生一種與社會相銜接的語言,讓人和計算之間通過這種語言能夠進行簡單的交流。C語言是在1972年由美國貝爾研究所提出,1978年先后被運用到各種機型中。C語言具有雙重性,具備高級語言的特點和匯編語言的優越性,不僅能對系統應用程序進行編寫,而且能對不依靠計算機硬件的應用程序進行編寫。同時C語言也具有廣泛的應用性,能在多個計算機的操作系統中運用,大大提高了計算機軟件編程的效率。隨著計算機的日益普及,C語言的應用領域越來越寬,成為目前較為流行的高級程序設計語言之一,在許多大型的軟件編程中被廣泛的應用。C語言具有如下的特點:

1.1模塊化思想模塊化的基本思想就是運用C語言在進行計算機軟件編程設計時,按功能作用的不同將一個較大的程序分割成為許多小的子模塊,使每個小的子模塊成為一個功能單一、理解簡單和結構合理的小程序。

1.2簡潔性強C語言具有語言簡潔、結構緊湊、使用方便、靈活的優勢。C語言包含了32個關鍵字和9條控制語句,源程序書寫方式較自由靈活,因此在計算機軟件編程中要選擇使用小寫字母,壓縮掉所有不重要的部分。

1.3運算范圍廣C語言總共具有34種運算符,其運算符號十分豐富且對運輸結果能采用各種各樣的表達形式,因此C語言的數據處理能力強,可以為各類數據結構進行復雜的運算,進行一些高級語言較難實現的運算功能。

1.4移植泛用性C語言在進行軟件編程中基本上不需要做任何的修改,就能運用于各種不同型號的計算機和操作系統環境上,從而形成很多不同版本的C語言。

1.5應用效率高C語言的應用結構簡單清晰,能夠對內存中的相應地址進行直接的訪問,操作十分方便,被稱為高級語言中的低級語言。同時能夠直接調用系統功能,直接操作硬件,具備許多高級語言所不具備的高效率。

2.C語言在計算機軟件編程中的技巧

C語言具有模塊化的特點,因此在計算機軟件程序編程中,充分發揮C語言的靈活性和方便性,提高軟件編程的技巧性,能夠優化軟件程序編輯和提高軟件開發的效率和質量。

2.1變量數據和運算模式的合理設置設置變量數據時,要在最大限度滿足計算機軟件編程需要的前提下,盡可能合理的設置變量數據,使用無符號的最小數據類型,這樣能減少程序代碼,從而促進計算機軟件編程的有效運行。同時在設置運算模式時,要盡量運用定點運算,避免運用浮點運算。

2.2變量存貯器類型的合理定義在計算機軟件編程中,采用和操作不同類型的變量存貯器時,會造成編譯后的代碼執行效率各不相同,只有合理定義變量存貯器類型,才能不斷提高程序的執行效率。因此在定義變量存貯器類型時,應在滿足條件的情況下盡量選用內部直接尋址存貯器。

2.3變量存貯類型的靈活設置在計算機軟件編程中,C語言具有模塊化思想,正確函數變量的傳遞在編程中十分重要,因此子程序模塊使用的變量常采用局部變量,而整個程序模塊使用的變量要采用全局變量。另外在C語言中靈活使用指針、結構和聯合,也便于數據的傳遞,提高軟件編程的效率。

2.4設計軟件編程與C語言的接口C語言具有程序執行速度快和直接操作硬件的優勢,在進行數據采集、中斷服務器處理和實時控制時,可以將C語言程序運用到計算機軟件編程中,自行控制數據的傳遞,從而能夠精確控制任務,加快實時響應。

2.5編譯控制指令的正確選擇C語言能為計算機的軟件編程提供了20多條控制指令,總體可分為首要控制指令和一般控制指令,首要控制指令的選擇只能用一次,要放在源程序的開始處,以防止重復而導致停止編譯,而一般控制指令的選擇可以多次。因此選擇正確的控制指令,能加速程序調試過程。

3.C語言在計算機軟件編程中的應用

C語言具有很強的優越性,可以適用于計算機軟件編程實驗研究,這就需要對C語言在計算機軟件編程中的應用有一個全面的認識,避免在以后的程序設計過程中出現基礎不足的情況。

3.1指針的應用C語言中的指針代表相關變量、相應函數的地址和地址相對應的存儲內容。在進行軟件編程時,如果一個相應的變量聲明前面,出現“*”號,那就表示這個內存地址相對應的存儲內容。通常情況下C語言的一個指針代表著一個相應函數的地址,是一個常量。此外,C語言的指針可以在調用函數時得到幾個不同于return(z)的返回值。

3.2字符串在C語言中,字符串是一種以ASCII的UNL作為數組退出的一種chair型的數組,在計算機軟件編程中,字符串的使用一般不需要引用庫。但在C標準庫中包含著一些函數可以操作相應的字符串,在使用這些函數時,需要運用相對應的頭文件進行引用。

3.3C語言結構C語言主要包括三種結構模式即順序結構、選擇結構和循環結構。順序結構在C語言中是按照先后次序進行操作,通過構建一個相對簡單和完整的程序,進行相對獨立的運用。循環結構是在進行各種數據運算和處理時,需要對其中的一些語句進行反復的執行,這在一定程度上簡化了程序的長度,使程序變得簡潔。選擇結構是根據相關的分支條件選擇相應的執行路徑,在計算機軟件編程中要選擇具有較強適應性執行路徑。

篇5

1.1理論與實踐不能相輔相成

計算機課程對學生的實際操作能力要求很高,需要學生把理論上學習的知識融會貫通,運用到編程中??墒窃诤芏鄬W校計算機C語言課程的理論與實際聯系不緊密,導致很多學生理論知識學的很好,可是不具備嚴謹的邏輯思維能力,在實踐中不知道如何進行具體操作。而且部分學校受到硬件設施的限制,不能做到人手一臺電腦,教授計算機課程的教師也不是本專業的,在實踐課上沒有進行計算機的教學,導致學生們用電腦進行其他娛樂項目,忽視了實踐課的學習,影響了學生的學習效率。

1.2C語言課晦澀難懂,學生的學習興趣低

學習計算機C語言要求學生具備良好的邏輯思維能力,能夠充分理解書本上的知識,在大腦中形成思維脈絡,并運用到實踐中。C語言知識比較晦澀難懂,需要學生精神高度集中,提高自身的理解能力,善于思考,把書本上的字母,轉化成編程用的符號。很多學生在剛開始學習的時候沒有打好基礎,對于知識一知半解,隨著學習的深入,大量問題暴露出來,導致學生跟不上教學進度。學生學不會C語言基礎知識,也缺乏對問題的思考,導致知識越落越多,形成了惡性循環,長此下去,難以培養學生對于學習的興趣。

1.3C語言實驗教學的方法比較單一

C語言的學習是枯燥乏味的,需要更多的是大腦的思考,不斷探討問題的解決方法。很多學校開設課程是為了應付考試,沒有對該門課程進行詳細的介紹與教導,導致學生對知識的學習沒有給予足夠的重視,實踐編程也是照著書本的例子模仿,對于整個學習過程沒有花費過多的精力。C語言僅僅靠老師教授知識是不夠的,而且老師也不可能把所有的情況都考慮完全,在實踐中有時候符號位置的變化都會影響編程的結果,所以需要學生結合自身實際情況去解決問題。

二、提高高校計算機C語言實驗教學質量的主要策略

2.1在實踐教學前期加強對學生理論知識的教學,打好實驗學習的理論基礎

理論知識是實踐操作的基礎,為計算機編程提供科學依據。學校應該重視對于理論知識的教學,在課堂上加強對基礎知識的講解,確保學生打好堅實的基礎,然后再進行深層次的教學。在遇到重點、難點時,教師要反復強調,或者是用提問的方式增加學生的印象,鞏固學生的理論知識水平。還要注意結合一些編程的實例,讓學生去體驗理論知識和編程應用的聯系。

2.2強調學生在實驗教學中的主體性地位,為學生提供自我發揮空間

C語言教師除了從科學合理化教學模式與內容以提高學生的興趣和投入度之外,還要注重讓學生自行動手操作。在學生獨立自主的實驗操作過程中,才會形成這樣或那樣的問題,并進行獨立思考。學生自由實驗操作期間,教師應當在教室內不斷巡視,以及時注意到學生們的難點并回答他們提出的問題,不過巡視的也不用過于頻繁,避免干擾學生的實驗操作興致。

2.3加強實驗教學過程中的師生交流互動與學生間的合作探究

學生在遇到問題的時候才能知道自己知識點薄弱的地方,所以在課堂上教師應該經常提問,并且隨時對答案進行補充,以加深學生的印象。在實踐中要讓學生學會獨立編程,對學生在編程中出現的問題進行改正。并且在班級中設立學習小組,統一布置課題,以加強學生間的交流合作,促使小組間進行良性競爭,引起學生的學習興趣。小組成員共同討論課題,研究解決方案,對于提高自身的實踐能力和創新能力有重要作用。

三、小結

篇6

這次實訓有很大的收獲,讓我對c語言有了更深的認識,平時在課堂上學到的東西可以自己動手編寫,將其轉化成一些實用的技能。如果是一個程序寫完一處錯誤也沒有,會有種成就感,于是興趣就來了,興趣來了,自然學的東西也就多了,能把理論變成實際的技能,讓我對c語言有了濃厚的興趣和更深層的認識。

c語言是一個有序的學習,學了最基本的替換,然后擴展到循環,嵌套,條理很清楚,不是一個零散的知識,實際上所有的課程都如此,不過通過實訓我也知道了自己的不足,存在的很多問題。

比如自己寫的寫的小程序出了問題,不會解決了就叫老師幫忙,雖然說一定意義上增加了師生之間的感情,但是會養成一種依賴的心理,碰到問題了第一個想到的是求助而不是自己獨立解決,所以以后要多多鍛煉自己的信心和增加自己的能力,爭取做到老師不在身邊的時候也可以完成一些簡單的程序編寫與錯誤排除。

還有自己的基礎知識不扎實,遇到的問題,沒有很好的邏輯思維,親自編寫一個陌生的程序的時候會有種無法下手的感覺,找不到突破口。通過實訓,逐漸理清了順序,對于簡單的程序和一些相對比較繁瑣的嵌套,循環,不在是看著一頭霧水。其實只要理清了思路,把基礎知識掌握了,然后有條不紊的分析,一步一步理解,c語言還是很有意思的課程。

自己親自動手編寫程序讓我增加了對c語言程序開發環境的了解,在上課的時候老師就講,學習c語言最重要的是學習c語言的邏輯思維,不管以后從事什么行業,學習c語言都對自己的職業很有幫助,如果是從事編程工程工作的話,就更有幫助了,即使以后的編程工作可能不用c語言,但是擁有扎實的c語言基礎是對工作很有用的。

篇7

關鍵詞: 非計算機專業 C語言程序設計 邵陽學院

目前,C語言程序設計課程已成為計算機專業及其他相關專業的基礎課,目的是通過C語言程序設計課程的學習,使學生掌握用計算機解決問題的方法,學習常用的各種算法,掌握程序設計的基本思想。程序設計思想貫穿相關專業的后續課程,是最基礎的內容。教學實踐證明:程序設計課的教學質量對相關后續課程的教學與實踐有很大的影響。

1.C語言程序設計前期教學中存在的問題

C語言程序設計是一門邏輯性較強的語言類課程,對于初學程序設計的大學生來說,面臨大量的基本語法和程序結構理論性的學習,某些學生認為教師講的這些知識理論性較強而實用性不強,因而會對這門課程的學習產生不重視甚至是抵觸的心理。還有的學生雖然認識到該課程的重要性,也很想學好,但由于教材缺乏較容易理解和生動有趣的范例,感覺學習過程缺少樂趣與興趣,漸漸地就失去學好這門課程的自信心。同時在實踐考察環節中由于實驗內容設置欠合理,大部分學生即使到期末也很難對本門課程有一個整體框架式的認識,課程教學效果無法保證。

2.原因的剖析

(1)學生的基礎薄弱,特別是英語、數學比較差是一個主要原因,也是阻礙他們學習該門課程的最大障礙。英文版的VC++系統是大部分學生攔路虎,程序算法問題的處理更讓他們望而卻步,要真正解決問題,就要想辦法提高他們的學習興趣,讓他們不斷地練習,積累經驗,尋找解決問題的突破點,探索適合學生發展的教學方法和教學內容,以充分調動他們的學生積極性和主觀能動性。

(2)有的教材內容過多過難,不符合非計算機專業學生的實際。首先我們先對C教材進行分析,目前使用的C語言教材涉及太多的數學知識,這使得學生一看到教材就感到頭昏腦漲,培養興趣就更無從談起,使得老師在講授例題和練習時首先必須先解釋數學知識,然后學生才能勉強接受。當前常用的編程系統是TruboC,其特點是:①界面是單任務的DOS界面;②菜單、命令、幫助等都是英語;③當程序出現錯誤時,也都是英語提示信息,學生感覺無從下手,而且操作麻煩,為了與計算機等級考試相適應,因此我們使用漢化的VC編譯系統替代TurboC。

3.非計算機專業C語言程序設計教學的特點

與計算機專業相比,非計算機專業的C語言程序設計教學有其自身的特點,主要表現如下:

(1)教學目標不同。

計算機專業的學生學習C語言是為了增強邏輯思維能力,為學習其他的編程語言和以后從事軟件開發工作打下基礎;而對于非計算機專業的學生來說,掌握計算機知識主要為以后就業提供保障,因此,通過這門課程的學習,使學生順利通過國家計算機二級考試,獲得一份二級證書無疑是每位教師努力的方向。

(2)教學重點不同。

計算機專業的教學主要為了提高學生的編程技能,因此所教授的內容無論是從難度、深度和廣度都遠比非計算機專業要大;而非計算機專業的教學重點是依據二級考試大綱,學生只需要掌握大綱要求的知識點,牢固基礎知識,具備一定的編程能力即可。

(3)教學手段不同。

計算機專業的C語言教學理論和實驗學時都很充足,可以將重點難點知識深入展開講解,除了實驗課外,還可以安排實習讓學生動手編寫一個完整的應用程序,為后續的學習打下基礎;而非計算機專業受學時所限,需要教師在理論課上利用有效的教學方法,高效地把重點難點內容講透徹,在實驗課上盡量激發學生的學習興趣,引導學生自主學習,使學生逐步學會編程。

4.C語言程序設計課程教學改革

邵陽學院非計算機專業的C語言程序設計課程都安排在大一的下學期,均為理工科學生開設,由于這一階段課程多,課時長,而C語言程序設計課程側重于應用,需要大量的上機實踐。而且C語言課程中存在較多新的概念,較為抽象、復雜,對于一年級學生尤其是非計算機專業的學生來說還存在很大的難度。針對這一問題,我們在多年的教學實踐當中對于教學方法進行了一系列的改進和探索,取得了較好的教學效果。在這里進行簡單的總結和分析,主要從教學目標、教學內容、教學模式、教學評價及師資隊伍優化等方面提出多項教學改革措施。

(1)明確教學目標,優化教學內容的組織結構。

教學目標是指教學活動實施的方向和預期達到的結果,是一切教學活動的出發點和最終歸宿[1]。C語言程序設計的課程教學目標要求學生掌握C語言的基本概念、語法和程序設計的常用方法,領會結構化、模塊化程序設計的基本思想;通過編程訓練,熟練地使用編程工具編寫和調試程序;在課程學習的過程中,形成良好的編程風格和程序設計思維方式,提高分析問題及通過設計程序解決實際問題的能力,為專業課程體系中后續課程的學習打下基礎。教學內容是實現教學目標的基礎,合理地組織教學內容是實現教學目標的保證。只有通過分析和研究C語言程序設計的前導、后續課程才能更好地優化教學內容的組織結構。C語言程序設計的后續課程可以分為直接后續課程和間接后續課程,其課程內容的組織優化要以服務后續課程的學習為目的,充分考慮課程內容之間的內在聯系。例如C語言中的單向鏈表屬于數據結構中的鏈表部分;C語言中的文件讀寫函數是操作系統中文件處理的具體實現;C語言中的結構體可以看成面向對象程序設計中的類;C語言是學習編譯原理的載體和媒介。總之,任課教師要認清C語言程序設計課程在整個專業課程體系中的地位,講解內容時要有的放矢,不但要告訴學生學什么,還要告訴學生學有何用。

(2)采用師生互動式教學與任務驅動式教學相結合模式,提高學生的學習積極性。

邵陽學院C語言程序設計理論授課46課時,授課過程中要求教師同時應用PowerPoint和VC++兩個軟件,課件制作要求高質量,當講解到程序示例時,適時切換到VC環境中演示C程序運行,例如有這樣一個程序:假設有一張足夠大的紙,厚度為0.0001米,問將這張紙對折多少次超過珠穆朗瑪峰高度。程序代碼如下:

main()

{floath=0.0001;

intn=0;

while(h

{h=2*h;n++;}

printf(“n=%d次”,n);}

此題讓學生感覺很有意思,當程序結果打印出來是27次時,學生頓時目瞪口呆,在腦海里產生深刻的印象,接著修改程序的部分語句再次運行,顯示每一次變化的數值,讓學生立即看到修改之后的結果,幫助學生徹底搞清楚程序每個部分的功能,讓學生直接看到程序的真實運行結果,大大調動學生的學習C語言的積極性。VC環境中字體較小,后排的學生往往看不清楚,可以打開Windows輔助工具中的放大鏡功能,對局部區域進行放大,增強顯示效果。我們還結合VisualC++集成開發環境進行示錯教學的嘗試。給出一些例子和程序,讓學生進行分析,哪些是對的,哪些是錯的,錯誤的原因是什么,應該怎樣修改。然后立即在VC中演示,先演示未作修改之前的運行情況,提示學生注意VC報告的錯誤信息及相關位置,接著在修改后再次運行程序。這樣可以使學生對于相關知識點掌握得更加牢固。同時,我們針對某些比較復雜、學生理解起來有一定困難的算法制作生動有趣的FLASH動畫。如排序算法中的冒泡排序、選擇排序。函數調用中的遞歸調用(以漢諾塔問題為例)等。講解具體算法時結合動畫演示,將抽象問題形象化、枯燥問題生動化,使學生較快地理解相關算法的思想實質。

在基本語法知識互動式講解完成后,可以引入任務驅動教學法穿插于教學過程中[2],以完成一個個具體任務為線索,由教師巧妙設置任務,任務中含有知識點,把教學內容融于實際任務中。任務開始時向學生介紹需要用到的概念、思想和方法,學生經過思考和教師的點撥,自己解決問題。在完成任務的同時,可以培養學生的創新意識、創新能力及自學的習慣,學會如何發現問題、思考問題及尋找解決問題的方法,從而極大地提高學生的主觀能動性。在這個過程中,教師的任務則是對學生如何完成任務進行引導和指導,并加以鼓勵和評價。

(3)加強實踐環節,增強學生動手能力。

我們精心制定12次(24課時)上機實驗內容,其中包含11次設計性實驗和1次綜合性實驗,設計性實驗內容按最新大綱要求所訂,綜合性實驗鍛煉學生的綜合應用能力,實驗內容統籌語法掌握與能力的培養。上機實驗是學生掌握C語言的語法、語義、程序結構的重要過程,能提高學生的動手能力,加深學生對基礎知識和算法的理解,是提高學生程序設計能力的重要環節,實驗教學和理論教學同樣重要。上機實驗前要求教師課前做好充分的準備,必須精心設計每一次實驗課,同時要對學生提出具體要求。要求學生根據教師的實驗題目在上機實驗前完成相關程序設計,并形成實驗報告,最后完成上機實驗,并提交實驗報告待老師檢查。實驗任務可以給學生以壓力,在規定的時間讓學生充分動腦,爭取在短時間內完成任務。這樣做有利于提高學生自身運用C語言的能力,展示平時學習的效果。較高的實驗分數能給學生一種榮譽感及成就感,更有利于調動學生學習的主動性、創造性,充分展示學生的學習能力。對于成績好的學生出現“吃不飽”的問題,我們特意組織有經驗老師像搞課程設計一樣,另外為他們加題,指導他們完成任務。

(4)加強課外輔導,及時了解學生的學習情況。

課外答疑和習題課是課外輔導的一種形式,是完善教學的一種補充,每章內容教學完成后,給學生布置一定量的作業,安排一次答疑或一次習題課,往往可以達到事半功倍的效果,由于時間關系,習題課上由教師詳細挑選有一定代表性習題進行詳細講解,對編程思路及程序結構進行解析并演示運行結果。答疑則通過課后實現,為此要求老師與所任班級學生始終保持通訊暢通,采用面授、郵件、QQ工具等方式實現。這樣可及時掌握學生的學習情況,真正做到為學生服務。

(5)使用多種評價形式,優化師資教學團隊,提高服務水準。

課程評價既檢驗學生對基本概念、語法知識的掌握,更檢驗學生使用程序設計解決實際問題的能力;評價一般應采用筆試、上機考試兩種形式,具體有學校課程考試、湖南省計算機等級考試、全國計算機等級考試等。筆試題目的題型豐富多樣,利用選擇題、填空題考查學生對基本知識的把握,利用閱讀題、編程題考查學生讀、寫程序的能力。上機考試可以使用隨機抽題自動評分系統,對學生的動手能力進行客觀、公正的評價。在對學生學習情況評價的同時,學校應組織學生評教和教師互評活動,通過對教師的多方位評價衡量教師教學的質量。教師隊伍的優化是有效實施教學改革、穩步提升課程教學質量的重要保證。C語言程序設計教學隊伍要依托課程質量工程建設,在課程負責人的帶領下積極申報教研項目,定期開展教研活動,重點培養一批中青年教師,逐漸形成一個教學水平高、科研能力強、年齡層次合理的優秀教學團隊。

5.結語

通過對非計算機專業C語言程序設計課程的教學實踐,我們深深體會到教材的選擇、課程內容的安排、教學方法的運用不但要符合教學的目標,更要適合學生的思維特點。在C語言教學中,注重學生的思維訓練,增強學生的實際動手能力,激發學生的學習興趣,提高學生分析問題和解決問題的能力,將學生引進計算機應用領域,使其在更高的層次上理解計算機和應用計算機,使C語言真正成為非計算機專業學生運用計算機解決本專業應用問題的工具,這才是我們的目的。

參考文獻:

篇8

關鍵詞:C語言;基礎語言;計算機專業

中圖分類號:TP312.1-4 文獻標識碼:A 文章編號:1007-9599 (2012) 17-0000-02

C語言是目前高校計算機專業課程中廣泛應用于教學的計算機高級語言,一直以來被作為計算機專業的基礎課程,在一些非計算機專業的教學中也是一門重要基礎學科。C語言廣泛應用于計算機的各個領域,包括計算機數據分析和管理、圖像圖形處理、操作程序和系統、軟件程序設計等等。C語言作為計算機專業的基礎語言,具有優點多、應用廣、通用性強、可植性強、效率高等特點,這決定了它廣闊的應用領域和持久的生命力。

1 C語言在計算機應用領域中的應用特點

C語言是進行計算機程序設計的一種基礎語言。1972年由美國貝爾科研所推出,1978年之后開始相繼在其他計算機上進行使用,經過多年的發展的進步,C語言已經成為一門成熟、專業的計算機科學學科。在當下計算機軟件技術迅速發展的前提之下,C語言程序設計已成為現代化編程的主流。C語言能夠廣泛的應用于各種科研領域,與它自身優點和特性密不可分。

(1)C語言可以在DOS、Windows、Linux等多種操作系統下進行程序編寫,不限制操作平臺,具備強大的功能。(2)C語言具有很強的應用性,能夠在計算機科技產業中廣泛運用、快速投產、并且逐步產生可觀的經濟效益。(3)C語言是程序設計、軟件開發最根本的前提和基礎。(4)C語言在計算機領域中發展空間廣闊。(5)C語言具備強大的描述功能和語言結構,是操作系統教學和數據結構教學的課程基礎,滿足當下計算機專業課程教學的需要。

2 目前高校計算機專業的發展現狀

在我國經濟迅速發展和科學不斷進步的共同作用之下,計算機技術已經成為現代社會應用最為普遍的科技成果,給社會帶來了最本質的改觀和深遠影響。高校的計算機相關專業的設立,為計算機科技行業的持續發展源源不斷輸送人才,積極推進了全民計算機技術相關知識的普及和運用。隨著信息時代的全面到來,我國高校的計算機相關專業的規模在不斷壯大。截止到目前為止,全國范圍內大約有上千家高校開設計算機專業。同其他學科的專業設置情況相比較,高校計算機專業的課程設置類型和專業規模都首屈一指。

為滿足社會發展的需求,高校計算機相關專業課程不斷進行改革以培養適應時展的科技型人才。在課程教學中,高校計算機專業的從業教師以現有課程體系為基礎,注重知識的及時更新和實踐練習、前沿操作技術的引入、教學模式和教學內容的完善。在多方努力之下,我國高校計算機專業在探索中蓬勃發展、穩步前行。

結合當前社會形勢和經濟形勢對計算機相關人才的專業和技術要求,高校的計算機專業現狀仍然存在很多問題。對于高校計算機相關專業的學生而言,計算機操作水準和應用能力已經成為衡量個人素質及能力的重要標桿。快節奏的社會生活要求計算機專業的大學生在具備理論知識素養的同時,也要有熟練的專業技能和豐富的實踐經驗。因而高校計算機專業教學所面臨最為嚴峻的問題就是能否使教學內容與時俱進;能否培養出適應社會需要的專業型、復合型人才。

就目前高校計算機專業教學現狀而言,專業師資力量的匱乏、傳統的“填鴨式”方法在理論教學中依舊存在、理論知識與技術操作設置失衡、書面考試仍舊作為常規考核辦法,這些不利于計算機專業學生發展的弊病較為普遍、常見。在高校計算機專業課程體制之中硬件系統教學薄弱、軟件系統方面缺乏實踐練習、相關實驗受到條件嚴重限制、課程體系落伍、數據及網絡理論得不到良好消化等問題還沒有得到全面解決。相關教育部門和高校自身針對上述問題相繼采取了許多改革措施,力爭使高校計算機專業教育符合現代社會的發展需求,盡力縮短課程發展與社會發展之間的距離。

3 C語言在高校計算機專業課程中的重要意義

C語言是計算機相關專業中最重要的基礎課程之一。C語言課程的學習是為了培養學生計算機編程的基本能力,同時為更多計算機技能的學習打下基礎。C語言的應用領域非常廣泛,在計算機圖形圖像處理、操作系統、軟件工程、數據具體分析和數據庫相關管理等方面都需要運用C語言進行設計和編程。決定C語言在計算機科技領域廣泛運用的重要因素之一就是它操作和應用上的可取性。C語言在計算機科技領域中的應用優勢主要包含以下幾個方面:

3.1 C語言強大的功能優勢和良好的使用性能

C語言豐富完備的數據結構設計,能夠較為靈活的對數據流進行控制,同時還具備通用性、可植入性、目標效率較高等優良性能,C語言的上述特性適應計算機程序設計要求。C語言的最大特點就是同時具備高級語言和低級語言的性能,可以實現靈活操作運用。C語言允許編程人員進行分塊編譯,方便編程者管理項目,大大提高編程效率。

3.2 C語言廣闊的市場前景

C語言既是高校計算機專業課程設計中必須學習的基礎語言,又是專業的計算機科技領域里常用的高級語言。它廣泛的應用領域使其具備較強的應用性。C語言在計算機中的運用可以直接投產到計算機科技產業當中并產生十分可觀的效益。廣闊的市場空間和專業人才缺乏的社會現狀,使得C語言開發人才成為大型國企、外企競相爭奪的對象。良好的市場發展形勢證明了,C語言在計算機專業課程中的設置滿足現有經濟形勢下社會對于計算機專業人才的需要。

3.3 C語言在其他計算機專業課程中的作用及地位

C語言作為功能強大、性能優良的綜合編程語言,使用便捷靈活且具有豐富的表達能力。除了具備前文中提及的諸多優點之外,它還可以直接進行計算機硬件方面的操作。適合各種不同類型軟件設計、開發以及系統編寫。C語言在計算機專業課程中能夠起到良好的銜接作用,盡早學習C語言有利于為日后學習“數據結構課程”“C++”“Java”打下良好基礎。

C語言是計算機專業程序設計課程中最常用的基礎語言。學習C語言可以使計算機專業的每一個學生了解程序設計的基本理論、掌握程序設計的相關問題。C語言中的許多內容機制將程序設計得以融入到高級語言當中,而且C語言可使計算機專業初學者更容易掌握程序設計的思維和方法。

在計算機圖形圖像課程中,C語言承擔著開發環境、編寫程序、將計算機圖形的相關理論與計算機繪圖實踐有效結合的重要作用。C語言自身具備強大的圖形功能,并且不限制顯示器和驅動的類型,操作十分便捷。在C語言編譯軟件中大量的圖形庫函數使得C語言的繪圖功能十分強大。

4 總結

C語言作為高校計算機相關專業學生的一門必修科目,作為計算機專業相關課程學習的基礎,它的重要作用和地位是無可厚非的。同時C語言作為現今社會經濟形勢下最流行的計算機基礎語言,它在今后計算機科技領域和產業中的發展也是不可限量的。培養適應時展的計算機專業人才是高校教育工作的要點和重要使命。綜上所述,C語言無論作為高校計算機專業課程學習的基礎語言,還是保證學生具備社會所需專業技能的一種就業手段,它都有足夠的優勢長期存在于高校計算機專業課程體系之中。

參考文獻:

[1]朱迅.“C語言程序設計”教學的探討[J].軟件導刊,2010(8).

[2]王琪,周彩根.C 語言程序設計.課程建設的研究與實踐[J].中國成人教育,2007,12.

[3]蔡曉麗,陳舜青,丁志云.計算機C語言實驗教學改革探討[J].電腦知識與技術.2010,15.

[3]曹鳳蓮,李英明.淺談C語言學習[J].網絡與信息,2007,6.

[4]高偉,張國印,黃宏濤.C語言程序設計課程建設研究與實踐[J].計算機教育,2010,16.

篇9

關鍵詞:C語言程序設計;教學方法;非計算機專業;示例教學法

中圖分類號:G642 文獻標識碼:A 文章編號:1009-3044(2013)17-4064-03

C語言是一種通用的計算機程序設計語言,對于計算機專業的學生來說,它是最重要的一門基礎課程。學習C語言之后,可以為后面繼續學習其他的高級程序設計語言打下堅實的基礎。通過對C語言的學習,可以培養學生的提出問題、分析問題、解決問題的能力。在計算機專業的課程設計中,C語言程序設計是數據結構、操作系統、面向對象程序設計等多門課程的先修課程,對這些課程的教學有著直接的影響[2]。

學習C語言不止對計算機專業的學生來說重要,對非計算機專業的學生也是相當的重要。隨著社會的發展,科技的進步,用人單位對員工的要求等的越來越高,加上應屆畢業生的求職門檻越來越高,很多非計算機專業的學生也紛紛學習C語言,因為它不僅可以證明其具有一定的計算機操作的能力,如果拿到國家計算機等級考試C語言二級證書的話,還能在求職過程中,占據相當大的優勢,贏得面試官的親睞。所以大量的非計算機專業的學生學習C語言,而因為其計算機基礎很弱,甚至有的為零,那么怎樣才能讓其將C語言學會,學好,并能靈活運用呢?這就是本文的探討所在。

目前,在各大高校的非計算機專業都會設置相應的C語言程序設計課程,不僅如此,還有大量的培訓機構招收非計算機專業的學生進行培訓,以達到獲得國家C語言二級證書,或使其具備一定的編程能力以備求職所用,可見C語言的重要性。

1 存在的問題

1.1 學生的問題

在近幾年的教學實踐中,發現學生普遍認為這門課難度很大,不容易學,而且即使懂了理論也不會做題或編寫程序。究其原因,主要有:

1)很多學生的學習目的是不明確的[3]。經過相應的調查,發現在高等院校中,很多學生只是順從學?;驅W院的安排,盲目地去上課,根本就不清楚自己為什么要學習C語言,所以一旦遇到困難,就會覺得難學,甚至會覺得學了也沒用,導致學習興趣以及熱情的下降,這樣就會缺乏學習的積極性和主動性。

2)學生的實踐動手能力不高。C語言是一門邏輯性和操作性都很強的計算機語言,而很多學生都不明確上機實驗的目的,甚至有的學生連實驗的內容都不清楚,到了機房就是一盤散沙,不知道要做什么,導致動手能力不高。當然在上機的過程中,也難免會出現某些學生玩游戲等這樣的情況,所以這也是實踐課程中管理的疏忽。

3)對于高等院校的非計算機專業的學生來說,他們對學校安排的計算機課程的重視度不高。認為本門課程不是主課,僅僅是為應付考試而去學習,所以學習積極性不高,有時可能會發生上課不聽講,下課不看書的現象[4]。

4)教學過程中,發現在學生中存在一種普遍現象,即程序設計能力和調試能力都比較弱。究其原因,主要是因為其對于算法不夠熟練,靈活運用知識的能力比較弱,編程的時候程序結構不清晰,標點符號等語法錯誤較多,不夠細心。

1.2 教師的問題

教學的過程是教與學的過程,是教師的教與學生的學相結合的。國內著名的教育技術專家何克抗教授提出來“主導-主體”教學理論[5],他認為教學活動應該以教師為主導以學生為主體,突出教師在教學活動中主導者地位的同時,要注重對學生創新思維和創新能力的培養,避免學生被動學習。

1)在課堂教學過程中,太重理論的講解,而忽視了對學生實踐操作的引導。這就要求教師在備課過程中,必須清楚整個教學大綱的內容,做到有的放矢,理論講解的同時,注重對鍛煉學生動手能力的實踐做相應的指導。

2)在上機實踐時,容易放心讓學生自己練習,導致學生動手能力未能得到確切的提高。這樣就可能會導致很多學生在實驗課上玩耍而不做任何實驗。所以這就要求老師事前必須得做好實驗課內容的設計,并嚴格要求學生達到什么樣的效果,讓學生自己動手操作,以達到鍛煉提高的目的。

2 解決方案

基于上述問題的存在,并結合近幾年的教學經驗,該文提出一些改進的教學方法,以達到提高非計算機專業的學生學習C語言的學習效果。做到盡量讓學生感覺學習C語言很輕松,很有趣,且能將其學會并靈活應用。

2.1首因效應

作為一名教師,應該很清楚第一堂課是非常重要的。首先應該與學生互動,相互了解,建立良好的師生關系,拉近彼此間的距離,如果一個老師的氣場足夠吸引學生的話,后面的教學過程中的任何問題都能很好地解決,缺課現象也會少之又少。其次要消除學生對于C語言程序設計課程的陌生感和神秘感,使其明白C語言對于我們而言,其實并不陌生,它存在于我們的日常生活中。舉例如計算器、手機等電子產品、各種游戲軟件、操作系統、智能電器等的功能都可以由C語言程序設計實現。最后充分調動學生學習的興趣,使其明白學習C語言并沒有想象中的那么難。

在第一堂課時,可以少講課程內容,必須得讓學生明白其學習目的,可以通過現場調查法了解學生的想法,并引導其明白學習本課程的目標。這樣能使學生具有更大的學習動力。充分調動學生的積極性,激發其興趣,這有利于日后的教學工作的進行,以及改變學生學習的氛圍。

2.2 教學方法

要想提高學生的學習效果,就必須得注重教學方法的使用。只有方法對,使用得當,才會達到事半功倍的效果。針對非計算機專業的學生來說,該文總結出下面幾種方法。

2.2.1 示例教學法

項目教學法在文獻[6]中闡述得很清楚,它是通過實施一個完整的項目而進行的教學活動,使學生通過對所選項目的完成來完成對C語言的學習。這樣的方法有一定的效果,但是在實施方面的難度比較大,比如所選項目的難易如何把握,時間如何分配(尤其是在高等院校的日常教學中),達到的效果如何衡量等。這些都很難有一個標尺來衡量。有兩種效果,一是對C語言掌握得非常的好,應用能力很強;二是對C語言一頭霧水,云里霧里,不知所云。所以對此本文提出一種結合項目教學法的優勢與高等院校特點于一體的示例教學方法。此方法是在傳統教學方法的基礎上,對于課堂的設計有所改變。傳統教學注重理論的講解,而此方法是在簡要講解理論的基礎上,針對某些重點知識的運用,例舉一些具體的有趣且貼近生活的實例,做出相應的講解后,加以演示,讓學生對此程序的運行結果等有一個直觀的感受;而且在演示的過程中,還可以教學生相應的一些調試程序找錯的方法,這樣學生自己上機練習的時候,調試能力會大大的增強。通過示例教學法,可以使學生對知識點的掌握以及運用能力得到很大的提高。

2.2.2 誘導法

傳統教學模式是針對什么內容就很直白的講解相應的內容,這樣會使學生覺得枯燥乏味,久而久之會產生相應的厭學情緒,導致學習效率低下,學習效果低。該文針對此現象提出相應的改進方法,即誘導學習法。在課堂上,學生是主體,教師應該設計好所講授內容的先后連接順序,做到連貫有序。比如引入一個新的知識點之前,先提出問題,引導學生思考相應的解決方法,或讓學生相互討論,最終引出知識點進行講解。這樣更能提高學生課堂上學習的積極性。比如在學習數組之前,先提出問題,如果用一般的變量存放學生的年齡,需要存放幾萬學生的年齡,則需要幾萬個的變量,這樣的編程量是非常大的,引導學生思考解決方法,并引出數組的概念和作用,這樣學生比較容易接受,而且也不會覺得很突然或陌生,更能輕易得接受并學習。

2.2.3 對比法

根據人類認識事物的規律,在課堂上采取對比教學法會得到的非常好的效果。從常理出發,人們習慣性地會對比身邊的事物,從而認識相應的事物。所以在課堂上講解知識點的時候,恰到好處地運用好此方法的話,教學效果是非常好的。比如在學習數組的時候,當學習完一維數組之后,學維數組的時候,就可以以類比的方法來介紹二維數組,學生會很快學會并吸收二維數組的內容。這樣的效果是非常顯著的。

2.2.4 抽象具體化

C語言中,有很多抽象的專業性描述的概念理論,而對這些理論的講解是比較難的。對于學生而言,這些內容在頭腦里是很抽象難以理解的。所以這時就需要教師在講解內容時,少用專業術語進行解釋。比如講解C語言充有且只能有一個main函數,且程序從main函數開始到main函數結束時,很多學生不是很理解,教師就可以舉例說一個學校只有一個大門,學生要想進入學校逛耍就只能通過大門走進,而逛耍完后想要走出學校時,也只能通過大門才能出去。學校的大門就類似于main函數,要想進入學校只能從大門進或出,而C語言程序的開始結束也只能從main函數開始或結束。這樣的話,學生比較能接受并理解此知識點,而且會覺得有趣。

2.2.5 組隊上機法

此方法主要是針對上機實驗課。傳統的實驗課是學生進入機房之后,個人練習,各練各的,學生之間缺少交流溝通。對此,該文提出的組隊上機法可以有效地改善此現象,并得到相應的效果的提高。事先將學生進行分組,然后對每個小組分配任務,并提出要求及實驗結果,還可以制定一些相應的獎懲制度,當然獎懲制度得切實可行。上機實踐時,小組成員之間相互探討問題,互動地學習,這樣可以激發學生的求知欲,也能鍛煉學生的團隊協作能力。相互之間有競爭,就可以刺激學生的學習欲望。

2.3 課后溝通

因為高校的老師和學生之間見面的機會最多的就是上課時間,而學生有問題又不可能在課堂上問。針對這種現象,如果老師能和學生打成一片,加入學生的QQ學習群里,課后有任何的問題,大家都可以通過互聯網在QQ群里討論,老師也可解答問題。這樣的學習效率是很高的,學生覺得老師負責,他的學習激情會更大,潛能也會被激發。

3 總結

教學實踐證明,針對目前非計算機專業的學生學習C語言的現狀,該文所提出的解決方案教學方法是切實可行的,且教學效果得到了確切的提高。利用這些方法,不僅可以激發學生的學習興趣,更能增強學生分析處理問題的能力。學生在一種快樂融洽的氛圍中學習,學習效率是非常高的。

參考文獻:

[1] 謝競博.C語言程序設計教學中的問題及改革建議[J].重慶郵電大學學報:社會科學報,2008(2).

[2] 王繼東,趙瑞斌,陳桂林.計算機專業C語言程序設計課程教學改革探索[J].計算機時代,2012(2).

[3] 牛熠,董阿妮,吳燕玲.C語言教學中學生興趣的培養[J].東莞理工學院學報,2006(1).

[4] 冀振川,谷飛.計算機C語言教學方法初探[J].新課程學習(中),2011(9).

篇10

關鍵詞:中職學校;C 語言程序設計;教學設計;計算機專業人才

隨著計算機產業的迅速崛起,計算機被應用于各個行業,我國對計算機專業人才的需求逐年增加。而目前計算機行業人才濟濟,就業競爭激烈,中職學校的計算機專業學生不能局限于一些常用的應用軟件的學習,作為當今最流行的程序設計語言之一,C語言的學習顯得尤為重要。在中職學校,這不僅被作為計算機專業的必修課,而且被選為非計算機專業的選修課。又由于中職的學生大多數是中考失敗者,他們的英語和數學方面的基礎較差,而C語言學習既有高級語言的特點,又有匯編語言的特點,因此學生在學習這門課程的時候難免會遇到各種各樣的障礙。加之學習的內容相對枯燥,如果教師在授課的時候還是按照傳統的方法來教學生的話,學生勢必會產生抵制的情緒。所以,教師在授課的時候一定要講求方法,針對當前中職學生的特點,注重學生學習的情緒。這樣,才有利于促進教學目標的達成,培養學生專業才能。

一、注重第一堂課開始就要培養學生

學習的興趣

興趣是學生學好一門課程的敲門磚。從學生的角度分析,當他們第一次接觸到C語言程序設計的時候,往往都是比較興奮的。在他們看來,這門課程既神秘又充滿挑戰性,加之以前學長學姐的描述,他們誰都不想在一開始就落下去。從教師角度分析而言,在《C語言程序設計》教學中,教師一般都是以Turbo C為主,但是Turbo C的調試環境不是可視化的過程,這在客觀上造成了學生掌握C語言程序設計知識的難度。為此,教師要想辦法整合教學內容,改變那種單一猶如“模板”一樣的教學模式,讓學生感到這門課程雖然神秘,但是不會像傳說中的那樣難學。

我認為,上好第一堂《C語言程序設計》課是至關重要的。因為第一堂課的成功與否直接關系到學生能否對這門課產生興趣。所以,我在教學的時候,第一堂課或者是在新的一章節,一般都會將學習變成“趣味C語言導學課”。為了讓學生初步了解與重視這門課程,會先給學生強調這門課程的重要性,告訴他們:C語言是學生今后學好后繼課程的基礎,雖然更新很快,但是只要具備了真正解決實際問題的能力,就萬變不離其中。然后,為了讓學生對這門課程產生興趣,先利用多媒體給學生展示C語言的強大功能,例如可以解決“水仙花數、翻譯密碼、判斷素數”等等問題。這樣,學生會被深深吸引,有些學生已經有些“蠢蠢欲動”了。為了讓他們感覺這門課程不是傳說中的那么難學,我又通過一些影片向學生介紹IT人士的經歷和成功經驗,讓他們感到“既然別人都能成功,為何我不能學好”。緊接著,我又為學生展示一些趣味性的問題并演示實用性的程序。這樣,更加刺激了學生學習的興趣。第一堂課,學生往往是學習興趣高漲,正如俗話說的“好的開始是成功的一半”,這就為學生日后更好地學習打下了基礎。

二、教學中要多采用案例教學法,將復雜的問題簡單化

前文已經提到,中職學生的基礎普遍較差,特別是在數學方面。而本課程知識又涉及程序設計的三種基本結構、數組、函數等內容,學生學習起來很吃力也是必然的。所以,教師在授課中,要適當降低理論知識的難度和深度,將教學重點放在對程序設計方法的理解和使用上,而案例教學法是目前見效最快的好辦法。

所謂的案例教學法,是指教師根據課堂教學目標和教學內容的需要,通過設置一個個具體案例,引導學生參與分析、討論,提高學生具體問題具體分析的能力。通過實踐,我認為這種方法的優點有兩點。其一,具有高度的真實模擬性,案例取自于生活、貼近于生活,可以激發學生學習的熱情。其二,不僅可以針對本次課程的知識點,同時還要與相關的知識點進行必要的聯系,讓學生既學到新知識,又鞏固舊知識。

例如在講授if語句的一般形式時,我并沒有直接給學生if一般形式,而是說“如果天氣不下雨,大家就去打籃球,否則,大家就呆在教室”。我告訴學生,這是一個典型的選擇結構:“根據天氣的情況給出兩種選擇,天氣是選擇的條件?!苯又寣W生自己舉類似的例子。這樣,通過日常的例子,讓學生理解選擇結構的實質含義,逐步引入if語句的一般形式。又如,在學習一維數組的時候,我以箱子為例進行講解,提出不同的柜子存放不同的物品,然后提出柜子的容量是否無限的問題。循環引導學生學習,最后給出定義數組的一般式來說明其實這也是類似制造柜子的過程。學生在先前學習的基礎上,通過日常的物品,理解了數組的概念, 掌握了定義數組的方法。

三、改革考核形式,不要以呆板的理論考核為主要形式

考核是檢查學生學習成績好與壞的重要方式,可以讓教師與學生知道自己在哪些方面存在著不足,由此日后進一步改進?;诙嗄瓿绦蛟O計課不同考核方式考核效果的分析,我認為,對于C 程序設計課來說,要考查學生學習情況,最好采取上機考核的形式來實施。以前C 程序設計課考核的方式是以筆試為主,也就是通過試卷讓學生做一些填空題、選擇題考察學生的基礎,而能力題則是給一些不完整的程序讓學生填寫完整。雖然這種考核的方式可以反映出學生學習的情況,但是,通過死記硬背的方式來檢查很難發揮學生的積極性與創造性。而后來,是先在教室進行筆試,后進電腦室上機考核,但是我覺得,有一些死記硬背的知識根本就沒有必要對學生考核。

學校開設C 語言程序設計課的教學目的,是為了讓學生掌握運用計算機語言編制和調試程序,從而解決實際問題的能力。所以,我認為,筆試應該及時淘汰掉,只采取上機操作來考核學生的編寫和調試程序的能力便可以。我是這樣做的:在離考核一個月前,就將要考的相關內容范圍告訴學生,然后讓學生提前在課余時間進行編程練習。在考試的時候,我從告訴學生的范圍中選出典型的題型,讓學生在電腦上編寫程序并調試運行。考試的目的,在于讓學生掌握應該掌握的技術,將考題范圍告訴學生,也就給了學生積極學習的動力。

參考文獻:

[1]曹紅蘋.C 語言程序設計課程教學探討

[J].計算機與信息技術,2012(11).