最新C语言实验手册.docx
《最新C语言实验手册.docx》由会员分享,可在线阅读,更多相关《最新C语言实验手册.docx(30页珍藏版)》请在冰豆网上搜索。
最新C语言实验手册
四川师范大学数学与软件科学学院信息与计算科学专业
《程序设计基础教程----C语言版》课程实验指导手册
本实验指导手册旨在指导数学与软件科学学院信息与计算科学专业《程序设计基础教程----C语言版》(专业必修课)的实验教学活动过程。
其主要使用对象为本课程主讲教师和实验指导教师。
它可以作为教学过程中的教学辅助参考资料,也可以作为学生在本门课程的学习中,结合实际教学内容,完成相关实验并填写实验报告的主要依据。
具体实施过程中,除开各实验中要求的必做题目外,教师可结合实际教学情况,根据学生接受程度作适当扩展。
学生在进行实践设计活动时,也可以结合自身掌握和学习的实际情况进行有选择地实践。
本指导手册仅针对本学院信息与计算科学专业而设置。
本实验手册编写的参考书籍:
1.《程序设计基础教程----C语言版》,冯山,马廷淮主编,北京:
科学出版社,2008年5月
2.《C语言程序设计教程(第二版)》,谭浩强,张基温,唐永炎编著,北京:
高等教育出版社,2002年3月
3.《C语言习题集与上机指导(第二版)》,谭浩强,张基温主编,北京:
高等教育出版社,2002年1月
引言
程序设计是实践性很强的课程。
实践也是学好程序设计课程中必不可少的重要环节。
程序设计的实践分两个步骤:
一是设计和编写解决问题的程序算法流程,并在此基础上编写源程序代码;二是在计算机上对程序进行调试,并使程序完成问题的求解过程,进行相应的逻辑测试。
实验过程中,应当注意如下问题:
(1)上机实习的主要目的是训练C语言程序的上机调试能力和分析、解决调试过程中遇到的问题的能力。
并在此过程中逐步提高程序编写与问题分析能力。
而不是简单地对教材上的实例做验证式的操作;
(2)上机内容可以结合教材内容和习题,或由老师布置专门的上机习题进行;
(3)为提高上机效果。
必须在上机之前准备好上机的基本内容并编写好上机程序,尽量在上机之前先作好预先的阅读分析工作;
(4)上机调试的基本方法:
语法检查(编译)==>逻辑检查(设计者检查)==>测试。
上机实验的主要步骤:
(1)了解实验目的和要求,并椐此复习或阅读相关教材内容;
(2)根据题目要求,事先编写好程序,并经过设计者静态检查程序的语法正确性和逻辑正确性,分析可能出现的问题;
(3)设计好上机时准备测试程序的用例;
(4)上机调试通过程序,并记录上机调试中出现的问题和测试结论等,写出实验报告。
调试过程中,尤其要注意各种语法错误、逻辑错误调试经验的积累。
实验报告的主要内容:
(1)实验题目;
(2)目的要求;
(3)程序说明(如程序结构、各模块的算法和数据结构等);
(4)经调试后的程序清单;
(5)测试情况说明;
(6)分析(包含没有通过的程序的原因分析)。
实验报告的具体内容填写格式,参见《四川师范大学实验报告手册》格式的规定。
其中,程序清单请附着在相应的实验单元后面,程序结果、说明与分析等写在实验结果处,如不够,可另行附页。
实验一C语言程序的运行环境和运行一个C语言程序的方法(2学时)
实验目的:
(1)熟悉所用计算机系统的基本操作方法以及在该系统下安装、编辑、编译、连接和运行一个C语言源程序的基本操作步骤(以TurbocC为基本背景);
(2)学习基本的C语言程序设计与调试环境设置方法;
(3)通过运行简单的C语言程序,了解C语言程序的特点。
实验内容:
(要求至少调试3个以上的简单程序)
1.如果系统没有安装TC环境,则安装,否则,跳过此步;
2.配置好TC环境,熟悉TC编辑器的基本操作命令及其它基本功能;
3.完成并熟悉程序输入、编译、连接、运行过程,直到程序输出结果正确;
4.学习基本的调试程序方法(包含编译、连接错误信息的正确理解);
5.可参考的程序实例如下(也可以参考教材范例):
1)最简单的C语言程序:
intmain(void)
{
printf("Thisismyfirstprogram.\n");
return0;
}
2)引用C语言函数库进行计算的程序:
/*Pleasetryexercisesinchapteroneoftextbookinpage15*/
#include"math.h"
intmain(void)
{
floatfX;
fX=sin(2.2922);
printf("sin(%f)is%f\n",2.2922,fX);
return0;
}
3)引用自定义函数的C语言程序:
/*ThisisthefunctionofaveragefordatafA,fB,fC*/
floataverage(floatfA,floatfB,floatfC)
{
floatfAvg;
fAvg=(fA+fB+fC)/3.0;
returnfAvg;
}
intmain(void)
{
floatx1,x2,x3;
printf("PleaseinputfX1,fX2,fX3:
");
scanf("%f,%f,%f",&fX1,&fX2,&fX3);
printf("\nAvgof%f,%fand%fis%f\n",\
fX1,fX2,fX3,average(fX1,fX2,fX3));
return0;
}
4)求1+2+3+...+100;
5)给定5个数,求其最小者;
6)求a+|b|。
实验准备:
(1)计算机设备;
(2)程序调试环境的准备,如TC环境;(3)实验源程序准备。
实验步骤:
(1)安装TC,如果已安装好,可以跳过此步;
(2)进入TC的编辑窗口,进行基本的环境设置;
(3)熟悉基本的TC编辑操作方法和文件创建、保存方法;
(4)输入一个C语言源程序,进行编辑、编译、连接、运行。
完成一个简单的程序设计,运行输出正确结果;
(5)输入其它源程序并进行调试(注意错误提示信息);
(6)编写实验报告。
实验结果:
(1)对TC的安装、调试、基本操作、环境设置方法等方面进行描述;
(2)对TC程序的执行过程和结果进行分析;
(3)给出实验过程中出现的主要问题和现象以及解决的方法;
(4)程序代码及运行结果描述。
实验二数据类型、运算符和表达式(2学时)
实验目的:
(1)掌握C语言的数据类型的声明、定义、赋值及引用;
(2)掌握变量和常量之间的关系,以及各种常见的常量表示方法;
(3)掌握C语言的有关运算。
算术运算中的自反、自增(++)、自减(--)运算符的使用;关系表达式和逻辑表达式的逻辑值表示方法和基本运算规律;学会在C语言环境下表示条件表达式;
(4)掌握不同类型数据之间的转换和赋值方法。
实验内容:
主要参考实例或内容(也可以参考教材或习题实例):
1.请变成实现教材P54页题2-4(目的:
观察各种数据类型的分配空间大小);
2.教材相关内容为基础,考察变量的声明、定义、使用的先后关系;考察不同数据类型变量之间相互赋值的结果;考察各种形式的常量表示;
3.基本的C语言运算规律,尤其是算术运算中的自反、自增、自减等运算和关系表达式、逻辑表达式的特殊运算规律的掌握。
(可参考教材习题中的2-13,2-14和2-18,例2-20);
4.关于不同数据类型之间的转换问题,参见教材例2-5~例2-12。
注:
由于本章内容是基本的程序设计基础内容,所有这些内容必须要求熟练掌握和运用。
因此,其中一些实验实例由教师在课堂实践教学中进行现场示范性讲解,由学生课外自由验证课堂范例、教材范例以及教材习题和相关课外参考书籍和资料,进行综合性的验证实践,并写出心得报告。
具体实验范例不需要确定下来。
实验准备:
分析测试目的并根据它准备好实验内容的各种测试用例。
实验步骤:
(1)选择测试目标;
(2)准备测试用例和具体的测试数据;
(3)上机调试进行测试并做测试记录;
(4)进行测试分析;
(5)编写实验报告。
实验结果:
(1)根据测试目标写出测试报告;
(2)测试结果分析说明;
(3)测试程序代码清单。
实验三最简单的C语言程序设计(2学时)
实验目的:
(1)掌握顺序结构的程序设计概念、方法及各种赋值语句的使用方法;
(2)掌握基本的C语言程序设计中的输入、输出语句的使用方法。
实验内容:
1.熟悉表3-1~表3-5中给出的格式化输入、输出格式控制符及其使用方法,并上机测试教材表例3-1~例3-10,观察C语言中的数据格式化输入、输出规律和方法;
2.输入并编辑以下程序代码:
intmain(void)
{
intnA,nB;
floatfC,fD;
longlE,lF;
unsignedintu,v;
charch1,ch2;
scanf("%d,%d",nA,nB);
scanf("%f,%f",fC,fD);
scanf("%ld,%ld",lE,lF);
scanf("%o,%o",u,v);
scanf("%c,%c",ch1,ch2);
printf("\n");
printf("a=%7d,b=%7d\n",&nA,&nB
printf("c=%10.2f,d=%10.2\n",&lF,&fD);
printf("e=%17ld,f=%17ld\n",&lE,&lF);
printf("u=%o,v=%o\n",&u,&v);
printf("c1=%c,c2=%c\n",&ch1,&ch2);
return0;
}
请分析和观察代码有无错误,如果有,有哪些?
指出错误原因,并修正之,使其可以按照预想的目的输入相应数据并输出结果;
3.输入华氏温度的值F,要求输出摄氏温度的取值C,其中,C=5/9*(F-32)。
要求输出有文字说明,取两位小数位;
4.用getchar()函数读入两个字符ch1,ch2,然后分别用putchar()和printf()函数输出这两个字符。
试分析思考如下问题:
(a)ch1和ch2的数据类型用什么?
(b)要求输出ch1和ch2的ASCII码,应如何处理?
是用pringf()还是用putchar()?
(c)整型变量是否在任何情况下都可以相互代替?
5.*请编写和实现教材习题3-15,3-16,3-17和3-18,至少要求实现其中一个问题。
实验准备:
(1)复习相关内容,阅读并分析1、2、3中的相关程序代码;
(2)对4、5题进行程序代码编写。
实验步骤:
(1)对照阅读分析结果,上机验证1、2、3的结果,并做出相应分析;
(3)对4、5题进行上机调试,并进行测试、做测试记录;
(4)进行实验分析;
(5)编写实验报告。
实验结果:
(1)根据测试目标写出测试报告;
(2)测试结果分析说明;
(3)测试程序代码清单。
实验四分支结构的程序设计(4学时)
实验目的:
(1)掌握C语言程序设计中逻辑量的表示和运用方法;
(2)掌握C语言程序设计中条件表达式的值的计算方法及其跟程序执行流程之间的逻辑顺序关系;
(3)掌握C语言中的4种选择结构语句的执行逻辑及其运用方法。
实验内容:
1.if语句的实验。
请分析如下语句段的逻辑关系:
intmain(void)
{
...
if(nA>1&&nB==0)nX=nX/nA;
if(nA==2||nX>1)nX=nX+1;
...
return0;
}
(a)以算法流程图的形式表述;
(b)