字符及字符串输入输出与顺序程序设计实验 实验报告

合集下载

字符及字符串输入输出与顺序程序设计实验报告

字符及字符串输入输出与顺序程序设计实验报告

字符及字符串输入输出与顺序程序设计实验实验报告2.2.1 实验目的1、学习和掌握字符及字符串的输入输出方法。

2、掌握顺序程序的设计方法。

3、进一步掌握调试工具的使用方法。

2.2.2 实验预习要求1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。

2、复习BCD码运算调整指令。

3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。

4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。

2.2.3实验内容从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。

1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。

由于数字0 9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。

综上所述,需要考虑以下问题。

(1)从键盘输入一个一位十进制数的方法通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOV AH, 01HINT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中SUB AL, 30H ;减去30H后得到键入数字所代表的数值(2)提示信息字符串的显示通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。

C语言程序设计

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 语句,学习调试程序。

串操作实验报告

串操作实验报告

串操作实验报告
《串操作实验报告》
实验目的:通过对串操作的实验,掌握串的基本操作方法,提高对串操作的理解和掌握。

实验材料:计算机、编程软件、实验指导书。

实验步骤:
1. 字符串的输入输出:首先,我们学习了如何通过编程软件向计算机输入字符串,并且通过编程实现将字符串输出到屏幕上。

这一步骤帮助我们了解了如何使用编程语言来操作字符串。

2. 字符串的拼接:接着,我们学习了如何将两个字符串进行拼接。

通过实验,我们发现可以通过简单的加号操作符来实现字符串的拼接,这为我们在日后的编程中提供了很大的便利。

3. 字符串的截取:在实验中,我们还学习了如何通过编程语言来截取字符串的部分内容。

这一步骤让我们对于字符串的操作更加灵活,可以根据需要来截取所需的内容。

4. 字符串的比较:最后,我们学习了如何通过编程语言来比较两个字符串的内容。

这一步骤让我们对于字符串的比较有了更深入的理解,可以通过比较来判断字符串是否相等,或者哪个字符串的内容更大。

实验结果:通过这次实验,我们对于串操作有了更加深入的理解和掌握。

我们可以通过编程语言来实现对字符串的输入输出、拼接、截取和比较等操作,为日后的编程工作打下了坚实的基础。

结论:串操作是编程中非常重要的一部分,通过这次实验,我们对于串操作有
了更加深入的理解和掌握。

希望在日后的编程工作中能够更加灵活地运用串操作,提高编程效率和质量。

北京理工大学汇编语言实验报告实验三字符串操作实验

北京理工大学汇编语言实验报告实验三字符串操作实验

北京理工大学汇编语言实验报告实验三字符串操作实验实验三字符串操作实验一、实验目的1)熟悉串操作指令的功能与应用;2)掌握串操作指令的寻址方式及使用方法,编写常用的字符串处理程序;3)了解汇编语言字符串处理基本流程;二、实验软硬件环境1)硬件环境:惠普64位一体化计算机及局域网; 2)软件环境:windows 8,红蜘蛛管理系统,MASM for Win dows三、实验相关知识1)字符串操作流程SI寄存器保存源串首地址;DI寄存器保存目的串首地址;CX寄存器保存字符串长度;CLD或STD指令设置字符串处理方向;2)重复前缀指令重复次数由计数寄存器CX中存放的值决定,指令每重复执行一次,计数器CX中值减1,当CX 中值减至0时,停止重复执行,继续执行下一条指令。

寄存器的E内容条件为复前罡重复与操作直配合工作的字符串处理指令有MOVSSTOS^ LODS当REPE/REP判断计数寄存器的内容CX是否为0或ZF=O(即比较的两个操作数不等)亠只要满足一个则重复执行结束,否则继续执行。

可以与REPE/REP配合工作的串指令有CMP和SCAS0或體茴比较P判个操数数相等的内容要满足一个则重复执行结束,否则继续执行。

可以与REPE/REP配合工作的串指令有CMPS口SCAS3)字符串操作指令lodsb、lodsw :把DS:SI 指向的存储单元中的数据装入AL或AX然后根据DF标志增减SI ;stosb、stosw :把AL 或AX 中的数据装入ES:DI指向的存储单元,然后根据DF标志增减DI ;movsb movsw把DS:SI 指向的存储单元中的数据装入ES:DI指向的存储单元中,然后根据DF 标志分别增减SI和DI ;scasb、scasw:把AL或AX中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI ;cmpsb cmpsw把DS:SI指向的存储单元中的数据与ES:DI指向的存储单元中的数据相减,影响标志位,然后根据DF标志分别增减SI和DI ;rep :重复其后的串操作指令。

《C语言程序设计》实验报告

《C语言程序设计》实验报告

(此文档为word格式,下载后您可任意编辑修改!)《C语言程序设计》实验报告2012~2013学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++6.0一、实验目的:1.了解在Visual C++6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:教材《C语言程序设计教程》第1章。

三、实验内容:1.在Visual C++6.0环境下输入并运行下面的程序:#include<stdio.(){printf("This is a C program.\n");return0;}2.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include<stdio.(){int a,b,suma=3;b=4;sun=a+b;print("%d+%d=%d\n",a,b,sum);return0;}四、实验结果:1.运行结果(或截图):2.(1)改正后的源程序:(2)运行结果(或截图):五、思考题:1.一个C程序上机的步骤有哪些?答:2.组成C程序的基本单位是函数,一个函数包括哪几个部分?答:成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++6.0一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3.掌握基本算术运算符及其表达式的使用方法;4.掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:教材《C语言程序设计教程》第2章。

三、实验内容:1.在Visual C++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误。

