c语言程序设计教学大纲_第1页
c语言程序设计教学大纲_第2页
c语言程序设计教学大纲_第3页
c语言程序设计教学大纲_第4页
c语言程序设计教学大纲_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

1、C 语言程序设计教学大纲课程名称: 中文名称 : C 语言程序设计;英文名称: C Language Programming课程编码 : 161002学 分 :分总 学 时: 72学时,其中, 理论学时 : 52学时; 上机学时 : 20学时。适用专业:全校理工科各专业先修课程:计算机基础执笔人:审订人:一、课程的性质与任务 C 语言程序设计是为全校所有的理工科专业的学生开设的公共基础课,也是一门重要的必修课。其目的是使学生掌握程序设计的基本方法,培养学生掌握利用计算机处理问题的思维方法与应用能力。要求学生掌握程序的三种基本结构及结构化的程序设计方法,了解并掌握几种典型的算法,并且能够熟练地运

2、用 C 语言编写各种应用程序,为进一步学习其它相关课程奠定基础。二、教学内容与学时分配第一章 程序设计基本概念(3学时 )本章重点:一、算法及特性;二、结构化程序设计方法。难点:算法设计及其表示。第一节程序和程序设计一、程序;二、程序设计。第二节算法第三节结构化程序设计方法第四节 C 语言程序的基本结构第二章 数据类型、运算符和表达式 (5 学时)本章重点:一、标识符的正确使用;二、各种基本数据类型的使用;三、算术运算符的优先级和结合性;四、表达式计算中的类型转换。难点:一、各种类型数据在计算机内存中的存储形式;二、自增自减运算。第一节C 语言的数据类型第二节常量与变量第三节整型数据第四节 实

3、型数据第五节 字符型数据第六节算术运算符与算术表达式第七节赋值运算符与赋值表达式一、赋值运算符和赋值表达式;二、复合的赋值表达式;三、自加、自减运算符;四、赋值运算中的类型转换。第八节 逗号运算符与逗号表达式第三章 顺序结构程序设计(4 学时 )本章重点:一、printf函数;二、scanf函数。难点:输入与输出时的格式控制。第一节C 语句概述第二节赋值语句第三节函据的输入与输出一、printf 函数; 二、putchar函数; 三、scanf函数;四、getchar函数第四节 顺序结构程序举例第四章选择结构程序设计(4 学时 )本章重点:一、逻辑值的表示、使用及其运算;二、关系运算符的运算规

4、则及关系表达式;三、逻辑运算符的运算规则及逻辑表达式;四、 if语句;五、switch语句的形式与执行过程。难点:一、逻辑表达式求值时的“非完全求解法” ;二、条件运算符具有的自右向左的结合性及条件表达式的求解过程;三、if语句的嵌套使用问题;四、switch语句的执行 过程及在switch语句中正确使用break语句的方法。第一节 关系运算和逻辑运算一、逻辑量及其在C 语言中的表示;二、关系运算符和关系表达式;三、逻辑运算符和逻辑表达式。第二节if 语句第三节条件运算符和条件表达式第四节switch 语句第五节语句标号和 goto 语句(本节内容仅要求一般了解)第六节选择结构程序举例第五章循

5、环结构程序设计(6 学时 )本章重点:一、while循环、do-while循环及for循环的构成、执行过程及使用方法;二、循环嵌套的使用方法;三、用循环结构实现的典型算法,如:累加、阶乘、穷举法、递推法等。难点:一、 for 循环使用时的灵活性,如:表达式的缺省及其处理、循环体是空语句等;二、多重循环(即循环嵌套)的使用;三、break语句和continue语句的作用和区别。第一节 while语句第二节 do-while语句第三节for 语句第四节循环的嵌套第五节break和continue语句在循环体中的作用一、break语句; 二、continue语句。第六节用 if 语句和 goto 语

6、句构成的循环(本节内容仅要求一般了解)第七节循环结构程序举例第六章数组(6 学时 )本章重点:一、各类数组的定义、 引用及初始化;二、用字符数组来处理字符串;三、数组应用的典型算法,如:求最大/ 最小值、排序等; 四、字符串处理函数。难点:一、二维数组的存储结构;二、字符数组与字符串的关系;三、字符串的输入输出。第一节一维数组第二节二维数组第三节 字符数组一、字符数组的定义与引用;二、字符数组的初始化;三、用字符数组来存放字符串;四、字符数组的输入和输出;五、用于字符串处理的函数;六、字符数组应用举例。第七章函数(6 学时 )本章重点:一、库函数的正确使用;二、函数的定义、调用和说明的方法;三

