简单行编辑程序实验报告
计算机C++程序设计实验报告

一、实验项目名称Visual C++实验环境熟悉及C++语言初步二、实验目的1.了解Visual C++的安装与使用2.熟悉Visual C++程序的编辑、编译、运行及调试3.熟悉简单 C/C++ 程序的基本组成。
4.掌握 C/C++ 程序中输入输出数据的基本方法。
5.掌握编译预处理命令的使用。
6.写出实验步骤,分析调试中出现的问题及解决方法,给出改进方案,写出程序文档和调试数据。
三、实验基本原理四、主要仪器设备及耗材PC微机Windows 操作系统Microsoft Visual C++6.0 程序集成环境五、实验步骤、源程序及实验结果1.下列程序是从键盘输入一个整数,然后计算它的平方并以十六进制的形式输出。
请在Visual C++ 输出、调试该程序。
#include "iostream.h"void main( ){ int x;cin>>x;int y=x*x;cout<<"x*x=="<<hex<<y<<endl;}程序运行结果:2.编写一个计算梯形面积的程序。
要求梯形的上底、下底和高在变量初始化时直接赋值。
源程序:#include <iostream.h>void main( ){float a,b,c,s;a=3.0;b=4.0;c=5.0;s=0.5*(a+b)*c;cout<<"s="<<s<<endl;}程序运行结果:3.编写一个计算一个学生三门课平均成绩的程序。
要求学生成绩从键盘输入。
源程序:#include <iostream.h>void main( ){int a,b,c,d;cin>>a>>b>>c;d=(a+b+c)/3;cout<<"d=="<<d<<endl;}程序运行结果:4.编写一个计算和估计地球重量的程序,并测试它。
C语言程序设计

C语言程序设计上机实验报告实验一一、实验名称: C程序的运行环境和运行C程序的方法二、实验目的:了解在C编译系统上如何编辑、编译、连接和运行一个C程序三、实验内容:(1). 输入并运行一个简单的C程序。
(2). 设计程序,对给定的两个数求和。
(3). 设计程序,对给定的两个数进行比较,然后输出其中较大的数。
四、源程序代码:代码1:#include<stdio.h>int main(){printf("hello world!\n");return 0;}运行结果1:程序分析1:代码2:#include<stdio.h> int main(){int a=5,b=6,c;c=a+b;printf("c=%d\n",c);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){int a=5,b=6,c;if(a>b){c=a;}else{c=b;}printf("%d\n",c);return 0;}运行结果3:程序分析3:五.实验总结C语言程序设计上机实验报告实验二一、实验名称:顺序结构程序设计二、实验目的:正确使用常用运算符(算术运算符、赋值运算符)的用法,熟练掌握算术运算符及其表达式,逻辑运算符和逻辑表达式。
三、实验内容:(1). 编写程序,实现小写字母转大写。
(2). 编写程序,实现输入两个不同类型数据后,经过适当的运算(加、减、乘、除)后输出。
(3). 编写程序,计算三角形面积、立方体的体积和表面积、圆的面积和周长。
(4). 编写程序,实现单字符getchar和putchar输入输出。
(5). 编写程序,实现十进制、八进制、十六进制不同数制的输出。
四、源程序代码代码1:#include<stdio.h>int main(){char c1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1-32;printf("%c,%d\n",c2,c2);return 0;}运行结果1:程序分析1:代码2:#include<stdio.h>int main(){int a=5,c1,c2;double b=3.141592653,c3,c4;c1=a/b;c3=a/b;c2=a+b;c4=a+b;printf("%d,%d,%lf,%lf\n",c1,c2,c3,c4);return 0;}运行结果2:程序分析2:代码3:#include<stdio.h>int main(){here: printf("计算三角形的面积请输入‘1’,立方体的体积和表面积请输入‘2’,圆的面积和周长请输入‘3’.\n");int a;scanf("%d",&a);if(a==1){double l,h,s;printf("请输入三角形的底边长和所在底边的高.");scanf("%lf%lf",&l,&h);s=l*h/2;printf("三角形的面积为%.16f\n",s);}else if(a==2){printf("请输入立方体的长宽高.");double b,c,d,v,s;scanf("%lf%lf%lf",&b,&c,&d);v=b*c*d;s=b*c+b*d+c*d;printf("立方体的体积为%.16f,表面积为%.16f\n",v,s);}else{double r,s,c,m;printf("请输入圆的半径");scanf("%lf",&r);m=3.141592653;s=m*r*r;c=2*m*r;printf("圆的面积为%.16f,圆的周长为%.16f\n",s,c);}goto here;}运行结果3:程序分析3:代码4:#include<stdio.h> int main(){getchar();putchar('b');return 0;}运行结果4:程序分析4:代码5:#include<stdio.h>int main(){int a;printf("请输入任意十进制整数:");scanf("%d",&a);printf("转换为八进制数为:%o\n转化为十六进制数为:%x\n",a,a); return 0;}运行结果5:程序分析5:五、实验总结C语言程序设计上机实验报告实验三一、实验名称:选择结构程序设计二、实验目的:正确使用逻辑运算符和逻辑表达式,熟练掌握if 语句和switch 语句,学习调试程序。
Linux下C程序设计实验报告

