




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
理论课程教学大纲 C 程序设计基础 教学大纲 课程编号 110041 总 学 时 64 其中 讲课 48 实验 16 学 分 3 实践教学 0 5 周 修读专业 信息工程 大纲文本 一 课程的主要内容 第 1 章 C 语言概述 1 1C 语言出现的历史背景 1 2 C 语言的特点 1 3 简单的 C 程序设计 1 4 C 程序的上机步骤 重点 C 语言特点 简单的 C 程序 难点 C 程序及其上机步骤 第 2 章 数据类型 运算符与表达式 2 1 C 的数据类型 2 2 常量和变量 2 2 1 常量和符号常量 2 2 2 变量 2 3 整型数据 2 3 1 整形常量的表示方法 2 3 2 整形变量 2 3 3 整形常量的类型 2 4 实型数据 2 4 1 实型常量的表示方法 2 4 2 实型变量 2 4 3 实型常量的类型 2 5 字符型数据 2 5 1 字符常量 2 5 2 字符变量 2 5 3 字符数据在内存中的存储形式及其使用方法 2 5 4 字符串常量 2 6 变量赋初值 2 7 各类数值型数据间的混合运算 2 8 算术运算符和算术表达式 2 8 1 C 运算简介 2 8 2 算术运算符和算术表达式 2 9 赋值运算符和赋值表达式 2 10 逗号运算符和逗号表达式 重点 数据类型 运算符与表达式的知识 难点 各种数值型数据间的混合运算以及各运算符的优先级 第 3 章 最简单的 C 程序设计 顺序程序设计 3 1 C 语言概述 3 2 程序的三种基本结构 3 3 赋值语句 3 4 数据的输入输出的概念及在 C 语言中的实现 3 5 字符数据的输入输出 3 5 1 putchar 函数 字符输出函数 3 5 2 getchar 函数 字符输入函数 3 6 格式输入和输出 3 6 1 printf 函数 格式输出函数 3 6 2 scanf 函数 格式输入函数 3 7 顺序结构程序设计举例 重点 程序的三种基本结构 格式输入输出 字符数据的输入输出 简单的顺序结构程序设计 难点 格式控制字符以及 scanf 应该注意的一些细节问题 第 4 章 逻辑运算和判断选取控制 4 1 关系运算符和关系表达式 4 1 1 关系运算符及其优先次序 4 1 2 关系表达式 4 2 逻辑运算符和逻辑表达式 4 2 1 逻辑运算符及其优先次序 4 2 2 逻辑表达式 4 3 if 语句 4 3 1 if 语句的三种形式 4 3 2 if 语句的嵌套 4 3 3 条件运算符 4 4 switch 语句 4 5 程序举例 重点 if 语句的使用 switch 语句的使用 选择结构程序设计 难点 多分支语句用 if 和 switch 语句实现 第 5 章 循环控制 5 1 概述 5 2 goto 语句以及用 goto 语句构成循环 5 3 while 语句 5 4 do while 语句 5 5 for 语句 5 6 循环的嵌套 5 7 几种循环的比较 5 8 break 语句和 continue 语句 5 8 1 break 语句 5 8 2 continue 语句 5 9 程序举例 重点 循环结构的概念及其使用 for 循环的使用 while 循环的使用 do while 循环的使用 循环结构程序的编写 难点 三种循环的比较 用 C 语言实现几种循环 第 6 章 数组 6 1 一维数组的定义和引用 6 1 1 一维数组的定义 6 1 2 一维数组元素的引用 6 1 3 一维数组的初始化 6 1 4 一维数组程序举例 6 2 二维数组的定义和引用 6 2 1 二维数组的定义 6 2 2 二维数组的引用 6 2 3 二维数组的初始化 6 2 4 二维数组程序举例 6 3 字符数组 6 3 1 字符数组的定义 6 3 2 字符数组的初始化 6 3 3 字符数组的引用 6 3 4 字符串和字符串结束标志 6 3 5 字符数组的输入输出 6 3 6 字符串处理函数 6 3 7 字符数组应用举例 重点 一维数组定义和使用 字符数组的定义和使用 难点 二维数组的定义和使用 第 7 章函数 7 1 概述 7 2 掌握函数定义的一般形式 7 3 函数参数和函数的值 7 3 1 形式参数和实际参数 7 3 2 函数的返回值 7 4 掌握函数几种调用 7 4 1 函数调用的一般形式 7 4 2 函数调用的方式 7 4 3 对被调用函数的声明和函数原型 7 5 函数的嵌套调用 7 6 函数的递归调用 7 7 数组作为函数参数 7 8 局部变量和全局变量 7 8 1 局部变量 7 8 2 全局变量 7 9 掌握几种变量类型的区别和存储类别 7 9 1 动态存储方式与表态存储方式 7 9 2 auto 变量 7 9 3 用 static 声明局部变量 7 9 4 register 变量 7 9 5 用 extern 声明外部变量 7 9 6 用 static 声明外部变量 7 9 7 关于变量的声明和定义 7 9 8 存储类别小结 7 10 内部函数和外部函数 7 10 1 内部函数 7 10 2 外部函数 7 11 如何运行一个多文件的程序 重点 函数的基础知识及其使用 难点 变量的存储类别 数组作为函数参数 函数的综合使用等 第 8 章 预处理命令 8 1 掌握宏定义 8 1 1 不带参数的宏定义 8 1 2 带参数的宏定义 8 2 掌握文件包含 8 3 了解条件编译 重点 几种预处理功能 第 9 章 指针 9 1 掌握指针的概念 9 2 变量的指针和指向变量的指针变量 9 2 1 定义一个指针变量 9 2 2 指针变量的引用 9 2 3 指针变量作为函数参数 9 3 数组的指针和指向数组的指针变量 9 3 1 指向数组元素的指针 9 3 2 通过指针引用数组元素 9 3 3 用数组名作函数参数 9 3 4 指向多维数组的指针和指针变量 9 4 字符串的指针和指向字符串的指针变量 9 4 1 字符串的表示形式 9 4 2 字符串指针作函数参数 9 4 3 对使用字符指针变量和字符数组的讨论 9 5 函数的指针和指向函数的指针变量 9 5 1 用函数指针变量调用函数 9 5 2 用指向函数的指针作函数参数 9 6 返回指针值的函数 9 7 指针数组和指向指针的指针 9 7 1 指针数组的概念 9 7 2 指向指针的指针 9 7 3 指针数组作 main 函数的形参 9 8 有关指针的数据类型和指针运算的小结 9 8 1 有关指针的数据类型的小结 9 8 2 指针运算小结 9 8 3 void 指针类型 重点 指针的基本知识及使用 难点 多重指针的使用 第 10 章 结构体与共用体 10 1 概述 10 2 定义结构体类型变量的方法 10 3 结构体变量的引用 10 4 结构体变量的初始化 10 5 结构体数组 10 5 1 定义结构体数组 10 5 2 结构体数组的初始化 10 5 3 结构体数组应用举例 10 6 指向结构体类型数据的指针 10 6 1 指向结构体变量的指针 10 6 2 指向结构体数组的指针 10 6 3 用结构体变量和指向结构体的指针作函数参数 10 7 用指针处理链表 10 7 1 链表概述 10 7 2 简单链表 10 7 3 处理动态链表所需的函数 10 7 4 建立动态链表 10 7 5 输出链表 10 7 6 对链表的删除操作 10 7 7 对链表的插入操作 10 7 8 对链表的综合操作 10 8 共用体 10 8 1 共用体的概念 10 8 2 共用体变量的引用方式 10 8 3 共用体类型数据的特点 10 9 枚举类型 10 10 用 typedef 定义类型 重点 结构体与共同体的基本知识与使用 难点 结构体数组的使用 指针处理链表 第 11 章 位运算 11 1 位运算符和位运算 11 1 1 按位与 运算符 11 1 2 按位或运算符 11 1 3 异或 运算符 11 1 4 取反 运算符 11 1 5 左移运算符 11 1 7 位运算赋值运算符 11 1 8 不同长度的数据进行位运算 11 2 位运算举例 11 3 位段 重点 位运算的基本知识与运用 第 12 章 常见错位和程序调试 12 1 常见错误分析 12 2 程序调试 重点 常见错误及其程序调试的一些知识 难点 一些错误分析的方法 程序调试的基础知识 二 实验 实验一 运行一个简单的 C 程序 实验二 数据类型 运算符和表达式 实验三 顺序结构程序设计 实验四 选择结构程序设计 实验五 循环结构程序设计 实验六 一维数组的定义和引用 二维数组的定义和引用 实验七 字符数组 字符串 实验八 函数的定义 函数的调用 函数的嵌套调用 实验九 函数的递归调用 局部变量和全局变量 变量的存储类别 内部函数和外部函数和编 译预处理命令 实验十 指针的定义及运算 指针作函数参数 实验十一 指针与数组 实验十二 字符指针与字符串 实验十三 结构体 共用体和枚举类型 实验十四 链表 实验十五 综合实验 三 实习 一 学生成绩排名 先采用冒泡法 将学生成绩 从高到低进行排序 再输入一个学生的成绩 将此成绩按照排 序规律插入已排好序的学生成绩数组 最后将排好序的成绩单进行反序存放 二 根据条件进行学生成绩排名 在函数中进行 10 个学生成绩从高到低排名 再改进函数 进行 n 个学生成绩从高到低排 名 排名方式根据函数的 style 参数进行 如 style 为 a 按升序排 style 为 d 按 降序排 a ascending 升 d descending 降 一 字符处理 不使用 C 语言库函数自行编制函数实现字符串的复制 连接 转换为大写 小写 字符串 比较功能 四 学生成绩单制作 定义一个结构体数组 存放 10 个学生的学号 姓名 三 门课的成绩 输出单门课成绩最高 的学生的学号 姓名 以及该门课程的成绩 输出三门课程的平均分数最高的学生的学号 姓名及其平均分 再将 10 个学生按照平均分数从高到低进行排序 输出结果 五 学生成绩文件管理 将 10 个学生的相关数据 存入文件中 再从文件中读出 按照平均分数从高到低进行排序 分别将结果输出到屏幕上和另一文件中 再从文件中读取第 2 4 6 8 10 个学 生的数据 六 链表的操作 链表的建立 访问 删除链表指定结点 增加结点 建立一个动态链表 将学生数据 学号 成绩 存入链表结构中 实现链表的访问 求学生 成绩的平均分 找到最高分 最低分 将其数据输出 删除指定学号的学生数据 对学生 数据进行排序 分别在链表头部 中间 末尾插入学生数据 七 调用 sound 和 unsound 函数 自行选择乐谱 编写一首简单的音乐播放程序 四 考核方式及成绩评定 闭卷考试 卷面 80 平时 20 五 推荐教材及参考文献 推荐教材教材 C 程序设计实用教程 罗朝盛 人民邮电出版社 参考书 C 程序设计 第二版 谭浩强 清华大学出版社 1999 12 C 程序设计习题解答与上机指导 谭浩强 清华大学出版社 1999 12 C 语言程序设计试题汇编 谭浩强 清华大学出版社 2003 C 语言程序设计实用教程 Alice E Fischer 等 电子工业出版社 2001 9 大纲说明 一 本课程的性质和要求 C 语言程序设计 工科类专业的一门重要的专业基础课程 C 语言是影响深远的 传统 的 面向过程的优秀编程语言 C 语言功能丰富 表达能力强 使用灵活方便 目标程序效率 高 可移植性好 既具有高级程序设计语言的优点 又具有低级程序设计语言的许多特点 该 课程具有理论性强 逻辑严密 实践性强等特点 在教学过程中要突出理论联系实际的基本原 则 注重上机实验 通过学习该课程 使学生掌握 C 语言的基本语法及其使用方法 培养学生掌握用计算机处 理问题的思维方法和阅读程序和程序编写的基本能力 为后续课程的学习和应用奠定程序设计 基础 二 本课程的重点 本课程重点是 C 语言程序的数据类型 运算符和表达式 顺序结构 选择结构和循环结构 的程序设计 数组的定义和使用等 通过这些知识的学习 同学就可以设计最基本的 C 程序 而且掌握了这些基本知识 也为学习其它高级语言打下了基础 这些知识虽然都是 C 语言最基 本的内容 但学生以前未学习过计算机语言类的课程 不习惯程序设计的思维方式 因此要作 为重点学习 难点是指针部分 C 语言的指针是其它高级语言所没有的 指针的类型繁多 如变量的指 针 数组的指针 函数的指针 字符串的指针和指针的指针等 各种指针容易混淆 容易出错 三 本课程对作业 实验 实习及课程设计的要求 要求学生完成课后书面作业 根据本大纲完成实验要求 和实习要求 四 本课程同其他课程的联系与分工 先修课程 计算机基础 高等数学 后续课程 数据结构 面向对象程序设计 计算方法 软件工程 数据库系统 操作系统原理 等 联系与分工 五 学时分配 章节教 学 内 容理论教学时数实践教学时数 第 1 章C 语言概述 12 第 2 章数据类型 运算符与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论