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

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

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

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

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

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

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

学时课程总:

64 学分:

4

实验学时:

24 实验个数:

9实验学分:

1.5

课程性质:

必做适用专业:

计算机科学技术、网络工程、软件工程、电子商务、教育技术

教材及参考书:

《C语言程序设计与实践实验指导》,谢满得邵俊编着,机械工业出版社,2014年1月

大纲执笔人:

廖雪花 大纲审定人:

一、实验课的性质与任务

C语言程序设计实验是面向计算机相关专业学生开设的《C语言程序设计》实验课,是配合《C语言程序设计》课程而开设的实践性教育环节。

本课程的主要任务是让学生充分掌握C语言程序设计的基本概念、各种数据类型的使用技巧、模块化程序设计的方法等。

C语言程序设计实验对课程中所涉及的知识进行验证,同时也是学生很好地学习课程的辅助手段。

通过C语言上机实验的教学活动,使学生真正全面掌握C语言的基础知识,培养和提高学生的程序开发能力。

二、实验课程目的与要求

1.实验目的

通过实验课程的学习实践,加深学生对所学的基本概念、基础理论和知识的理解,熟悉使用VisualC++6.0集成环境进行C语言的编写、编译与调试。

同时,通过项目开发全过程的全方位指导,从需求分析、算法设计到程序编写和过程调试,以项目实训的形式引导和帮助学生解决实际问题,提高学生解决具体问题的能力,以及培养学生用多函数、多文件组织程序的思维习惯,为今后的后继课程学习和实际工作打下良好基础。

2.实验要求

(1)掌握C语言程序的基本格式,了解C程序的开发过程和C语言中的一些常用概念。

(2)掌握常量和五种基本数据类型变量的使用。

(3)掌握C表达式和运算符的正确使用,熟练掌握数据输入、输出函数。

(4)掌握条件转移语句if-else和选择分支语句switch;掌握三种程序跳转的方法,即break语句、continue语句、return语句。

(5)掌握循环语句(for语句;do-while语句;while语句)的正确使用,认真体会应该如何组织循环。

(6)掌握数组的定义、赋值,一维数组与二维数组的使用。

(7)掌握函数的定义、函数的调用以及函数的类型说明。

(8)掌握局部变量、全局变量的定义和使用。

(9)掌握指针的基本概念以及数组与指针、指向指针的指针的基本用法。

(10)掌握结构体变量的定义,引用结构体中成员的方法,应用结构数组解决实际问题;共用体的概念,引用共用体中成员的方法。

(11)掌握链表的类型定义及其基本操作。

(12)掌握文件的打开、读写及关闭,并能运用文件提高编程的效率。

(13)理解项目式程序开发的过程。

三、实验项目及内容提要

《C语言程序设计》实验课程()

序号

实验项目编号

实验名称

学时

必做

选做

学分数

实验类型

内容提要

基本操作

验证

综合

设计

1

实验一

数据类型和表达式

2

1

1、了解C语言中数据类型的意义。

2、理解常用运算符的意义。

3、掌握C语言表达式的运行规则

2

实验二

分支结构程序设计

2

1

了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句

3

实验三

循环结构程序设计

2

2

1、使用循环语句完成累乘、图像输出的程序编写。

2、掌握较复杂结构程序的编写。

3、掌握程序调试的方法

4

实验四

数组程序设计

4

2

掌握一维和二维数组的使用技巧

5

实验五

函数

5

2

1、学习函数的编程思想,编写一个包括3~4个函数的程序。

2、掌握函数中参数传递的两种方式和函数的相互调用

6

实验六

指针

3

2

1、用指针作为函数参数完成字符串的传递。

2、掌握函数中参数传递的两种方式

7

实验七

字符串与指针

2

1

1、掌握用指针进行函数参数传递的方法。

2、掌握指针数组和二维数组间的关系以及进行参数传递时的写法

8

实验八

结构体

2

1

1、掌握结构体的定义、数据输入方法。

2、掌握结构体成员变量的两种访问方法。

3、掌握编写程序完成单链表的建立和查询方法

9

实验九

文件操作

2

1

1、掌握文件的打开和关闭。

2、精通文件的读写操作。

3、了解文件的定位操作及文件的检测函数。

4、掌握文件的应用

四、实验内容安排:

实验一数据类型和表达式实验

(验证性实验2学时)

1、目的要求:

(1)了解C语言中数据类型的意义。

(2)理解常用运算符的意义。

(3)掌握C语言表达式的运行规则。

(4)编写实验报告。

2、实验内容(参考实验指导书):

(1)计算由键盘输入的任何两个双精度数据的平均值。

(2)写一个输入7个数据的程序,把输入的数据代入a+b*(c–d)/e*f–g表达式进行运算。