7、、调用函数和被调用函数之间的数据传递规则;四、函数的递归调用方法。难点:一、函数定义、调用和说明三者的关系;二、传值调用、传址调用的含义及使用;三、递归的实现方法。第一节库函数第二节函数的定义和返回值第三节函数的调用第四节函数的说明第五节调用函数和被调用函数之间的数据传递第六节函数的递归调用第七节程序举例第八章用户标识符的作用域和存储类型(4 学时 )本章重点:一、作用域与生存期的基本概念;二、局部变量、全局变量的作用域、生存期及各自使用时的特点;三、static说明对局部变量和全局变量的影响;四、扩展全局变量作用域的方法。难点:一、 4 种存储类型变量的说明方式、特点及适用范围;二、静态局部

8、变量的初始化及其对程序的影响;三、全局变量与局部变量同名时的处理。第一节局部变量、全局变量和存储分类第二节局部变量及其作用域和生存期第三节全局变量及其作用域和生存期第四节函数的存储分类第九章编译预处理(2 学时 )本章重点:一、不带参数的宏定义;二、文件包含的作用;三、编译预处理命令在程序中的实际作用。难点:一、带参数的宏定义的替换过程;二、宏调用与函数调用的区别。第一节宏定义第二节文件包含第三节条件编译(本节内容仅要求一般了解)第十章指针(4 学时 )本章重点:一、指针和指针变量的概念;二、指针变量的引用;三、一维数组与指针;四、指针变量作为函数的参数。难点:一、指针与内存地址的关系;二、指

9、针与数组的地址的关系;三、函数指针;四、数组的三种引用方式(下标法、首地址增量法、指针变量法) 。第一节指针的基本概念第二节指针变量的定义与引用第三节函数之间地址值的传递第四节一维数组和指针第五节二维数组和指针(本节内容仅要求一般了解)第六节字符串与指针(4第七节函数与指针(本节内容仅要求一般了解)第十一章结构体、共用体和用户定义类型学时 )本章重点:一、结构体类型与结构体类型变量的定义;二、结构体类型变量的引用方法、“ . ”操作符的意义以及其优先级;三、结构体数组的定义形式、初始化及其引用方式;四、指向结构体的指针。难点:一、指向结构体的指针;二、结构体数组;三、链表的概念及其对链表的一些

10、简单操作;四、结构体变量的成员与共用体变量的成员在内存中的分布形式;五、结构体变量及结构体指针作为函数的参数。第一节 结构体类型第二节 结构体数组第三节指向结构体的指针第四节结构体与函数第五节链表第六节共用体(本节内容仅要求一般了解)第七节枚举类型(本节内容仅要求一般了解)第八节 用typedef说明一种新类型名(本节内容仅要求一般了解)第十二章位运算(2 学时 )本章重点:一、位运算符的语义及作用;二、位运算的应用。难点:位段的概念及使用。第一节位运算的概念第二节位运算举例第三节位段(本节内容仅要求一般了解)第十三章文件(2 学时 )本章重点: 一、 文件指针的概念; 二、 文件打开和关闭;

11、 三、 fscanf 函数和 fprintf 函数。难点:各种文件打开方式的作用。第一节C 语言文件的概念第二节文件指针第三节文件的打开与关闭第四节文件的读写第五节文件定位函数(本节内容仅要求一般了解)三、教学基本要求本课程的基本要求是掌握程序设计的基本原理、概念和方法;在介绍算法、数据结构、计算方法、结构化程序设计方法的基础上,主要介绍 C 语言及其程序设计方法及应用。主要内容包括:了解C 语言的各种数据类型的特点及其运用方法;掌握各类语句的语法及功能;了解算法的描述方法,并掌握一些基本的典型算法;了解程序的三种基本结构,并初步掌握结构化的程序设计方法;掌握在微机中运行C 程序的过程和程序调

