序号 |
教学内容一一 |
学生学习 预期成果 |
课内学时 课外学时 |
教学方式 |
1 |
教学内容: l 课程总体情况介绍 l 程序设计的特点和发展历程 l 用计算机求解实际问题的特点程序与程序设计语言 l 程序设计的基本过程和结构 l 介绍一种可视化集成开发环境 重点: 用计算机求解问题的基本特点 程序设计的相关概念和基本过程 程序的基本结构。 难点: 理解用计算机求解问题的基本特点,源程序、目标程序和可执行程序的特征。 |
l 会列举一种可视化集成开发环境的使用方法 l 会复述相关的基本知识 l 会使用C语言编写“hello world”程序。 |
2/2 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
2 |
教学内容: l 基本数据类型的概念 l 数值型数据类型在内存中的表示及取值范围 l 变量的定义、命名规则、存储与赋值 l 数据类型的转换规则 l 算术、赋值、关系、逻辑等运算符的含义和优先级 l 常用表达式的概念、书写方式和计算规则 l 简单的屏幕输出 重点: 掌握基本的数据类型、变量的定义和赋值、常用运算符和表达式的使用 难点: 理解数据类型的转换、++、--、%、&运算符的操作规则和含义,以及运算符优先级和结合性。 |
l 能够诠释数据类型的基础知识 l 能正确应用变量的命名规则和赋值方式 l 会使用数据类型的转换、优先级和表达式的基本处理方法。 |
2/2 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
3 |
教学内容: l 算法的概念和描述方法 l 流程图的绘制方法 l 顺序控制结构的特点 l 顺序控制结构语句的使用方式 l 标准输入输出函数 重点: 顺序控制结构的特点 难点: 绘制流程图和熟练应用输入输出函数 |
l 能解释顺序控制结构的书写规范 l 对于相关的工程计算问题通过分析和判断知道该问题是否适合采用顺序控制结构求解。 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
4 |
教学内容: l 条件控制结构的特点和执行过程 l 单分支、双分支、多分支的条件控制语句 l switch语句 重点: 掌握利用条件控制结构设计求解简单的工程计算问题。 难点: 理解嵌套的条件控制结构。 |
l 能诠释条件控制结构的书写规范 l 对于相关的工程计算问题通过分析和判断知道该问题是否适合采用条件控制结构求解。 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
5 |
教学内容: l 循环控制结构的特点和执行过程 l for语句、while语句和do-while语句 l 嵌套循环 l 流程的转移控制语句break和continue l 简单的程序调试技术和方法。 重点: 掌握利用循环控制结构设计累加、累乘、统计等算法的基本方法。 难点: 理解嵌套的循环控制结构的流程控制,以及break语句和continue语句的作用和区别。 |
l 能诠释循环控制结构的书写规范和程序调试技术 l 能应用循环结构实现累加、累乘、统计、迭代等常用算法 l 对于稍复杂的工程计算问题通过综合分析能够综合应用三种控制结构实现实现解决方案。 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
6 |
教学内容: l 常用的标准函数 l 利用标准函数实现相对复杂的计算 l 函数定义与声明的含义和格式 l 函数调用的格式与函数返回值类型 l 函数的执行过程 重点: 函数的定义与声明,函数的调用 难点: 理解函数返回值以及函数执行过程 |
l 能辨别函数设计的原则和设计方法 l 会使用自定义函数求解整数的阶乘、最大公约数、最小公倍数等常规问题 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
7 |
教学内容: l 函数封装和软件复用的概念和意义 l 如何为一个函数设置参数 l 函数被调用时,函数参数是如何传递的 l 变量的生存周期和作用域的概念 l 递归的概念与递归函数的描述 l 递归的回归和实现 l 利用函数实现模块化程序设计的基本原则和方法 重点: 递归函数的设计与应用、利用函数实现模块化程序设计的基本方法 难点: 理解参数的设计原则与参数的传递方式、变量的生存期和作用域、递归函数的实现机理和执行过程。 |
l 认知函数封装和软件复用的意义 l 能诠释函数参数传递的机理 l 会根据具体的问题设置合适的函数参数和返回值 l 会应用自定义函数求解如阶乘、斐波那契数列等递归问题。 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
8 |
教学内容: l 一维和二维数组的定义格式和存储方式 l 数组元素初始化及其访问 l 数组作为函数参数时的传递规则 l 常用的排序和查找算法 重点: 掌握向函数传递一维和二维数组的基本方法,选择和冒泡排序法。 难点: 理解数组名的特殊意义。数组作为函数参数时的传递方式,选择和冒泡等排序方法。 |
l 能够诠释数组的基本概念和存储方式 l 能够应用一维和二维数组作为函数参数求解最大值、最小值和查找等问题 l 能够应用选择法、冒泡法等算法实现一维数组数据的排序 |
6/6 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
9 |
教学内容: l 字符串常量 l 字符串的存储 l 字符串的访问和处理函数 l 字符串作为函数的参数 重点: 理解字符串的存储方式,应用字符串作为函数参数求解常规问题。 难点: 字符串的表示方法以及字符串作为函数的参数在字符串处理中的应用 |
l 能够总结解释用数组表示字符串的方法及其特点 l 会应用字符串作为函数的参数对字符串进行查找、排序等操作 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
10 |
教学内容: l 指针类型的特点和定义格式 l 指针和数组的关系 l 指针数组及其应用 l 利用指针操作数组的方式 l 指针为函数参数时的传递方式 重点: 掌握不同基类型的指针变量的定义和应用方式,理解指针作为函数参数时的参数传递方式 难点: 理解指针作为参数传递的方式和指针与数组之间的关系 |
l 会诠释指针的定义格式 l 能够详述指针的特点及其和数组的关系 l 会应用指针做函数参数解决矩阵转置、数组求最值等计算问题。 |
6/6 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
11 |
教学内容: l 存储空间的管理方式 l 动态内存分配的概念 l 动态内存分配实现的方式 重点: 会应用动态内存解决动态数组问题 难点: 理解动态内存的概念和实现方式 |
l 会诠释动态内存分配的概念 l 能够应用动态内存解决动态数组在数据查找、插入、删除、统计等方面的问题 |
2/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
12 |
教学内容: l 结构体的定义和成员引用 l 结构体数组的定义和成员引用 l 结构体指针的定义和成员引用 l 向函数传递结构体数据 l 共用体和枚举类型数据 l 结构体作为函数参数时的特点 重点: 结构体及嵌套的结构体(数组)成员的引用方法 难点: 结构体作为函数参数时数据的传递方式,结构体与共用体在存储空间占用方面的区别 |
l 能够概括结构体、结构体数组和结构体指针的定义和成员引用方式 l 能复述共用体和枚举类型数据的特点 l 会使用结构体(数组)展示并处理较为复杂的数据。 |
4/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |
13 |
教学内容: l 文件的概念 l 文本文件和二进制文件区别 l 文件的打开、读写、关闭等操作 重点: 掌握常用的文件操作函数,文本文件的操作和应用 难点: 理解C语言中流的概念 ,了解文件的异常处理方式 |
l 能够详述文件的基本概念 l 能够总结文本文件和二进制文件的区别 l 会使用常用的文件操作函数对文本文件进行读写关闭等操作。 |
2/4 |
课堂讲授与案例讨论;课后结合MOOC视频资源进行自主学习;上机 |