(3)编写一个C语言程序,测试下列各表达式:

i,j

i+1,j+1

i++,j++

++i,++j

i+++++j

(4)输入存款金额money,存期year和年利率rate,根据下列公式计算存款到期时的利息interest(税前),输出时保留2位小数。

interest=money(1+rate)year-money

(5)输入华氏温度,输出对应的摄氏温度。

计算公式如下:

c=5*(f-32)/9

其中,c表示摄氏温度,f表示华氏温度。

实验二分支结构程序设计实验

(验证性实验2学时)

1、目的要求:

(1)了解和掌握分支语句的使用,包括if语句的各种形式以及switch语句。

(2)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个程序完成输入一个整数,输出它的符号。

(2)请编写居民应交水费,并提供各种测试数据。

居民应交水费y(元)与月用水量x(吨)的函数关系式如下:

0x<0

y=f(x)=4x/30≤x≤15

2.5x–10.5x>15

(3)请根据输入的学生成绩给出成绩等级的判断,判断规则如下:

如果输入的成绩大于等于90,则输出优秀;

如果输入的成绩小于90、大于等于80,则输出良好;

如果输入的成绩小于80、大于等于70,则输出中等;

如果输入的成绩小于70、大于等于60,则输出及格;

其他输出不及格。

(4)运输公司对用户计算运费。

路程(s)越远,每公里运费越低。

标准如下:

s<250km没有折扣

250km≤s<500km2%折扣

500km≤s<1000km5%折扣

1000km≤s<2000km8%折扣

2000km≤s<3000km10%折扣

3000km≤s15%折扣

设每公里每吨货物的基本运费为p,货物重为w,距离为s,折扣为d,则总运费的计算公式为:

f=p*w*s*(1–d)

请编程实现:

从键盘输入基本运费p,货物重w,距离s,计算输出用户最终需要支付的运费。

实验三循环结构程序设计实验

(验证性综合性实验2学时)

1、目的要求:

(1)使用循环语句完成累乘、图像输出的程序编写。

(2)掌握较复杂结构程序的编写。

(3)掌握程序调试的方法。

(4)编写实验报告。

2、实验内容(参考实验指导书):

(1)已知xyz+yzz=532,其中x、y、z都是数字(0~9),编写一个程序求出x、y、z分别代表什么数字。

(2)编写一个程序打印如下对称图形(行数由键盘输入1~9范围的值),例如下面是输入的数字4时的情形:

4444444

33333

222

1

222

33333

4444444

(3)学校有近千名学生,在操场上排队,5人一行余2人,7人一行余3人,3人一行余1人,编写一个程序求该校的学生人数。

(4)学校某班A、B、C、D四位同学中的一位做了好事不留名,表扬信来了之后,班主任问这四位是谁做了好事,四位回答如下:

A说:

不是我。

B说:

是C。

C说:

是D。

D说:

他胡说。

已知三个人说的是真话,一个人说的是假话。

请根据这些信息,找出做了好事的人。

实验四数组程序设计实验

(验证性综合性实验4学时)

1、目的要求:

(1)掌握一维和二维数组的使用技巧。

(2)编写实验报告。

2、实验内容(参考实验指导书):

(1)从键盘输入一个长度为N(比如10)的整型数组,而后将数组中小于零的元素移动到数组的前端,大于零的元素移到数组的后端,等于零的元素留在数组中间。

比如原来数组为:

2-5-89750-89093480,经过处理后的数组为:

-5-89-890007593482。

由于不要求数组有序,所以不允许用排序方法。

提示:

1)输入N个数据,构建数组。

2)按照要求确定数据的位置,需要注意循环条件的确定、0数据元素往中间推的实现过程以及数组处理的方向。

(2)设数组a的定义如下:

inta[20]={2,4,6,8,10,12,14,16};已存入数组中的数据值已经按由小到大的顺序存放,现从键盘输入一个数据,把它插入到数组中,要求插入新数据以后,数组数据仍然保持有序。

请编写一个程序实现上述功能。

提示:

1)定义整型数组并初始化。

2)从键盘输入一个数据。

3)将该数据插入到数组中,由于要保证插入的数组仍然有序,所以需要查找插入的位置。

4)输出插入数据以后的数组。

(3)写一个3x5矩阵的转置程序,输出其原矩阵的值和转置以后的结果。

提示:

1)定义一个二维数组及相关变量。

2)对二维数组赋值,可以由键盘输入,也可以通过其他方式赋值。

3)输出转置前的二维数组。

4)对二维数组中的值进行转置。

5)输出转置后的二维数组中的值。

(4)编程实现随机产生10个位于区间[100200]互不相等的整数,并将其按降序排序和输出。