12、试的方法;能够阅读、理解简单的 C 程序,并能自己动手编写小型的应用程序。四、上机内容与学时分配1、顺序结构程序设计2 学时2、选择结构程序设计2 学时3、循环结构程序设计4 学时4、数组4 学时5、函数4学时6、指针2 学时7、结构体与共用体2 学时五、大纲说明本大纲适用于全校理工科各专业。本课程宜安排在学生学完“计算机基础”课程之后的第二学期进行,教学总时数为 72 学时,其中课堂讲授 52学时,计划内上机学时为 20学时,另外需要学生多利用业余时间自主安排上机学习。本课程的课堂教学全面采用多媒体CAI 技术,按照本大纲的内容进行教学。课程的重点是第三、四、五、六、七章的基本内容;难点主要

13、是第六、七、十章的部分内容。六、主要参考书1、C语言程序设计第一版,杜友福主编,科学出版社,2004年1月。2、 C 语言程序设计导学第一版,杜友福主编,科学出版社, 2004 年 1 月。3、 C 程序设计第一版,谭浩强编着,清华大学出版社, 1991 年 7 月。 C 语言程序设计实验(上机)教学大纲实验名称: C 语言程序设计课内上机学 时:20学时学 分:适用专业:全校理工科各专业执笔人:李新玉审订人:杜友福一、实验目的与任务计算机程序设计语言是在校大学生必须掌握的一种工具。理工科各专业的学生通过本 课程的课内上机教学环节,应使学生在 C语言编程方面得到实际训练,使学生了解并掌握 在微

14、机中运行C语言程序的步骤及程序调试的基本技能,了解 C语言的功能和适用领域, 具备程序设计的知识和能力。二、教学基本要求通过上机实验,加深对基础理论知识和实例程序的理解,培养学生自己动手在微机中 利用Turbo C或Visual C+等集成开发环境编辑、调试和运行 C语言程序的基本技能。要 求学生熟练掌握实验项目中所列 C语言课程的基本知识点,学会综合运用三种基本结构进 行程序设计的基本方法。三、实验项目与类型序实验项目学实验类型备注号时验证设计综合演示创新必做选做1顺序结构程序设计2?v?v2选择结构程序设计2?vV?v3循环结构程序设计4?v?v?v?v4数组4?v?v?v?v5函数4VV

15、VV6指针2VVVV7结构体与共用体2VVVV四、实验教学内容及学时分配实 验 一顺 序 结 构 程 序 设 计(2学时)1.目的要求了解并掌握在Turbo c或VC的集成开发环境中如何编辑、编译、连接和运行一个C程序的过程。掌握和理解C 程序的基本结构。掌握各种表达式的使用。掌握和理解本实验中出现的一些基本的 C 语言语句,体会算法在程序设计中的重要性。2方法原理参照 C 语言程序设计导学中的“ C 语言上机指南” ,将课本中的实例程序输入计算机中编译、连接和运行,并观察、分析运行结果。3实验内容( 1) printf 函数中的格式控制字符串。( 2)在printf函数中指定输出数据的宽度。

16、( 3)在printf函数中指定输出数据的精度。( 4)在printf函数中指定输出数据以左对齐的格式输出。( 5)字符型数据的输入与输出。( 6)编程从键盘输入圆的半径radius,输出圆的周长和圆的面积。( 7)编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。实验二选择结构程序设计(2 学时 )利用 if 语句实现进一步掌握C 程序的编译、 连接与运行的过程及各种表达式的使用。选择结构,利用switch语句实现多分支选择结构,练习调试与修改程序。2实验内容(1)输入任意三个整数n1、n2、n3,求三个数中的最大值。( 2) 输入三个整数,分别放在变量a、

17、 b、 c 中,程序把输入的数据重新按由小到大的顺序放在变量a、 b、 c 中,最后输出a、 b、 c 中的值。( 3) 编写程序,根据输入的学生成绩,给出相应的等级。 90 分以上的等级为 A ,60分以下的等级为E,其余每10分为一个等级。( 4) 编写一程序实现符号函数的功能。( 5) 程序,输入能代表一个日期的三个整数(年:y、月:m、日:d),计算并输出该日是该年的第几天。( 6) 写一程序,从键盘上输入一个年号yea(r 4 位十进制整数) ,判断该年是否闰年。( 7) 编程求一元二次方程的解。实验三循环结构程序设计(4 学时 )进一步熟悉选择结构的程序设计,练习并掌握实现循环结构