#include<stdio.(){int2cd=3;floatπ=3.14;char for=′A′;printf("%d,%f,%c\n",2cd,π,for);return0;}2.在Visual C++6.0环境下输入并运行下面的程序,观察分析运行结果。

C程序实验 顺序程序设计

C程序实验 顺序程序设计

实验三顺序程序设计一、实验目的1、熟练掌握C语言中赋值语句的使用方法。

2、掌握格式输入输出scanf()函数、printf()函数的调用方法:整型、实型字符型数据的输入输出格式。

3、掌握字符型输入输出函数getchar()、putchar()函数的调用语法。

二、实验内容与步骤:1、从键盘输入两个0到127的整数,求两数的平方差并输出其值以及这两个整数的ASCⅡ码对应的字符。

程序:#include <stdio.h>void main(){int x,y,sub;scanf("%d%d",&x,&y);sub=x*x-y*y;printf("%c,%c,%d\n",x,y,sub);}结果:从键盘输入"100 50",结果是?100 50d,2,75002、#include <stdio.h>void main(){int a,b;float d,e;char c1,c2;double f,g;long m,n;unsigned int p,q;a=61; b=62;c1='a'; c2='b';d=3056; e=-6087;f=3157.; g=0.;m=50000; n=60000;p=32768; q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);}(1)运行程序并分析结果。

结果:a=61,b=62c1=a,c2=bd=3056.00,e=-6087.00f= 3157.,g= 0.0m=50000,n=60000p=32768,q=40000分析:a,b为整型变量,按%d输出,得到如上的结果;c1,c2为字符型,按%c输出,得到如上的结果;d,e为单精度浮点型,按%6.2f输出,其中整个数据占6列,小数两列,得到的结果如上;f,g双精度变量,按%15.6f输出,其中整个数据占15列,小数为6列(如全为小数,则小数全部输出),因为位置过宽,所以前面留有空格,结果如上;m,n为长整型,按%ld 输出,得到结果如上;p,q为无符号整型,存储范围增加,因此得到如上结果。

微机原理字符及字符串输入输出与顺序程序设计实验

微机原理字符及字符串输入输出与顺序程序设计实验

微机原理字符及字符串输入输出与顺序程序设计实验
本次实验是关于微机原理的字符及字符串输入输出与顺序程序设计的实验。

在本次实验中,我们将学习如何输入、输出字符和字符串,并且实现一个简单的顺序程序。

下面我将着重介绍本次实验的步骤和相关知识。

一、实验步骤
1. 输入一个字符,然后将其输出
3. 实现一个简单的顺序程序,实现两个数的加减运算
二、相关知识
在 C 语言中,可以使用 getchar() 函数进行字符输入,也可以使用 putchar() 函数进行字符输出。

下面是一个简单的示例代码:
```
#include <stdio.h>
printf("请输入一个字符:");
c = getchar();
return 0;
}
```
3. 顺序程序设计
顺序程序是一种简单的程序设计方式,即按照指定顺序执行一系列的操作。

在本次实验中,我们将实现两个数的加减运算。

下面是一个简单的示例代码:
sum = a + b;
diff = a - b;
printf("它们的和是:%d\n", sum);
printf("它们的差是:%d\n", diff);
三、实验总结。

北京理工大学汇编语言实验报告3字符串操作实验(设计性实验)

北京理工大学汇编语言实验报告3字符串操作实验(设计性实验)
实验类型: □ 综合设计 □ 自主创新
组 号:
同组搭档:
成 绩:
一、实验要求和目的
1.了解汇编语言字符串处理基本流程; 2.熟悉汇编语言字符串处理基本指令的使用方法; 3.掌握利用汇编语言实现字符串处理的程序设计方法。
二、软硬件环境
1、硬件环境:计算机系统 windows; 2、软件环境:装有MASM、DEBUG、LINK、等应用程序。
str1 db 'fs3qas' count equ $-str1 DATAS ENDS copy segment
str2 db count dup(?) copy ends
CODES SEGMENT ASSUME CS:CODES,DS:DATAS,es:copy
START: MOV AX,DATAS MOV DS,AX mov es,dx;开始复制 mov cx,count cld rep movsb MOV AH,4CH INT 21H
这里面显示的bx=1,符合实际情况 若修改一下源代码,把字符串多加几个‘.’则结果如下:
代码中有3个‘.’运行结果中bx=3,符合实际情况,源代码题设要求
五、实验要求与提示
1、实验要求 (1)画出各程序流程图; (2)列出程序清单,加上适量注释; (3)回答思考问题; (4)记录实验结果; (5) 完成实验报告(实验材料上的内容简写,自己的工作要详尽)。 2、实验提示: A)自动获取字符串长度,可以利用地址计数器$ 表达式获得。 B)字符/字符串输入输出 主要利用 DOS 的INT 21H 系统功能调用来实现字符或字符串的输入/输出操作,其中1 号功能表示输入字符;2 号功能表示输出字符;0A 号功能表示输入字符串;09 号功能表 示 输出字符串。如果大家想现在使用可以详细查阅相关资料,在后面的课程内容和实验上会详 细学习,这里简单示例提示一下: (1)显示单个字符可以用DOS 的INT 21H 的2 号功能,将字符放在DL 寄存器中,2 号放在AH 寄存器中。 MOV AL, ’*’ MOV AH,2 INT 21H (2)数据区中的字符串应以$结尾,DS:DX=串地址;如果提前已经定义需要显示的字 符串,显示字符串可以用如下功能调用: LEA DX,STR MOV AH,9 INT 21H

c语言顺序结构实验报告

c语言顺序结构实验报告

c语言顺序结构实验报告篇一:实验三顺序结构程序设计实验报告实验三顺序结构程序设计实验报告一、实验目的1. 掌握掌握赋值语句的使用方法。

