《C语言程序设计》教学大纲.docx

上传人:b****5 文档编号:14867054 上传时间:2023-06-28 格式:DOCX 页数:25 大小:34.61KB
下载 相关 举报
《C语言程序设计》教学大纲.docx_第1页
第1页 / 共25页
《C语言程序设计》教学大纲.docx_第2页
第2页 / 共25页
《C语言程序设计》教学大纲.docx_第3页
第3页 / 共25页
《C语言程序设计》教学大纲.docx_第4页
第4页 / 共25页
《C语言程序设计》教学大纲.docx_第5页
第5页 / 共25页
《C语言程序设计》教学大纲.docx_第6页
第6页 / 共25页
《C语言程序设计》教学大纲.docx_第7页
第7页 / 共25页
《C语言程序设计》教学大纲.docx_第8页
第8页 / 共25页
《C语言程序设计》教学大纲.docx_第9页
第9页 / 共25页
《C语言程序设计》教学大纲.docx_第10页
第10页 / 共25页
《C语言程序设计》教学大纲.docx_第11页
第11页 / 共25页
《C语言程序设计》教学大纲.docx_第12页
第12页 / 共25页
《C语言程序设计》教学大纲.docx_第13页
第13页 / 共25页
《C语言程序设计》教学大纲.docx_第14页
第14页 / 共25页
《C语言程序设计》教学大纲.docx_第15页
第15页 / 共25页
《C语言程序设计》教学大纲.docx_第16页
第16页 / 共25页
《C语言程序设计》教学大纲.docx_第17页
第17页 / 共25页
《C语言程序设计》教学大纲.docx_第18页
第18页 / 共25页
《C语言程序设计》教学大纲.docx_第19页
第19页 / 共25页
《C语言程序设计》教学大纲.docx_第20页
第20页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言程序设计》教学大纲.docx

《《C语言程序设计》教学大纲.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》教学大纲.docx(25页珍藏版)》请在冰点文库上搜索。

《C语言程序设计》教学大纲.docx

《C语言程序设计》教学大纲

《C语言程序设计》教学大纲

课程名称:

中文名称:

C语言程序设计;英文名称:

CLanguageProgramming

课程编码:

161002

学分:

4.5分

总学时:

72学时,其中,理论学时:

52学时;上机学时:

20学时。

适用专业:

全校理工科各专业

先修课程:

计算机基础

执笔人:

审订人:

一、课程的性质与任务

《C语言程序设计》是为全校所有的理工科专业的学生开设的公共基础课,也是一门重要的必修

课。

其目的是使学生掌握程序设计的基本方法,培养学生掌握利用计算机处理问题的思维方法与应

用能力。

要求学生掌握程序的三种基本结构及结构化的程序设计方法,了解并掌握几种典型的算法,

并且能够熟练地运用C语言编写各种应用程序,为进一步学习其它相关课程奠定基础。

二、教学内容与学时分配

第一章程序设计基本概念(3学时)

本章重点:

一、算法及特性;二、结构化程序设计方法。

难点:

算法设计及其表示。

第一节程序和程序设计

一、程序;二、程序设计。

第二节算法

第三节结构化程序设计方法

第四节C语言程序的基本结构

第二章数据类型、运算符和表达式(5学时)

本章重点:

一、标识符的正确使用;二、各种基本数据类型的使用;三、算术运算符的优先级

和结合性;四、表达式计算中的类型转换。

难点:

一、各种类型数据在计算机内存中的存储形式;

二、自增自减运算。

第一节C语言的数据类型

第二节常量与变量

第三节整型数据

第四节实型数据

第五节字符型数据

第六节算术运算符与算术表达式

第七节赋值运算符与赋值表达式

一、赋值运算符和赋值表达式;二、复合的赋值表达式;三、自加、自减运算符;四、赋值

运算中的类型转换。

第八节逗号运算符与逗号表达式

第三章顺序结构程序设计(4学时)

本章重点:

一、printf函数;二、scanf函数。

难点:

输入与输出时的格式控制。

第一节C语句概述

第二节赋值语句

第三节数据的输入与输出

一、printf函数;二、putchar函数;三、scanf函数;四、getchar函数

第四节顺序结构程序举例

第四章选择结构程序设计(4学时)

本章重点:

一、逻辑值的表示、使用及其运算;二、关系运算符的运算规则及关系表达式;三、

逻辑运算符的运算规则及逻辑表达式;四、if语句;五、switch语句的形式与执行过程。

难点:

一、

逻辑表达式求值时的“非完全求解法”;二、条件运算符具有的自右向左的结合性及条件表达式的求

解过程;三、if语句的嵌套使用问题;四、switch语句的执行过程及在switch语句中正确使用break

语句的方法。

第一节关系运算和逻辑运算

一、逻辑量及其在C语言中的表示;二、关系运算符和关系表达式;

三、逻辑运算符和逻辑表达式。

第二节if语句

第三节条件运算符和条件表达式

第四节switch语句

第五节语句标号和goto语句(本节内容仅要求一般了解)

第六节选择结构程序举例

第五章循环结构程序设计(6学时)

本章重点:

一、while循环、do-while循环及for循环的构成、执行过程及使用方法;二、循

环嵌套的使用方法;三、用循环结构实现的典型算法,如:

累加、阶乘、穷举法、递推法等。

难点:

一、for循环使用时的灵活性,如:

表达式的缺省及其处理、循环体是空语句等;二、多重循环(即

循环嵌套)的使用;三、break语句和continue语句的作用和区别。

第一节while语句

第二节do-while语句

第三节for语句

第四节循环的嵌套

第五节break和continue语句在循环体中的作用

一、break语句;二、continue语句。

第六节用if语句和goto语句构成的循环(本节内容仅要求一般了解)

第七节循环结构程序举例

第六章数组(6学时)

本章重点:

一、各类数组的定义、引用及初始化;二、用字符数组来处理字符串;三、数组应

用的典型算法,如:

求最大/最小值、排序等;四、字符串处理函数。

难点:

一、二维数组的存储

结构;二、字符数组与字符串的关系;三、字符串的输入输出。

第一节一维数组

第二节二维数组

第三节字符数组

一、字符数组的定义与引用;二、字符数组的初始化;三、用字符数组来存放字符串;四、

字符数组的输入和输出;五、用于字符串处理的函数;六、字符数组应用举例。

第七章函数(6学时)

本章重点:

一、库函数的正确使用;二、函数的定义、调用和说明的方法;三、调用函数和被

调用函数之间的数据传递规则;四、函数的递归调用方法。

难点:

一、函数定义、调用和说明三者

的关系;二、传值调用、传址调用的含义及使用;三、递归的实现方法。

第一节库函数

第二节函数的定义和返回值

第三节函数的调用

第四节函数的说明

第五节调用函数和被调用函数之间的数据传递

第六节函数的递归调用

第七节程序举例

第八章用户标识符的作用域和存储类型(4学时)

本章重点:

一、作用域与生存期的基本概念;二、局部变量、全局变量的作用域、生存期及各

自使用时的特点;三、static说明对局部变量和全局变量的影响;四、扩展全局变量作用域的方法。

难点:

一、4种存储类型变量的说明方式、特点及适用范围;二、静态局部变量的初始化及其对程

序的影响;三、全局变量与局部变量同名时的处理。

第一节局部变量、全局变量和存储分类

第二节局部变量及其作用域和生存期

第三节全局变量及其作用域和生存期

第四节函数的存储分类

第九章编译预处理(2学时)

本章重点:

一、不带参数的宏定义;二、文件包含的作用;三、编译预处理命令在程序中的实

际作用。

难点:

一、带参数的宏定义的替换过程;二、宏调用与函数调用的区别。

第一节宏定义

第二节文件包含

第三节条件编译(本节内容仅要求一般了解)

