当前位置:文档之家› 程序设计基础《程序设计基础》教学大纲-刘喜平3.1 教学大纲

程序设计基础《程序设计基础》教学大纲-刘喜平3.1 教学大纲

《程序设计基础》课程教学大纲课程编号:03045制定单位:信息管理学院制定人(执笔人):刘喜平审核人:万常选制定(或修订)时间:2016年 02月 28 日江西财经大学教务处《计算机组成原理》课程教学大纲一、课程总述本课程大纲是以2014年计算机科学与技术专业本科专业人才培养方案为依据编制的。

二、教学时数分配三、单元教学目的、教学重难点和内容设置第一章程序设计与软件开发【教学目的】本章介绍程序设计的基本背景,如什么是程序,程序是如何设计的,算法、数据结构是什么,什么是软件,为什么提出了软件工程的概念等。

【重点难点】重点:程序设计语言的理解,算法和数据结构的理解难点:数据结构的概念【教学内容】1.1 程序设计的基本概念介绍什么是程序,什么是程序设计语言,以及什么是程序设计1.2 算法与数据结构介绍算法及其特征、算法的结构、算法的描述,以及数据结构的概念。

1.3 软件开发介绍什么是软件,软件与程序之间的区别,讲解软件工程的必要性。

第二章C语言概述【教学目的】本章将描述C语言的一个子集,这个子集中的内容是C语言中最基础、最常用的部分。

通过本章,读者对C语言和C程序将有一个较为全面的了解;学习完本章后,读者可以阅读和编写简单的程序,为学习其他章节打下基础;再次,对于有其他语言基础的读者而言,通过本章可以快速地进入到C语言的角色中来。

本章首先介绍C语言的发展历史,以及C语言的特点。

然后,将通过实例介绍C程序的构成。

之后,将介绍C语言中最基本的知识点:常见数据类型、表达式、输入和输出、语句和函数。

【重点难点】重点:C程序的构成、变量、常见数据类型、printf和scanf函数、if语句、for和while语句、函数难点:printf和scanf函数、for和while语句、函数【教学内容】2.1 C语言的发展与特点介绍C语言产生的背景和特点。

2.2 一个C程序实例通过一个实例介绍C程序的构成。

2.3 C语言的字符集与标识符介绍C语言字符集的组成和标识符的注意事项2.4 数据类型介绍集中最常见的数据类型:int、float、double和char2.5 常量和变量介绍常量和变量的概念,常见数据类型常量的表示方法,变量的声明与初始化2.6 运算符和表达式介绍算术运算符、赋值运算符、关系运算符等常见的运算符,以及这些运算符组成的表达式2.7 输入与输出介绍printf和scanf函数输入输出一般格式,并举例说明。

2.8 语句介绍简单语句、语句块、if语句、for语句和while语句。

2.9 函数介绍函数调用的方法和注意事项。

第三章数据类型与输入输出【教学目的】本章详细介绍C语言中的基本数据类型,以及这些数据的输入和输出。

【重点难点】重点:整型、浮点型和字符型变量的存储单元的宽度、精度和允许进行的操作,用printf和scanf实现基本数据类型的输入和输出;数组的表示和使用方法,用数组表示字符串的原理;用fprintf和fscanf实现文件的输入和输出。

难点:用printf和scanf实现格式化输入和输出,字符串的不同输入和输出方法的异同,用fprintf和fscanf实现文件的输入和输出【教学内容】3.1 整型介绍整型数据的存储方式和输入、输出方式。

3.2 浮点型介绍浮点型数据的存储方式和输入、输出方式,以及浮点数的比较方法。

3.3 字符型介绍浮点型数据的存储方式和输入、输出方式,以及常见的字符处理方法。

3.4 数组介绍数组的表示方式、数组元素的访问和初始化。

3.5 字符串介绍字符串常量的表示方法,如何用数组表示字符串,以及字符串的输入和输出。

3.6 文本文件输入与输出介绍文本文件使用的步骤,以及读写文本文件的方法。

3.7 变量的进一步讨论介绍标识符的命名规则、变量的定义与初始化,以及变量限定词const。

第四章运算符与表达式【教学目的】本章讨论算术运算符、赋值运算符、增量减量运算符、强制类型转换运算符和逗号运算符以及相应的表达式。

【重点难点】重点:赋值运算符和赋值表达式、增量减量运算符、数据类型的转换难点:各种运算符的优先级和结合性,数据类型转换过程中值的变化,表达式的值的计算过程【教学内容】4.1 运算符与表达式概述概述C语言运算符和表达式4.2 算术运算符和算术表达式介绍算术运算符和算术表达式。

4.3 赋值运算符和赋值表达式介绍赋值运算符、复合赋值运算符和赋值表达式。

4.4 增量减量运算符介绍前置、后置增量和减量运算符。

4.5 子表达式的求值顺序介绍一个表达式或者语句中多个子表达式的运算顺序。

4.6 数据类型的转换介绍式类型转换、赋值表达式两侧数据的类型转换以及强制类型转换。

4.7 逗号运算符和逗号表达式介绍逗号运算符和逗号表达式。

第五章分支结构【教学目的】首先介绍关系运算符、逻辑运算符,以及对应的表达式,它们可以用来表示条件;接着,我们介绍条件运算符和条件表达式、if语句和switch语句,用它们可以表示含有分支的程序结构。

【重点难点】重点:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句、switch语句难点:逻辑表达式的运算过程,根据题目要求写出逻辑表达式和分支语句。

【教学内容】5.1 关系运算符和关系表达式5.2 逻辑运算符和逻辑表达式5.3 条件运算符和条件表达式5.4 C语句概述5.5 if语句5.6 switch语句5.7 应用举例第六章循环结构与程序设计基本算法【教学目的】介绍循环控制结构,然后介绍以循环结构为核心的几个程序设计基本算法。