实验2 Linux下C程序设计实验目的1、掌握Linux下C语言程序设计的基本步骤。
2、了解和掌握gcc编译器使用实验内容一、编写C语言程序:输出两行文字“how are you”,在Linux下编辑,编译,运行。
实验步骤:1. 编辑:$gedit hello.进入gedit编辑程序,保存。
2. 编译:$gcc –o hello hello.c。
没有错误出现命令提示符,ls命令查看生成hello可执行程序。
3, 运行:$./hello。
看到程序结果。
程序结果:[root@localhost ~]# gcc -o hello hello.c[root@localhost ~]# lsanaconda-ks.cfg hello hello.c~ install.log.syslogDesktop hello.c install.log[root@localhost ~]# ./hellohow are you[root@localhost ~]#二、编辑以下程序loop.c2. 编译 gcc loop.c –o loop3.(前台)运行 ./loop按Ctrl-C终止4. 后台运行 ./loop &(可多次使用该命令)5. 多次使用ps命令查看进程状态注意loop的运行时间注意ps -l命令和loop命令的父进程号均为shell进程6. 使用kill命令控制该进程暂停kill –STOP <该进程的进程号> 恢复kill –CONT <该进程的进程号> 终止kill –KILL <该进程的进程号>程序结果:[root@localhost ~]# gcc -o loop loop.c[root@localhost ~]# ./loop&[1] 21118[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:12 loop21125 pts/3 00:00:00 ps[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:16 loop21128 pts/3 00:00:00 ps[root@localhost ~]# kill -stop 21118[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:49 loop21145 pts/3 00:00:00 ps[1]+ Stopped ./loop[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:49 loop21148 pts/3 00:00:00 ps[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:49 loop21153 pts/3 00:00:00 ps[root@localhost ~]# kill -cont 21118[root@localhost ~]# psPID TTY TIME CMD21074 pts/3 00:00:00 bash21118 pts/3 00:00:53 loop21159 pts/3 00:00:00 ps[root@localhost ~]# psPID TTY TIME CMD 21074 pts/3 00:00:00 bash21118 pts/3 00:00:55 loop21160 pts/3 00:00:00 ps[root@localhost ~]# kill -kill 21118 [root@localhost ~]# psPID TTY TIME CMD 21074 pts/3 00:00:00 bash21167 pts/3 00:00:00 ps[1]+ Killed ./loop [root@localhost ~]#。
c语言程序设计_实验一实验报告

实验项目名称:实验一C 语言的运行环境的使用实验目的及要求:1. 了解 Windows 系统下 C 语言的运行环境,熟悉 C 程序编辑、调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行 C 程序的方法。
3. 通过运行简单的 C 程序,初步了解 C 源程序的特点。
4. 初步理解 C 语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
实验内容(方法和步骤):1、编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for程序代码:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Welcome to the C language world!\n");printf(Everyone has been waiting for.\n");return 0;}运行结果:2、编写程序,将两个整数相加,并输出结果。
程序代码:#include <stdio.h>int main(){int a,b,c;a=12;b=26;c=a+b;printf("c=%d\n",c);return 0";}运行结果:3. 编写程序,要求从键盘输入2 个整数,输出其中较大的数程序代码:#include <stdio.h>int main(){int max(int x,int y);int a,b,c;scanf("%d,%d",&a,&b);c=max(a,b);pintf("max=%d",c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}运行结果:4.输入并运行下程序,观察运行结果。
Word基本操作与排版实验报告小结