实验五函数实验

(验证性综合性实验5学时)

1、目的要求:

(1)学习函数的编程思想,编写一个包括3~4个函数的程序。

(2)掌握函数中参数传递的两种方式和函数的相互调用。

(3)编写实验报告。

2、实验内容(参考实验指导书):

(1)写一个函数intdigit(intn,intk),它返回数n的从右向左的第k个十进数字值。

例如,函数调用digit(1234,2)将返回值3。

(2)写一个函数intisprime(intn),当n是质数时,函数返回非零值;当n是合数时,函数返回零值。

(3)写一个函数reverse(chars[]),将字符串s[]中的字符串倒序输出。

试分别用递归和非递归两种形式编写。

(4)写一个主函数输入测试数据(自己指定),并调用上述函数,检查函数功能的正确性。

(5)一个数如果从左到右和从右到左读,数字是相同的,则称这个数字为回文数,比如898、1221、15651都是回文数。

求:

既是回文数又是质数的5位十进制数有多少个?

要求:

回文判断和质数判断都需要通过子函数实现,输出的时候要求5个数字一行。

(5)在n个已排好序(设为从小到大)的数据(数或字符串)中查找某一个数据,如果找到了,就指出其在n个数中的位置;否则给出无该数据的信息。

请用递归的方法实现二分查找来实现这一查找过程。

提示:

采用二分法求解本问题的基本思路是:

设数列为a1,a2,…,an,被查找的数为x,则查找首先对am(m=(n+1)/2)进行,于是得到三种情形。

若x>am,则x只可能在区间[am+1,an]

若x

若x=am,则am即为查找的数,求解结束。

从上面的分析发现,这个过程很适合用递归来实现。

实验六指针实验

(验证性综合性实验4学时)

1、目的要求:

(1)用指针作为函数参数完成字符串的传递。

(2)掌握函数中参数传递的两种方式。

(3)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个函数char*delk(char*sp),把sp所指向的字符串中所有的“$”字符删除,并把处理后的字符串指针返回。

(2)写一个函数intfind(char*s1,char*s2),函数find的功能是查找串s1中是否包含指定的词(s2指向),如果存在则返回第1次出现的位置,否则返回-1.约定串中的词由1个或1个以上的空格符分隔。

(3)编程实现将输入的十进制整数n通过函数DtoH转换为十六进制数,并将转换结果以字符形式输出。

例如:

输入十进制数79,将输出十六进制数4f。

(4)定义函数voidMerge(inta[],intn,intb[],intm),参数a、b为一维数组,数组中的数据为升序排列,n和m分别为它们的元素个数。

函数的功能为:

将数组a和b合并为一个数组,合并后的结果存放于数组a中,要求合并后的数组a仍旧为升序排列。

请编程实现,并编写main函数对其测试。

实验七字符串与指针实验

(验证性综合性实验2学时)

1、目的要求:

(1)掌握用指针进行函数参数传递的方法。

(2)掌握指针数组和二维数组间的关系以及进行参数传递时的写法。

(3)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个书名排序程序,输入10个书名存入一个二维数组,用函数voidsortstring(char*name[],intn)实现它们的字典顺序。

(2)编写函数voidsearch(char*s1,char*s2,char*s3)。

函数search()从已知的两个字符串s1与s2中找出它们都包含的最长的单词放入字符串s3,约定字符串中只有小写字母和空格字符,单词用1个或1个以上空格分隔。

(3)编写一个主函数,测试上述两个函数的正确性。

(4)输入一个字符串,内有数字和非数字字符,例如:

将其中连续的数字作为一个实数,依次存放到一数组a中。

例如123存放在a[0],456.78存放在a[2],依次类推,统计共有多少个数,并输出这些数。

实验八结构体实验

(验证性综合性实验2学时)

1、目的要求:

(1)掌握结构体的定义、数据输入方法。

(2)掌握结构体成员变量的两种访问方法。

(3)掌握编写程序完成单链表的建立和查询方法。

(4)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个建立单链表的函数,设链表的表元素信息包含学号、姓名、一门课的成绩;写一个按照学号查学生成绩的函数;最后写一个主函数,它先调用建立函数,再调用查询函数,显示查到学生的姓名和成绩。

(2)编一程序,能把从终端输入的一个字符串中的小写字母全部转换成大写字母,要求输入的字符的同时指定该字符在字符串中的序号(即字符在字符串中的顺序号,例如第1个字符的序号为1),字符和序号存入结构体中,字符串存入结构体数组中,然后显示结构体数组的结果(用字符!

表示输入字符串的结束)。

(3)在本实验的实验内容1的基础上,实现在链表元素index之前插入元素的操作Insert(structnode*head,intindex)和删除指定位置元素的操作Delete(structnode*head,intindex),并编写主函数测试。