【重点难点】重点:while语句、for语句和do while语句,难点:使用循环语句解决实际问题【教学内容】6.1 循环结构与控制语句介绍while语句、for语句、do-while语句、循环嵌套和流程控制语句(break语句、continue语句和goto语句)。

6.2 穷举算法介绍穷举算法的思想及其应用。

6.3 迭代与递推算法介绍迭代、递推算法的思想及其应用6.4 根据状态变量控制循环介绍根据状态变量控制循环这一类程序的应用。

6.5 程序设计实例介绍一些有代表性的例子。

第七章函数与结构化程序设计【教学目的】介绍C语言程序的基本结构之函数的基本知识,以及如何用函数构建C语言的结构化程序。

【重点难点】重点:函数的定义、调用和声明方法,函数的执行过程,函数的递归调用过程,程序的函数分解难点:递归调用的过程,利用递归算法解决实际问题,如何将程序分解为多个函数【教学内容】7.1 函数介绍程序中使用函数的必要性,函数定义、调用的方法,介绍函数原型与函数声明,介绍函数的执行过程,以及函数设计的思路。

7.2 递归调用与递归算法介绍递归调用的执行过程、递归算法,并以Hanoi塔问题为例,介绍递归算法的应用7.3 程序的函数分解通过一个实例介绍程序的函数分解过程7.4 C程序结构介绍C程序的结构,包括编译预处理命令、全局声明和函数,以及C程序的物理构成。

第八章指针与数组【教学目的】本章将介绍指针类型。

首先,介绍指针的概念和指针访问存储单元的机制、指针变量的声明与初始化、有关指针的基本运算等;其次,讨论数组的指针,介绍如何通过指针(变量)访问一维数组元素,二维数组的声明、引用及初始化,如何通过指针(变量)访问二维数组元素,以及指向一维数组的指针变量(即行指针变量)的概念和使用方法;第三,介绍通过字符指针处理字符串的方法以及常用的字符串处理函数;第四,介绍指针作为函数参数的使用方法,包括变量的指针、一维数组的指针和二维数组的指针作为函数参数;第五,介绍返回指针的函数;最后,介绍指针数组。

在第13章中我们还将对指针作进一步的讨论。

【重点难点】重点:指针的基本运算、数组中元素的指针与行指针、字符指针与字符串,以及指针作为函数参数难点:行指针的理解,用字符指针变量处理字符串,用指针作为函数参数。

【教学内容】8.1 指针与指针变量介绍指针的概念、指针变量的声明与初始化和指针的基本运算。

8.2 数组的指针介绍一维数组的指针、二维数组、二维数组的元素指针和行指针,以及指向一维数组的指针变量(行指针变量)。

8.3 字符指针与字符串介绍字符串处理函数和用指向字符的指针变量处理字符串。

8.4 指针作为函数参数介绍变量的指针作为函数参数、一维数组的指针作为函数参数,以及二维数组的指针作为函数参数。

8.5 返回指针的函数介绍返回指针的函数和返回行指针的函数。

8.6 指针数组介绍指针数组的概念及其应用,指针数组作main函数的形参,以及行指针数组。

第九章C程序运行原理【教学目的】本章揭示一个C程序运行背后的原理,讲述C程序运行所经历的编译、连接、运行等阶段的故事,展示程序运行中存储器是如何使用如何布局的。

然后,介绍程序运行时如何管理内存,不同作用域和生存期的变量是如何存在的。

通过本章的内容,可以让我们透过现象,看清本质,更深入地理解C程序,对于深入理解程序的运行、操作系统乃至计算机系统的运行有很大帮助,对于优化程序、减少错误、提高调试能力、避免安全漏洞也大有裨益。

【重点难点】重点:C程序的执行过程、程序的内存布局、变量的存储类型。

难点:程序在内存中是如何存在的,变量的作用域、存储期限和链接类型。

【教学内容】9.1 一个C程序的运行之旅介绍C程序运行中的各个阶段。

9.2 计算机指令的执行过程结合计算机原理,介绍一条计算机指令的执行过程。

9.3 计算机的存储模型介绍计算机各级存储器形成的层次模型9.4 程序的内存布局介绍内存中的堆、栈等区域,以及可执行文件映像。

9.5 变量的存储类型介绍局部变量与全局变量、变量的存储期限,以及链接等属性。

第十章复杂问题的求解算法【教学目的】本章介绍程序设计中的一些经典算法和经典问题,通过这些问题一方面让学生体会算法的奥秘,培养学生的兴趣;另一方面,向学生讲授常见算法的思路,让学生学会应用这些算法解决问题。

【重点难点】重点:每种算法的特点、应用场景,学会应用这些算法解决问题难点:如何应用这些算法解决实际问题【教学内容】10.1 分治法介绍分治法的基本思想,并介绍两个应用实例:折半查找和循环赛赛程安排问题。

10.2 贪心算法介绍贪心算法的基本思想,并介绍两个应用实例:活动安排问题和背包问题。

10.3 动态规划算法介绍动态规划算法的基本思想,并介绍两个应用实例:最长公共子序列问题和0-1背包问题。

10.4 回溯法介绍回溯法的基本思想,并介绍两个应用实例:n皇后问题和0-1背包问题。

第十一章结构体、联合共用体与枚举类型【教学目的】本章介绍C语言中构造自定义数据类型的几种机制,它们是结构体、联合公用体和枚举。

这几种机制大大丰富了C语言的数据类型。

学习本章后,在实际应用中可以构造自己需要的数据类型。

【重点难点】重点:结构体类型的定义、结构体变量的声明和初始化,结构体指针、结构体数组、结构体与函数、线性链表。

相关主题