Word基本操作与排版实验报告小结Word基本操作实验报告Word基本操作实验报告一、实验目的与要求1.掌握Word的基本操作;2.掌握字符格式、段落格式和页面格式等排版技术;3.掌握图文混排、表格处理和邮件合并技术;4.熟悉个人名片或毕业论文的设计与制作;5.学会自己提出问题,并得出解决问题的方法。
二、实验内容与方法1.Word的基本操作,通过上机摸索,并查阅书籍网络了解。
2.Word的字符格式,段落格式和页面格式等排版技术,通过上机摸索,并查阅书籍网络了解。
3.Word的图文混排、表格处理和邮件合并技术,通过上机摸索,并查阅书籍网络了解。
4. 通过Word进行个人名片或毕业论文的设计与制作,通过上机摸索,并查阅书籍网络了解。
三、实验步骤与过程1.word的基本操作:①启动word软件(1) 启动“开始”菜单中的Microsoft Word程序(2) 双击资源管理器或“我的电脑”中的C:\Program Files\Microsoft Office\Office11\winword.exe程序(3) 双击Word文档文件(*.doc)(4) 双击桌面上的Word图标(5)开始-运行-输入“winword”②认识Word2003窗口(1)标题栏位于屏幕最顶端的是标题栏,由控制菜单图标、文件名、最小化按钮、最大化(还原)按钮、关闭按钮组成。
(2)菜单栏菜单栏位于标题栏下面。
使用菜单栏可以执行Word的许多命令。
菜单栏共有九个菜单:文件、编辑、视图、插入、格式、工具、表格、窗口、帮助。
当鼠标指针移到菜单标题上时,菜单标题就会凸起,单击后弹出下拉菜单。
在下拉菜单中移动鼠标指针时,被选中的菜单项就会高亮显示,再单击,就会执行该菜单所代表的命令。
如“文件”—“打开”,就会弹出“打开”文件对话框。
(3)工具栏标题栏下面的是工具栏,使用它们可以很方便地进行工作。
通常情况下,Word会显示【常用】和【格式】两个工具栏。
C语言实验报告,实验一和实验二

实验一C语言的运行环境、运行过程和表达式的使用一、目的与要求1、了解Dos、Windows环境下C语言的运行环境,了解所用的计算机系统的基本操作方法,学会独立使用该系统。
2、了解在该系统上如何编辑、编译、连接和运行一个C程序。
3、通过运行简单的C程序,初步了解C源程序的特点。
4、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
5、学会使用C的有关算术运算符,以及包含这些运算符的表达式二、上机实验及运行结果1、例题实验及运行结果例一:#include"stdio.h"void main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");}运行结果为Hello, world !Welcome to the C language world!Everyone has been waiting for.在第一次输入源程序时,由于粗心在printf(“Hello,world!”)后面忘记输入“;”,在编译中检查出来,修改后编译成功。
例二:#include"stdio.h"void main(){int a,b,sum;a=123;b=456;sum=a+b;printf("sum is %d\n",sum);}运行结果为:sum is 579。
一次编译就成功了。
例三:#include"stdio.h"void main(){int a,b,c;int max(int,int);scanf("%d,%d",&a,,&b);c=max(a,b);printf("max=%d",c);}int max(int x,int y){int z;if (x>y) z=x;else z=y;return(z);}键盘输入“8,9”,屏幕上输出“max=9”例四:#include"stdio.h"void main(){char c1 , c2;c1=97;c2=98;printf("%c %c", c1, c2);}在此基础上1)加一个printf语句,并运行之。
linux下c程序的编写实验报告

linux下c程序的编写实验报告实验主题:在Linux下编写C程序的实验报告一、引言(150-200字)Linux是一种广泛应用的操作系统,具有高度开放性和灵活性,也是许多程序员首选的开发环境。
在Linux中,通过编写C程序可以实现各种应用和功能。
本实验旨在通过一步一步的说明和回答,介绍在Linux下编写C 程序的基本步骤和方法。
二、实验步骤(400-500字)1. 设置编程环境在Linux中编写C程序,首先需要安装相关的开发工具和编译器。
常用的编译器有gcc和clang,可以通过包管理器进行安装。
同时,也需要一个文本编辑器来编写C代码,比如vim或者emacs。
2. 编写Hello World程序Hello World程序是C语言学习的经典入门程序,它可以在屏幕上输出"Hello World"。
在文本编辑器中新建一个文件,命名为hello.c,然后在文件中输入以下代码:#include <stdio.h>int main() {printf("Hello World\n");return 0;}保存文件后,使用gcc编译器将该文件编译成可执行文件。
在终端中执行以下命令:gcc -o hello hello.c此时会生成一个名为hello的可执行文件。
通过执行该文件,可以在终端中看到输出结果"Hello World"。
3. 命令行参数和用户输入C程序可以接受命令行参数和用户输入,从而实现更复杂的功能。
在上一步编写的程序的基础上,我们尝试接收用户输入的姓名,并输出相应的问候语。
在hello.c文件中添加以下代码段:#include <stdio.h>int main(int argc, char *argv[]) {char name[100];printf("Please enter your name: ");scanf("s", name);printf("Hello, s!\n", name);return 0;}重新编译程序并执行,可以看到在终端中会提示用户输入姓名,并输出相应的问候语。
编译链接执行实验报告(3篇)