18、的三种方法,练习并掌握选择结构与循环结构的嵌套,练习调试与修改程序。2实验内容( 1) 统计从键盘输入的一行字符的个数。( 2) 从键盘输入一组数据,以 0 作为结束输入数据的标志,求这组数据之和。( 3) 编写程序,用累加的方法求: 1+2+3+ +100 的值。( 4) 循环嵌套的应用 输出九九乘法表。( 5) 环体中使用break语句。( 6) 环体中使用continue语句。( 7) 计算并输出 500以内最大的 10个素数以及它们之和。( 8) 编程求解百钱买百鸡问题。( 9) 要将一根长度为 323米的钢材截取成两种规格a、 b 的长度分别为 17米和 27米的短料 , 每种至少

19、1 段 , 问分割成 a, b 各多少段后,剩余的残料r 最少?实验四数组(4 学时 )1 目的要求掌握数组的定义和数组元素的引用方法,掌握数组初始化的方法,理解字符数组与字符串之间的关系,掌握字符数组(字符串)输入输出的方法,掌握常用字符串处理函数的正确使用方法。2实验内容( 1) 编写程序,定义一个含有30 个元素的 int 类型数组。依次给数组元素赋奇数 1, 3, 5, ;然后按每行10个数顺序输出,最后再按每行10个数逆序输出。( 2) 用一维数组来实现斐波那契数列。( 3) 通过键盘给NXN的二维数组输入数据,然后求出其主、次对角线元素之和。( 4) 有一个3X 4的矩阵,编程求出

20、其中值最大的那个元素的值及其所在的行号 和列号。( 5) 字符数组的输入和输出。( 6) 用于字符串处理的函数。实验五函数(4 学时 )1 目的要求掌握在 C 语言中使用函数的方法,掌握 C 语言通过“值传送”调用函数的方法,掌握递归函数的设计方法。2实验内容( 1) 练习使用函数定义的两种形式。( 2) 练习使用函数调用的三种方式。( 3) 练习使用函数定义与函数说明位置的各种组合情况。( 4) 函数参数之间的单向传递。( 5) 用选择法对数组中 10个整数由小到大排序。( 6) 将一个数组中的n 个数据按颠倒的顺序重新存放。( 7) 用递归的方法求n! 。实验六指针(2 学时 )1 目的要

21、求了解指针和内存地址的基本概念,掌握指针变量的定义及引用方法,掌握指针变量作为函数参数以及返回值为指针值的函数的用法,掌握使用指针访问一维数组的方法。2实验内容( 1) 取地址运算符“ & ”和指针运算符“ * ”的使用。2) 指针变量的定义、赋值与引用。(3)用指针变量作为函数参数,在函数中交换主函数的变量a和变量b的值。( 4) 通过指针引用数组元素。实验七结构体与共用体(2 学时 )1 目的要求掌握结构体类型的定义方法,掌握结构体类型变量的定义、引用及初始化方法,掌握结构体类型数组的定义、初始化与引用方法,掌握结构体变量的指针和结构体数组的指针的定义及使用,熟悉通过指向结构体的指

22、针引用结构体的成员的方法,会正确使用“ -> ”操作符,掌握链表的概念及定义形式,了解链表的一些简单操作。2实验内容( 1)在结构体中包含结构体类型成员。( 2)结构体类型变量的初始化。( 3)结构体数组的引用。( 4)指向结构体类型变量的指针。( 5)一个简单的静态链表。( 6)简单动态链表的构造方法。五、考核办法上机操作考查占40%;考勤与学习态度考查占30%;作业完成情况考查占30%。考核成绩作为课程的平时成绩,并以20%计入课程总成绩。六、实验教学指导书和参考书1、C语言程序设计导学第一版,杜友福主编,科学出版社,2004年1月。2、 C 语言程序设计第一版,杜友福主编,科学出版

