C语言程序设计大纲.doc_第1页
C语言程序设计大纲.doc_第2页
C语言程序设计大纲.doc_第3页
C语言程序设计大纲.doc_第4页
C语言程序设计大纲.doc_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

语言程序设计 教学大纲 (78学时) 1、 一、 课程性质与目的任务 本课程是大专院校理工科类的一门基础课,该课程阐明了程序设计的基本理论和C语言的基本概念、常用算法。学生学习本课程后,可进行一般C语言程序的设计、上机调试,并能够解决本专业某些实际问题。 2、 二、 课程的基本要求 学生通过本课程的学习,应达到以下要求: (五) 1、了解程序设计的一般要领,计算机算法。 (六) 2、掌握C语言的基本概念、数据结构,特别是表达式的应用和基本操作。 (七) 3、掌握C语言流程控制结构与模块化程序设计。 (八) 4、掌握C语言指针概念及指针运算。 (九) 5、掌握常用算法的设计方法。 (十) 6、掌握分析C程序的方法。 (十一) 7、掌握并能熟练应用程序的调试技术。 3、 三、 课程的基本内容及学时分配 总学时78学时,理论30学时和上机48学时。 (一)C语言程序设计初步 (理论:学时上机:4学时) 1 1、 程序设计语言 2 2、 用库函数组装C程序 3 3、 自己设计C函数 4 4、 正确表示一个算法 5 5、 结构化的程序设计方法 (二)数据类型、运算符与表达式 (理论:学时上机:学时) 1 1、 C语言的数据类型(基本类型、构造类型、指针类型、空类型) 2 2、 (重点)C语言表达式(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式) 3 3、 常量和变量 (三)C程序的程序设计(重点) (理论:6学时上机:12学时) 1、 1、 输入输出、顺序结构与基本C语句 2、 2、 选择型结构(ifelse ,switch语句和多重分支)程序设计 3、 3、 循环型结构(while ,dowhile ,for 语句及多重循环)程序设计 4、 4、 break , continue语句 (四)数组(重点) (理论:学时上机:8学时) 、 1、 一维数组 、 2、 二维数组和多维数组 、 3、 字符数组和字符串 (五)函数设计 (理论:学时上机:学时) 第一章 1、 模块化程序设计思想 第二章 2、 函数定义 第三章 3、 函数的调用 第四章 4、 变量的存储属性 第五章 5、 递归调用 (六)指针 (重点难点) (理论:学时上机:学时) 1、 1、 预处理命令 2、 2、 指针概述 3、 3、 指针与数组 4、 4、 指针作为函数参数 5、 5、 多级指针 6、 6、 指针数组 7、 7、 指针与函数 8、 8、 指针数据小结 (七)结构体、共用体和枚举类型数据 (理论:1学时上机:4学时) 1、 1、 结构体类型数据 2、 2、 共用体类型数据 3、 3、 枚举类型和用户定义类型 4、 4、 结构体数组 5、 5、 动态存储分配链表 (八)位运算 (理论:1学时上机:2学时) 、 1、 位运算概念 、 2、 位运算符使用方法 、 3、 位运算应用举例 、 4、 位段 (九)文件 (重点) (理论:2学时上机:4学时) 、 1、 文件概述 、 2、 文件的打开与关闭 、 3、 文件的顺序读写 、 4、 文件的定位与随机读写 4、 四、 该课程与相关课程的联系 本课程作为自动化、电信、通信、过控、机械、轻纺、食工、无机、高分子、制药等专业新生的公共课,需要有计算机基础知识的基础,一方面为后序的微机原理及应用作准备,另一方面为学生在毕业设计时用计算机解决问题作准备。 5、 五、 推荐教材和参考书目 C语言程序设计(第二版) 谭浩强 著 高等教育出版社。 C语言程序设计方法 邓文新 著哈尔滨工业大学出版社 6、 六、 教学大纲执行说明 一、 第一章 C语言概述 1、教学要求: 介绍C语言的由来、特点和发展 了解C语言程序的格式和结构 了解C语言上机运行的步骤 第二章程序的灵魂算法 了解算法的作用 简单算法举例 了解描述算法的四种方法及其各自的特点 掌握程序的三种基本控制结构的特点 第三章数据描述与基本操作 1、 1、 教学要求 正确掌握C语言各种数据类型 运算符、运算符的优先级及结合规则。 了解不同类型数据间的转换原则 第四章最简单的C程序设计顺序程序设计 (一) 1、 教学要求 熟练掌握赋值语句。 熟练掌握输入输出函数的使用及其调用方法。 了解复合语句的语法特点。 第五章选择结构程序设计 1、教学要求 掌握单分支、双分支及多分支语句的结构和应用。 掌握关系运算符和关系表达式 掌握逻辑运算符和逻辑表达式 第六章循环控制 1、教学要求 熟练掌握三种循环语句(WHILE、DO-WHILE、FOR)的结构及应用 掌握三种循环结构的区别及嵌套方法 了解break语句、continue语句的使用。 第七章数组 、 1、 教学要求 正确理解数组类型的基本概念 熟练掌握数组的定义及使用方法 重点掌握一维数组、二维数组在程序中的运用方法。 掌握字符数组和字符串的定义及使用方法,两者的区别与联系。 掌握字符串运算函数的调用方法 第八章函数 1、教学要求 掌握结构化程序设计方法 熟练掌握函数的定义说明及使用方法 掌握函数之间的传值方式 掌握函数嵌套调用和递归调用方式 了解C语言中变量的存储属性及其不同作用 第十章指针 1、 1、 教学要求 了解C语言中编译预处理的概念,掌握宏替换的定义及使用方法。 正确并熟练地掌握指针的概念 准确掌握常用的指针类型变量的定义形式及其含义。 正确掌握指针的运算规则 掌握空类型指针的特殊用法 第十一章结构体、共用体 1、 1、 教学要求 掌握结构体类型的概念及其定义方式 结构体类型变量的定义和引用方法 掌握结构体变量的指针的定义、使用方法及其含义。 掌握链表的概念及其在动态存储分配中的作用。 掌握链表的建立、删除、插入、遍历等操作的中心思想。 掌握共用体类型的概念及其定义方式,尤其注意掌握结构体类型与共用 体类型两种数据类型的区别与联系。 (7) 一般了解枚举类型的定义及使用方法 (8) 一般了解自定义类型的用法 第十二章位运算 1、 1、 教学要求 掌握位运算的概念 掌握位运算的使用方法 简单了解位运算应用 一般了解位段的概念及引用方法 第十三章文件 1、 1、 教学要求 掌握C语言中文件的概念及定义方法 掌握文件的各种操作 熟练掌握流文件的顺序及随机读取方法 C语言程序设计实验(本科)教学大纲 实验课程名称:C语言程序设计 课程性质:基础必修 适用专业:理工科各专业 实验总学时: 48 学分数:3 教材:C语言程序设计方法,邓文新 张宏烈主编,哈尔滨工业大学出版社 参考书:C程序设计(第二版),谭浩强主编,清华大学出版社 一、实验教学目标与要求: C语言程序设计实验是C语言程序设计教学课程的重要组成部分。 目标:通过本课程的学习使学生掌握C语言程序的编辑、编译、上机调试等基本操作操作,能够运用C语言程序解决本专业某些实际问题,并养成严谨的科学态度和科学的思维方法,从而提高分析和解决实际问题的能力。为后续课程的学习和在毕业设计时使用计算机解决问题打下良好的基础。 要求:注意自始至终贯彻课程中所介绍的程序设计风格,养成良好的编程习惯。应独立完成所布置的上机作业,为保证尽量在统一安排的上机时间内编译运行通过程序,应事先预习设计好程序。 课后撰写实验报告。 二、实验课程具体内容: 序 号 实验项目名称 学时 每组 人数 必开选开 教学目的及主要内容 实验类型 1 C语言集成环境及程序初步 4 1 必开 目的:1、熟悉C语言的集成环境,了解菜单的使用方法。 2、掌握C语言程序上机的编辑、编译、连接、运行的基本步骤。 3、了解C语言程序的结构。 内容:1、熟悉File、Edit、Run、Option等菜单中常用菜单项及对应快捷键的使用方法。 2、熟悉C语言程序上机的编辑、编译、连接、运行的基本步骤。 3、编程实现一个字符串的输出。 4、编程输出两个数的最大值。 5、计算由键盘输入的任意两个整数的积。 基本操作 2 数据类型、运算符与表达式 4 1 必开 目的:1、了解数据类型及使用方法。 2、掌握常用算术运算符的使用方法、优先级别及结合方向。 3、掌握C语言表达式的运算规则。 内容:1、验证C语言中各种数据类型的取值范围及各种类型变量的定义和使用方法。 2、编程实现由键盘输入的任意两个数的平均值,并对不同类型的数据进行测试。 3、验证各种运算符的使用。 验证 3 输入与输出实现 2 1 必开 目的:1、掌握整型、实型、字符型数据的输入输出格式控制。 2、掌握scanf、printf函数语句的使用方法。 内容:1、编程实现各种数据格式的输入输出。 2、编程实现将给定的数据按指定的格式输出。 基本操作 4 选择结构 4 1 必开 目的:1、掌握利用if语句实现选择结构程序设计的方法。 2、掌握逻辑运算符的使用方法。 3、掌握利用switch语句实现选择结构的程序设计方法 4、注意break在switch语句的作用。 内容:1、验证逻辑运算表达式的结果。 2、编程实现任意三个数的升序排序。 3、编程实现求分段函数的值。 4、编程实现用户键入任意两个操作数和“+、-、*、/”中一个运算符,由计算机输出运行结果。 5、编程实现对给定的一个百分制成绩,要求输出成绩等级“A”、“B”、“C”、“D”、“E”。 设计 5 循环结构 4 1 必开 目的:1、掌握利用while 或do while实现条件型循环结构程序设计的方法。 2、掌握利用for语句实现计数型循环结构程序设计的方法。 内容:1、编程实现1+2+n的和。 2、编程实现1!+2!+n!的和。 3、编程实现求两个自然数的最大公约数和最小公倍数。 4、编程实现水仙花数的打印。 5、编程实现打印Fibonacci数列的前20项。 设计 6 循环嵌套 2 1 必开 目的:掌握循环嵌套的程序设计方法,注意内外层循环间的关系。 内容:1、编程实现由星号构成的等腰三角形的打印。 2、编程实现打印3100之间的所有素数。 3、编程实现一个小球从100米高度自由落下,每次落地后反弹回原来的高度的一半,再落下。求它在第10次落地时,共经过多少米?第10次反弹多高? 综合 7 数组 4 1 必开 目的:1、掌握一、二维数组的定义规则。 2、正确运用一、二维数组进行程序设计。 内容:1、编程实现用数组打印Fibonacci数列的前20项。 2、编程实现从键盘输入的一组数中找出其中最大值和最小值。 3、编程实现用一、二维数组分别输出杨辉三角。 4、编程实现将二维数组行列元素互换。 5、编程实现求二维数组中最大元素值及其行号、列号。 设计 8 排序 2 1 必开 目的:1、掌握冒泡法排序。 2、掌握选择法排序。 内容:1编程实现用冒泡法对输入的一组数由小到大排序。 2、编程实现用选择法对输入的一组数由小到大排序。 3、编程实现插入一个数到有序数组中,使数组仍然有序。 综合 9 字符数组与字符串 2 1 必开 目的:1、掌握利用字符数组存放字符串的方法。 2、掌握常用的字符串操作函数。 内容:1、编程实现两个字符串的连接(不用strcat函数)。 2、编程实现找出三个字符串中的最大者。 设计 10 函数的定义和调用、变量的存储属性 4 1 必开 目的:1、掌握C语言函数的定义及调用规则。 2、掌握值传递、地址传递、函数作参数、函数名作参数等知识。分析并理解地址传递的概念以及形参数组的变化为什么影响实参数组的工作原理。 3、掌握递归的使用。 4、区分动态变量和静态变量,外部变量和局部变量。 5、理解变量的各种存储属性register、auto、static和extern。 内容:1、用户输入任意两个操作数,实现实参与形参间值传递和地址传递。 2、编写函数,实现十进制到二进制的转换。 3、编程用递归实现n!。 4、测试变量的各种存储属性对变量值的影响。 设计 11 指针变量的定义及指针与数组 4 1 必开 目的:1、掌握预处理命令的使用。 2、掌握指针类型变量的定义和引用方法。 3、学会用指针对变量进行操作。 4、掌握指针与一维数组、二维数组的关系。 5、掌握指针数组的使用方法。 内容:1、编程用预处理命令实现求两个数的较大的数。 2、编程用指针变量实现两个数的由小到大排序(用多种方法实现)。 3、编写函数实现矩阵转置。 4、编程实现将数组a中的n个整数按相反顺序存放。 5、编程实现3个学生每个学生有4门课成绩,计算总平均分,并输出指定学生的成绩。 设计 12 指针与函数 2 1 必开 目的:1、掌握指针作函数的参数的程序设计方法。 2、掌握指向函数的指针的程序设计方法。 3、掌握返回指针值的函数的程序设计方法。 内容:1、编程实现用函数指针变量调用函数,比较两个数的大小。 2、编程实现用函数指针变量作参数,求最大值、最小值和两数之和。 3、编程用指针实现某学生成绩的查询。 4、编程用指针实现对字符串的选择法排序。 综合 13 结构体和共用体 2 1 必开 目的:1、掌握结构体类型的定义和使用方法。 2、掌握共用体类型的定义和使用方法。 内容:1、编程实现输入5个学生的记录,输出学生信息表。 2、编程实现将一个整数按字节输出。 设计 14 链表和位运算 4 1 必开 目的:1、掌握动态数据结构和静态数据结构的区别、作用。 2、掌握链表的建立及访问方法。 3、理解位运算的概念。 4、掌握位运算符的使用方法。 内容:1、建立一个链表,每个结点包括学号、姓名、性别、年龄,并实现输入5个学生的记录。 2、编程实现对链表的插入、删除操作。 3、编程实现取一整数从右端开始的47位。 4、编程实现求一个数的补码。 综合 15 文件 4 1 必开 目的:1、掌握文件的定义、打开、关闭方法。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论