《程序设计基础》是一门介绍c语言基本知识与结构化程序设计方法,并采用c语言进行结构化程序设计的专业核心课程,内容包括c语言的数据类型、程序结构、各种语句、函数、预处理、文件,结构化程序设计方法,以及相应知识的应用等知识。
《程序设计基础》是软件工程专业的一门重要基础课程,通过学习该课程,学生在结构化程序设计方法、程序设计语言与程序设计工具软件的使用等方面受到严格、系统的训练,初步掌握计算机软件设计与开发技术,为后续的java程序设计、数据结构、操作系统、数据库原理及应用、软件工程等专业课程的学习及以后从事软件开发工作打下扎实的基础。《程序设计基础》课程教学大纲
一、 课程基本信息
课程代码: | |||
课程名称: | 程序设计基础 | ||
英文名称: | the | ||
课程类别: | 专业基础课 | ||
学 时: | 84 | 实验学时: | 20 |
学 分: | 4 | ||
适用对象: | 软件工程专业本科生 | ||
考核方式: | 考试 | ||
先修课程: |
二、 课程简介
《程序设计基础》是一门介绍c语言基本知识与结构化程序设计方法,并采用c语言进行结构化程序设计的专业核心课程,内容包括c语言的数据类型、程序结构、各种语句、函数、预处理、文件,结构化程序设计方法,以及相应知识的应用等知识。
《程序设计基础》是软件工程专业的一门重要基础课程,通过学习该课程,学生在结构化程序设计方法、程序设计语言与程序设计工具软件的使用等方面受到严格、系统的训练,初步掌握计算机软件设计与开发技术,为后续的java程序设计、数据结构、操作系统、数据库原理及应用、软件工程等专业课程的学习及以后从事软件开发工作打下扎实的基础。
三、 教学目标
1、知识教学目标: | |
理解和掌握c语言面向过程的设计方法、数据类型、控制语句、函数定义与调用、预处理命令、数组与指针、结构体和文件等知识。 | |
2、能力教学目标: | |
利用“自顶向下,逐步求精”的结构化分析方法学对客观世界的问题求解过程进行简单的分析,并能够使用codeblocks(集成gcc编译工具)等开发工具进行简单的面向过程的程序开发。 | |
3、素质教学目标: | |
培养学生团队合作精神、交流沟通能力。 |
四、 教学基本内容及重点与难点
序号 | 章节 | 分类 | 内容 |
1 | c语言概述 | 知识点 | (1) c语言特点; (2) c语言运行步骤与方法; (3) jdk 开发环境配置; (4) c语言集成开发环境的安装与使用; (5) 运行第一个c程序; (6) c语言的命名规范。 |
重点 | (1) c语言运行步骤与方法; (2) 运行第一个c程序; (3) c语言命名规范。 | ||
难点 | (1) c语言运行步骤与方法。 | ||
2 | c语言语法基础 | 知识点 | (1) c程序的基本构成; (2) c程序注释方法; (3) 定义变量和声明常量的方法; (4) 基本数据类型; (5) 理解各种运算符的含义。 (6) c语言表达式的组成。 |
重点 | c程序的基本构成、注释方法、基本数据类型转换、表达式。 | ||
难点 | 基本数据类型转换、关系表达式。 | ||
3 | 顺序结构程序设计 | 知识点 | (1) c语言的语句分类; (2) 字符数据的输入输出函数; (3) 格式输入输出函数。 |
重点 | c语言的分类,格式输入输出的基本方式。 | ||
难点 | 格式输入输出。 | ||
4 | 选择结构程序设计 | 知识点 | (1) 关系运算符和关系表达式; (2) 逻辑运算符和逻辑表达式; (3) 条件运算符和条件表达式; (4) if语句与选择程序结构; (5) switch语句与多分支程序设计。 |
重点 | 关系表达式、逻辑表达式、if语句与选择程序结构。 | ||
难点 | if嵌套、多分支程序设计。 | ||
5 | 循环结构程序设计 | 知识点 | (1) while语句; (2) do…while语句; (3) for语句; (4) continue和break语句; (5) 循环结构设计及不同方法比较。 |
重点 | while、do…while、for语句实现循环程序设计。 | ||
难点 | 循环嵌套。 | ||
6 | 数组 | 知识点 | (1) 一维数组的定义、引用及初始化; (2) 二维数组的定义、引用及初始化; (3) 字符数组的定义、引用及初始化; (4) 字符串函数。 |
重点 | 数组的定义与引用。 | ||
难点 | 数组在程序设计中的应用。 | ||
7 | 函数 | 知识点 | (1) 函数的定义、调用及声明; (2) 函数的返回值; (3) 形式参数与实际参数; (4) 数组作为函数参数; (5) 嵌套调用与递归调用; (6) 局部变量与全局变量; (7) 变量的存储类型; (8) 内部函数与外部函数; (9) 预处理命令 。 |
重点 | 函数的定义与调用,函数参数,数组作为函数参数。 | ||
难点 | 形式参数与实际参数,嵌套调用和递归调用。 | ||
8 | 指针 | 知识点 | (1) 地址和指针的概念; (2) 指针变量的定义与使用; (3) 数组名与指针变量; (4) 指向函数的指针; (5) 指针数组; (6) 指向指针的指针。 |
重点 | 指针变量的定义与使用,数组、函数与指针的联合应用。 | ||
难点 | 指针数组,指向指针的指针。 | ||
9 | 结构体、共用体和枚举 | 知识点 | (1) 结构体的概念及其定义; (2) 共用体类型数据与枚举类型数据的定义与使用; (3) 结构体的输入和输出; (4) 结构体数组的定义、初始化、引用; (5) 指向结构体变量的指针; (6) 动态存储分配和链表的概念。 |
重点 | 结构体类型的定义、结构的变量的定义与使用。 | ||
难点 | 链表。 | ||
10 | 文件 | 知识点 | (1) 文件的概念; (2) 文本文件与二进制文件; (3) 文件结构指针; (4) 文件的打开与关闭; (5) 文件的读写。 |
重点 | 文件的打开、读写与关闭。 | ||
难点 | 文件的打开、读写与关闭。 |
五、 学时分配表
序号 | 章节 | 讲授 | 实验 | 备注 |
c语言概述 | 2 | |||
2 | c语言语法基础 | 6 | ||
3 | 顺序结构程序设计 | 6 | 2 | |
4 | 选择结构程序设计 | 8 | 2 | |
5 | 循环结构程序设计 | 8 | 2 | |
6 | 数组 | 8 | 4 | |
7 | 函数 | 8 | 4 | |
8 | 指针 | 8 | 4 | |
9 | 结构体、共用体和枚举 | 6 | 2 | |
10 | 文件 | 4 | ||
学时总计 | 64 | 20 |
六、 选用教材
谭浩强.c程序设计(第四版)[m].北京: 清华大学出版社,2010
七、 主要参考书目
[1] 明日科技. c语言从入门到精通(第2版) [m]. 北京:清华大学出版社 2012.
[2] (美) 霍顿,杨浩译. c语言入门经典(第4版) [m].北京:清华大学出版社2013.
[3] 何钦铭等. c语言程序设计(第2版) [m].北京:高等教育出版社 2012.
[4] 李长云等编著.c语言程序设计[m].北京:国防工业出版社 2011.
八、 考核方式
1、考核方式: | |
本课程的考核方式为期末试卷测试和实践技能测试。 | |
2、成绩评定: | |
成绩评定采用百分制。 | |
3、计分原则: | |
主要由以下六个部分构成: 第一部分:期末理论考核成绩20% 第二部分:平时测试20% 第三部分:研讨式学习30% 第四部分:课堂作业10% 第五部分:实验成绩15% 第六部分:出勤成绩5%。 |
九、 教学改革基本要求
1. 采用案例教学,增进学生的学习积极性和形成对新概念的认识。
2. 采用问题驱动法,激发学生的学习主动性和加深对一些概念的理解。
3. 利用多媒体教学手段,教师现场编制和演示部分程序。
4. 学生分组完成课程设计任务,平时分组讨论课后问题。
5. 利用网络资源进行教学,积极建设网络资源,调动广大学生参与,提高学生的积极性和创造性。
6. 本课程中程序设计、函数、指针、数组作重点内容讲。
7. 结合本课程的特点,通过课堂提问和课后作业,培养学生分析问题和解决问题的能力,达到巩固知识的目的。
大纲执笔人:《程序设计基础》教学团队
大纲审核人:软件学院教学指导委员会
2012年8月