欢迎来到天天文库
浏览记录
ID:23575640
大小:57.50 KB
页数:5页
时间:2018-11-09
《简单案例在c语言教学中的应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、简单案例在C语言教学中的应用 中图分类号:TN91934; TP312文献标识码:A:1004373X(2012)22002702 C语言程序设计是高校理工科教学中一门重要的基础课,学习该课程旨在使学生掌握C语言的基本语法、结构化程序设计的方法,培养学生熟练使用C语言编程解决实际问题的能力[1]。C语言教学采用课堂理论+上机实验的教学模式,教师按照章节顺序,理论讲授知识点,然后上机做实验,各章节孤立;学生将学习的重点集中在语法点上,语法点多,掌握困难,无法从整体上把握课程的结构,编程能力普遍较低,最后以学生突击背题,应付
2、考试来结束这样一门重要课程的学习[23]。本文分析了如何使用简单案例[410]帮助学生更好地掌握知识,设计算法进而提高编程解决实际问题的能力。 九九乘法表是C程序设计中讲循环嵌套时引入的例子,讲到此处,数据类型,运算符以及3种基本结构这3大框架已经为学生建立起来,学生已经具有初步的使用C语言进行编程的能力,可以以此为例,讲知识如何在程序设计中应用。 1 初步的设计 算法:九九乘法表是二维的结构,表中的每一个数据是它所在行列号的乘积,行列在1~9的范围内变化,因此要用到两重的循环,分别对应行列的变化。 程序1:#in
3、cludestdio.h void main() {int i,j; for(i=1;i<=9;i++) for(j=1;j<=9;j++) printf(%d,i*j);} 输出结果截屏如图1所示。 图1 输出结果截屏(一)分析:结果可以满足题目的要求,但是所有的结果连在一起,难以分辨,能否用所学知识解决这个问题,提示学生用格式输出函数的功能解决这个问题。 2 改进的程序 printf(%d,i*j);中%d控制的是每个输出数据的格式,后面加空格,就可以将数据分隔开,并且对每一行进行换行,而
4、行对应的是外层的循环控制变量,特别注意printf(\n);是外层循环的内嵌语句。 改进的程序1: #includestdio.h void main() {int i,j; for(i=1;i<=9;i++) {for(j=1;j<=9;j++) printf(%d ,i*j); printf(\n);}} 输出结果截屏如图2所示。 图2 输出结果截屏(二)分析:虽然进行了换行操作,并且数据之间也用空格分开,但是不够整齐,能否用所学知识进行修改以满足要求,引导学生分析对不齐的原因是两位数据
5、和一位数据所占的列数不同,用所学的格式输出函数的功能可以解决这个问题。printf(%d,i*j);中%d改为%4d,去掉空格,%4d中的4代表数据占据固定的列宽。 改进的程序2: #includestdio.h void main() {int i,j; for(i=1;i<=9;i++) {for(j=1;j<=9;j++) printf(%4d,i*j); printf(\n);}} 输出结果截屏如图3所示。 图3 输出结果截屏(三)3 根据不同的应用可得变形后的程序 3.1 变形的
6、程序一:下三角 算法:下三角限制条件是和列相关的循环控制变量的终值,变化范围是1~i。 #includestdio.h void main() {int i,j; for(i=1;i<=9;i++) {for(j=1;j<=i;j++) printf(%4d,i*j); printf(\n);}} 输出结果截屏如图4所示。 图4 输出结果截屏(四)3.2 变形的程序二:上三角 算法:上三角限制条件是和列相关的循环控制变量的初值,变化范围是i~9。 #includestdio.h voi
7、d main() {int i,j; for(i=1;i<=9;i++) {for(j=i;j<=9;j++) printf(%4d,i*j); printf(\n);}} 输出结果截屏如图5所示。 图5 输出结果截屏(五)结果分析:结果正确,但是对齐有问题,分析可知每行应该先输出i-1个空格,并且每个空格占4列。 改进的程序: #includestdio.h void main() {int i,j; for(i=1;i<=9;i++) {for(j=1;j printf(%
8、4c,' '); for(j=i;j<=9;j++) printf(%4d,i*j); printf(\n); }} 输出结果截屏如图6所示。 图6 输出结果截屏(六)4 结 语 本文以九九乘法表为例,由浅入深的向学生呈现程序设计过程的细节,在讲解的过程中注意引导学生对已学知识点的应用
此文档下载收益归作者所有