第十章指针(4学时)

本章重点:

一、指针和指针变量的概念;二、指针变量的引用;三、一维数组与指针;四、指

针变量作为函数的参数。

难点:

一、指针与内存地址的关系;二、指针与数组的地址的关系;三、

函数指针;四、数组的三种引用方式(下标法、首地址增量法、指针变量法)。

第一节指针的基本概念

第二节指针变量的定义与引用

第三节函数之间地址值的传递

第四节一维数组和指针

第五节二维数组和指针(本节内容仅要求一般了解)

第六节字符串与指针

第七节函数与指针(本节内容仅要求一般了解)

第十一章结构体、共用体和用户定义类型(4学时)

本章重点:

一、结构体类型与结构体类型变量的定义;二、结构体类型变量的引用方法、“.”

操作符的意义以及其优先级;三、结构体数组的定义形式、初始化及其引用方式;四、指向结构体

的指针。

难点:

一、指向结构体的指针;二、结构体数组;三、链表的概念及其对链表的一些简单

操作;四、结构体变量的成员与共用体变量的成员在内存中的分布形式;五、结构体变量及结构体

指针作为函数的参数。

第一节结构体类型

第二节结构体数组

第三节指向结构体的指针

第四节结构体与函数

第五节链表

第六节共用体(本节内容仅要求一般了解)

第七节枚举类型(本节内容仅要求一般了解)

第八节用typedef说明一种新类型名(本节内容仅要求一般了解)

第十二章位运算(2学时)

本章重点:

一、位运算符的语义及作用;二、位运算的应用。

难点:

位段的概念及使用。

第一节位运算的概念

第二节位运算举例

第三节位段(本节内容仅要求一般了解)

第十三章文件(2学时)

本章重点:

一、文件指针的概念;二、文件打开和关闭;三、fscanf函数和fprintf函数。

难点:

各种文件打开方式的作用。

第一节C语言文件的概念

第二节文件指针

第三节文件的打开与关闭

第四节文件的读写

第五节文件定位函数(本节内容仅要求一般了解)

三、教学基本要求

本课程的基本要求是掌握程序设计的基本原理、概念和方法;在介绍算法、数据结构、计算方

法、结构化程序设计方法的基础上,主要介绍C语言及其程序设计方法及应用。

主要内容包括:

解C语言的各种数据类型的特点及其运用方法;掌握各类语句的语法及功能;了解算法的描述方法,

并掌握一些基本的典型算法;了解程序的三种基本结构,并初步掌握结构化的程序设计方法;掌握

在微机中运行C程序的过程和程序调试的方法;能够阅读、理解简单的C程序,并能自己动手编写

小型的应用程序。

四、上机内容与学时分配

1、顺序结构程序设计2学时

2、选择结构程序设计2学时

3、循环结构程序设计4学时

4、数组4学时

5、函数4学时

6、指针2学时

7、结构体与共用体2学时

五、大纲说明

本大纲适用于全校理工科各专业。

本课程宜安排在学生学完“计算机基础”课程之后的第二学

期进行,教学总时数为72学时,其中课堂讲授52学时,计划内上机学时为20学时,另外需要学生

多利用业余时间自主安排上机学习。

本课程的课堂教学全面采用多媒体CAI技术,按照本大纲的内

容进行教学。

课程的重点是第三、四、五、六、七章的基本内容;难点主要是第六、七、十章的部

分内容。

六、主要参考书

1、《C语言程序设计》第一版,杜友福主编,科学出版社,2004年1月。

2、《C语言程序设计导学》第一版,杜友福主编,科学出版社,2004年1月。

3、《C程序设计》第一版,谭浩强编著,清华大学出版社,1991年7月。

《C语言程序设计》实验(上机)教学大纲

实验名称:

《C语言程序设计》课内上机

学时:

20学时

学分:

适用专业:

全校理工科各专业

执笔人:

李新玉

审订人:

杜友福

一、实验目的与任务

