C程序设计实验指导书
实验报告编写规范
实验报告是对实验工作的全面总结,如实记录实验的操作过程和实验中观测到的情况,并分析实验的结果,要对实验的目的、原理、任务、设备、过程和分析等主要方面进行明确的叙述。
软件实验撰写实验报告的主要工作是如实记录实验的操作过程、程序源代码以及实验测试时输入的数据和观测到的输出结果。为了保证整理后的数据的可信度,实验报告中必须保留原始记录数据。
此外,实验报告中还应包括实验中发现的问题、现象及对结果的分析、实验的收获和心得体会,并回答思考问题。
实验报告最重要的部分是实验总结,它是实验的成果。是对实验过程的分析和总结,其中所作出的结论必须有科学根据和来自理论及实验的分析。
验证性实验的实验报告编写规范,应该包括以下几部分内容:
一、 实验的目的和要求
写明实验的目的及各项要求。
二、 实验内容、步骤及实验结果
写明实验的题目内容、完成的步骤、编程思路的流程图以及实现的源程序(包括程序行和程序段的简要注释),并如实记录实验测试用到的输入数据和运行结果的输出数据。
三、 分析与总结
对本此实验中存在的问题或观测到的结果进行分析,对整个实验进行全面总结,并写出自己对本次实验的收获和心得体会。
第1页
C程序设计实验指导书
实 验 报 告 样 例
实验七 指针应用程序设计
一、实验目的
1. 掌握指针定义和通过指针存取数据的方法;
2. 通过new和delete的使用,理解动态空间的概念;
3. 掌握指针参数和引用参数的使用方法。
二、实验内容与要求
1.下面是一个涉及到一系列指针操作的程序:
[要求]
①先读程序,判断每一行的输出,填入行尾“判断输出”栏目下的括弧中; ②实际运行程序,将输出纪录到相应行的行尾“实际输出”栏目下的括弧中;③讲师技术处与判断除数进行比较,如有不符之处,分析产生判断错误原因。#include<iostream.h>
void main()
{
int i,m[]={0,1,2,3,4,5,6,7,8,9} ; /*判断输出 实际输出*/
int *p=m+3;cout<<*p<<endl; /* 3 3 */
cout<<++*p<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
cout<<*++p<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
cout<<*p++<<endl; /* 4 4 */
cout<<*p<<endl; /* 5 5 */
cout<<(*p)++<<endl; /* 5 5 */
cout<<*p<<endl; /* 6 6 */
cout<<++*p++<<endl; /* 7 7 */
cout<<*p<<endl; /* 6 6 */
cout<<(++*p)<<endl; /* 7 7 */
cout<<*p<<endl; /* 8 8 */
p+=2;cout<<*p<<endl; /* 8 8 */
p=&m[6];cout<<*p<<endl; /* 8 8 */
第2页
C程序设计实验指导书
i=*p+4;cout<<i<<endl; /* 12 12 */
i=*(p-=3);cout<<i<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
*(p+1)=9;cout<<*p<<endl; /* 4 4 */
cout<<*(p+1)<<endl; /* 9 9 */
}
[实验结果及分析] 无不符之处
2. 下面程序的主函数首先调用GETLINES输入若干行字符串到指针数组中(字符串存储到申请的动态空间中,指针数组的元素指向这样的动态空间),然后调用SHOWLINES显示输入的字符串,最后调用DELINES释放数组s中字符串占用的动态空间,其中GETLINES和DELLINES只给出了原形:
[要求] 实现函数GETLINES和DELLINES。其中GETLINES从键盘输入字符串,每按一次回车算一个字符串,当输入的是空串或输入的字符串满20个时,输入结束。
#include<iostream.h>
#include<string.h>
void GETLINES(char *p[],int &n)
{
char x[81];
for(int i=0;i<n;i++){
p[i]=new char[81];
cin.getline(p[i],81);
}
}
void SHOWLINES(char*p[],int &n)
{
for(int i=0;i<n;i++) cout<<p[i]<<endl;
}
void DELLINES(char *p[],int n)
{
for(int i=0;i<n;i++) delete p[i];
}
第3页
C程序设计实验指导书
void main()
{
char * s[20];
int count=5;
GETLINES(s,count);
SHOWLINES(s,count);
DELLINES(s,count);
}
3. 已知函数sort3的功能是重新安排作为实参的三个指针,例如执行主函数 的输出是:1 2 3 // 2 1 3
#include <iostream.h>
template<class T>
void sort3(T *&r1,T *&r2,T *&r3) //指针的传递
{
T *w=r3;
r3=r1;
r1=w;
}
void main()
{
int a=3,b=2,c=1;
int *s1=&a,*s2=&b,*s3=&c;
sort3(s1,s2,s3);
cout<<*s1<<' '<<*s2<<' '<<*s3;
sort3(s2,s1,s3);
cout<<"//"<<*s1<<' '<<*s2<<' '<<*s3;
}
三、总结
。。。。。。。。。。。
第4页
第二篇:C实验报告编写规范
C程序设计实验指导书
实验报告编写规范
实验报告是对实验工作的全面总结,如实记录实验的操作过程和实验中观测到的情况,并分析实验的结果,要对实验的目的、原理、任务、设备、过程和分析等主要方面进行明确的叙述。
软件实验撰写实验报告的主要工作是如实记录实验的操作过程、程序源代码以及实验测试时输入的数据和观测到的输出结果。为了保证整理后的数据的可信度,实验报告中必须保留原始记录数据。
此外,实验报告中还应包括实验中发现的问题、现象及对结果的分析、实验的收获和心得体会,并回答思考问题。
实验报告最重要的部分是实验总结,它是实验的成果。是对实验过程的分析和总结,其中所作出的结论必须有科学根据和来自理论及实验的分析。
验证性实验的实验报告编写规范,应该包括以下几部分内容:
一、 实验的目的和要求
写明实验的目的及各项要求。
二、 实验内容、步骤及实验结果
写明实验的题目内容、完成的步骤、编程思路的流程图以及实现的源程序(包括程序行和程序段的简要注释),并如实记录实验测试用到的输入数据和运行结果的输出数据。
三、 分析与总结
对本此实验中存在的问题或观测到的结果进行分析,对整个实验进行全面总结,并写出自己对本次实验的收获和心得体会。
第1页
C程序设计实验指导书
实 验 报 告 样 例
实验七 指针应用程序设计
一、实验目的
1. 掌握指针定义和通过指针存取数据的方法;
2. 通过new和delete的使用,理解动态空间的概念;
3. 掌握指针参数和引用参数的使用方法。
二、实验内容与要求
1.下面是一个涉及到一系列指针操作的程序:
[要求]
①先读程序,判断每一行的输出,填入行尾“判断输出”栏目下的括弧中; ②实际运行程序,将输出纪录到相应行的行尾“实际输出”栏目下的括弧中;③讲师技术处与判断除数进行比较,如有不符之处,分析产生判断错误原因。#include<iostream.h>
void main()
{
int i,m[]={0,1,2,3,4,5,6,7,8,9} ; /*判断输出 实际输出*/
int *p=m+3;cout<<*p<<endl; /* 3 3 */
cout<<++*p<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
cout<<*++p<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
cout<<*p++<<endl; /* 4 4 */
cout<<*p<<endl; /* 5 5 */
cout<<(*p)++<<endl; /* 5 5 */
cout<<*p<<endl; /* 6 6 */
cout<<++*p++<<endl; /* 7 7 */
cout<<*p<<endl; /* 6 6 */
cout<<(++*p)<<endl; /* 7 7 */
cout<<*p<<endl; /* 8 8 */
p+=2;cout<<*p<<endl; /* 8 8 */
p=&m[6];cout<<*p<<endl; /* 8 8 */
第2页
C程序设计实验指导书
i=*p+4;cout<<i<<endl; /* 12 12 */
i=*(p-=3);cout<<i<<endl; /* 4 4 */
cout<<*p<<endl; /* 4 4 */
*(p+1)=9;cout<<*p<<endl; /* 4 4 */
cout<<*(p+1)<<endl; /* 9 9 */
}
[实验结果及分析] 无不符之处
2. 下面程序的主函数首先调用GETLINES输入若干行字符串到指针数组中(字符串存储到申请的动态空间中,指针数组的元素指向这样的动态空间),然后调用SHOWLINES显示输入的字符串,最后调用DELINES释放数组s中字符串占用的动态空间,其中GETLINES和DELLINES只给出了原形:
[要求] 实现函数GETLINES和DELLINES。其中GETLINES从键盘输入字符串,每按一次回车算一个字符串,当输入的是空串或输入的字符串满20个时,输入结束。
#include<iostream.h>
#include<string.h>
void GETLINES(char *p[],int &n)
{
char x[81];
for(int i=0;i<n;i++){
p[i]=new char[81];
cin.getline(p[i],81);
}
}
void SHOWLINES(char*p[],int &n)
{
for(int i=0;i<n;i++) cout<<p[i]<<endl;
}
void DELLINES(char *p[],int n)
{
for(int i=0;i<n;i++) delete p[i];
}
第3页
C程序设计实验指导书
void main()
{
char * s[20];
int count=5;
GETLINES(s,count);
SHOWLINES(s,count);
DELLINES(s,count);
}
3. 已知函数sort3的功能是重新安排作为实参的三个指针,例如执行主函数 的输出是:1 2 3 // 2 1 3
#include <iostream.h>
template<class T>
void sort3(T *&r1,T *&r2,T *&r3) //指针的传递
{
T *w=r3;
r3=r1;
r1=w;
}
void main()
{
int a=3,b=2,c=1;
int *s1=&a,*s2=&b,*s3=&c;
sort3(s1,s2,s3);
cout<<*s1<<' '<<*s2<<' '<<*s3;
sort3(s2,s1,s3);
cout<<"//"<<*s1<<' '<<*s2<<' '<<*s3;
}
三、总结
。。。。。。。。。。。
第4页