c语言实验指导书_第1页
c语言实验指导书_第2页
c语言实验指导书_第3页
c语言实验指导书_第4页
c语言实验指导书_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

一.实验目的

上机实验是学习程序设计语言必不可少的实践环节,特别是C语言灵活,简洁,更需要通过编程的实践

来真正掌握它.对于程序设计语言的学习目的,可以概括为学习语法规定,掌握程序设计方法,提高程序开

发能力,这些都必须通过充分的实际上机操作才能完成.

学习C程序设计语言除了课堂讲授以外,必须保证有不少于课堂讲授学时的上机时间.因为学时所限,

课程不能安排过多的统一上机实验,所以希望学生有效地利用课程上机实验的机会,尽快掌握用C语言开

发程序的能力,为今后的继续学习打下一个良好的基础.课程上机实验的目的,不仅仅是验证教材和讲课

的内容,检查自己所编的程序是否正确,课程安排的上机实验的目的可以概括为如下几个方面:

1.加深对课堂讲授内容的理解

课堂上要讲授许多关于C语言的语法规则,听起来十分枯燥无味,也不容易记.然而要使用C语言这个

工具解决实际问题,又必须掌握它.通过多次上机练习,对于语法知识有了感性的认识,加深对它的理解,

在理解的基础上就会自然而然地掌握C语言的语法规定.对于一些内容自己认为在课堂上听懂了,但上机

实践中会发现原来理解的偏差,这是由于大部分学生是初次接触程序设计,缺乏程序设计的实践所致.

学习C语言不能停留在学习它的语法规则,而是利用学到的知识编写C语言程序,解决实际问题.即把

C语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题.只有通过上机才能检验自己是否掌

握C语言,自己编写的程序是否能够正确地解题.

通过上机实验来验证自己编制的程序是否正确,恐怕是大多数同学在完成老师作业时的心态.但是在程

序设计领域里这是一定要克服的传统的,错误的想法.因为在这种思想支配下,可能你会想办法去"掩盖"程

序中的错误,而不是尽可能多地发现程序中存在的问题.自己编好程序上机调试运行时,可能有很多你想

不到的情况发生,通过解决这些问题,可以逐步提高自己对C语言的理解和程序开发能力.

2.熟悉程序开发环境,学习计算机系统的操作方法

一个C语言程序从编辑,编译,连接到运行,都要在一定的外部操作环境下才能进行.所谓"环境"就是

所用的计算机系统硬件,软件条件,只有学会使用这些环境,才能进行程序开发工作.通过上机实验,熟练

地掌握C语言开发环境,为以后真正编写计算机程序解决实际问题打下基础.同时,在今后遇到其它开发

环境时就会触类旁通,很快掌握新系统的使用.

3.学习上机调试程序

完成程序的编写,决不意味着万事大吉.你认为万无一失的程序,实际上机运行时可能不断出现麻烦.

如编译程序检测出一大堆语法错误:scanf()函数的输入表中出现非地址项,某变量未进行类型定义,语句

末尾缺少分号等.有时程序本身不存在语法错误,也能够顺利运行,但是运行结果显然是错误的.开发环境

所提供的编译系统无法发现这种程序逻辑错误,只能靠自己的上机经验分析判断错误所在.程序的调试是

一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的.有时候一个消耗你几个

小时时间的小小错误,调试高手一眼就看出错误所在.

经常上机的人见多识广,经验丰富,对出现的错误很快就有基本判断,通过C语言提供的调试手段逐

步缩小错误点的范围,最终找到错误点和错误原因.这样的经验和能力只有通过长期上机实践才能取得.

向别人学习调试程序的经验当然重要,但更重要的是自己上机实践,分析,总结调试程序的经验和心得.别

人告诉你一个经验,当时似乎明白,当出现错误时,由于情况千变万化,这个经验不一定用得上,或者根本

没有意识到使用该经验.只有通过自己在调试程序过程中的经历并分析总结出的经验才是自己的.一旦遇

到问题,这些经验自然涌上心头.所以调试程序不能指望别人替代,必须自己动手.分析问题,选择算法,

编好程序,只能说完成一半工作,另一半工作就是调试程序,运行程序并得到正确结果.

二.实验要求

上机实验一般经历上机前的准备(编程),上机调试运行和实验后的总结三个步骤.

1.上机前的准备

根据问题,进行分析,选择适当算法并编写程序.上机前一定要仔细检查程序(称为静态检查)直到找

不到错误(包括语法和逻辑错误).分析可能遇到的问题及解决的对策.准备几组测试程序的数据和预期的

正确结果,以便发现程序中可能存在的错误.

上机前没有充分的准备,到上机时临时拼凑一个错误百出的程序,宝贵的上机时间白白浪费了;如果抄

写或复制一个别人编写的程序,到头来自己一无所获.

2.上机输入和编辑程序,并调试运行程序

首先调用C语言集成开发环境,输入并编辑事先准备好的源程序;然后调用编译程序对源程序进行编

译,查找语法错误,若存在语法错误,重新进入编辑环境,改正后再进行编译,直到通过编译,得到目标程

序(扩展名为OBJ).下一步是调用连接程序,产生可执行程序(扩展名为EXE).使用预先准备的测试

数据运行程序,观察是否得到预期的正确结果.若有问题,则仔细调试,排除各种错误,直到得到正确结果.

在调试过程中,要充分利用C语言集成开发环境提供的调试手段和工具,例如单步跟踪,设置断点,监视

变量值的变化等.整个过程应自己独立完成.不要一点小问题就找老师,学会独立思考,勤于分析,通过自

己实践得到的经验用起来更加得心应手.

3.整理上机实验结果,写出实验报告

实验结束后,要整理实验结果并认真分析和总结,根据教师要求写出实验报告.

实验报告一般包括如下内容:

⑴实验内容

实验题目与要求.

(2)程序清单

(3)运行结果

原始数据,相应的运行结果和必要的说明.

(4)分析与思考

调试过程及调试中遇到的问题及解决办法;调试程序的心得与体会;其他算法的存在与实践等.

实验一C/C++语言运行环境

一、实验目的

1.了解VC环境。

2.学习VC环境的使用方法。

3.了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。

二、实验内容

1.了解VC环境的组成。

2.熟悉VC环境。

运行VC的步骤:

第一步启动VisualC++

成功地安装了VisualC++以后,可以在Windows窗口下“开始”菜单中的“程序”选

项中选择“MicrosoftVisualstudio6.0”菜单下的“MicrosoftVisualC++6.0”命令,启

动VisualC++进入VisualC++6.0的集成环境,如图1所示。

图1VisualC++界面

第二步编辑源文件

1建立一个新工程项目

在“File(文件)”菜单下,选择“New(新建)”命令,会弹出“New”对话框的“Project

(项目)”标签,如图2所示。

图2Project对话框

选择“Win32ConsoleApplication”项,创建一个基于DOS平台的项目文件;在

“Location”编辑栏中选择该工程项目所存放的位置;如:D:\“ProjectName”编辑栏中

输入该项目名,如:“myproject”。然后单击“OK(确定)”按钮。此时会弹出Win32

ConsoleApplication项目步骤对话框,如图3。

图3Win32ConsoleApplication项目步骤对话框

选择“Anemptyproject”,生成一个空白的项目,单击“Finish(完成)”按钮,完

成创建新项目,并生成一个工作区文件,其扩展名为.dsw。

2编辑源文件

刚刚创建的空白项目中没有任何文件,此时可在“File(文件)”菜单下选择“New(新

建)”命令,会弹出“New(新建)”对话框,如图4所示。

图4“New(新建)”对话框

在该对话框中选择新建的文件类型“C++SourceFile”,并且在右侧的“File(文件)”

编辑栏中输入新建的C++源文件名,如:“myfile”。然后单击“OK(确定)”按钮。

此时会弹出源程序的编辑窗口,在该窗口中输入源程序,如图5所示。

图5源程序输入窗口

3保存源文件

编辑完源文件,可以打开“File(文件)”菜单下的“Save(保存)”命令,保存源文件。

第三步编译源文件

选择“Build(编译)”菜单中的“Compile(编译)”命令,或键入快捷键“Ctrl+F7”

(Ctrl+F7的键入方法为:按住Ctrl键的同时按下F7键),编译该源文件生成目标文件.obj

文件。

第四步链接目标文件,生成可执行文件

选择“Build(编译)”菜单中的“Build(生成可执行文件)”命令,或键入快捷键F7,

可将目标文件(.obj文件)链接并生成可执行文件。

在编译或链接时,会出现“Output”窗口,该窗口显示系统在编译或链接程序时的

信息如图6,若编译或链接时出现错误,则在该窗口中标识出错误文件名,发生错误的

行号及错误的原因等信息。

注:编译或链接出现错误时,不能生成可执行文件,必须在源程序中找出错误原因并修

改源程序后,再次进行编译、链接,直至生成可执行文件。特别注意:错误信息中的

“Warning”警告信息不妨碍可执行文件的形成。

图6编译程序后的信息窗口

出错的情况编译窗口信息:

出错信息,需要按照

提示修改源代码

第五步运行程序

成功的建立了可执行文件后,即可执行“Build(编译)”菜单上的“Execute(执行)”

命令或用“Ctrl+F5”执行该程序。执行DOS程序时,Windows会自动切换到DOS环

境,并在DOS窗口中列出运行结果,如图7所示。

图7程序运行窗口

重要补充:

编译、链接和执行在VC的窗口中提供了快捷按钮,可以直接用快捷按钮进行。如图

8所示。

图8编译、链接、运行快捷按钮

三、实验要求

1.学习VC的基本操作。

2.运行程序并记录运行结果。

实验二数据类型及顺序结构

一、实验目的

1.学习C语言赋值语句和基本输入输出函数的使用。

2.编写顺序结构程序并运行。

3.了解数据类型在程序设计语言中的意义。

二、实验内容

写出以下程序的运行结果

程序运行题1

程序运行题2

程序运行题3

程序运行题4

编程题:

1、编程实现输入任意大写字母,将其转换称对应的小写字母后输出。

2、任意输入两个数,实现两个数交换后输出

3、输入一个华氏温度F,要求输出摄氏温度C,公式为:C=5(F-32)/9

三、实验要求

1.复习赋值语句和输入输出函数各种格式符的使用。

2.复习数据类型和运算符的有关概念。

3.输入程序,运行程序并记录运行结果。

实验三选择结构程序设计

一、实验目的

1.正确使用关系表达式和逻辑表达式表达条件。

2.学习分支语句if和switch的使用方法。

二、实验内容

1运行以下程序,给出结果

程序运行题:1

程序运行题:2

2.试编写运输公司对用户计算运费程序。距离(S,单位km)越远,每公里运

费越低。距离及每公里的运费由键盘输入,从屏幕输出用户的运费值。标准如下:

S<250没有折扣

250<=S<5002%折扣

500<=S<10005%折扣

1000<=S<20008%折扣

2000<=S<300010%折扣

3000<=S15%折扣

三、实验要求

1.复习关系表达式、逻辑表达式和if语句、switch语句。

2.学习程序的调试方法。

3.编写程序,运行程序并记录运行结果

实验四循环结构程序设计

一、实验目的

1.学习循环语句for、while和do-while语句的使用方法。

2.学习用循环语句实现各种算法,例如穷举法、迭代法等。

二、实验内容

1运行以下程序,给出结果

程序运行题:1

程序运行题:2

程序运行题:3

程序设计题4

2编写程序,实现输入n个实数,并分别统计正数的和及负数的和,最后输出统计结果。

3求出10~100之内能同时被2、3、7整除的数,并输出。

4利用循环语句求1-1/3+1/5-1/7+。。。。。。+1/(2n-1)(直到第100项的和)。

三、实验要求

1.复习for、while、do-while语句和continue、break语句。

2.在程序调试中,要实现准备充分的测试用例。

3.编写程序,运行程序并记录运行结果。注意程序的书写格式。

实验五数组

一、实验目的

1.掌握数组的定义、赋值和输入输出的方法。

2.学习用数组实现相关的算法(如排序、求最大和最小值、对有序数组

的插入等)。

二、实验内容

1.将字符数组str2中的全部字符复制到字符数组str1中。不使用strcpy

函数。复制时,’\0’也要复制进去。

2.统计从键盘输入的字符串中字母、空格的个数。

3.任意输入20个整数,再输入一个数x,判断x是否在该数组中存在,

若存在,则输出x所在的位置,否则输出”NoData”

三、实验要求

1.复习数组的定义、引用和相关算法的程序设计。

2.编写程序,运行程序并记录运行结果。

实验六字符数据处理

一、实验目的

1.掌握C语言中字符数组和字符串处理函数的使用。

2.掌握在字符串中删除和插入字符的方法。

二、实验内容

1输入一个长度不超过80的字符串,编写程序,删除其中所有的数字字符。

2编写程序,实现两个字符串进行连接。

3编写程序,实现两个字符串进行比较。

三、实验要求

1.复习字符串处理函数和字符数组的使用、库函数的调用方法。

2.编写程序,运行程序并记录运行结果。

实验七函数

一、实验目的

1.学习C语言中函数的定义和调用方法。

2.掌握通过参数在函数间传递数据的方法。

二、实验内容

1.编写求x!的函数,通过调用该函数求出能使等式x!=x3-10x成立的10

以内的所有正整数。

2求组合数。编程计算c(m,n)=m!/(n!(m-n)!)

3编写程序,求方程ax2+bx+c=0的根,其中方程ax2+bx+c=0的b2-4ac,

用函数实现并作为函数的返回值。其中a、b、c作为函数的形参。

三、实验要求

1.复习函数的定义和调用方法。

2.学习使用设置断点的方法调试程序。

3.编写程序,运行程序并记录运行结果。

实验八指针

一、实验目的

1.掌握指针变量的定义与引用。

2.掌握指针与变量、指针与数组的关系。

3.掌握用数组指针作为函数参数的方法。

二、实验内容

以下均用指针方法编程:

1.编写一个程序,输入10个整数存入一唯数组中,再按逆序重新存放后

输出。

2.输入一个字符串,按逆序输出其中所有字符。

3.输入10个整数,将其中最大数与最后一个数交换,最小数与第一个数

交换。

4.用指针方法实现字符串的以下处理函数:求字符串长度、字符串的复制、

字符串的连接、字符串的比较、大写转小写、小写转大写等。

三、实验要求

1.复习指针的定义与使用方法。

2.编写程序,运行程序并记录运行结果。

实验九结构体

一、实验目的

1.掌握C语言中结构体类型的定义和结构体变量的定义和引用。

2.掌握用结构指针传递结构数据的方法。

二、实验内容

1.设计一个保存学生情况的结构,学生情况包括姓名、性别、年龄和一门

课程的成绩。输入45个学生的情况,输出考分最高的同学的姓名、性别、年龄

和课程的成绩。

三、实验要求

1.复习结构体类型的定义,结构体变量、数组的定义和使用方法。

2.编写程序,运行程序并记录运行结果。

实验十文件

一、实验目的

1.掌握C语言中文件和文件指针的概念

2.掌握C语言中文件的打开与关闭及各种文件函数的使用方法。

二、实验内容

1.设计一个保存学生情况的结构,学生情况包括姓名、性别、年龄和一门

课程的成绩。从键盘输入45个学生的情况,将其写入文件docu.dat中。然后从

文件中读出数据,求出成绩的最大值。

三、实验要求

1.复习文件的读写方法。

2.编写程序,运行程序并记录运行结果。

实验十一C++程序设计基础

一.实验目的

(1)学习编写简单的C++程序,并掌握C++程序的基本格式与规范。

(2)理解C++程序结构的特点。

(3)学习C++程序基本的输入输出操作。

(4)学习数据类型常量和变量以及修饰符的使用

(5)学习基本的函数定义与调用方法。

(6)学习作用域运算符的功能与基本使用方法。

(?)学习内存的动态分配与释放方法。

(8)学习引用的概念,掌握引用的基本使用方法。

二.实验内容

(1)输入并运行所给的参考程序1,并将程序中的注释部分也输入计算机,体会和理解程序的

基本格式规范。

(2)编制一个完整的包含输入和输出的简单C++程序,如参考程序2和参考程序3,掌握输入

输出及其格式控制的基本使用方法。

(3)输入并调试参考程序4和参考程序5,体会和理解内置函数与函数重载的概念与基本使用

方法。

//参考程序1

//sum.cpp

#include<iostream.h>

intadd(inta,intb);

intmain()

intx,y,sum;

cout<<”Entertwonumbers:”<<’\n’

cin>>x;

cin>>y;

sum=add(x,y);

cout<<"Thesumis:”<<sum<<’\n’;

return0;

add(inta,intb)

{

intc;

c=a+b;

returnc;

}

(2)按照参考程序1的输入与调试方法,输入、检查、调试和运行参考程序2和参考程序3,

掌握输入输出及其格式控制的基本使用方法。

//参考程序2

#include<iostream.h>

intmain()

{

charname[20]

cout<<”Hello,yourname:”;

cin>>name;

cout<<name;

return0;

}

//参考程序3

#include<iostream.h>

voidmain()

{

intx=25;

cout<<hex<<x<<’‘<<dec<<x<<’‘<<oct<<x<<’‘<<’\n’;

}

(3)按照参考程序1的输入与调试方法,输入、检查、调试和运行参考程序4和参考程序5,

理解内置函数与函数重载的概念与基本使用方法。

//参考程序4

#include<iostream.h>

inlineintdoub(intx)

{returnx*2;}

intmain()

{

for(inti=1;i<3;i++)

cout<<i<<”doubledis”<<doub(i)<<endl;

cout<<”i+2doubledis”<<doub(i+2)<<endl;

}

//参考程序5

#include<iostream.h>

intmul(intx,inty)

{returnx*y;}

intmul(intx,inty,intz)

{returnx*y*z;}

voidmain()

inta=3,b=4,c=5;

cout<<a<<’*’<<b<<’=’<<mul(a,b)<<endl;

cout<<a<<’*’<<b<<’*’<<c<<’=’<<mul(a,b,c)<<endl;

}

三.实验要求

1.复习C++在结构化程序设计部分对C的扩充。

2.运行程序并记录运行结果。

实验十二类与对象

一.实验目的

(1)学习类与对象的定义。

(2)掌握类与对象的使用方法。

(3)学习类和对象的声明。

(4)学习数据成员与成员函数的访问方式。

(5)理解构造函数和析构函数的定义与执行过程。

(6)学会构造函数的重载方法。

二.实验内容

(1)可以定义出一个类,并且在程序中创建一个该类的对象。

(2)实现类的定义。

(3)体现出构造函数和析构函数的调用。

(4)重载构造函数。

(5)为了提高对相关知识的综合应用能力,编写一个较为复杂的类和对象的应用程序。

实验基本步骤:

(1)建立一个源程序文件。

(2)在此文件中建立一个新的类,将新建的类命名为Rect。

Classrect

{

p

温馨提示

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

评论

0/150

提交评论