1、C 语言程序设计实践课程标准课程编码:01010012 课程类别:实践适用专业:计算机应用技术 授课单位:软件教研室编写执笔人及编写日期:审定负责人及审定日期:一、实践课的性质与作用实践教学性质:根据C 语言程序设计课程标准制定的实践教学部分,培养学生的动手能力,程序的实际编写能力,是C 语言程序设计教学课程的重要组成部分。实践教学目标:本课程实践教学的目标在于使学生能够掌握算法的基本概念,并根据算法编制程序,熟练地掌握程序设计的全过程,即独立编写源程序、独立上机调试、独立运行程序和分析结果。掌握调试程序的基本技巧,初步了解软件开发所要经历的阶段,为学生从事计算机软件开发和后续课程的学习打下坚
2、实的基础。二、实践课的设计理念及思路1.实践课设计理念(1)致力于培养学生程序设计思想以及运用 C 语言解决实际问题的编程能力。(2)实施项目教学“教、学、做”合一的模式。(3)以项目教学为中心组织课程内容,突出对学生职业能力的训练。2.课程设计思路(1)C 语言程序设计实践课的实习题目设计要紧密结合所学理论知识,引导学员自行完成任务,培养学员独立分析问题、解决问题的能力。(2)实训项目“学生考试系统根据条件进行学生成绩排名用指针、数组、函数优化学生成绩排名 学生成绩单制作学生成绩文件管理学生成绩管理系统”具有内在关联并且逐步拓展,每一个实训项目都可以前一个实训项目为基础,而在每一个实训项目中
3、,各个步骤也是内在关联逐步拓展而成,这样的实践性教学内容与方法设计给项目拓展教学法以实际落脚点,符合认知与学习规律。这几个实训项目囊括了 C 语言程序设计课程教学的主要内容,并且由于每个项目层层推进,使得学生步步深入而自然完成了整个训练内容。(3)教学效果评价采取过程性评价与结果性评价相结合,重点评价学生的职业能力。三、实践课的内容与要求实践课的内容有两部分组成,验证及掌握知识点的相关章节实验项目(实例)和分阶段的实训项目。实验项目与实训项目同时进行。实验项目设计序号 单元名称 实践目的 实践内容 学时建议1 C 语言概述及算法1、熟悉 C 语言的集成环境,了解菜单的使用方法。2、掌握 C 语
4、言程序上机的编辑、编译、连接、运行的基本步骤。3、了解 C 语言程序的结构。1、熟悉 C 语言程序上机的编辑、编译、连接、运行的基本步骤。2、将两个数互换输出3、编程输出两个数的最大值。4、整数 a 的值为 32767,b 的值为 a+1,编程输出 b 的值。22 数据类型、运算符与表达式1、了解数据类型及使用方法。2、掌握常用算术运算符的使用方法、优先级别及结合方向。3、掌握 C 语言表达式的运算规则。1、验证 C 语言中各种数据类型的取值范围及各种类型变量的定义和使用方法。2、编程实现由键盘输入的任意两个数的平均值,并对不同类型的数据进行测试。3、验证各种运算符的使用。43 简单的 C 程
5、序设计1、掌握整型、实型、字符型数据的输入输出格式控制。2、掌握 scanf、printf 函数语句的使用1、编程实现各种数据格式的输入输出。2、编程实现将给定的数据按指定的格式输出。 2方法。4 选择结构程序设计1、掌握 if 语句实现选择结构程序设计的方法。2、掌握逻辑运算符的使用方法。3、掌握 switch 语句实现选择结构的程序设计方法4、掌握 break 在 switch 语句的作用。1、测试逻辑运算表达式的结果。2、将任意三个数的从小到大排序。3、求分段函数的值。4、输入任意两个操作数和“+、-、*、/”中一个运算符,输出运行结果。5、对给定的一个百分制成绩,要求输出成绩等级“A”
6、、“B”、“C”、“D”、“E”。65 循环控制1、掌握 while 与 do while 实现条件型循环结构程序设计的方法。2、掌握 for 语句实现计数型循环结构程序设计的方法。3、掌握循环嵌套的程序设计方法,注意内外层循环间的关系。1、输入两个正整数 m 和 n,求出它们的最大公约数和最小公倍数。2、编写程序利用公式:求 e 的近似值,精确到小数后 6 位。3、编程求 1 到 n 中能被 3 或 7 整除的数之和。分别用 for 循环语句和 while 循环语句完成。4、编程实现猴子吃桃问题。5、编写程序找出 1000 之内的所有完数及这些完数的和。86 数组1、掌握一维数组与二维数组的
7、定义、赋值及输入输出方法。2、掌握字符数组和字符串函数的使用。3、掌握与数组有关的算法(特别是排序算法)、输入 10 个整数存放到数组 a 的 a1到 a10中。2、输入一个数要求用折半查找法找出该数是数组中的第几个元素的值 3、将两个串连接起来,不要用 strcat 函数 4、找出一个二维数组的“鞍点”,即该位置上的元素在该行上最大,在该列上最小。也可能没有鞍点。5、用冒泡法对输入的一组数由小到大排序。6、用比较法对输入的一组数由小到大排序。7、插入一个数到有序数组中,使数组仍然有序。47 函数1、掌握 C 语言函数的定义及调用规则。2、掌握值传递、地址传递、函数名作参数等知识。3、掌握递归
8、的使用。4、掌握动态变量和静态变量,外部变量和局部变量的异同。5、掌握变量的各种存储属性register、auto、static 和1、写出一个判别素数的函数,在主函数输入一个整数,输出是否素数的信息。2、设计函数实现将一行字符串中最长的单词输出。此行字符从主函数传递给该函数。3、用递归法将一个整数 n 转换成字符串。例如输入 483应输出字符串“”。4、求两个整数的最大公约数和最小公倍数。用一个函数求最大公约数用另一个函数根据求出的最大公约数求最小公倍数。5写一个函数,输入一个十六进制数,输出相应的十进制数。8extern。8 预处理1掌握宏定义的方法。2掌握文件包含处理方法。3掌握条件编译
9、的方法。定义一个带参数的宏,使两个参数的值互换。设计输出实数的格式,包括:()一行输出一个实数,()一行内输出两个实数,()一行内输出三个实数。29 指针1、掌握预处理命令的使用。2、掌握指针类型变量的定义和引用方法。3、学会用指针对变量进行操作。4、掌握指针与一维数组、二维数组的关系。5、掌握指针数组的使用方法。1、输入三个整数,按由小到大的顺序输出。2、将一个的矩阵转置,用一函数实现。3、有 n 人围成一个圈,顺序排号,从第一个人开始报数(从到报数),凡报到的人退出圈子,问最后留下的是原来第几号的那位。4、用一个函数实现两个字符串的比较。5、用指向指针的指针的方法对 n 个整数排序并输出。
10、810 结构体与共用体1、掌握结构体类型的定义和使用方法。2、掌握共用体类型的定义和使用方法。3、掌握动态数据结构和静态数据结构的区别、作用。4、掌握链表的建立及访问方法。编写一个程序使用动态链表实现下面的功能:A. 建立一个链表用于存储学生的学号、姓名和三门课程的成绩和平均成绩B. 输入学号后输出该学生的学号、姓名和三门课程的成绩C. 输入学号后删除该学生的数据6D. 插入学生的数据E. 输出平均成绩在 80 分及以上的记录F. 退出11 文件1、掌握文件的定义、打开、关闭方法。2、掌握文件的各种读写函数的使用方法。3、掌握文件的定位和随机访问方法。1、从键盘输入一个字符串,将其中的小写字母
11、全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。输入的字符串以“!”结束。2、建立一个磁盘文件“emploee”,内存放职工的数据。每个职工的数据包括:职工姓名、职工号、性别、年龄、住址、工资、文化程度。要求将职工号、职工名、工资的信息单独抽出来另建一个职工工资文件。2实训项目(或学习情境)设计序号 实践项目(任务) 拟实现的能力目标 相关支撑能力和知识 训练内容设计学时建议教学载体教学方法、手段与资源利用教学环境说明 考核评价1 学生考试系统1、能够写出结构分支程序;2、能写出循环程序;3、程序调试能力。1、问题分析能力;2、分支结构程序设计能力;3、循环结构程序设计能力。采用
12、抛锚式教学方法1、提出如何设计考试系统; 2、明确任务目标;3、分组讨论,查阅知识;4、系统设计;5、系统实施;6、考核8 项目案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力2 学生成绩排名1、能熟练应用循环程序的能力;2、学会一维数组的应用能力;3、增强程序调试1、循环嵌套程序设计能力;2、一维数组设计能力;采用抛锚式教学方法1、提出如何进行成绩排名的问题,引出数组的概念; 2、利用数组存储程序;8 项目案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力能力。 3、利用循环嵌套方法实现目标
13、3 用函数实现学生成绩排名1、能熟练应用用户自定义函数的能力;2、增强 程序调试能力。1、循环嵌套程序设计能力;2、一维数组设计能力;3、函数的设计能力;4、函数间参数的传递采用抛锚教学方法1、除了数组排名外,还有没有其它方法,引出函数的定义及调用方法;2、引出形参、实参的概念、参数间传递原则;3、利用自定义函数的调用实现目标8 项目案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力4用指针、数组、函数实现学生成绩排名1、提高数组与指针的综合运用能力;2、 增强程序调试能力。1、循环嵌套程序设计能力;2、一维数组;3、函数的定义;4、函数间参数
14、的传递;5、指针的定义、指针与数组的采用情境教学方法1、设计公司开发软件场景,进行引出指针的定义;2、引出指针与数组的对应关系;3、模拟公司分配任务,用自定义函数,用指8 项目案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力关系; 针做为参数实现目标5 学生成绩单1、提高运用结构体数组的能力;2、增强 程序调试能力。1、结构体设计能力;2、函数的定义及调用能力; 3、函数间参数的传递;4、指针的定义、指针与数组的关系;采用抛锚式教学方法1、在 C 语言中如何保存一条学生记录,引出结构体类型的定义;2、引出结构体指针(数组);3、利用结构体数组
15、实现学生信息的输入、输出及按成绩排名;8案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力6实现学生成绩的保存与读取1、提高运用结构体数组的能力;2、学会运用 C 语言调用文件的能力 3、增强程序调试能力。1、结构体设计能力;2、循环结构的运用能力; 3、文件的读取与写入采用抛锚式教学方法1、如何保存文件,引出文件类型的定义;2、引出文件3、利用结构体数组实现学生信息的输入、输出及按成绩排名;8案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力7 学生成绩管理系统1、提高三种程序结构的运用能力;
16、2、提高运用结构体数组的能力;3、提高运用数组的能力4、增强程序调试能力。5、养成良好代码风格的书写能力1、结构体设计能力;2、函数的定义及调用能力; 3、函数间参数的传递;4、指针的定义、指针与数组的关系;采用抛锚式教学方法1、如何设计一条系统记录,引出结构体类型的定义;2、引出结构体指针(数组);3、利用结构体数组实现学生信息的输入、输出及按成绩排名;8案例、项目教学多媒体教室、机房正确写成 C 程序,完成各项要求;独立开发能力;调试能力;团体合作能力四、课程实施条件1.教师基本要求课程要求教学能力强、教学经验丰富、精通业务、教学效果好,且具有良好综合素质的教师担任。2.校内外实践教学条件要求教学条件:机房、网络3.教学资源基本要求教学条件:多媒体电脑、网络、相关的电子或图书资料五、其它说明教师应注意自始至终贯彻课程中所介绍的程序设计风格。要求学生养成良好的编程习惯。学生应做到事先预习实践内容,上机过程中能顺利完成程序的调试,独立完成所布置的作业。