计算机程序设计语言是在校大学生必须掌握的一种工具。

理工科各专业的学生通过本课程的课

内上机教学环节,应使学生在C语言编程方面得到实际训练,使学生了解并掌握在微机中运行C语

言程序的步骤及程序调试的基本技能,了解C语言的功能和适用领域,具备程序设计的知识和能力。

二、教学基本要求

通过上机实验,加深对基础理论知识和实例程序的理解,培养学生自己动手在微机中利用Turbo

C或VisualC++等集成开发环境编辑、调试和运行C语言程序的基本技能。

要求学生熟练掌握实验

项目中所列C语言课程的基本知识点,学会综合运用三种基本结构进行程序设计的基本方法。

三、实验项目与类型

实验项目

实验类型备注

验证设计综合演示创新必做选做

1顺序结构程序设计2√√

2选择结构程序设计2√√√

3循环结构程序设计4√√√√

4数组4√√√√

5函数4√√√√

6指针2√√√√

7结构体与共用体2√√√√

四、实验教学内容及学时分配

实验一顺序结构程序设计(2学时)

1.目的要求

了解并掌握在Turboc3.0或VC的集成开发环境中如何编辑、编译、连接和运行一个C程序的

过程。

掌握和理解C程序的基本结构。

掌握各种表达式的使用。

掌握和理解本实验中出现的一些基

本的C语言语句,体会算法在程序设计中的重要性。

2.方法原理

参照《C语言程序设计导学》中的“C语言上机指南”,将课本中的实例程序输入计算机中编译、

连接和运行,并观察、分析运行结果。

3.实验内容

(1)printf函数中的格式控制字符串。

(2)在printf函数中指定输出数据的宽度。

(3)在printf函数中指定输出数据的精度。

(4)在printf函数中指定输出数据以左对齐的格式输出。

(5)字符型数据的输入与输出。

(6)编程从键盘输入圆的半径radius,输出圆的周长和圆的面积。

(7)编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然

后进行输出。

实验二选择结构程序设计(2学时)

1.目的要求

进一步掌握C程序的编译、连接与运行的过程及各种表达式的使用。

利用if语句实现选择结

构,利用switch语句实现多分支选择结构,练习调试与修改程序。

2.实验内容

(1)输入任意三个整数n1、n2、n3,求三个数中的最大值。

(2)输入三个整数,分别放在变量a、b、c中,程序把输入的数据重新按由小到大的顺

序放在变量a、b、c中,最后输出a、b、c中的值。

(3)编写程序,根据输入的学生成绩,给出相应的等级。

90分以上的等级为A,60分

以下的等级为E,其余每10分为一个等级。

(4)编写一程序实现符号函数的功能。

(5)编写程序,输入能代表一个日期的三个整数(年:

y、月:

m、日:

d),计算并输出

该日是该年的第几天。

(6)写一程序,从键盘上输入一个年号year(4位十进制整数),判断该年是否闰年。

(7)编程求一元二次方程的解。

实验三循环结构程序设计(4学时)

1.目的要求

进一步熟悉选择结构的程序设计,练习并掌握实现循环结构的三种方法,练习并掌握选择结构

与循环结构的嵌套,练习调试与修改程序。

2.实验内容

(1)统计从键盘输入的一行字符的个数。

(2)从键盘输入一组数据,以0作为结束输入数据的标志,求这组数据之和。

(3)编写程序,用累加的方法求:

1+2+3++100的值。

(4)循环嵌套的应用----输出九九乘法表。

(5)在循环体中使用break语句。

(6)在循环体中使用continue语句。

(7)计算并输出500以内最大的10个素数以及它们之和。

(8)编程求解百钱买百鸡问题。

(9)要将一根长度为323米的钢材截取成两种规格a、b的长度分别为17米和27米

的短料,每种至少1段,问分割成a,b各多少段后,剩余的残料r最少?

实验四数组(4学时)

1.目的要求

