C程序设计实验报告自考本科

上传人:鲁** 文档编号:464204486 上传时间:2023-08-09 格式:DOC 页数:14 大小:34.02KB
返回 下载 相关 举报
C程序设计实验报告自考本科_第1页
第1页 / 共14页
C程序设计实验报告自考本科_第2页
第2页 / 共14页
C程序设计实验报告自考本科_第3页
第3页 / 共14页
C程序设计实验报告自考本科_第4页
第4页 / 共14页
C程序设计实验报告自考本科_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《C程序设计实验报告自考本科》由会员分享,可在线阅读,更多相关《C程序设计实验报告自考本科(14页珍藏版)》请在金锄头文库上搜索。

1、河 南 省 高 等 教 育 自 学 考 试计算机及其应用专业(本科段)C+程序设计实验考核报告姓名 李梦迪 准考证号 所属地市 河南省郑州市 实验地点 机房 实验日期 2014年2月14日 实验总成绩 95 指导教师签名 楚乐 实验单位(实验室)意见: 主考院校审核意见: 2014 年 2 月 14 日河南郑州大学2014年目 录一、实验报告要求-1二、C+程序初步-2三、建立自己的栈-5四、日期显示-8实验报告要求1、实验报告应包括以下内容:(1)、程序清单(2)、实验结果(3)分析与讨论2、实验报告应写明实验名称、班号、实验者姓名、学号、将实验报告整理装订好,按指导教师规定的时间上交。基本

2、实验方法本实验环节要求学生能够顺利完成C+课程的实验操作实验所用器件、设备的简单介绍所有实验使用Windows、Linnux操作系统实验一 C+程序设计初步一、实验学时: 2学时二、实验目的:通过本实验让学生掌握基本的编辑、编译和运行程序的方法及C+的基本知识。理解封装和数据隐藏的软件工程概念。能够建立C+的抽象数据类型理解怎样建立、使用和撤销类型的对象。能够控制对类的数据成员和成员函数的访问。动态分配内存。三、实验设备:本实验在Windows或linux操作系统下 ,运行VC+6.0语言。四、C+程序初步1、C+程序和语句(1)预处理命令。如#include命令和#define命令。(2)声

3、明部分。如对数据类型和函数的声明,以及对变量的定义。(3)函数。包括函数首部和函数体,在函数体中包含着若干声明语句和执行语句。2、C+的输入与输出C+的输入输出是用“流”(stream)的方式实现的。C+通过流进行的输入输出操作如下图所示。程序插入输出流键盘内存区(指定的变量)cin3、程序清单typedef struct CStashTag int size; / Size of each space int quantity; / Number of storage spaces int next; / Next empty space CStash; #include “CLib.h“

4、/ 包含库的接口#include #include #include #include using namespace std; int main() CStash intStash, stringStash; int i; char* cp; ifstream in; string line; const int bufsize = 80; initialize(&intStash, sizeof(int); /初始化 for(i = 0; i 100; i+) add(&intStash, &i); for(i = 0; i count(&intStash); i+) cout fetch

5、(&intStash, i ) = “ *(int*)fetch(&intStash, i) endl; initialize(&stringStash, sizeof(char)*bufsize); in.open(CLibTest.cpp); assert(in); while(getline(in, line) add(&stringStash, line.c_str(); i = 0; while(cp = (char*) fetch (&stringStash,i+)!=0) cout fetch(&stringStash, i ) = cp size;int *array=new

6、intsize;(二)、实验中出现的问题及解决方法1、熟悉程序中用到的一些基本要素(常量、变量、运算符、表达式等),他们是构成程序的基本成分。2、编写简单程序所必须掌握的一些内容。实验二 建立自己的栈一、实验学时: 2学时二、实验目的:通过本实验让学生自己建立一个连续存储的栈,使学生能够掌握类、类对象、类的构造函数和析构函数的使用。理解数据抽象与抽象数据类型(ADT)的表示方法。三、实验设备:本实验在Windows或linux操作系统下 ,运行VC+6.0语言。四、建立自己的栈1、程序清单#include#include#include#include#define STACK_INIT_SI

7、ZE 10#define STACKINCREMENT 10#define OK 0;#define ERROR -1;struct Stackchar *base;char *top;int count;int stacksize; /stack表示的是当前已经分配的存储空间,以元素为单位;struct Stack head;/取栈顶元素char* GetTop()struct Stack *S;char *e=(char*)malloc(sizeof(char);S=&head;if(S-base=S-top) printf(栈空/n);exit(0);*e=*(S-top-1); /to

8、p指向的是栈顶的下一个位置return e;/插入元素e为新的栈顶元素int Push(char *e)struct Stack *S;S=&head;if(S-top-S-base)=S-stacksize) /如果栈满的话则追加空间head.base=(char *)realloc(head.base,(head.stacksize+STACKINCREMENT)*sizeof(char);if(!head.base)exit(0);head.top=head.base+head.stacksize;head.stacksize=head.stacksize+STACKINCREMENT;

9、*S-top+=*e;return OK;/当栈顶不为空时,删除栈顶元素char Pop()struct Stack *S;S=&head;if(S-top=S-base)exit(0);return (*-S-top);void print()struct Stack *S;S=&head;char *p;p=(char *)malloc(sizeof(char);if(S-base=S-top)printf(空栈/n);exit(0);while(S-base!=S-top)*p=Pop();printf(p-%c/n,*p);p=(char *)malloc(sizeof(char);p

10、+;int main()char buf30,*z;int i,count;head.base=(char *)malloc(STACK_INIT_SIZE * sizeof(char);if(!head.base)exit(0);head.top=head.base;head.stacksize=STACK_INIT_SIZE;head.count=0;/构造栈for(i=0;i15;i+)scanf(%c,&bufi);getchar();Push(&bufi);head.count+;printf(构造栈成功:/n);print();/读栈顶元素count=head.count;while(count)+head.top;count-;z=GetTop();printf(取出的栈顶元素是:%c/n,*z);print();count=head.count;while(count)+head.top;count-;/删除栈顶元素printf(成功删除栈顶元素:%c/n,Pop();head.count-;print();free(head.base);return 0;2、实验中出现的问题及解决的方法(1)数据结构相关理论知识。(2)堆栈的原理及应用。实验三 日期显示一、实验学时: 2学时二、实验目的:通过本实

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > 总结/计划/报告

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号