2. 各种类型数据的输入输出的方法,能正确使用各种格式转换符。

3. 进一步掌握编写程序和调试程序的方法。

二、实验内容(源代码)1. sy3-(1) ①#includeint main() { int a,b;//基本整型float d,e; //单精度浮点型 char c1,c2;//字符型 double f,g;//双精度浮点型long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型a=61,b=62; c1='a';c2='b';//'a''b'的"'"不能掉了d=3.56;e=-6.87; //d,e之间用";"隔开f=3157.890121;g=0.9; m=50000;n=-60000; p=32768;q=40000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/" printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g}③#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用&quot;;"隔开 f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n", a,b,c1,c2,d,e);//"""与"a"之间的","不能掉了,"\"不能写成"/"printf("f=%15.6f,g=%15.12f\nm=%1d,n=%1d\np=%u,q=%u\ n",f,g,m,n,p,q); //f后的q改为g④#includeint main() {int a,b;//基本整型 float d,e; //单精度浮点型char c1,c2;//字符型double f,g;//双精度浮点型 long m,n; //长整型unsigned int p,q;//"unsiguld"改成"unsigned" 无符号整型 a=61,b=62;c1=a;c2=b; //c1,c2之间用";"隔开f=3157.890121;g=0.9; d=f;e=g;p=a=m=50000;q=b=n=-60000;printf("a=%d,b=%d\nc1=%d,c2=%d\nd=%d,e=%d\n",sizeof (a),sizeof(b),sizeof(c1),sizeof(c2),sizeof(d),sizeo f(e));printf("f=%d,g=%d\nm=%d,n=%d\np=%d,q=%d\n",sizeof(f ),sizeof(g),sizeof(m),sizeof(n),sizeof(p),sizeof(q) );}2. sy3-(2)#include int main() {float h,r,c,s1,s2,v1,v2; //定义float pi=3.1415926; //赋值printf("圆半径r=,圆柱高h=:");//提示scanf("%f,%f",&r,&h); //输入c=2*pi*r; //计算s1=pi*r*r;//"*"不可省略s2=4*s1;v1=4.0/3.0*s1*r; v2=s1*h;printf("圆周长:c=%6.2f\n",c); //输出 printf("圆面积:s1=%6.2f\n",s1);printf("圆球表面积:s2=%6.2f\n",s2); printf("圆球体积:v1=%6.2f\n",v1); printf("圆柱体积:v2=%6.2f\n",v2); return 0;}3. sy3-(3)#include#include //不要忘了数学函数 int main() {float p,r5,r3,r2,r1,r0,p1,p2,p3,p4,p5; //定义p=1000;//赋值printf("r5=,r3=,r2=,r1=,r0=:");//提示 scanf("%f,%f,%f,%f,%f",&r5,&r3,&r2,&r1,&r0); //输入 p1=p*r5*5; //计算}p2=p*(1+2*r2)*(1+3*r3)-p; p3=p*(1+3*r3)*(1+2*r2)-p; p4=p*pow(1+r1,5)-p; p5=p*pow(1+r0/4,20)-p;printf("方案1的利息:p1=%f\n",p1); //输出printf("方案2的利息:p2=%f\n",p2); printf("方案3的利息:p3=%f\n",p3); printf("方案4的利息:p4=%f\n",p4); printf("方案5的利息:p5=%f\n",p5); return 0;4. sy3-(4)① #include int main() {char c1='C',c2='h',c3='i',c4='n',c5='a';//定义与赋值 c1=c1+4;//计算 c2=c2+4; c3=c3+4; c4=c4+4; c5=c5+4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}② #include int main(){ }char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-22;//计算 c2=c2-22; c3=c3-22; c4=c4-22; c5=c5-22;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;③ #include int main(){char c1='T',c2='o',c3='d',c4='a',c5='y';//定义与赋值 c1=c1-4;//计算 c2=c2-4; c3=c3-4; c4=c4-4; c5=c5-4;printf("用printf语句输出结果为:");//提示printf("%c%c%c%c%c\n",c1,c2,c3,c4,c5);//输出c1,c2之间的","不可省略 printf("用putchar语句输出结果为:");//提示putchar(c1);//输出putchar(c2); putchar(c3); putchar(c4); putchar(c5);printf("\n");//换行不要省略 return 0;}篇二:C语言实验二程序、总结顺序结构与输入、输出方法实验二顺序结构与输入/输出方法1 学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自增减运算符的使用。

串操作实验报告

串操作实验报告

竭诚为您提供优质文档/双击可除串操作实验报告篇一:顺序串的基本操作实验报告宁波工程学院电信学院计算机教研室实验报告课程名称:数据结构实验项目:顺序串的基本操作实验人员:徐浩学号:10401010209班级:计科102指导教师:宋宏图实验位置:计算机中心二楼实验日期:20XX-10-13一、实验目的1)熟悉串的定义和串的基本操作。

2)掌握顺序串的基本运算。

3)加深对串数据结构的理解,逐步培养解决实际问题的编程能力。

二、实验环境装有Visualc++6.0的计算机。

本次实验共计2学时。

三、实验内容编写一个程序,实现顺序串的各种基本运算,并在此基础上设计一个主程序。

具体如下:编写栈的基本操作函数顺序串类型定义如下所示:typedefstruct{charch[mAxsIZe];intlen;}seqstring;(1)串赋值Assign(s,t)?将一个字符串常量赋给串s,即生成一个其值等于t的串s(2)串复制strcopy(s,t)?将串t赋给串s(3)计算串长度strLength(s)?返回串s中字符个数(4)判断串相等strequal(s,t)?若两个串s与t相等则返回1;否则返回0。

