c++实验四
- 格式:docx
- 大小:53.03 KB
- 文档页数:8
电子科技大学计算机学院标准实验报告(实验)课程名称C语言程序设计电子科技大学教务处制表电子科技大学实验报告四学生姓名:学号:指导教师:王瑞锦实验地点:实验日期:年月日一、实验室名称:软件实验室二、实验项目名称:函数的应用及预处理三、实验学时:2四、实验原理:使用Turbo C软件(简称TC),在微型计算机上,对其程序进行编辑、编译、连接与运行。
Turbo C是一个集成环境,它具有方便、直观、易用的界面和丰富的库函数。
通过上机练习掌握在TC环境下编辑、编译、连接、和运行C程序的方法和过程。
五、实验目的1.掌握C语言中定义函数的方法;2.掌握函数传值调用的方法;3.掌握函数传址调用的方法;4.掌握递归函数的设计方法;5.掌握命令行参数的使用方法;6.掌握函数在不同文件中的编译、链接方法。
六、实验内容编程实验,完成以下上机内容,调试运行程序并完成报告1)、教材第七章习题7.4;2)、编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出;3)、教材第七章习题7.11;4)、教材第七章习题7.15;5)、教材第七章习题7.24;6)、求解汉渃塔(tower of Hanoi)问题。
在一块平板上立有3根立柱,从左到右分别标记为A,B,C。
最初在A柱上放有6个大小不等的圆盘,并且大盘在下面,小盘在上面。
要求将这些盘从A移到C(可以借助B柱)。
条件是:每次只能移动一个盘,并且不允许把大盘放在小盘的上面。
(提示:利用函数的递归调用);七、实验器材(设备、元器件):pc硬件要求:CPU PII 以上,64M 内存,1OOM 硬盘空间即可。
软件要求:DOS3.0以上/Windows98/Me/XP/NT/2000。
八、实验步骤:实验编程与运行结果⑴编写一个求两个整数的最小公倍数的函数,两个整数由键盘输入,用主函数调用这个函数,并输出结果。
程序文件名为7_4.c,源程序清单如下:#include<stdio.h>lcd(int a,int b){int temp,num1,num2;num1=a;num2=b;while(num2!=0){temp=num1%num2;num1=num2;num2=temp;}return(a*b/num1);}main(){int t,x,y;printf("Please input two integers:");scanf("%d,%d",&x,&y);if(x>y){t=x;x=y;y=t;}printf("lcd(%d,%d)=%d\n",x,y,lcd(x,y));}运行结果:⑵编写一个实现冒泡法排序的函数,并在主函数中从键盘上输入6个数后进行排序输出。
华南农业大学C语言实验上机实验第四版参考答案c语言程序设计上机实验指导与习题参考答案(第四版)实验1c语言程序初步一、实验目的(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个c程序。
(3)通过运行简单的c程序,初步了解c程序的特点。
(4)在教师的指导下,学会使用在线评判系统。
二、实验内容1.运行第一个c程序[题目:thefirstcprogram]将下列程序输入visualc++,编译、连接和运行该程序。
#include\main(){printf(\}[具体操作步骤](1)在编辑窗口中输出程序。
(2)留存程序,取名为a1.c。
(3)按照第一章中介绍的方法,编译、连接和运行程序。
(4)按照第三章了解的方法,将代码递交至在线评判系统,系统回到“通过”,则该题顺利完成。
2.在在线评判系统中提交实现了计算a+b功能的程序[题目1001:排序a+b]由键盘输入两个整数,计算并输出两个整数的和。
实现该功能的程序如下,#include\main(){inta,b;scanf(\printf(\}(1)在程序编辑窗口中输出程序。
(2)留存程序,取名为a2.c。
(3)按照前二章中介绍的方法,编译、连接和运行程序。
(4)在程序运行过程中,输入1530l(l则表示输出回车符)(5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。
45(6)按照第三章中了解的方法步入在线评判系统。
(7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。
(8)查阅回去题目建议后,页面页面下端的“sumbit”,参考第二章递交程序的方法递交程序a2.c。
(9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。
3实验2基本数据类型、运算和表达式一、实验目的(1)掌握c语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。
实验报告4课程名称:Linux基础实验名称:Linux C语言编程和调试学生姓名:班级:学号:指导老师:钱振江成绩:一、实验目的1.掌握Linux环境下C程序的编辑、编译、运行等操作;2.掌握多文件的编译及连接;3.初步掌握gdb调试方法;二、实验任务与要求1.在Linux环境下C程序的编辑、编译与运行;2.多文件的编译及连接;3.应用gdb调试程序;4.随机数的应用;三、实验工具与准备计算机PC机,Linux Ubuntu操作系统四、实验步骤与操作指导1.调试下列程序。
程序通过创建一个小型函数库,它包含两个函数,然后在一个示例程序中调用其中一个函数。
这两个函数分别是pro1和pro2。
按下面步骤生成函数库及测试函数库。
步骤1 为两个函数分别创建各自的源文件(将它们分别命名为pro1.c和pro2.c)。
[root@localhost root]# vi pro1.c#include <sdtio.h>void pro1(int arg){printf(“hello:%d\n”,arg) ;}[root@localhost root]# vi pro2.c#include <sdtio.h>void pro2(char *arg){printf(“您好:%s\n”,arg) ;}步骤2 分别编译这两个文件,生成要包含在库文件中的目标文件。
这通过调用带有-c 选项的gcc编译器来实现,-c选项的作用是阻止编译器创建一个完整的程序,gcc将把源程序编译成目标程序,文件名为以.o结尾。
如果此时试图创建一个完整的程序将不会成功,因为还未定义main函数。
[root@localhost root]# gcc -c pro1.c pro2.c[root@localhost root]# ls *.opro1.o pro2.o步骤3 现在编写一个调用pro2函数的程序。
首先,为库文件创建一个头文件lib.h。
实验十常用控件(1)实验目的和要求(1)创建一个默认的对话框应用程序Ex_Ctrls,如图2.1所示。
(2)设计一个如图2.2所示的“课程信息”对话框。
图2.1 Ex_Ctrls对话框图2.2 “课程信息”对话框(3)实现功能:单击图2.1中的“课程信息”按钮,弹出“学生基本信息”对话框,单击“添加”按钮,对话框内容显示在图2.1中的列表框中。
实验准备和说明(1)具备知识:静态控件、按钮、编辑框、旋转按钮控件、列表框和组合框控件。
(2)创建本次实验工作文件夹“…\Visual C++程序\实验\实验2”。
实验内容和步骤1.启动Visual C++ 6.0打开计算机,启动Visual C++ 6.0系统。
2.创建一个默认的对话框应用程序Ex_Ctrls①选择“文件”→“新建”菜单,在弹出的“新建”对话框中选择“工程”页面,选择MFC AppWizard (exe),在工程框中输入Ex_Ctrls,并将工程文件夹定位到“…\Visual C++程序\实验\实验2”。
②单击“确定”按钮,在出现的Step 1对话框中选择“基本对话(框)”应用程序类型,单击“完成”按钮。
③在对话框编辑器中,单击对话框工具栏上的切换网格按钮,显示对话框网格,将对话框标题改为“使用控件”。
④调整对话框的大小,删除对话框中间的“TODO: 在这里设置对话控制。
”静态文本控件和“确定”按钮控件,将“取消”按钮标题改为“退出”,并移至对话框的下方。
⑤向对话框中添加组框(Group)控件,标题设为“添加”,然后调整其大小和位置。
⑥添加一个按钮,标题设为“课程信息”,ID设为IDC_BUTTON_COURSE。
⑦添加一个列表框,取其默认ID号,去掉Sort风格属性。
3.添加并设计“课程信息”对话框①按Ctrl+R快捷键,弹出“插入资源”对话框,在资源类型列表中选择Dialog,单击“新建”按钮。
②将该对话框资源的ID设为IDD_COURSE,标题设为“课程信息”,字体设为“宋体,9号”。
四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。
2、掌握选择结构的程序设计。
3、掌握分支结构的嵌套。
二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。
自变量x与函数值均采用双精度类型。
(2)自变量x值从键盘输入,且输入前要有提示信息。
(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。
记录结果。
(5)源程序以sy4_1.c存盘。
2、编程,将一个百分制成绩转换成等级制成绩。
具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。
(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。
(5)输出结果中应包含百分制成绩和成绩等级。
(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。
记录结果。
(7)源程序以sy4_2.c存盘。
三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。
2、掌握三种常用的循环语句的格式和功能。
3、初步掌握循环结构的编程方法。
二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。
要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。
2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。
《实验化学》课程实验报告3姓名同组学生姓名实验题目:维生素C的系列实验实验日期:年月日【实验目的】1.了解制备果蔬提取液的方法;2.理解定性检验维生素C的原理和方法;3.理解维生素C的性质和作用;4.科学、合理地摄取食物中的维生素C。
【实验用品】电子天平、烧杯、50mL容量瓶、试管、试管夹、玻璃棒、吸管、pH试纸、淀粉-KI试纸、滤纸、剪刀、研钵、酒精灯、小刀等;VC药片(100mg/片)、甲基橙试液、0.1mol/LNaOH溶液、饱和Na2CO3溶液、新鲜果蔬(猕猴桃、西红柿、辣椒、橙子、苹果、梨等)、2%草酸溶液、1%亚甲蓝溶液、1%淀粉溶液、I3-溶液(I2+2%KI溶液)、2mol/LHAc溶液、0.1%NaNO2溶液。
【实验原理】1.VC是有机酸,具有酸的通性。
2.VC有较强的还原性:根据VC的上述性质,可以定性检验VC。
在酸性溶液中,发生反应:2NO2-+2I-+4H+=I2+2H2O+2NOI 2与淀粉生成蓝色复合物。
还原性:VC>I-,故VC优先与NO2-作用,避免亚硫酸盐对人体的致癌作用。
【实验方案】1.制备VC溶液取5片VC在研钵中研细后倒入小烧杯,加入10mL蒸馏水溶解,上层清液即VC 溶液。
2.VC的酸性(1)VC与酸碱指示剂的反应用pH试纸测定VC溶液的pH,记录pH。
在试管中加入2mLVC溶液、2滴甲基橙试液,观察并记录实验现象。
(2)VC与碱的中和反应向上述实验(1)的试管(滴有甲基橙试液的VC溶液)中逐滴加入0.1mol/LNaOH 溶液直至过量,边滴加边振荡,观察并记录实验现象。
(3)VC与碳酸钠反应在试管中滴加2mLVC溶液、1mL饱和Na2CO3溶液,观察并记录实验现象。
3.制备果蔬提取液洗干净猕猴桃,晾干或用滤纸吸干表面水分。
称取20g剪碎后置研钵中,加入5mL2%草酸溶液研磨浸取。
将浸取液转移至50mL容量瓶(或烧杯)中,重复研磨、浸液、转移操作2~3次。
课程名称:生物制药技术实验第4单元(节), 4 学时,授课时间2010 年11月24日,地点202项目/主题:实验四细胞色素C的制备及含量测定:能力目标掌握细胞色素C的制备及含量测定的基本知识知识目标:掌握细胞色素C的制备及含量测定原理和操作。
重点难点与解决方案:细胞色素C的制备,演示解决教材、参考资料与媒体:自编教材,参考网络上的一些相关知识教学条件(环境):100分钟讲授,30分钟演示、110分钟巡回指导和学生操作一、实验目的掌握细胞色素C的制备方法和它的基本原理。
二、实验原理细胞色素是一类含有铁卟啉基团的电子传递蛋白,它是细胞体内膜上呼吸链中重要的电子传递体,只存在于需氧细胞中。
需氧多的如心肌及酵母等细胞中含量丰富。
细胞色素C是细胞色素的一种。
每分子细胞色素C含有一个血红素和一条多肽链。
现已从许多来源获得细胞色素C结晶,并已对40多种细胞色素C蛋白的一级结构进行了测定。
结果表明,细胞色素C的氨基酸残基的数目为103~111,不同来源的细胞色素C的氨基酸残基的顺序及含量都有一定差异。
细胞色素C中赖氨酸含量较高,等电点为10.7,含铁量为0.38~0.43%,分子量为12,000~13,000。
细胞色素C是一种稳定的可溶性蛋白,它易溶于水及酸性溶液,帮常用酸性水提取。
细胞色素C分为氧化型和还原型两种,氧化型水溶液呈深红色,还原型水溶液呈桃红色。
细胞色素C对热较稳定,不易变性。
在PH7.2~10.2,100℃加热3分钟,细胞色素C氧化型和还原型变性程度也较稳定,可抵抗0.3mol/L盐酸和平共处0.1mol/L氢氧化钾溶液和长时间处理。
一般都将细胞色素C制成还原型的,因此较稳定并易于保存。
细胞色素C的吸收光谱,氧化型细胞色素C最大吸收峰为408 nm,530nm;还原型的最大吸收峰为415nm,520nm和550nm。
常以含量较高的心肌和酵母等为材料进行分离制备。
本实验以新鲜猪心为原料经过酸溶液抽提。
编写一个使用类模板对数组中元素进行排序和求和的程序。
【提示】在模板中完成排序和求和的操作。
#include<iostream>
using namespace std;
//类模板
template<class T>
class vector
{
public:
void sort(T a[],int n);
T sum(T a[],int n);
int search(T e, T a[], int n);
};
//排序
template<class T>
void vector<T>::sort(T a[],int n)
{
T temp;
bool exchange;
for(int i = 1; i < n; i++)
{
exchange = false;
for(int j = n-1; j >= i; j--)
if(a[j] < a[j-1])
{
temp = a[j]; a[j] = a[j-1]; a[j-1] = temp;
exchange = true;
}
if(!exchange)
return;
}
}
//求和
template<class T>
T vector<T>::sum(T a[],int n)
{
T sum = a[0];
for(int i = 1; i < n; i++)
sum += a[i];
return sum;
}
//查找
template<class T>
int vector<T>::search(T e, T a[], int n)
{
for(int i = 0; i < n; i++)
if(a[i] == e)
return i;
return -1;
}
void main()
{
int data[5] = {5,4,3,2,1};
vector<int> obj;
cout<<"数组和:"<<obj.sum(data,5)<<endl;
cout<<"数字4数组位置:"<<obj.search(4,data,5)<<endl;
cout<<"排序前数组各元素:"<<endl;
for(int i = 0; i < 5; i++)
cout<<data[i]<<" ";
cout<<endl;
}
一、实验目的及要求
学习完整的C++程序开发过程。
l 理解结构化程序设计的基本方法。
l 掌握程序的三种基本控制结构及其语法。
l 掌握break、continue、goto 语句的执行过程并熟练使用。
l 掌握标识符常量与变量的概念和定义方法。
l 掌握各种运算符的功能、优先级和结合性。
二、实验环境
DEV-C++
三、实验内容
设计一个数组类的模板,完成如下功能:
(1)数组的规模可以任意类型,任意大小。
(2)重载构造函数实现不同种的初始化方式(自拟)。
(3)数组排序函数。
(4)数组查找函数。
(5)数组查找最大值/最小值函数。
(6)对运算符[]重载,支持对该数组类模板对象的下标运算
#include <iostream>
#include <typeinfo>
using namespace std;
//模版类定义,一个是虚拟类型T,用来给定数组元素的类型,一个是整型值size,用来给定数组的大小,即元素个数
//此类是一个万能数组,数组类型可以任意给定,数组大小可任意给定
//模板类不仅可以传递类型T,也可以传递数值size
template <class T,int size>
class Array
{
public:
Array()
{
int i;
cout<<"请输如"<<size<<"个"<<typeid(T).name()<<"值,对数组成员赋值:"<<endl;
for(i=0;i<size;i++) //对数组元素值进行输入
cin>>array[i];
}
void display()
{
int i;
cout<<"输出"<<size<<"数组成员值:"<<endl;
for(i=0;i<size;i++) //对数组元素值进行输出
cout<<array[i]<<" ";
cout<<endl;
}
private:
T array[size];
};
int main()
{
Array<int,5> array_int; //给出模板的参数化值,使其生成具体类,然后定义类对象
//当前数组类中数组元素类型为int,数组大小为5
array_int.display();
Array<char,3> array_char; //给出模板的参数化值,使其生成具体类,然后定义类对象
//当前数组类中数组元素类型为char,数组大小为3
array_char.display();
Array<float,4> array_float; //给出模板的参数化值,使其生成具体类,然后定义类对象
//当前数组类中数组元素类型为int,数组大小为5
array_float.display();
return 0;
}。