第1篇一、实验目的1. 理解编译、链接和执行的基本概念和过程。
2. 掌握使用编译器、链接器和执行器完成程序编译、链接和执行的基本操作。
3. 学习调试程序,解决编译、链接和执行过程中出现的问题。
二、实验环境1. 操作系统:Windows 102. 编译器:Microsoft Visual Studio 20193. 链接器:Microsoft Visual Studio 20194. 执行器:Windows 10自带三、实验内容1. 编译程序2. 链接程序3. 执行程序4. 调试程序四、实验步骤1. 编译程序(1)创建一个名为“HelloWorld.c”的源文件,内容如下:```cinclude <stdio.h>int main() {printf("Hello, World!\n");return 0;}```(2)打开Microsoft Visual Studio 2019,创建一个控制台应用程序项目。
(3)将“HelloWorld.c”文件添加到项目中。
(4)在项目属性中设置编译器选项,选择C/C++ -> General -> Additional Include Directories,添加源文件所在的目录。
(5)点击“生成”按钮,编译程序。
2. 链接程序(1)在Microsoft Visual Studio 2019中,点击“生成”按钮,生成可执行文件。
(2)查看生成的可执行文件,路径通常在项目目录下的“Debug”或“Release”文件夹中。
3. 执行程序(1)双击生成的可执行文件,或在命令行中运行。
(2)查看输出结果,应为“Hello, World!”。
4. 调试程序(1)在Microsoft Visual Studio 2019中,点击“调试”按钮。
(2)程序进入调试模式,可以设置断点、观察变量等。
(3)运行程序,观察程序执行过程,分析问题原因。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单行编辑程序课程设计一.设计要求1.问题描述文本编辑程序是利用计算机进行文字加工的基本软件工具,实现对文本文件的插入、删除等修改操作。
限制这些操作以行为单位进行的编辑程序称为行编辑程序。
被编辑的文本文件可能很大,全部读入编辑程序的数据空间(内存)的做法即不经济,又不总能实现。
一种解决方法是逐段的编辑。
任何时刻只把待编辑文件的一段放在内存,称为活区。
试按这种方法实现一个简单的行编辑程序,设文件每行不超过320个字符,很少超过80个字符。
2.需求分析该程序要实现以下4条基本的编辑命令:(1)行插入。
格式:i<行号><回车><文本>. <回车>将<文本>插入活区中第<行号>行之后。
(2)行删除。
格式:d<行号1>[<空格><行号2>.]<回车>例如删除活区中第<行号1>行(到第<行号2>行)。
(3)活区切换。
格式:n<回车>将活区写入输出文件,并从输入文件中读入下一段,作为新的活区。
(4)活区显示。
格式:p<回车>;逐页地(每页20行)显示活区内容,在每显示的一页之后请用户决定是否继续显示以后各页(如果存在)。
印出的每一行要前置行号和一个空格符,行号固定占4位,增量为1。
各条命令中的行号均须在活区中各行号范围之内,只有插入命令的行号可以等于活区第一行行号减一,表示插入当前的屏幕中第一行之前,否则命令参数非法。
二.概要设计1.主界面设计为了实现简单行编辑程序,设计一个含有多个菜单项的主控菜单子程序以链接系统的各项子功能。
主控菜单运行如下:2.存储结构设计该系统采用串的顺序存储结构。
3.系统功能设计(1)行插入(2)行删除(3)文本显示(4)保存文件(5)读取文件(6)退出系统三.模块设计1.模块设计本程序包含主程序模块、菜单选择模块和串操作模块。
调用关系如下主程序模块菜单选择模块串操作模块2.系统子程序及功能设计(1) enter(int linenum) //行插入(2) void delete_text() //行删除(3) void list() //文本显示(4) void save(char *fname) //保存文件(5) void load(char *fname) //读取文件四.详细设计1.数据结构设计ADT line{基本操作:enter(linenum)初始条件:有内存。
操作结果:linenum +1.delete_text( )初始条件:line存在。
操作结果:若删除的最后一行,则直接删除。
若删除中间一行,则后面的linenum -1。
Load()初始条件:存在文件file操作结果:打开文件。
} ADT line2.系统主要子程序详细设计(1)主程序模块设计void main(int argc,char *argv[]){char s[80],choice,fname[80];int linenum=1;start=NULL;last=NULL;if(argc==2) load(argv[1]);do{choice=menu_select();switch(choice){case 1:printf("行号:");gets(s);linenum=atoi(s);enter(linenum);break;case 2:delete_text();break;case 3:list();break;case 4:printf("\t文件名 :");gets(fname);save(fname);break;case 5:printf("\t文件名:");gets(fname);load(fname);break;case 6:exit(0);}}while(1);}menu_select(){char s[80];int c;printf("\t********************欢迎使用简单行编辑程序********************\n");printf("\t\t\t\t1.行插入\n");printf("\t\t\t\t2.行删除\n");printf("\t\t\t\t3.文本显示\n");printf("\t\t\t\t4.保存文件\n");printf("\t\t\t\t5.读取文件\n");printf("\t\t\t\t6.退出\n");printf("\t*********************************************************** ***\n");do{printf("\n\n\t\t 请选择 :");gets(s);c=atoi(s);}while(c<0||c>6);return(c);}(2)主要工作函数/*将文本插在指定行端部*/enter(int linenum){struct line *info;for(;;){info=(struct line *)malloc(sizeof(struct line));if(!info){printf("\t! 内存不够!\n");return(NULL);}printf("%d:",linenum);gets(info->text);info->num=linenum;if(*info->text){if(find(linenum)) patchup(linenum,1);if(*info->text) start=dls_store(info);}else break;linenum++;}return(linenum);}/*当文本内容插在文件中间时其下面的内容的行号必须增加1,而删除时,被删除的文本后面的行号必须减1 */void patchup(int n,int incr){struct line *i;i=find(n);while(i){i->num=i->num+incr;i=i->next;}}/*按行号排序后插入 */struct line *dls_store(struct line *i){struct line *old,*p;if(last==NULL){i->next=NULL;i->prior=NULL;last=i;return(i);}p=start;old=NULL;while(p){if(p->num){old=p;p=p->next;}else{if(p->prior){p->prior->next=i;i->next=p;p->prior=i;return start;}i->next=p;i->prior=NULL;p->prior=i;return(i);}}old->next=i;i->next=NULL;i->prior=old;last=i;return start;}/*删除一行 */void delete_text(){struct line *info;char s[80];int linenum;printf("行号 :");gets(s);linenum=atoi(s);info=find(linenum);if(info){if(start==info){start=info->next;if(start) start->prior=NULL; else last=NULL;}else{info->prior->next=info->next;if(info!=last)info->next->prior=info->prior; else last=info->prior;}free(info);patchup(linenum+1,-1);}}/*查找一行文本 */struct line *find(int linenum){struct line *info;info=start;while(info){if(linenum==info->num) return(info); info=info->next;}return(NULL);}/*显示文本 */void list(){struct line *info;info=start;while(info){printf("%d:%s\n",info->num,info->text); info=info->next;}printf("\n\n");}/*存文件 */void save(char *fname){struct line *info;char *p;FILE *fp;if((fp=fopen(fname,"w"))==NULL){printf("\t Can't open the file !\n"); exit(0);}printf("\t Saved :\n");info=start;while(info){p=info->text;while(*p) putc(*p++,fp);putc('\n',fp);info=info->next;}fclose(fp);}/*读取文件 */void load(char *fname){struct line *info,*temp;char *p;FILE *fp;int size,inct;if((fp=fopen(fname,"r+"))==NULL){printf("\t Can't open the file !\n"); exit(0);}while(start){temp=start;start=start->next;free(temp);}printf("\n\t Reading...\n");size=sizeof(struct line);start=(struct line*)malloc(size);if(!start){printf("\n\t内存已经用完 !");return;}info=start;p=info->text;inct=1;while((*p=getc(fp))!=EOF){p++;while((*p=getc(fp))!='\n') p++;*p='\0';info->num=inct++;info->next=(struct line*)malloc(size); if(!info->next){printf("\n\t内存已经用完 !");return;}info->prior=temp;temp=info;info=info->next;p=info->text;}temp->next=NULL;last=temp;free(info);start->prior=NULL;fclose(fp);}五.测试分析1.主菜单2.行插入3.行删除及文本显示4.保存及读取文件5.退出主菜单下输入5并回车即退出“简单行编辑程序”。