摘 要:作者多年從事計算機(jī)應(yīng)用技術(shù)研究和教學(xué),在C語言程序設(shè)計的教學(xué)過程中,作者一直在探索激發(fā)學(xué)生學(xué)習(xí)興趣、降低課程難度、提高學(xué)習(xí)成績的有效途徑,并提出自己的一些做法供同行們參考。
關(guān)鍵詞:C語言;教法;計算機(jī)
1 關(guān)于字符型數(shù)據(jù)
程序說明:
這是一個典型的順序結(jié)構(gòu)的程序,算法簡潔,結(jié)構(gòu)清晰,和上面的關(guān)于整型數(shù)據(jù)程序相似,在這里我們是用這個程序來說明字符型數(shù)據(jù)的特性。
練習(xí)方法:
(1).程序原型
#include
main()
{
char a;
printf("我們直接給a賦值為字符'f'");
a=f;
printf(“\na=%c,a=%d\n”,a,a);
}
(2).增加賦值一個整型數(shù)據(jù)
#include
main()
{
char a;
printf("我們直接給a賦值為字符'f'");
a=f;
printf(“\na=%c,a=%d\n”,a,a);
printf("我們直接給a賦值為整數(shù)67");
a=67;
printf(“\na=%c,a=%d\n”,a,a);
}
(3).增加輸入一個字符型數(shù)據(jù)
#include
main()
{
char a;
printf("我們直接給a賦值為字符'f'");
a=f;
printf(“\na=%c,a=%d\n”,a,a);
printf("我們直接給a賦值為整數(shù)67");
a=67;
printf(“\na=%c,a=%d\n”,a,a);
printf("請給a輸入一個7\n");
scanf(“%c”,&a);
printf(“a=%c,a=%d,\n”,a,a);
}
(4).增加輸入一個整型數(shù)據(jù)
#include
main()
{
char a;
printf("我們直接給a賦值為字符'f'");
a=f;
printf(“\na=%c,a=%d\n”,a,a);
printf("我們直接給a賦值為整數(shù)67");
a=67;
printf(“\na=%c,a=%d\n”,a,a);
printf("請給a輸入一個7\n");
scanf(“%c”,&a);
printf(“a=%c,a=%d,\n”,a,a);
printf("請再給a輸入一個7\n");
scanf(“%d”,&a);
printf(“a=%c,a=%d,\n”,a,a);
}
后記:
這是一個很簡單的程序,教師可以一邊和學(xué)生講解,一邊和學(xué)生共同探討,一邊輸入程序,這樣學(xué)生就會感覺C語言的生動有趣。
我們可以很靈活的用這個程序來說明字符型數(shù)據(jù)的特性。
2 10以內(nèi)數(shù)加法練習(xí)
程序說明:
這個程序比較復(fù)雜一點了,涉及了多個頭文件、隨機(jī)數(shù)、休眠,還涉及循環(huán)和選擇結(jié)構(gòu)的綜合使用。
教師講解這個程序的時候應(yīng)該多突出它的趣味性,激發(fā)學(xué)生的學(xué)習(xí)熱情。
練習(xí)方法:
(1).程序原型
#include
#include
#include
#include
int main(void)
{
int i,m,n,d,s=0;
srand(time(NULL));/*設(shè)置隨機(jī)數(shù)種子*/
for (i=0;i<20;i++)
{
m=rand()%10;n=rand()%10;
printf(“ %d+%d=?\n”,m,n);
scanf(“%d”,&d);
if(d==(m+n))
printf(“答對了?。躰"),s++;
else
printf(“答錯了!正確答案是 %d\n",m+n);
}
printf(“ 您最后的得分是: %d\n",s*5);
return 0;
}
(2).增加標(biāo)題、字體、窗口設(shè)計并進(jìn)一步完善
#include
#include
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 10以內(nèi)數(shù)加法");
int i,m,n,d,s=0;
srand(time(NULL));/*設(shè)置隨機(jī)數(shù)種子*/
for (i=0;i<20;i++)
{
m=rand()%10;n=rand()%10;
printf(“\n\n NO: %d\n\n”,i+1);
printf(“ %d+%d=?\n\n “,m,n);
scanf(“%d”,&d);
if(d==(m+n))
printf(“\n 答對了?。躰\n"),s++;
else
printf(“\n 答錯了!正確答案是 %d\n\n",m+n);
Sleep(2000);
system(“cls”);
}
printf(“\n\n 您最后的得分是: %d\n\n ",s*5);
return 0;
}
后記:
這個程序需要較多的分析和講解,應(yīng)該從算法分析開始,逐步展開,教師可以一邊和學(xué)生講解,一邊征求學(xué)生的意見,一邊輸入程序,這樣學(xué)生就會感覺C語言的生動有趣。
我們可以用這個程序來說明循環(huán)、選擇等結(jié)構(gòu),還有一些函數(shù)的用法和特性。
3 乘法口訣
程序說明:
這個程序可以設(shè)置特殊形狀的窗口并且逐行顯示乘法口訣,涉及了多個頭文件、休眠,還涉及嵌套循環(huán)的使用。
教師講解這個程序的時候應(yīng)該多突出它的趣味性,激發(fā)學(xué)生的學(xué)習(xí)熱情。
練習(xí)方法:
(1).程序原型
#include
int main(void)
{
int i,j;
for (i=1;i<=9;i++)
{
printf(“\n “);
for(j=1;j<=i;j++)
printf(“%d*%d=%-6d”,j,i,i*j);
}
printf(“\n\n “);
}
(2).增加窗口、標(biāo)題、增加休眠設(shè)置
#include
#include
#include
int main(void)
{
system(“color 3f”);
system(“title 乘法口訣");
system(“mode con cols=130 lines=20”);
int i,j;
for (i=1;i<=9;i++)
{
printf(“\n “);
for(j=1;j<=i;j++)
printf(“%d*%d=%-6d”,j,i,i*j);
Sleep(500);
}
printf(“\n\n “);
}
后記:
教師需要一邊講解,一邊逐步增加各項功能,以免學(xué)生跟不上教師的思路。
教師講解這個程序的時候應(yīng)該多突出它的趣味性,激發(fā)學(xué)生的學(xué)習(xí)熱情。
作者簡介
楊英翔,副教授。