(5)串连接concat(s,t)?返回由两个串s和t连接在一起形成的新串。

(6)求子串substr(s,i,j)?返回串s中从第i(1≤i≤strLength((:串操作实验报告)s))个字符开始的、由连续j个字符组成的子串。

(7)插入Insstr(s,i,t)?将串t插入到串s的第i(1≤i≤strLength(s)+1)个字符中,即将t的第一个字符作为s的第i个字符,并返回产生的新串(8)串删除Delstr(s,i,j)?从串s中删去从第i(1≤i≤strLength(s))个字符开始的长度为j的子串,并返回产生的新串。

(9)串替换Repstr(s,s1,s2)?在串s中,将所有出现的子串s1均替换成s2。

(10)输出串Dispstr(s)?输出串s的所有元素值(11)判断串是否为空Isempty(s)编写主函数调用上述函数实现下列操作:(1)建立串s=“abcdefghijklmn”,串s1=“xyz”,串t=“hijk”(2)复制串t到t1,并输出t1的长度(3)在串s的第9个字符位置插入串s1而产生串s2,并输出s2(4)删除s第2个字符开始的5个字符而产生串s3,并输出s3(5)将串s第2个字符开始的3个字符替换成串s1而产生串s4,s4(6)提取串s的第8个字符开始的4个字符而产生串s5,并输出s5(7)将串s1和串t连接起来而产生串s6,并输出s6 (8)比较串s1和s5是否相等,输出结果程序:#include#definemAxsIZe100typedefstruct{charch[mAxsIZe];intlen;}sqstring;voidstrAssign(sqstringfor(i=0;t[i]!=\0;i++)s.ch[i]=t[i];s.len=i;}voidstrcopy(sqstring并输出for(i=0;i s.ch[i]=t.ch[i];s.len=t.len;}voidstrequal(sqstrings,sqstringt){//判断串相等intsame=1,i;if(s.len!=t.len){same=0;}else{for(i=0;i if(s.ch[i]!=t.ch[i]){same=0;break;}}if(same==0)printf("s1,s5不相等");elseprintf("s1,s5相等");printf("\n");}voidstrLength(sqstrings){//计算串长度printf("t1的长度:");printf("%d",s.len);printf("\n");}sqstringconcat(sqstrings,sqstringt){//串连接sqstringstr;inti;str.len=s.len+t.len;for(i=0;i str.ch[i]=s.ch[i];for(i=0;i str.ch[s.len+i]=t.ch[i];returnstr;}sqstringsubstr(sqstrings,inti,intj){//求子串sqstringstr;intk;str.len=0;if(is.len||js.len)returnstr;for(k=i-1;k str.ch[k-i+1]=s.ch[k];str.len=j;returnstr;}sqstringInsstr(sqstrings1,inti,sqstrings2){//插入intj;sqstringstr;str.len=0;if(is1.len+1)returnstr;for(j=0;j str.ch[j]=s1.ch[j];for(j=0;j str.ch[i+j-1]=s2.ch[j];for(j=i-1;j str.ch[s2.len+j]=s1.ch[j];str.len=s1.len+s2.len;returnstr;}sqstringDelstr(sqstrings,inti,intj){//删除intk;sqstringstr;str.len=0;if(is.len||i+j>s.len+1)returnstr;for(k=0;k str.ch[k]=s.ch[k];for(k=i+j-1;k str.ch[k-j]=s.ch[k];str.len=s.len-j;returnstr;sqstringRepstr(sqstrings,inti,intj,sqstringt){//替换intk;sqstringstr;str.len=0;if(is.len||i+j-1>s.len)returnstr;for(k=0;k str.ch[k]=s.ch[k];for(k=0;k str.ch[i+k-1]=t.ch[k];for(k=i+j-1;k str.ch[t.len+k-j]=s.ch[k];str.len=s.len-j+t.len;returnstr;}voidDispstr(sqstrings){//输出串所有元素inti;if(s.len>0){for(i=0;i printf("%c",s.ch[i]);printf("\n");}}voidIsempty(sqstrings){//判断串是否为空if(s.len>0)printf("串不为空");elseprintf("串为空");printf("\n");}篇二:串实验报告篇三:字符串实验报告数据结构字符串实验班级:计算机应用技术10-1学号:10602101048姓名:姚福刚一、实验目的及要求:掌握有关字符串的基本操作和存储结构,并编写相应的基本操作算法。

字符串实验报告

字符串实验报告

一、实验目的1. 理解字符串的基本概念和操作。

2. 掌握字符串的常用函数及其应用。

3. 熟悉字符串的查找、替换、截取等操作。

4. 培养实际编程解决问题的能力。

二、实验环境1. 操作系统:Windows 102. 编程语言:Python3.83. 开发工具:PyCharm三、实验内容1. 字符串的创建与赋值2. 字符串的常用函数3. 字符串的查找与替换4. 字符串的截取与拼接5. 字符串的遍历与遍历操作四、实验步骤1. 字符串的创建与赋值```pythonstr1 = "Hello, world!"str2 = 'Python is awesome.'```2. 字符串的常用函数```python# 获取字符串长度len(str1)# 获取字符串索引str1[0]# 获取字符串切片str1[1:5]# 获取字符串中子字符串的索引str1.find("world")# 获取字符串中子字符串的索引(从指定位置开始)str1.find("world", 6)# 获取字符串中子字符串的索引(从指定位置开始,直到指定位置结束)str1.find("world", 6, 11)# 检查字符串是否以指定子字符串开头str1.startswith("Hello")# 检查字符串是否以指定子字符串结尾str1.endswith("world")# 将字符串转换为小写str1.lower()# 将字符串转换为大写str1.upper()# 将字符串转换为首字母大写str1.capitalize()# 判断字符串是否全部由字母组成str1.isalpha()# 判断字符串是否全部由数字组成str1.isdigit()# 判断字符串是否为空str1.isempty()```3. 字符串的查找与替换```python# 查找子字符串str1.find("world")# 替换子字符串str1.replace("world", "Python")# 替换所有匹配的子字符串str1.replace("world", "Python", 1) ```4. 字符串的截取与拼接```python# 截取字符串str1[1:5]# 拼接字符串str1 + " " + str2```5. 字符串的遍历与遍历操作```python# 遍历字符串for char in str1:print(char)# 遍历字符串的索引for i in range(len(str1)):print(str1[i])# 遍历字符串的索引和值for i, char in enumerate(str1):print(i, char)```五、实验结果与分析1. 字符串的创建与赋值实验结果:成功创建了两个字符串str1和str2。

