spContent=本课程的授课对象主要是大学理工科类非计算机专业的学生。课程主要围绕C语言的语法、流程控制、基本数据结构、函数和指针等内容进行讲解,由浅入深,循序渐进。学生通过学习,能够初步建立编程思想,提高学生的编程能力和解决本专业领域复杂工程问题的能力。
本课程的授课对象主要是大学理工科类非计算机专业的学生。课程主要围绕C语言的语法、流程控制、基本数据结构、函数和指针等内容进行讲解,由浅入深,循序渐进。学生通过学习,能够初步建立编程思想,提高学生的编程能力和解决本专业领域复杂工程问题的能力。
—— 课程团队
课程概述
C语言程序设计课程内容包括C语言概述、顺序结构程序设计、分支结构程序设计、循环结构程序设计、函数、数组、结构体、指针、文件等。 课程以程序设计思想的掌握为主线,以编程应用为驱动,通过案例和问题引入内容,由浅入深,循序渐进,重点训练学生的编程思想,能够充分提高学生的编程能力。配合上机实验以及后续课程C语言课程设计,使学生能够将计算机程序设计语言基础知识和本专业知识结合用于解决本专业领域复杂工程问题,达到培养培养学生发现问题、解决问题的综合能力。
授课目标
课程目标是使学生在掌握程序设计语言的基本语法、基本算法的基础上,训练学生的逻辑思维能力,培养学生使用程序设计语言及算法解决本专业领域问题的软件编程基本能力。
成绩 要求
考核形式:闭卷考试(机考形式)
成绩构成:卷面成绩占70%,平时成绩占30%
课程大纲
C语言概述
1.1 计算机语言与程序
1.1.1 机器语言与程序
1.1.2 汇编语言与程序
1.1.3 高级语言与程序
1.2 C语言的发展及其特点
1.3 简单的C程序
1.4 程序开发的步骤
数据类型、运算符和表达式
2.1 保留字和标识符
2.1.1 保留字
2.1.2 标识符
2.2 C语言的基本数据类型
2.3 常量和变量
2.3.1 常量
2.3.2 符号常量
2.3.3 变量
2.4 基本运算符和表达式
2.4.1 C语言运算符及表达式简介
2.4.2 算术运算符和算术表达式
2.4.3 运算符的优先级和结合性
2.4.4 关系运算符和关系表达式
2.4.5 逻辑运算符和逻辑表达式
2.4.6 位运算符和位运算表达式
2.4.7 自增、自减运算符和表达式
2.4.8 赋值运算符和赋值表达式
2.4.9 逗号运算符和逗号表达式
2.4.10 sizeof()运算符和表达式
2.4.11 逻辑表达式运算优化的副作用
2.5 类型转换
2.5.1 赋值时的自动类型转换
2.5.2 各种类型运算量混合运算时的自动类型转换
2.5.3 强制类型转换
标准设备的输入输出
3.1 输入输出的基本概念
3.2 格式化输入输出函数的使用
3.2.1 格式化输出函数printf()
3.2.2 格式化输入函数scanf()
3.3 常用的字符输入输出函数
3.4 顺序结构程序设计举例
C语言的流程控制
4.1 算法概述
4.1.1 算法及其效率
4.1.2 算法的设计原则
4.1.3 算法的表示工具
4.1.4 结构化程序设计中基本结构的表示
4.2 C程序的结构和语句概述
4.3 选择结构语句
4.3.1 if语句
4.3.2 if语句的嵌套使用
4.3.3 条件运算符
4.3.4 switch语句
4.4 循环结构语句
4.4.1 goto语句及标号的使用
4.4.2 while语句
4.4.3 for语句
4.4.4 do-while语句
4.4.5 break语句和continue语句
4.4.6 循环的嵌套
4.5 控制语句应用举例
函数
5.1 概述
5.2 函数的定义与调用
5.2.1 函数的定义
5.2.2 函数的调用
5.2.3 函数的参数
5.3 函数的原型说明
5.4 函数的嵌套调用和递归调用
5.4.1 函数的嵌套调用
5.4.2 函数的递归调用
5.5 使用C系统函数
5.6 作用域和存储类别
5.6.1 作用域
5.6.2 存储类别
5.6.3 全局变量的作用域的扩展和限制
5.7 程序的多文件组织
5.7.1 内部函数和外部函数
5.7.2 多文件组织的编译和连接
编译预处理
6.1 宏定义
6.1.1 不带参数的宏定义
6.1.2 带参数的宏定义
6.2 文件包含
6.3 条件编译
数组
7.1 数组的定义及应用
7.1.1 一维数组的定义及使用
7.1.2 一维数组作函数参数
7.1.3 多维数组的定义及使用
7.1.4 二维数组作函数参数
7.2 字符数组的定义及应用
7.2.1 字符数组的定义
7.2.2 字符数组的初始化
7.2.3 字符数组的使用
7.2.4 字符串和字符串结束标志
7.2.5 字符数组的输入输出
7.2.6 字符串处理函数
7.2.7 字符数组应用举例
结构体、共用体和枚举类型
8.1 结构体的定义及应用
8.1.1 结构体类型的定义
8.1.2 结构体类型变量的定义
8.1.3 结构体类型变量及其成员的引用
8.1.4 结构体数组
8.2 共用体的定义及应用
8.2.1 共用体类型及其变量的定义
8.2.2 共用体类型变量的引用
8.2.3 共用体数据类型的特点
8.3 枚举类型
8.3.1 枚举类型的定义
8.3.2 枚举类型变量的定义
8.3.3 枚举类型变量的使用
8.4 用typedef定义类型
指针
9.1 指针和指针变量
9.1.1 指针的概念
9.1.2 指针变量的定义
9.1.3 与指针有关的运算符&和*
9.1.4 指针变量的初始化
9.1.5 直接访问和间接访问
9.1.6 地址值的输出
9.2 指针作函数参数
9.2.1 基本类型量作函数参数
9.2.2 指针变量作函数参数
9.3 指针和指向数组的指针
9.3.1 指针和一维数组
9.3.2 一维数组元素指针作函数参数
9.3.3 指针和字符串
9.3.4 二维数组与指针
9.3.5 获得函数处理结果的几种方法
9.4 指针数组
9.4.1 指针数组的定义和使用
9.4.2 使用指针数组处理二维数组
9.4.3 利用字符指针数组处理字符串
9.4.4 main函数的参数
9.5 指向指针的指针
9.6 指针和函数
9.6.1 函数指针
9.6.2 返回指针的函数(指针函数)
9.7 指针小结
链表及其算法
10.1 存储空间的动态分配和释放
10.2 结构体及指针
10.3 链表及算法
10.3.1 链表概念的引入
10.3.2 不带头结点的链表的常用算法
10.3.3 带头结点的链表的常用算法
数据文件的使用
11.1 输入输出的基本概念
11.2 文件的基本概念和分类
11.3 缓冲的概念
11.4 文件的读写过程
11.4.1 文件类型指针
11.4.2 文件的打开与关闭
11.5 文件的读写
11.5.1 fgetc函数、fputc函数和feof函数
11.5.2 fgets函数和fputs函数
11.5.3 fscanf函数和fprintf函数
11.5.4 fread函数和fwrite函数
11.5.5 getw函数和putw函数
11.6 文件的随机读写
11.6.1 文件读写位置指针的定位
11.6.2 文件的随机读写
11.7 文件的出错检测
11.8 输入输出重定向
11.9 通过命令行参数指定待读写的文件名
展开全部
预备知识
参考资料