掌握数组的定义和数组元素的引用方法,掌握数组初始化的方法,理解字符数组与字符串之间

的关系,掌握字符数组(字符串)输入输出的方法,掌握常用字符串处理函数的正确使用方法。

2.实验内容

(1)编写程序,定义一个含有30个元素的int类型数组。

依次给数组元素赋奇数1,3,

5,;然后按每行10个数顺序输出,最后再按每行10个数逆序输出。

(2)用一维数组来实现斐波那契数列。

(3)通过键盘给N×N的二维数组输入数据,然后求出其主、次对角线元素之和。

(4)有一个3×4的矩阵,编程求出其中值最大的那个元素的值及其所在的行号和列号。

(5)字符数组的输入和输出。

(6)用于字符串处理的函数。

实验五函数(4学时)

1.目的要求

掌握在C语言中使用函数的方法,掌握C语言通过“值传送”调用函数的方法,掌握递归函数

的设计方法。

2.实验内容

(1)练习使用函数定义的两种形式。

(2)练习使用函数调用的三种方式。

(3)练习使用函数定义与函数说明位置的各种组合情况。

(4)函数参数之间的单向传递。

(5)用选择法对数组中10个整数由小到大排序。

(6)将一个数组中的n个数据按颠倒的顺序重新存放。

(7)用递归的方法求n!

实验六指针(2学时)

1.目的要求

了解指针和内存地址的基本概念,掌握指针变量的定义及引用方法,掌握指针变量作为函数参

数以及返回值为指针值的函数的用法,掌握使用指针访问一维数组的方法。

2.实验内容

(1)取地址运算符“&”和指针运算符“*”的使用。

(2)指针变量的定义、赋值与引用。

(3)用指针变量作为函数参数,在函数中交换主函数的变量a和变量b的值。

(4)通过指针引用数组元素。

实验七结构体与共用体(2学时)

1.目的要求

掌握结构体类型的定义方法,掌握结构体类型变量的定义、引用及初始化方法,掌握结构体类

型数组的定义、初始化与引用方法,掌握结构体变量的指针和结构体数组的指针的定义及使用,熟

悉通过指向结构体的指针引用结构体的成员的方法,会正确使用“->”操作符,掌握链表的概念及

定义形式,了解链表的一些简单操作。

2.实验内容

(1)在结构体中包含结构体类型成员。

(2)结构体类型变量的初始化。

(3)结构体数组的引用。

(4)指向结构体类型变量的指针。

(5)一个简单的静态链表。

(6)简单动态链表的构造方法。

五、考核办法

上机操作考查占40%;考勤与学习态度考查占30%;作业完成情况考查占30%。

考核成绩作为课

程的平时成绩,并以20%计入课程总成绩。

六、实验教学指导书和参考书

1、《C语言程序设计导学》第一版,杜友福主编,科学出版社,2004年1月。

2、《C语言程序设计》第一版,杜友福主编,科学出版社,2004年1月。

3、《C程序设计》第一版,谭浩强编著,清华大学出版社,1991年7月。

《计算机上机实习(C语言)》教学大纲

实习名称:

计算机上机实习(C语言)

实习类型:

教学实习

学分:

2学分

实习周数:

2周

适用专业:

全校理工科各专业

执笔人:

李新玉

审订人:

杜友福

一、实习的性质、目的与任务

“计算机上机实习(C语言)”是为了加强学生对C语言的进一步理解和应用、为学习后续课程

打下良好编程基础而开设的一门实践课。

时间为期两周,每生累计上机32学时,2个学分。

二、教学基本要求

1.进一步熟悉TC3.0的开发环境(也可以用VC6.0的开发环境),掌握基本的编程方法,熟悉

用C语言完成一个应用程序的设计过程、掌握有关编辑和调试程序的方法和技巧;

2.主要掌握C语言中的结构体、指针、链表及文件操作等内容;

3.了解开发简单应用程序的全过程,包括:

分析、设计、编程、调试和编写实习报告。