实验3 顺序结构程序设计

实验3 顺序结构程序设计

实验三数据类型和顺序结构程序设计(4学时)[实验任务一]:通过调试、分析程序运行结果,掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符;掌握各种运算符尤其是复合赋值运算符和除法及求余运算符。

程序分析实例3-1:输入、运行下面的程序,并分析、验证运行结果。

并以文件名assignment.c最终保存在实验3文件夹里:(需要存盘)【分析】程序运行结果为:在此基础上,做以下改动:(1)将程序第9~14行改为:a=61; b=62;c1=a; c2=b;f=3157.890121; g=0.123456789;d=f; e=g;p=a=m=50000; q=b=n=-60000;运行程序,分析结果。

【分析】修改后程序运行结果为:(2)在(1)的基础上将printf语句改为:printf("a=%d,b=%d,c1=%c,c2=%c,d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);printf("f=%f,g=%f,m=%d\n",f,g,m);printf("n=%d\n”,n);printf(“p=%d,q=%d\n",p,q);运行程序。

(3)将p, q改用%o格式符输出。

注意是字母o而不是数字0。

(4)改用scanf函数输入数据而不用赋值语句,scanf函数如下:scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,&p,&q);输入的数据入下:61, 62, a, b, 3.56,-6.87, 3,157.890121, 0.123456789, 50000,-60000, 40000(说明:lf,ld格式符分别用于输入double型和long型数据)分析运行结果。

计算机C++程序设计实验报告

计算机C++程序设计实验报告
if(data[i]>122)
data[i]=data[i]-123+32;
i++;
}
i-=1;
}
cout<<data<<endl;
}
return 0;
}
【输入】:
4972863
The result of 3 and 2 is not 8
123
Hello world
【输出】:
3.2密钥解密
【实验代码】:
【程序代码】:
#include<iostream>
#include<string>
using namespace std;
int main(){
char c;
for(int n; cin>>c>>n; )
for(int i=1; i<=n; i++)
cout<<string(n-i,' ')+string(i,c)+" "+string(i,c)+"\n";
b[j]="Yes";
else
b[j]="No";
delete[] a;
j++;
}
cout<<"输出:"<<endl;
for(i=0;i<n;i++)
cout<<b[i]<<endl;
delete[] b;
return 0;
}
【输入】:

C语言程序设计上机实验报告(精选5篇)[修改版]

C语言程序设计上机实验报告(精选5篇)[修改版]

第一篇:C语言程序设计上机实验报告黔南民族师范学院C语言程序设计上机实验报告系部:计算机科学系年级:2013 级班级:姓名:学号:实验时间:实验成绩:2013年月日实验三顺序结构程序的设计一实验名称:顺序结构程序的设计二.实验环境:windows XP系统,VC++6.0软件三.实验目的:四.实验内容:五.算法描述流程图六.源程序七.测试数据及运行结果八.实验心得实验成绩评分要求1、原创性发现抄袭或雷同成绩为0分2、正确性程序正确60分3、可读性格式清楚,有注释,变量命名规范20分4、健壮性对特殊测试数据有考虑有测试10分5、效率程序运行效率高10分第二篇:C程序设计上机实验报告10C程序设计实验报告实验名称:指针与数组学时安排:2课时实验类别:上机操作型实验要求:1人1组 ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄一、实验目的1. 理解指针、地址和数组间的关系;2. 掌握通过指针操作数组元素的方法;3. 掌握数组名作为参数的编程方式。

二、实验设备介绍软件需求: Visual C++ 6.0或CFree3.5以上版本硬件需求: 对于硬件方面的要求,建议配置是Pentium III 450以上的CPU处理器,64MB以上的内存,200MB的自由硬盘空间、CD-ROM驱动器、能支持24位真彩色的显示卡、彩色显示器、打印机。

三、实验内容1. 定义函数void sort(int a[],int n)amain函数,并在其中调用sort函数。

示例如下:After sorted the array is: -9 -6 1 2 4 52. 输入10个整数存储到数组a,再输入一个整数x,在数组a中查找x,若找到则输出相应的下标,否则显示“Not found!”。

要求定义和调用函数search(int list[], int n, int x),在数组list中查找元素x,若找到则返回相应下标,否则返回-1。

c语言程序设计实验报告

c语言程序设计实验报告

c语⾔程序设计实验报告C语⾔程序设计实验报告实验⼀1.⽤scanf函数输⼊数据,a=3,b=7,x=8.2,y=123.22,c1=‘A’,c2=‘a’,⽤printf 函数进⾏输出。

2.输⼊三⾓形的三边长,求三⾓形⾯积。

3..存款利息计算,有10000元,想存5年,按以下⼏种⽅法存。

(1)⼀次存5年。

(2)先存2年期,到期将本息再存3年。

(3)先存3年期,到期后再存2年。

(4)存1年期,到期将本息再存1年,连存5次。

