学时:18学时。
开课对象:信息与计算科学专业四年制本科生。
课程类别:专业必修课
一、说明 一) 实验教学目标
本课程是为配合信计专业的专业基础课《c语言程序设计》的学习而开设的。实验作为教学的一个重要环节,其目的在于更深入地理解和掌握课程教学中的有关基本概念和基础知识,应用程序设计的基本技术解决实际问题,从而使学生掌握结构化程序设计的方法,培养学生程序设计的思想、实际编程和调试程序的能力。因此,当我们着手做一个实验的时候,必须明确实验的目的,以保证达到课程所指定的基本要求。
在写实验报告时,要进一步确认是否达到了预期的目的。
二) 实验要求
实验的目的是要通过解决一些具体问题来达到的。在教材中,每一部分都安排了多个实验题目,根据教学安排、进度、实验条件、可提供的学时及学生的基础等因素,可以选择其中的几个或全部。每个学生必须完成较大数量的上机作业。
通过上机作业,使学生在各种数据类型、运算、表达式、程序控制流程、结构化程序设计及其实现等方面加深对课程基本内容的理解和巩固;在程序设计方法及上机操作等基本技能和科学作风方面受到比较系统的、严格的训练。实习课与授课同时进行,课内安排18学时,每周1学时,课外每周不少于3学时。
三) 实验课时安排
二、实验内容
实验一 c语言程序的输入、编译、连接与运行
实验目的:1.熟练利用文本编辑程序输入、修改c程序。
.掌握和理解c程序的基本结构。
.掌握c程序的编译连接与运行的过程。
.掌握和理解本实验**现的一些基本的c语言语句。
.体会算法在程序设计中的重要性。
实验内容:1.编辑简单源程序以文件形式写入磁盘;
2.分别编译、连接与运行源程序;
实验二数据类型、运算符和表达式。
实验目的:1.掌握c语言的数据类型,熟悉如何定义一个基本数据类型的变量,以及对它赋值的方法。
2.掌握不同的类型数据之间赋值的规律。
3.掌握c语言表达式的运算规则。
实验内容:1.实验指导书p245开始的(1)~(5)题。
2.程序测试,把带小数的float和double型数据用print函数输出时,小数部分是截断还是四舍五入。
3.用getchar函数读入两个字符c1,c2,然后分别用putchar函数和printf函数输出这两个字符,并思考以下问题:
1)变量c1,c2应定义为字符型还是整型,或两者皆可?(2)要求输出ascii码,应如何处理?用putchar函数还是printf函数?
3)整型变量和字符型变量是否在任何情况下都可以互相代替?
4.*通过实践,观察输入/输出结果,理解数据类型。
实验三选择结构的程序设计
实验目的:1.进一步掌握各种表达式的使用。
2.学会使用逻辑运算符和逻辑表达式。
.利用if语句实现选择结构 。
.利用switch语句实现多分支选择结构。
.练习调试与修改程序
实验内容:1. 计算一元二次方程ax+bx+c=0
2. 有一函数。
x (x<1)
y= 2x-1 (1≤x<10)
3x-11 (x≥10)
写一程序,输入x,输出相应的y值。
3. 设计一个判断输入年份是否为闰年的c程序。
4. 给出一个百分制成绩,要求输出成绩等级a、b、c、d、e。其中:
90分以上为 a;80~89分为b;70~79分为c;60~69分为d;60分以下为e。(具体编程要求见指导书p250的(2)题中所指出的两点。)
实验四循环结构的程序设计。
实验目的:1.练习并掌握实现循环结构的三种方法。
2.掌握在设计条件型循环结构时,如何正确地设定循环条件,以及如何控制循环次数。
3.掌握如何正确地控制计数型循环结构的循环次数。
4.练习并掌握选择结构与循环结构的嵌套 。
5.练习调试与修改程序。
实验内容:1. 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
2. 打印出所有的“水仙花数”,所谓“水仙花数”是指一个3位数,其各位数字立方和等于该数本身。如:153是一个水仙花数,因为152=13+53+33。
3. 指导书中p251的(3)~(4)两题。
实验五数组。
实验目的:1.掌握一维和二维数组定义、赋值和使用方法。
2. 掌握字符数组和字符串函数的用法。
3. 掌握与数组有关的算法(特别是排序算法)。
实验内容:1.求fibonacci(菲波那契)数列中前20个数,用数组存放,并按一行5个数输出。菲波那契数列是一个正整数序列,它的第。
一、二个数分别是0和1。以后,每个数都是前两个数的和。
2.对n个数进行由小到大的顺序排序。
3.在上题的基础上,要求输入一个数,把它插入到原有数列中,而且仍然保持有序(要求用折半查找法来确定插入点位置 )。
4.求一个3*3矩阵对角线元素之和。
实验六函数。
实验目的:1.掌握c语言中定义和使用函数的方法。
.掌握通过“值传送”调用函数的方法 。
.掌握递归函数的设计方法。
.加深理解变量的作用域和存储属性。
实验内容:1. 写一个将整数转换成字符串的函数itoa 。
2. 用newton-rapleon(牛顿迭代)法求一元三次方程ax+bx+cx+d=0的根。
3. 编写一个求1+2+…+n(n为正整数)的递归函数,希望能在程序运行过程中动态地显示递归函数被调用的轨迹。
4. *找有关程序,理解变量的存储属性。
实验七指针。
实验目的:1.掌握指针的概念、会定义和应用指针变量。
2.能正确使用数组的指针和指向数组的指针变量,以及字符串的指针和指向字符串的指针变量。
3.能正确使用指向函数的指针变量。
实验内容:1.利用指针实现,有n个人围成一圈,顺序排号。从第1个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
2.利用指针数组实现,在主函数中输入10个不等长的字符串,然后用另一函数对它们进行从小到大的顺序排序,最后在主函数中输出这10个已排好序的字符串。
实验八结构体。
实验目的:1.掌握结构体类型的概念和定义方法,以及结构体变量的定义和引用。
2.掌握指向结构体变量的指针变量的概念和应用,特别是链表的概念和应用。
3.掌握运算符“.”和“->的应用。
实验内容:建立一个链表,每个结点包括的成员为:职工号、姓名、年龄、工资。
用malloc函数开辟新结点。要求链表包含5个结点,从键盘输入结点的有效数据,然后把这些结点的数据打印出来。用一个creat函数来建立链表,用list函数输出数据。
5个职工号为101,103,105,107,109。
如果新增加一个职工的数据,按职工号的顺序插入链表,新插入的职工号为106。写一个函数insert来插入新结点。
在以上的基础上,再写一个函数delete,用来删除一个结点。今要求删除职工号为103的结点。打印出已删除后的链表。
三、实验考核及评分办法。
实验效果20% ;上机考核50% ;实验报告30% 。
四、教材与参考书。
实验教材:谭浩强,《c程序设计题解与上机指导(第二版)》,清华大学出版社,2000
参考书:谭浩强,《c程序设计(第二版)》,清华大学出版社,1999.12
五、说明。上机环境一般为turbo c2.0(教材所使用的)或vc++ 6.0。
c语言程序设计》实验报告规范。
实验题目日期。
班级姓名学号指导教师
一、实验目的。
二、实验内容。
1、程序的功能;
2、输入输出的要求;
3、测试数据。
三、实验要求。
四、程序流程图。
五、调试分析。
1、调试中遇到的问题及对问题的解决方法;
2、实验的感想和收获。
六、源程序(带注释)
C语言程序设计实验大纲
c语言程序设计实验 教学大纲。一 实验课名称 c语言程序设计实验 c programming experiment 二 实验课性质 独立设课,专业基础必修课 三 适用专业 测绘专业 机械专业。四 采用教材及参考书 1.谭浩强。c语言程序设计教程。北京 高等教育出版社,1998.2.谭浩强。c程序设计...
《C语言程序设计》实验大纲
课程名称 c语言程序设计课程编号 学分 6开课学期 第2学期。课程总学时 实验学时 108 51是否独立设课 否。实验室名称 计算中心课程性质 必修课。实验目的与要求 通过程序设计实验掌握程序设计的基本概念 方法和技巧。熟练掌握turbo c2.0等程序编译软件的使用方法,能熟练地编辑 存取,调试程...
《C语言程序设计》实验大纲
c语言程序设计 实验大纲。课程性质 非独立设课 课程属性 专业实验课 学时学分 总学时 54 实验学时 27 实验学分 0.5 开出时间 二年级上学期。适用专业 04地理信息系统 综合性 设计性实验项目数 3 个 9 学时 一 课程简介。c语言 是一门动手能力要求很强的课,通过上机实验使得学生加深对...