23、社,2004 年 1 月。3、 C 程序设计第一版,谭浩强编着,清华大学出版社,1991 年 7 月。计算机上机实习( C 语言) 教学大纲实习名称:计算机上机实习( C 语言)实习类型:教学实习学 分: 2 学分实习周数:2 周适用专业 :全校理工科各专业执 笔 人: 李新玉审 订 人:杜友福、实习的性质、目的与任务“计算机上机实习( C 语言) ”是为了加强学生对 C 语言的进一步理解和应用、为学习后续课程打下良好编程基础而开设的一门实践课。时间为期两周,每生累计上机32 学时,2 个学分。二、教学基本要求1进一步熟悉的开发环境(也可以用的开发环境) ,掌握基本的编程方法,熟悉用 C语言完

24、成一个应用程序的设计过程、掌握有关编辑和调试程序的方法和技巧;2主要掌握C 语言中的结构体、指针、链表及文件操作等内容;3 了解开发简单应用程序的全过程, 包括: 分析、 设计、 编程、 调试和编写实习报告。三、实习内容 (实习内容隔年更换)1系统名称:简易教学管理系统的设计与实现2准备数据(1) 用记事本新建一文本文件,文件名为: “班名 +序号” , 如计算机 051班的 12号同学所建的文件名应为:“ JSJ0511” 2。将本班的M 名学生在本学期的 N 门考试课的成绩(要求用真实的课程名、假想的分数,并要求将自己的学号定义为 1,将自己的每门课的分数都定在 90分以上, 而将别人的每

25、门课的分数都定在95分以下。 ) 输入到这个文件中 ,建议按如下形式存放(注:20KM050、5<N<8,下文以M=4,N=3为例):学号 姓名 英语 C 语言 数学我自己 9693992张某7689893李某9196674王某755856(2) 用记事本新建另一文本文件,文件名为: “班名” ,如计算机051 班的所有同学所建的文件名应为: “JSJ051” 。将本班本学期的 N 门真实的课程名及其学分输入到这个数据文件中,建议按如下列形式存放:编号课程名称课程学分1 英语2 C 语言3 数学3功能要求在主函数中读入两个原始数据文件的数据, 保存在对应的结构体数组中, 并根据以上

26、内容计算每个学生N 门课的加权平均分 (保留 1 位小数, 4 舍 5 入),并按平均分排列名次,平均分相同则名次并列。然后显示菜单,利用菜单调用各个函数,分别完成如下功能:(注意:若文本文件JSJ05112?放在软盘的ABC文件夹中,则fopen()函数中的文件名应为:(1)用C语言创建一个数据文件,文件名为:“MingC+序号”,如计算机051班的12号同学所建的文件名应为:“”。用来存放班级的成绩表,要求按以下形式存放。名次学号姓名英语C语百数学平均成绩11我自己96939932张某76898943李某91966724王某75585655赵某586777(2)分别统计全班每门课的平均分和

27、标准差, 并计算各分数段(60分以下;6069; 70y(为 x)2N79; 8089; 90分以上)的学生人数。课程标准差的计算公式为:式中:y为课程标准差,Xi为第i个学生的成绩,x为本门课程的算术平均成绩,N为 学生数。(3)用C语言创建一个数据文件,文件名为:“KEC+序号”,如计算机051班的12号同 学所建的文件名应为:在文件中存放的数据格式如下:编号课程名称平均分标准差优秀良好中等及格 不及格1英语310181532C 语言15201383数学9121981(4) 打印每名学生成绩条,结果存放到用C 语言创建的一个数据文件中, 文件名为: “ CJ+班名” ,如计算机051 班的12号同学所建的文件名应为: “” 。成绩条的格式自定。(5) 屏幕显示所有存在不及格课程的学生的名单(含学号、不及格课程名称、课程的学分及成绩) 。(6)屏幕显示优等生名单(含学号、N门课成绩、平均分、名次)优等生条件(只要满足三个条件中的任意一个条件即可) : 平均分大于91 分 名次在本班位于前四名 平均分大于87分,并且至少有一门课的成绩为100分(7) 选做内容:屏幕显示每门课的成绩分布图四、实习方式、实习地点及时间安排1实习方式由指导教师具体指导,集中上机实习。 2 周内的非上机时间,由学生自主编写程序。2实习地点校内教育技术与服务中心的学生公用机房。3时间安排整个实习过程分

温馨提示

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

评论

0/150

提交评论