摘 要:作者多年从事计算机应用技术研究和教学,在C语言程序设计的教学过程中,作者一直在探索激发学生学习兴趣、降低课程难度、提高学习成绩的有效途径,并提出自己的一些做法供同行们参考。
关键词:C语言;教法;计算机
1 乘法口诀
#include
#include
#include
void main()
{
int m,n;//设置变量
system("color 1f");//设置背景颜色和文字颜色
for(m=1;m<=9;m++)//打印乘法口诀
{
for(n=1;n<=m;n++)
printf(“%d*%d=%-4d”,n,m,n*m);
printf(“\n\n”);
Sleep(1000);
}
printf(“\n”);
system(“pause”);
}
程序说明:
这个程序算法简洁,结构清晰,常常被用来说明循环的嵌套。
这个程序是嵌套的循环,本身并不复杂,乘法口诀是学生十分熟悉的内容,使用C语言加以表述就十分有趣,再加以修饰和停顿,就很引人入胜了。
2 关于整型数据
#include
main()
{
int a;
printf("我们直接给a赋值6");
a=6;
printf(“\na=%d,a=%c,a=%f\n”,a,a,(float)a);
printf("我们直接给a赋值为字符a");
a=a;
printf(“\na=%d,a=%c,a=%f\n”,a,a,(float)a);
printf("请给a输入一个19.767\n");
scanf(“%d”,&a);
printf(“a=%d,a=%c,a=%f\n”,a,a,(float)a);
}
程序说明:
这是一个非常简单的顺序结构的程序,算法简洁,结构清晰,在这里我们是用这个程序来说明整型数据的。
这是一个非常简单的程序,教师可以一边和学生讲解,一边征求学生的意见,一边输入程序,这样学生就会感觉C语言的生动有趣。
我们可以用这个程序来说明整型数据的特性。
3 关于实型数据
#include
main()
{
float a;
printf("我们直接给a赋值为整数6");
a=6;
printf(“\na=%f\n”,a);
printf("我们直接给a赋值为实数6.123456789");
a=6.123456789;
printf(“\na=%f\n”,a);
printf("a不变,输出方式变化");
a=6.123456789;
printf(“\na=%1.2f\n”,a);
printf("a不变,输出方式再次变化");
a=6.123456789;
printf(“\na=%8.2f\n”,a);
printf("请给a输入一个7\n");
scanf(“%f”,&a);
printf(“a=%f,a=%d,\n”,a,(int)a);
printf("请再给a输入一个7\n");
scanf(“%f”,&a);
printf(“a=%f,a=%c,\n”,a,(char)a);
}
程序说明:
这是一个非常简单的顺序结构的程序,算法简洁,结构清晰,和上面的关于整型数据数据程序相识,在这里我们是用这个程序来说明实型数据的特性。
这个程序和上一个程序相似,是一个非常简单的程序,教师可以一边和学生讲解,一边征求学生的意见,一边输入程序,这样学生就会感觉C语言的生动有趣。
我们可以用这个程序来说明实型数据的特性。
4 关于字符型数据
#include
main()
{
char a;
printf("我们直接给a赋值为字符f");
a=f;
printf(“\na=%c,a=%d\n”,a,a);
printf("我们直接给a赋值为整数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);
}
程序说明:
这是一个非常简单的顺序结构的程序,算法简洁,结构清晰,和上面的关于整型数据数据程序相识,在这里我们是用这个程序来说明字符型数据的特性。
这个程序和上一个程序相似,是一个非常简单的程序,教师可以一边和学生讲解,一边征求学生的意见,一边输入程序,这样学生就会感觉C语言的生动有趣。
我们可以用这个程序来说明字符型数据的特性。
5 简单的时钟
#include
#include
#include
main()
{
system(“color 2f”);
int i;//时
int j;//分
int k;//秒
int a;//初始时
int b;//初始分
int c;//初始秒
printf("请输入现在的时间(几点,几分,几秒):\n");
scanf("%d,%d,%d",&a,&b,&c);//设置初始时间
while(1)
{
for(i=a;i<24;i++)//时循环
{
for(j=b;j<60;j++)//分循环
{
for(k=c;k<60;k++)//秒循环
{
if(i<10)
printf(“\n\n 0%d:”,i);
else
printf(“\n\n %d:”,i);
if(j<10)
printf(“0%d:”,j);
else
printf(“%d:”,j);
if(k<10)
printf(“0%d”,k);
else
printf(“%d”,k);
Sleep(1000);
system("cls");//清屏
}
c=0;//秒初始值归零
}
b=0;//分初始值归零
}
a=0;//时初始值归零
}
}
程序说明:
这是一个嵌套的循环结构的程序,算法简洁,结构清晰,可以用来讲解循环的嵌套,还可以用来讲解算法设计。
教师可以引导学生逐步深入分析和思考,逐步完善。
这个程序既可以讲解循环嵌套,还可以讲解算法设计和软件设计,教师可以引导学生从分析电台报时开始,逐步展开。
具体用法可以根据课堂具体情况灵活掌握。
作者简介
杨英翔,副教授。