中科白癜风看皮肤病更专业 http://m.39.net/pf/a_4325731.html教学大纲一、课程基本情况
课程中文名称
C语言程序设计
课程英文名称
TheCProgramming
课程编码
课程类别
学科基础平台课程
课程性质
必修课
总学时
48学时[课内学时:48学时,实践学时:0学时]
学
分
3
授课对象
计算机科学与技术学院一年级各专业本科生
前导课程
无
课程简介
“C语言程序设计”是我校计算机学院计算机科学与技术专业一年级的专业学科基础课程。该课程以C语言为平台,以程序设计为主线,介绍结构化程序设计的思想和方法。通过本课程的学习,使学生拥有计算思维、分析能力,具备运用工程基础知识和本专业基本理论解决实际工程问题的能力,为数据结构、编译原理、操作系统和数据库应用等计算机专业后续课程的学习奠定良好的基础,能承担计算机软件应用和开发的任务。
二、课程目标
通过讲授C语言的数据类型、运算符和表达式、顺序结构、选择结构、循环结构、数组、函数、指针、结构体等知识点,使学生理解高级程序设计语言的结构,掌握计算机程序设计理论与方法,具备软件开发能力和计算思维能力。
开设这门课程的具体目标为:
1、使学生掌握C语言程序设计的基本概念、基本语法、基本编程技术和基本算法等基础知识。对毕业设计2-2的达成提供支持。
2、使学生掌握结构化程序设计的思想和方法,并能灵活应用计算机语言进行程序设计。对毕业设计2-2和3-1的达成提供支持。
3、使学生具备运用C语言程序设计基础知识求解实际问题的意识、思路,具备利用计算机知识解决实际问题的能力。对毕业设计2-2和3-1的达成提供支持。
三、教学内容及基本要求第1部分概述(支撑教学目标1)
1.1程序设计及程序设计语言
1.2算法及其表示方法
1.3C语言简介
1.4VisualC++集成开发环境简介
基本要求:
1.了解程序设计及程序设计语言的概念
2.理解并掌握算法及其表示方法
3.了解C语言的基本信息
4.掌握VisualC++集成开发环境
重
点:
1.程序设计及程序设计语言的概念
2.算法及其表示方法
难
点:
1.算法及其表示方法
第2部分基本数据类型、运算符与表达式(支撑教学目标1)
2.1C语言的数据类型
2.2常量
2.3变量
2.4C语言的运算符和表达式
基本要求:
1.熟练掌握整数、实数、字符和字符串常量的各种表示形式
2.掌握整型数据、实型数据和字符型数据的特点和使用方法
3.熟练掌握变量的定义和初始化方法
4.熟练掌握运算符的功能,包括算术运算符(含自增、自减操作)、赋值运算符熟练掌握运算符的优先级和结合方向
5.熟练掌握各类表达式的组成规则和计算过程
重
点:
1.C语言中各种数据类型的分类、类型名及存储长度
2.符号常量的定义和使用,常用符号常量的含义(如NULL、EOF等)
3.字符的转义序列
4.变量的定义和初始化方法
5.C语言中各种运算符的功能,包括算术运算符(含自增、自减操作)、赋值运算符等
6.各种运算符的优先级和结合性
7.各类表达式的组成规则和计算过程
8.有符号数与无符号数之间的运算问题
难
点:
1.C语言中各种数据类型的存储长度
2.符号常量的定义和使用
3.字符的转义序列
4.C语言中自增、自减、%运算符的要求与操作
5.各种运算符混合运算时的优先级和结合性
第3部分输入输出与简单程序设计(支撑教学目标1、2)
3.1概述
3.2流程控制结构与语句
3.3基本的标准输入输出函数
3.4单个字符的输入和输出
3.5格式化输出
3.6格式化输入
3.7简单程序设计
基本要求:
1.熟练掌握格式化输入、输出函数的格式和用法
2.熟练掌握字符数据的非格式化输入输出方式
3.熟练掌握简单程序设计的方法与步骤
重
点:
1.字符数据的非格式化输入输出方式
2.格式化输入、输出函数中各种控制符的含义和使用方法
3.简单程序设计的方法与步骤
难
点:
1.格式化输入、输出函数中各种控制符的含义和使用方法
2.简单程序设计的方法与步骤
第4部分选择结构程序设计(支撑教学目标1、2)
4.1if语句
4.2switch语句
基本要求:
1.熟练掌握if语句的用法
2.熟练掌握switch语句的用法
3.熟练运用流程图表示给定问题的算法
重
点:
1.运用流程图表示给定问题的算法
2.运用表达式表达给定条件的方法
3.各种不同结构if语句的用法
4.switch语句的用法
难
点:
1.运用流程图表示单分支和两分支算法
2.各种不同结构if语句的用法
3.switch语句的要求及如何将条件转化为switch中的常量表达式
第5部分循环结构程序设计(支撑教学目标1、2、3)
5.1while语句
5.2do…while语句
5.3for语句
5.4用goto语句和if语句构成循环
5.5循环的嵌套
5.6关于循环语句的几点说明
5.7break语句和continue语句
基本要求:
1.熟练掌握while语句、do-while语句、for语句的用法
2.熟练掌握循环的嵌套
3.熟练掌握break与continue语句的用法
4.熟练掌握循环结构程序设计的方法
重
点:
1.while语句、do-while语句、for语句的用法
2.循环嵌套的用法及注意事项
3.break与continue语句的区别
4.循环结构程序设计的方法
难
点:
1.do-while语句中条件表达式的书写
2.循环嵌套中内外循环的循环变量的初始化位置
3.循环结构算法的思维训练
第6部分数组(支撑教学目标1、2、3)
6.1一维数组
6.2二维数组
6.3字符数组
6.4数组综合应用举例
基本要求:
1.熟练掌握一维数组的定义、引用、初始化方法
2.熟练掌握运用一维数组解决相关问题
3.熟练掌握二维数组定义、引用、初始化方法
4.熟练掌握字符数组的定义与使用方法
5.熟练掌握字符串数组的定义与使用方法
重
点:
1.一维数组的说明、引用、初始化方法及所能进行的运算
2.二维数组定义、引用、初始化方法
3.字符数组的定义与使用方法
难
点:
1.一维数组的说明、引用、初始化方法及所能进行的运算
2.二维数组定义、引用、初始化方法
3.字符数组的定义与使用方法
第7部分函数(支撑教学目标1、2、3)
7.1结构化程序设计与函数
7.2函数定义与函数说明
7.3函数调用和参数传递
7.4函数的嵌套调用和递归调用
7.5数组作为函数参数
7.6局部变量和全局变量
7.7变量的存储类型
7.8内部函数和外部函数
基本要求:
1.理解并掌握函数的概念、掌握函数的定义和调用的方法
2.熟练掌握函数的传递方式,掌握函数的形式参数和实际参数以及函数调用时的参数传递
3.熟练掌握函数嵌套调用的方法
4.熟练掌握简单变量作为函数参数的使用方法
5.熟练掌握递归函数的定义并会编写递归函数
重
点:
1.函数的概念、定义和调用的方法
2.函数的形式参数和实际参数以及函数调用时的参数传递
3.简单变量作为函数参数的使用方法
4.函数嵌套调用的方法
5.递归函数的编写方法
难
点:
1.函数的概念、定义和调用的方法
2.函数的形参和实参的区别,函数调用时的参数传递方式的区别
3.函数嵌套调用的方法
4.递归函数的思想及编写方法
第8部分指针(支撑教学目标1、2、3)
8.1地址和指针的基本概念
8.2指针变量
8.3通过指针引用数组
8.4指针与字符串
8.5函数指针变量
8.6指针型函数
8.7指针数组和指向指针的指针
基本要求:
1.熟练掌握指针的概念,指针变量的定义、指针变量的赋值和指针运算
2.熟练掌握指针、数组和地址间的关系
3.熟练掌握指向字符串指针的使用方法
4.熟练掌握用指针数组表示字符串数组的使用方法
重
点:
1.指针的概念,指针变量的定义、指针变量的赋值和指针运算
2.指针、数组和地址间的关系
3.指向字符串指针的使用方法
4.用指针数组表示字符串数组的方法
难
点:
1.指针变量的定义、赋值,指针进行运算的要求
2.指针和一维数组的关系
3.指针和二维数组的关系
4.指向字符串指针的使用方法
5.指针数组的使用
6.用指针作为函数参数
第9部分结构与联合(支撑教学目标1、2、3)
9.1概述
9.2结构类型的声明与引用
9.3结构数组
9.4指向结构类型数据的指针
9.5结构与函数
基本要求:
1.熟练掌握结构类型的概念,掌握其定义的常用形式和应用方法
2.熟练掌握结构变量值的输入输出和赋值的方法
3.熟练掌握结构数组的使用方法
4.熟练掌握结构变量与函数的关系
5.熟练掌握结构与函数的关系
重
点:
1.结构类型的概念,掌握其定义的常用形式和应用方法
2.结构变量值的输入输出和赋值的方法
3.结构指针的使用方法
4.结构数组的使用方法
5.结构变量与函数的使用方法
6.结构与函数的使用方法
难
点:
1.结构类型的定义方法
2.结构变量值的输入输出和赋值的方法
3.结构数组的定义和使用
4.结构变量和结构体指针作为函数参数的使用方法
5.结构作为函数参数的使用方法
四、教学内容安排
课程内容与学时分配表
部分
总学时
课内学时
实践学时
讲课
实验
上机
第1部分
概述
2
2
0
0
0
第2部分
基本数据类型、运算符与表达式
2
2
0
0
0
第3部分
输入输出与简单程序设计
4
4
0
0
0
第4部分
选择结构程序设计
4
4
0
0
0
第5部分
循环结构程序设计
8
8
0
0
0
第6部分
数组
6
6
0
0
0
第7部分
函数
8
8
0
0
0
第8部分
指针
8
8
0
0
0
第9部分
结构与联合
4
4
0
0
0
复习
2
2
0
0
0
合计
48
48
0
0
0
五、教学方法
本课程教学根据程序设计课程的知识结构和学科特点,主要采用“T”字型教学思想以及“厚基础、宽知识、强能力、高素质”的教学模式,以任务驱动为主线,循序渐进、因材施教,培养学生的分析能力、设计能力和创新能力。督促学生从基础知识、综合设计两方面进行训练,同时通过基础验证实验、综合设计实验,多层次全方位对学生进行实践训练,全面提高学生的分析能力和设计能力,为后续“数据结构”、“操作系统”、“编译原理”等专业课程的学习和应用打下良好基础。
本课程以教学相长、学以致用为原则,充分利用慕课对课堂教学和实验教学进行补充。学生可以通过观看视频,对课堂讲授内容进行预习和复习。慕课提供的章节作业主要包括客观测试、主观作业和随堂测验。老师通过该功能可以了解学生对相关知识点的掌握情况,该测试结果也可以记入网络学习考核。
六、教学方式与考核
1.教学方式:本课程以线上线下混合式教学方式开展教学,以课堂讲授为主,网络学习为辅。
2.课程考核:本课程的考核包括期末闭卷考试、在线学习情况、作业完成情况。
3.成绩评定:课程总成绩=期末考试成绩(60%)+平时成绩(40%)。其中平时成绩包括:课堂考勤(占平时成绩的20%)、网络学习(占平时成绩的40%)、课后作业(占平时成绩的40%)。
七、课程目标达成度评价
(1)课程目标1的达成度通过闭卷笔试、在线学习综合考评;
(2)课程目标2的达成度通过闭卷笔试、在线学习与作业综合考评;
(3)课程目标3的达成度通过闭卷笔试、案例讨论与作业综合考评;
课程目标考核权值分配
序号
教学环节
课程目标1
课程目标2
课程目标3
合计
1
理论教学
10
15
15
40
2
在线学习
8
9
9
26
3
讨论课
10
10
4
作业
10
14
24
分值
18
34
48
课程分目标达成度,为总评成绩中支撑该课程分目标相关考核环节得分之和与对应的目标总分的比值,其计算公式为:
。
课程总目标达成度,为各个课程分目标达成度的加权和,其计算公式为:
。
八、教材与参考资源
教
材:
[1]王晓峰等.C语言程序设计.北京:清华大学出版社,
参考资源:
[1]武汉科技大学网络平台: