【精品实用】程序设计C实验指导书_第1页
【精品实用】程序设计C实验指导书_第2页
【精品实用】程序设计C实验指导书_第3页
【精品实用】程序设计C实验指导书_第4页
【精品实用】程序设计C实验指导书_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

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

文档简介

程序设计 C实验指导书 主编 查鸿山 主审 李建俊 广东机电职业技术学院 前 言 本实验指导书适用于 计算机 专业和非计算机专业。对计算机专业和网络专业的同学,要求完成本实验指导书中所有实验 ,其他专业的学生,可对指导书中最后四个实验予以删减。 目 录 实验一: + 成开发环境 . 4 实验二:简单数据类型及运算 . 10 实验三: 控制结构 . 12 实验四:数组 . 14 实验五:函数与编译处理 . 15 实验六:指针 . 16 实验七:结构体 . 17 实验八:类和对象 . 18 实验九:继承与派生类 . 19 实验十:多态性和虚函数 . 20 实验十一: C+的 I/O 系统 . 21 实验一: + 成开发环境 一实验目的 1. 了解和使用 2. 熟悉 3. 熟悉常用的功能菜单命令 4. 学习使用 环境的帮助 5. 学习完整的 C+程序开发过程 6. 理解简单的 C+程序结构 7. 了解用 + 二实验内容 使用 + 成环境来编辑、编译并运行下面简单 C+程序: 1 # /声明自定义函数 /主函数 a,b,c; ab; c=a,b); /调用 数,将得到的值赋给 C z=x; z=y; z); /将 z 的值返回,通过 回调用处 三实验步骤 1 + 动后的用户界面 选择菜单“开始 /程序 /+ 得到 + 如图 1示。 图 1 + 户界面 2创建新工程 (1) 单击菜单“文件 /新建 ”,显示 “新建:对话框,如图 1示。 (2)在此对话框的列表栏中,选择“ )。在 “工程 ”栏中输入一个工程名 ,如实验一。在位置文 本框中选择工程所在的路径,如图中所示 H:C+实验 实验一。单击 “确定 ”按钮。 图 1“新建 ”对话框 (3)在强击的 “ ” 对话框中选择An 选项。然后单击 “钮,如图 1示。 图 1 ” 对话框 (4)在 “新建工程信息 ”对话框中单击 “确认 ”按钮,完成工程创建过程。 3创建 C+源程序文件 ( 1) 编辑 C+源程序 编辑 C+源程序时,选择 “文件 ”菜单项,出现一个下拉式菜单,如图 1示,再选择该菜单中的 “新建 ”选项(热键为 )。打开 “新建 ”窗口,在 “新建 ”窗口。 图 1新建 ”窗口 ( 2) 选择 “文件 ”,在它的下拉列表框中选择 “C+ 如图1示,再按击 “确定 ”,出现编辑屏幕,如图 1示。 图 1“C+”源程序编辑 ( 3)在 “C+源程序编辑 ”窗口下编辑 C+源程序。在编辑窗口键入 C+源程序。如图 1示,键入如下源程序: 图 1辑 C+源程序 4编译连接和运行源程序 ( 1)选择菜单项 “编译 ”,出现 “编译 ”的下拉菜单,在该下拉式菜单中选择 “编译 单项,这时系统开始对当前的源程序进行编译,在编译过程中,将所发现的错误显示在屏幕下方的 “编译 ”窗口中。所显示的错误信息中指出该错误所在行号和该错误的性质。用户可根据这些错误信息进行修改。上述程序的 “编译 ”窗口,如图 1示。 图 1编辑 ”窗口 ( 2)编译无错误后,可进行连接生成可执行文件( 这时选择 “编译 ”下拉菜单中的 “构件 项。 “编译 ”窗口出现如图 1示的信息说明编译连接成功,并生成以源文件名为名字的可执行文件( 图 1译连接信息 ( 3)执行可执行文件的方法是选择 “编译 ”菜单项中 “执行 项。这时,运行该可执行文件,并将结果显示在另外一个显示执行文件输出结果的窗口中,如图 1示。 图 1 运行 C+程序结果 5关闭打开工作区、打开工作区 单击菜单“文件 /关闭工作区 ”,关闭工作区。 单击菜单“文件 /打开工作区 ”,在 强出的对话框中选定 “H: C+实验实验一 实验一 单击 “打开 ”按钮,则可打开工作区,对已建立的工程文件进行修改。 6根据实验步骤 1 5,建立、编译并运行实验程序 2。 四实验要求 1 复习教材有关内容。 2 掌握 C控制台程序的开发、调试步骤。 3 完成实验报告。 实验二:简单数据类型及运算 一实验目的 1 熟悉和理解 C语言中的类型简单数据(整型、实型、字符型)、运算、表达式 2 了解基本数据类型的字节宽度和范围表示 3 能利用学习的数据类型,编制简单 的 C程序 4 理解并掌握程序的分支、循环结构 5 初步学习调试方法 二实验内容 ( 1) # x=6, y ; a=20, b=6; a+=a; a=3,b=4,c=5,x,y; x=(a+bc&b=c); !c|1); a=3,b=4,c=5,(ab)?a:b; a:a=15) 输入 x 的值,计算出相应的 y 值。 3编写一个程序,输入年、月,打印出该年份该月的天数。 4编程按分段统 计学生成绩,输入为负数时结束。要求按 90 100、 8089、 70 79、 60 69、 60 以下五档分别统计各分数段人数(用 句和句编写程序)。 5.用 种循环语句求出 1+3+5+.+101 的和,输出结果。 6编程输出如下图形: * * * * * * 6 输入一行字符,分别统计其中的英文 大写字母,小写字母、数字字符和其他字符。 三实验要求 1 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2 整理上机步骤,总结经验和体会。 3 完成实验报告和上交源程序 实验四:数组 一实验目的: 1 掌握一维数组和二维数组定义的规则; 2 掌握数组的初始化方法及数组元素的引用; 3 熟练掌握一维数组和二维数组的使用; 4 掌握字符数组与字符串的关系以及字符串变量的表示; 5 熟练字符串处理函数的应用。 二 实验内容 1有一个数组,内放 10 个整数,要求找出最小 的数和它的下标。然后把它和数组中最前面的元素对换。 2 有 17个人围成一个圈 (编号 0从第 0号的人开始从 1报数,凡报到 3的倍数的人离开圈子,然后再数下去。直到最后只剩下一个人为止。问此人原来的位置是多少号? 3 将螺旋方阵存放到 nn 的二维数组中并把它打印输出。要求由程序自动生成下图所示螺旋方阵。 n 由程序读入。 1 16 15 14 13 2 17 24 23 12 3 18 25 22 11 4 19 20 21 10 5 6 7 8 9 . 4编写一程序,将两个字符串连接起来,不要 三实验要求 1 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2 整理上机步骤,总结经验和体会。 3 完成实验报告和上交源程序。 实验五:函数与编译处理 一实验目的 1 掌握函数声明、定义和使用的方法; 2 掌握函数递归调用的方法 ; 3 掌握全局变量、局部变量、静态变量的使用方法 ; 4 掌握文件包含的使用方法; 二实验内容 一个函数求最大公约数,另一个函数求最小公倍数。要求: ( 1) 使用全局变量。将最大公约数和最小公倍数都设为全局变量。 ( 2) 不使用全局变量。将最大公约数和最小公倍数在主函数中输出。 2编写一个函数,求数列运算中从 即)!(! ! nC 其中: n! = n*(.*1。 要求: (1)分别 用递归和非递归两种方式完成程序设计; (2)主程序中设计一个循环,不断从输入接收 n和 算结果并输出,当用户输入 0 0时,程序结束; (3)能检查输入数据的合法性,要求 n=1并且 n=r; (4)测试数据能得到正确结果。 3十进位制数转换二、八和十六进制数程序。 要求: ( 1)编写一个函数实现十进制数转换其它进制数。 ( 2)在主函数中给十进制数和转换的进位制,输出转换结果。 三实验要求 1. 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结 经验和体会。 实验六:指针 一实验目的 1. 熟练掌握指针、地址、指针类型、 针、空指针等概念; 2. 熟练掌握指针变量的定义和初始化、指针的间接访问、指针的加减运算和指针表达式; 3. 会使用数组的指针和指向的指针变量 ; 4. 会使用字符串的指针和指向字符串的指针变量 二实验内容 1. 编写程序,在堆内存中申请一个 数组,把 10 个 数据 予该数组 ,然后使用 指针输出该数组的各元素值并求出其累加和。 2 编写一个函数 f,将传入此函数的直角坐标值转换为极坐标值,并返回主调函数中。求极坐标的公式是: c= 22 q=y/x) 若要将两值返回主调函数,有多种方式可以完成,请试之: ( 1)两值均以指针形参带回 ( 2)由指针形参带回一个值,函数值返回另一个值 ( 3)两值均以引用形参返回 (提示:程序中可以使用 C 库函数 们的头文件为 3使用指针编写函数 函数,即实现两个字符串的首尾连接(将字符串到 后面, 后面的 0被取消)。 4用指针变量设计一通用函数,该函数查找实型数组中最大和最小元素并输出相应元素和下标。 三实验要求 1. 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 实验七:结构体 一教学目的: 1. 掌握结构的概念和结构类型的定义; 2. 掌握结构变量的定义和初始化; 3. 掌握结构体类型的概念和应用; 成员的访问、结构赋值的含义以及结构与指针、函数的关系。 二实验内容 个学生,每个学生的数据包括学号、姓名、三门课成绩,从键盘输入5个学生数据,要求打印出三门课总平均成绩,以及最高分和学生的数据(包括学号、姓名、三门课成绩、平均分)。 名、三门课成绩和平均分。 个结点包括:学号、姓名和年龄。输入一个年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删除,否则将此结点插入在表最后。 三实验要求 1. 结合上课内容,写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 3. 完成实验报告和上交程序。 实验八:类和对象 一教学目的: 1 掌握类的概念、类的定义格式、类与结构的关系、类的成员属性和类的封装性; 2 掌握类对象的定义; 3 理解类的成员的访问控制的含义,公有、私有和保护成员的区别; 4 掌握构造函数和析构函数的含义与作用、定义方式和实现,能够根据要求正确定义和重载构造函数。能够根据给定的要求定义类并实现类的成员函数; 5 掌握友元函数 的含义,友元函数和成员函数的区别。 二实验内容 1. 定义一个圆类,计算圆的面积和周长。 要求:分别用成员函数和友元函数来求圆的面积和周长。 2定义一个学生类,其中有 3个数据成员有学号、姓名、年龄,以及若干成员函数。同时编写主函数使用这个类,实现对学生数据的赋值和输出。 要求: ( 1) 使用成员函数实现对输出的输入、输出 ( 2) 使用构造函数和析构函数实现对数据的输入、输出。 3定义日期类型 求有以下面成员: ( 1) 可以设置日期; ( 2) 日期加一天操作; ( 3) 昆明市 输入函数,输入格式为“ X 月 ” 。 三实验要求 1. 写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 3. 完成实验报告和上交程序。 实验九:继承与派生类 一教学目的: 1 理解继承的含义,掌握派生类的定义方法和实现; 2 理解公有继承下基类成员对派生类成员和派生类对象的可见性,能正确地访问继承层次中的各种类成员; 3 理解保护成员在继承中的作用,能够在适当的时候选择使用保护成员以便派生类成员可以访问基类的部分非公开的成员; 4 理解虚函数在类的继承层次中的作用,虚函数的引入对程序运行时的影响,能够对使用虚函数的简单程序写出程序结果。 二实验内容 1. 编写一个学生和教师数据输入和显示程序,学生数据有编号、姓名、班级和成绩,教师数据有编号、姓名、职称和部门。要求将编号、姓名输入和显示设计成一个类 作为学生数据操作类 教师类数据操作类 基类。 2编写一个程序计算出球、圆柱和圆锥的表面积和体积。 要求: ( 1) 定义一个基类圆,至少含有一 个数据成员半径; ( 2) 定义基类的派生类球、圆柱、圆锥,都含有求表面积和体积的成员函数和输出函数。 ( 3) 定义主函数,求球、圆柱、圆锥的和体积。 三实验要求 1. 写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 3. 完成实验报告和上交程序。 实验十:多态性和虚函数 一教学目的: s 二实验内容 1. 分别用成员函数 和友元函数重载运算符,使对整型的运算符 =、 +、 -、*、 / 适用于分数运算。 要求: ( 1) 输出结果是最简分数(可以是带分数); ( 2) 分母为 1,只输出分子。 2 下列 )为求图形面积的函数。请从 圆类( 并给出具体的求面积函数。 # )=0 ; ; 三实验要求 1. 写出程序,并调试程序,要给出测试数据和实验结果。 2. 整理上机步骤,总结经验和体会。 3. 完成实验报告和上交程序。 实验十一: C+的 I/O 系统 一教学目的: +的流,包括 C+的预定义流; ;了解文件与文件流的关系; 括文件指针和关于文件的操作; 用方法; 闭、读写、定位等操作。 二实验内容 100之间 的整数的平方写入文件 D: 。 2 将一个具有 10 个字符的字符串,依次写入到字节文件 d: 3编写一个学生成绩登记程序,每个学生每学期有三门课,将学生名、学号和三门成绩存放在一个结构体数组中,这些数据在于磁盘,要求程序是菜单驱动,菜单包含以下三个选择项: ( 1) 增加学生和学生成绩; ( 2) 输出文件中学生数据; ( 3) 显示各成绩并计算全班每门课的平均成绩。

温馨提示

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

评论

0/150

提交评论