计算各⾃存法5年后的本息是多少?4.设半径r=1.5,圆柱⾼h=3,求圆周长,圆⾯积,圆柱表⾯积,圆柱体积。

⽤scanf 输⼊数据,输出结果,输⼊要有⽂字说明,取⼩数点后2位数字。

5.给出⼀个不多于5位的正整数,要求:(1)求出它是⼏位数?(2)分别输出每个数字?(3)按逆顺序输出。

如(123输出321)实验⼆1.输⼊两个正整数,求其最⼤公约数和最⼩公倍数。

2.⼀个数如果恰好等于它的因⼦之和,这个数就称为完数,例如6=1+2+3,编程找出1000之内的所有完数,并按下⾯格式输出其因⼦。

6its factors are1,2,33.输⼊⼀⾏字符,分别统计出其中英⽂字母、空格、数字和其他字符的个数。

4.⼀个球从100m⾼度⾃由落下,每次落地后反跳回原⾼度的⼀半,再落下,再反弹。

求它在第10次落地式,共经过多少⽶,第10次反弹多⾼。

实验三1.从键盘输⼊⼀个整数,并将其插⼊到其元素已按升序排列的数组中,要求插⼊操作完成后,数组中的元素仍按升序排列。

2.⼀篇⽂章,共有三⾏⽂字,每⾏有80个字符。

要求分别统计出其中英⽂⼤写字母、⼩写字母、数字、空格以及其他字符的个数。

3.从键盘输⼊10个整数,并求出这10个数的最⼤值及出现次数。

4.编写个⼈所得税计算器。

输⼊个税起征点和⽉收⼊,计算应交税款。

(起征点为2000元)不超过500元的部分税率5%超过500元⾄2000元的部分税率10%超过2000元⾄5000元的部分税率15%超过5000元⾄20000元的部分税率20%超过20000元⾄40000元的部分税率25%超过40000元⾄60000元的部分税率30%超过60000元⾄80000元的部分税率35%超过80000元⾄100000元的部分税率40%超过100000元的部分税率45%。

c++输入输出流实验报告

c++输入输出流实验报告

实验四输入输出流实验课程名:面向对象程序设计(C++)专业班级:学号:姓名:实验时间:实验地点:指导教师:代码分析:1)在输入时调用getline()以换行符作为输入姓名时的结束标志,已达到输入空格的目的2)输出时采用resetiosflags(ios::right)实现结束向左对齐,用setw(8)实现输出域宽为8,使用一系列的格式控制字符来实现输出格式的控制。

2. 重载运算符“<<”和“>>”,使其能够输入一件商品的信息和输出这件商品的信息。

商品的信息由编号、商品名和价格。

假如商品类Merchandise的框架如下:class merchandise{public:Merchandiss();~Merchandiss();friend istream& operator>>(istream& in,Merchandiss& s);friend ostream&operator<<(ostream& out,Merchandiss& s);private:int no;char *name;double price;};要求实现该类,并编写以下的main函数对该类进行操作。

int main(){ Merchandise mer;cin>>mer;cout<<mer;return 0;}实验代码:#include<iostream>using namespace std;class merchandise{out<<s.no<<' '<<<<' '<<s.price<<endl;return out;}int main(){merchandise mer;cin>>mer;cout<<mer;return 0;}实验结果:实验分析:先定义一个商品的类,构造函数定义为无参函数在函数体中将name置为空,其他为0.在重载>>时使用getline函数,输入name以’\n’作为结束标记重载<<时直接输出。

c语言实验报告总结(范本)

c语言实验报告总结(范本)

c语言实验报告总结‎c语言实验报告总结‎‎篇一:C‎语言上机实验心得C语‎言上机实验心得在科‎技高度发展的今天,计‎算机在人们之中的作用‎越来越突出。

而C语言‎作为一种计算机的语言‎,学习它将有助于我们‎更好的了解计算机,与‎计算机进行交流,因此‎,我们一定要学好C语‎言,这对我们以后的发‎展是十分重要的。

说‎到这,上机实验当然就‎是一个必不可少的环节‎了,C语言灵活、简洁‎的特点,只有通过编程‎实践才能真正了解,真‎正说懂。

为了更好地学‎习语法规定、掌握程序‎设计方法、提高程序开‎发能力,我们必须实际‎上机、编写程序。

通‎过实验我也发现了自己‎不少的问题,这都是只‎看书上的程序而没有自‎己亲身上机编写程序而‎无法得知的,假如我们‎只因看熟书上的程序就‎以为自己已经掌握了C‎语言那就大错特错了。

‎我主要存在以下的这‎些缺点:1、‎学习耐心与细心不足‎,如scanf(“%‎d”, n);中的“‎”有时候会忘了。