实验九文件操作实验

(验证性综合性实验1学时)

1、目的要求:

(1)掌握文件的打开和关闭。

(2)精通文件的读写操作。

(3)了解文件的定位操作及文件的检测函数。

(4)掌握文件的应用。

(5)编写实验报告。

2、实验内容(参考实验指导书):

(1)编写一个程序,读取磁盘上的一个C语言程序文件,要求加上注释后再存放到磁盘上,文件可以另外命名。

(2)编写一个程序,将文件old.txt从第10行起存放到new.txt中。

(3)有一个整数文件,读取其中的数值,如果为奇数加1,如果为偶数减1,然后存放到新的文件中去。

(4)二进制文件d.dat中包含若干个整数,用键盘输入一个整数,请在文件中找出该整数的下一个数并输出。

若找不到则输出“NotFound!

”。

五、实验报告的格式

实验名称

(一)实验目的和要求:

(二)实验内容:

每个实验内容含以下五部分:

1、算法描述:

2、源代码和说明:

3、测试数据:

4、运行结果:

5、问题及解决方法:

(三)实验总结:

具体可参考实验指导书P15~P19页举例。

六、考核方式、方法及实验成绩评定方法

1、考核方式、方法:

C语言程序设计实验课成绩单独按五级记分。

凡实验成绩不及格者,该门课程必须重修。

学生的实验成绩应以平时考查为主,一般应占总分的20%,其平时成绩又要以实验实际操作的优劣作为主要考核依据。

在学期末或课程结束时,为复习和巩固实验教学内容,进一步对学生作补充了解,也可举行一定的实验操作考试,但无论采取何种方式进行考核,都必须按实验课的目的要求,以实际实验工作能力的强弱作为评定成绩的主要依据。

因此,最终的集中考试结果只能占总成绩的20%。

2、实验成绩评定方法:

评定各级成绩时,可参考以下标准:

(一)优秀(很好)

能正确理解实验的目的要求,能独立、顺利而正确地完成各项实验操作,会分析和处理实验中遇到的问题,能较好地完成实验报告及其它各项实验作业,有一定设计能力。

有良好的实验工作作风和习惯。

(二)良好(较好)

能理解实验的目的和要求,能认真而正确地完成各项实验操作,能分析和处理实验中遇到的一些问题。

能掌握所学实验技能的绝大部分,对难点较大的操作完成有困难。

能一般完成实验报告和其它实验作业。

有较好的实验习惯和工作作风。

(三)中等(一般)

能粗浅理解实验目的要求,能认真努力进行各项实验操作,但技巧较差。

能分析和处理实验中一些较容易的问题,掌握实验技能的大部分。

有30%掌握得不好。

能一般完成各项实验作业和报告。

处理问题缺乏条理。

工作作风较好。

能认真遵守各项规章制度。

学习努力。

(四)及格(较差)

只能机械地了解实验内容,能一般性地按实验步骤完成实验操作,能完成60%所学的实验技能,有些虽作但不准确。

遇到问题常常缺乏解决的办法,在别人启发下能作些简单处理,但效果不理想。

能一般完成实验报告,能认真遵守实验室各项规章制度,工作中有小的习惯性毛病。

(五)不及格(很差)

盲目地操作,只掌握50%的所学实验技能。

有些实验虽能作,但一般效果不好,操作不正确。

工作忙乱无条理。

一般能遵守实验室规章制度,但常有小的错误。

实验报告较多的时候有结果,遇到问题时说不明原因,在教师指导下也较难完成各项实验作业。

或有些小聪明但不努力,不求上进。

七、实验主要应配套仪器设备及台(套)数(以一个实验教学班60人为标准)

序号

仪器设备名称

数量

备注

1

计算机

60台

2

C语言编译环境软件

1套

八、主要教材及参考书

1、《C语言程序设计与实践实验指导》,谢满得邵俊编着,机械工业出版社,2011年6月。

2、《标准C程序设计(第四版)》,(印)EBalagurusamy着,金名李丹程刘莹那俊等译,清华大学出版社,2008年6月。

3、《CHowtoProgram(4thed.)》,HMDeitel&PJDeitel,清华大学出版社,2002。

4、《C程序设计习题解答与上机指导》,谭浩强,清华大学出版社,2003。

5、《C语言程序设计习题集》,陈朔鹰等,人民邮电出版社,2003。

6、《C程序设计语言》(美)BrianW.Kerninghan着,徐宝文译,机械工业出版社,2003。

7、《C程序设计教程》(美)H.MDeilel着,薛万鹏译,机械工业出版社,2003。

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

当前位置:首页 > 法律文书

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

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