三、实习内容(实习内容隔年更换)

1.系统名称:

简易教学管理系统的设计与实现

2.准备数据

(1)用记事本新建一文本文件,文件名为:

“班名+序号”,如计算机051班的12号同学所建的

文件名应为:

“JSJ05112”。

将本班的M名学生在本学期的N门考试课的成绩(要求用真实的课程名、

假想的分数,并要求将自己的学号定义为1,将自己的每门课的分数都定在90分以上,而将别人的

每门课的分数都定在95分以下。

)输入到这个文件中,建议按如下形式存放(注:

20≤M≤50、5≤N

≤8,下文以M=4,N=3为例):

学号姓名英语C语言数学

1我自己969399

2张某768989

3李某919667

4王某755856

........................

(2)用记事本新建另一文本文件,文件名为:

“班名”,如计算机051班的所有同学所建的文件

名应为:

“JSJ051”。

将本班本学期的N门真实的课程名及其学分输入到这个数据文件中,建议按如

下列形式存放:

编号课程名称课程学分

1英语6.0

2C语言4.5

3数学5.5

...............

3.功能要求

在主函数中读入两个原始数据文件的数据,保存在对应的结构体数组中,并根据以上内容计算

每个学生N门课的加权平均分(保留1位小数,4舍5入),并按平均分排列名次,平均分相同则名

次并列。

然后显示菜单,利用菜单调用各个函数,分别完成如下功能:

(注意:

若文本文件JSJ05112

存放在软盘的ABC文件夹中,则fopen()函数中的文件名应为:

”a:

\\ABC\\JSJ05112.txt”)。

(1)用C语言创建一个数据文件,文件名为:

“MingC+序号”,如计算机051班的12号同学所建

的文件名应为:

“MingC12.txt”。

用来存放班级的成绩表,要求按以下形式存放。

名次学号姓名英语C语言数学平均成绩

11我自己96939995.5

32张某76898980.5

43李某91966778.2

24王某75585688.8

55赵某58677768.5

..............................

(2)分别统计全班每门课的平均分和标准差,并计算各分数段(60分以下;60~69;70~79;

80~89;90分以上)的学生人数。

N

课程标准差的计算公式为:

x

i

式中:

y为课程标准差,xi为第i个学生的成绩,x为本门课程的

算术平均成绩,N为学生数。

i1

y

N

x

2

(3)用C语言创建一个数据文件,文件名为:

“KEC+序号”,如计算机051班的12号同学所建的

文件名应为:

“KC12.txt”。

在文件中存放的数据格式如下:

编号课程名称平均分标准差优秀良好中等及格不及格

1英语5.016.831018153

2C语言3.511.71520138

3数学4.518.59121981

..............................

(4)打印每名学生成绩条,结果存放到用C语言创建的一个数据文件中,文件名为:

“CJ+班名”,

如计算机051班的12号同学所建的文件名应为:

“CJJSJ051.txt”。

成绩条的格式自定。

(5)屏幕显示所有存在不及格课程的学生的名单(含学号、不及格课程名称、课程的学分及成

绩)。

(6)屏幕显示优等生名单(含学号、N门课成绩、平均分、名次)

优等生条件(只要满足三个条件中的任意一个条件即可):

①平均分大于91分

②名次在本班位于前四名

③平均分大于87分,并且至少有一门课的成绩为100分

(7)选做内容:

屏幕显示每门课的成绩分布图

四、实习方式、实习地点及时间安排

1.实习方式

由指导教师具体指导,集中上机实习。

2周内的非上机时间,由学生自主编写程序。

2.实习地点

校内教育技术与服务中心的学生公用机房。

3.时间安排

整个实习过程分四个阶段进行。

第一阶段(2天):

首先分析题目的要求,将一个比较复杂的问题分解成若干个相对容易的小

问题,并设计好解决每个小问题的函数的函数名、入口参数及其返回值;然后按题目要求准备好原

始数据;最后设计

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2