而‎在最后输出时又错写‎成printf(“%‎d”, 从而错误得输‎出了地址而不是我原来‎想要的答案。

‎2、编程思想不够发‎散,看着题目有时想不‎出解答的方法,更不用‎说编写程序来解题了‎。

3、‎4、基本功不够,‎有些函数的表达不太精‎通,需要看书来核实,‎以致耗时较多。

知识‎不够广,有些内容没有‎学好,不能要用到时及‎时反映出来,认识程度‎不够深刻。

‎5、6、有‎时候不够精简,有一点‎用处不大或者说没有也‎可以的文字存在。

英‎语水平较差,对错误的‎地方虽然电脑有说,但‎由于是英文,理解上还‎是存在一点问题。

‎为了能更好地学好C语‎言,在今后学习中我要‎更多的动脑,综合运用‎所学,多看相关东西,‎多上机练习,提高电脑‎水平,增强自学能力,‎把已会的东西掌握好。

‎实验中我深刻意识到‎完成程序的编写,决不‎意味着万事大吉。

认为‎万无一失的程序,实际‎上机运行时可能会出现‎很多意想不到的问题。

‎有时编译程序检测出一‎大堆错误,有时程序能‎够顺利运行,但是运行‎结果并不是你预期中想‎要的。

顺序串的实验报告

顺序串的实验报告

一、实验目的1. 理解顺序串的概念及其特点;2. 掌握顺序串的创建、操作和遍历方法;3. 熟悉顺序串在编程中的应用。

二、实验环境1. 操作系统:Windows 102. 编程语言:Java3. 开发工具:Eclipse三、实验内容1. 创建顺序串2. 操作顺序串3. 遍历顺序串4. 应用顺序串四、实验步骤1. 创建顺序串```javaimport java.util.Scanner;public class SequenceString {public static void main(String[] args) {Scanner scanner = new Scanner(System.in); System.out.println("请输入字符串:");String input = scanner.nextLine();String sequenceString = new String(input);System.out.println("创建顺序串成功!");}}```2. 操作顺序串```javaimport java.util.Scanner;public class SequenceString {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");String input = scanner.nextLine();String sequenceString = new String(input);// 判断字符串是否为空if (sequenceString.isEmpty()) {System.out.println("字符串为空!");} else {// 判断字符串是否为空串if (sequenceString.equals("")) {System.out.println("字符串为空串!"); } else {// 判断字符串是否为空格if (sequenceString.trim().isEmpty()) {System.out.println("字符串为空格!");} else {// 获取字符串长度int length = sequenceString.length();System.out.println("字符串长度为:" + length); }}}}}```3. 遍历顺序串```javaimport java.util.Scanner;public class SequenceString {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");String input = scanner.nextLine();String sequenceString = new String(input);// 遍历字符串for (int i = 0; i < sequenceString.length(); i++) {char c = sequenceString.charAt(i);System.out.println("字符 " + (i + 1) + ":" + c);}}}```4. 应用顺序串```javaimport java.util.Scanner;public class SequenceString {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.println("请输入字符串:");String input = scanner.nextLine();String sequenceString = new String(input);// 查找字符串中指定字符的位置int index = sequenceString.indexOf('a');if (index != -1) {System.out.println("字符 'a' 的位置:" + index);} else {System.out.println("字符 'a' 不在字符串中!");}// 替换字符串中的指定字符String replacedString = sequenceString.replace('a', 'b');System.out.println("替换后的字符串:" + replacedString);}}```五、实验结果与分析1. 创建顺序串成功;2. 判断字符串为空、空串和空格;3. 获取字符串长度;4. 遍历字符串,打印每个字符;5. 查找字符串中指定字符的位置;6. 替换字符串中的指定字符。

C++程序设计实验报告

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.编写一个计算和估计地球重量的程序,并测试它。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

字符及字符串输入输出与顺序程序设计实验实验报告2.2.1 实验目的1、学习和掌握字符及字符串的输入输出方法。

2、掌握顺序程序的设计方法。

3、进一步掌握调试工具的使用方法。

2.2.2 实验预习要求1、复习DOS功能调用中用于字符输入(功能号01H)、字符输出(功能号02H)、字符串输入(功能号为0AH)以及字符串输出(功能号09H)的调用方法(详见教材5.5.6)。

2、复习BCD码运算调整指令。

3、根据“2.2.3 实验内容”中给出的源程序框架编写完整的源程序,以便实验时调试。

4、从“2.2.4 实验习题”中任选一道题目,编写源程序,以便上机调试。

2.2.3实验内容从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。

1、问题分析比如使用功能号为01H的用于实现单个字符输入的DOS功能调用接收从键盘输入的两个十进制数8和6,这时计算机内部得到的是这两个数的ASCII码值38H和36H。

由于数字0 9的ASCII码值与其代表的数值之间相差30H,因此将其减去30H即可得到以非压缩型BCD数形式表示的十进制数08H和06H,使用ADD指令对它们进行相加后结果为0EH(00001110B),显然需要用非压缩型BCD数加法调整指令对ADD的运算结果进行调整,调整后得到两个非压缩型BCD数01H和04H,将它们分别加上30H后变为其对应的ASCII码31H(1的ASCII码)和34H(4的ASCII码),然后调用功能号为02H用于单个字符输出的DOS功能调用将它们显示出来。

综上所述,需要考虑以下问题。

(1)从键盘输入一个一位十进制数的方法通过功能号为1的DOS功能调用实现从键盘输入一个字符,格式如下:MOV AH, 01HINT 21H ;此时程序等待用户键入,键入字符的ASCII码值存在AL中SUB AL, 30H ;减去30H后得到键入数字所代表的数值(2)提示信息字符串的显示通过功能号为9的DOS功能调用实现字符串显示,注意字符串的最后一个字符必需为’$’。

指令格式如下:MOV DX, OFFSET INFOR1 ;INFOR1为在数据段中定义的要显示的字符串MOV AH, 09HINT 21H(2)非压缩型BCD数加法调整指令的使用设从键盘输入的数值已存放在寄存器AL, BL中,可用下列程序完成数据相加和调整操作:XOR AH,AHADD AL, BLAAA ;执行该指令后,AH中为和的十位上的数字,AL中为个位上的数字请读者考虑,为什么要使用指令“XOR AH,AH”,不用行否?(3)计算结果的显示执行完AAA指令后,只需分别将AH(十位上的数值)和AL(个位上的数值)加上30H,并依次调用功能号为2的DOS功能调用来显示字符。

具体指令代码如下:PUSH AXMOV DL, AHADD DL, 30HMOV AH, 02HINT 21HPOP AXMOV DL, ALADD DL, 30HMOV AH, 02HINT 21H2、源程序框架DATA SEGMENTINFOR1 DB "Please Input the First Data(<10):$"INFOR2 DB 0AH,0DH,"Please Input the Second Data(<10):$"INFOR3 DB 0AH,0DH,"The Result is:$" ;0DH和0AH分别为非显示字符回;车和换行的ASCII码值,美圆符号“$”为字符串结束标志,不能省略。

DATA E NDSCODE SEGMENTASSUME CS: CODE, DS: DATASTART: MOV AX, DATAMOV DS, AX显示提示信息INFOR1并从键盘接收一个字符的指令序列SUB AL, 30HMOV BL, AL显示提示信息INFOR2并从键盘接收一个字符的指令序列SUB AL, 30H求和并调整指令序列PUSH AXPOP AX显示提示信息INFOR3的指令序列PUSH AX显示十位及个位上数字的指令序列MOV AH, 4CHINT 21HCODE ENDSEND START3、程序调试源程序编写完成后,先静态检查,无误后,对源程序进行汇编和连接,生成可执行文件。

在DOS命令提示符下运行该程序,分析运行结果是否正确。

若结果不正确,使用DEBUG 对其进行调试。

2.2.4 实验习题1、设a,b,c,d为四个压缩型BCD数,它们被存放在内存dbcd开始的4个存储单元中,计算a+b+c+d,并将结果在屏幕上显示出来(注意压缩型BCD数的表示方法:十进制数38表示成压缩型BCD数时应写成38H)。

程序编写完成并运行正确后,打开源程序,改变a,b,c,d的内容,然后重新进行汇编、连接并运行程序,检查程序运行结果与手工计算结果是否相符。

下面给出几组实验用数据:(1)a=11, b=23, c=25, d=31(2)a=10, b=20, c=30, d=40(3)a=45, b=45, c=45, c=45(4)a=88, b=99, c=77, d=66(注意压缩型BCD数的表示方法:十进制数38表示成压缩型BCD数时应写成38H)2、从键盘输入两个一位十进制数,计算这两个数之积,并将结果在屏幕上显示出来。

3、从键盘输入0 9中任意一个数自然数,将其平方值在屏幕上显示(使用查表法实现)。

2.2.5 实验报告要求1、补全“2.2.3 实验内容”中源程序框架内未写出的程序代码,并说明你在调试该程序过程中遇到了哪些问题,是如何处理的。

2、从“2.2.4 实验习题”中任选一道题目,画出流程图,编写源程序,并说明在调试过程中遇到了哪些问题,是如何处理的。

3、写出实验小结,内容包括实验心得(收获)、不足之处或今后应注意的问题等。

实验报告一、从键盘输入两个一位十进制数,计算这两个数之和,并将结果在屏幕上显示出来。

1.汇编语言源程序DATA SEGMENTINFOR1 DB "Please Input the First Data(<10): $"INFOR2 DB 0AH, 0DH, "Please Input the Second Data(<10): $"INFOR3 DB 0AH, 0DH, "The Resule is: $" DATA ENDSSTACK SEGMENT PARA STACK 'STACK' STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV DX, OFFSET INFOR1MOV AH, 09HINT 21HMOV AH, 01HINT 21HSUB AL, 30HMOV BL, ALMOV DX, OFFSET INFOR2MOV AH, 09HINT 21HMOV AH, 01HINT 21HSUB AL, 30HXOR AH, AHADD AL, BLAAAPUSH AXMOV DX, OFFSET INFOR3MOV AH, 09HINT 21HPOP AXPUSH AXMOV DL, AHADD DL, 30HMOV AH, 02HINT 21HPOP AXMOV DL, ALADD DL, 30HMOV AH, 02HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START2.程序的汇编3.程序的连接4.程序的执行二、从键盘上输入两个一位十进制数,计算这两个数之积,并将其结果在屏幕上显示出来。

1.汇编语言源程序DATA SEGMENTINFOR1 DB "Please Input the First Data(<10): $"INFOR2 DB 0AH, 0DH, "Please Input the Second Data(<10): $"INFOR3 DB 0AH, 0DH, "The Resule is: $"DATA ENDSSTACK SEGMENT PARA STACK 'STACK'STACK ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXMOV DX, OFFSET INFOR1MOV AH, 09HINT 21HMOV AH, 01HINT 21HSUB AL, 30HMOV BL, ALMOV DX, OFFSET INFOR2MOV AH, 09HINT 21HMOV AH, 01HINT 21HSUB AL, 30HXOR AH, AHMUL BXAAMPUSH AXMOV DX, OFFSET INFOR3MOV AH, 09HINT 21HPOP AXPUSH AXMOV DL, AHADD DL, 30HMOV AH, 02HINT 21HPOP AXMOV DL, ALADD DL, 30HMOV AH, 02HINT 21HMOV AH, 4CHINT 21HCODE ENDSEND START2.程序的汇编3.程序的连接4.程序的执行三、实验小结1在上机操作时使用任意一种文本编辑输入事先已手工编写好的汇编语言程序,并将其存储为扩展名为ASM的文件名。

2通过连接程序(LINK)将OBJ文件连接装配成可在计算机直接运行的可执行文件EXE,这是就可在DOS命令进行键入文件名来运行程序。

程序运行正确,则程序设计工作到此结束。

使用汇编程序对ASM文件进行语法检测,在没有语法错误的时候汇编成OBJ文件本实验是要掌握字符及字符串的输入功能,一定要熟练掌握字符串显示语句和字符输入语句,并能结合题目加以应用。

对各个功能实现的先后顺序和之前执行的程序对之后执行的程序的影响要能做到心中有数,这样才能实现程序的功能。

相关文档
最新文档