搜档网
当前位置:搜档网 › 微机实验 子程序设计

微机实验 子程序设计

微机实验  子程序设计
微机实验  子程序设计

微机实验三分支和循环程序设计实验

一、分支程序设计实验

1.实验目的

1.掌握分支程序的结构。

2掌握分支程序的设计、调试方法。

2.实验设备

微机一台

3.内容

设计一数据块间的搬移程序

设计思想:

程序要求把内存中一数据区(称为源数据块)传送到另一存贮区(称为目的数据块)。源数据块和目的数据块在存贮中可能有三种情况。

对于两个数据块分离的情况,数据的传送从数据块的首址开始,或者从数据块的末址开始均可,但对于有部分重叠的情况,则要加以分析,否则重叠部分会因“搬移”而遭破坏。

可以得出以下结论:当源数据块首址〉目的块首址时,从数据块首址开始传送数据。当源数据块首址〈目的块首址时,从数据块末地址开始传送数据。

流程图:

结果:

在源数据块中存入6个数,分别使SI大于、等于、小于DI均发觉数据正确传送。可见程序正确。

实现代码如下:

DATA SEGMENT

ORG 3500H

SRC_MESS DB 1,2,3,4,5,6

ORG 3510H

NEW_LOC DB 20 DUP(0)

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START: MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,SRC_MESS

LEA DI,NEW_LOC

MOV CX,6

CLD ;DF置0

CMP SI,DI ;源数据块首址〈目的块首址时,从数据块末地址开始传送数据。

JL NEXT1 ;如果SI小于DI,则跳转到NEXT1(否则直接执行NEXT2) NEXT2: REP MOVSB

NEXT1: ADD SI,CX ; SI=SI+CX-1 从末地址开始传递数据

DEC SI ;

ADD DI,CX ;DI+=DI+CX-1

DEC DI ;

STD ; DF置1

JMP NEXT2 ;

CODE ENDS

END START

结果显示:将3500H开始的1,2,3,4,5,6复制到3510H开始的地址。

DATA SEGMENT

ORG 3500H

SRC_MESS DB 1,2,3,4,5,6

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,SRC_MESS

MOV DI,3502H

MOV CX,6

CLD ;DF置0

CMP S I,DI ;源数据块首址〈目的块首址时,从数据块末地址开始传送数据。

JL NEXT1 ;如果SI小于DI,则跳转到NEXT1(否则直接执行NEXT2)

NEXT2: REP MOVSB

MOV AH,4CH

INT 21H

NEXT1: ADD SI,CX ; SI=SI+CX-1 从末地址开始传递数据

DEC SI ;

ADD DI,CX ;DI+=DI+CX-1

DEC DI ;

STD ; DF置1

JMP NEXT2 ;

CODE ENDS

END START

结果显示:将3500H开始的连续的1,2,3,4,5,6复制搬移到3502H开始的地址。

此时,搬移过程应当从数组的最后一个数字6开始搬移,一直到最前面的3500H对应的的数字01搬移到3502H地址为止。

DATA SEGMENT

ORG 3502H

SRC_MESS DB 1,2,3,4,5,6

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA

START:MOV AX,DATA

MOV DS,AX

MOV ES,AX

LEA SI,SRC_MESS

MOV DI,3500H

MOV CX,6

CLD ;DF置0

CMP S I,DI ;源数据块首址〈目的块首址时,从数据块末地址开始传送数据。

JL NEXT1 ;如果SI小于DI,则跳转到NEXT1(否则直接执行NEXT2)

NEXT2: REP MOVSB

MOV AH,4CH

INT 21H

NEXT1: ADD SI,CX ; SI=SI+CX-1 从末地址开始传递数据

DEC SI ;

ADD DI,CX ;DI+=DI+CX-1

DEC DI ;

STD ; DF置1

JMP NEXT2 ;

CODE ENDS

END START

结果显示:将3502H开始的1,2,3,4,5,6搬移到3500H开始的地址,应该从3502H地址开始传数据到3500H,依次往后搬移。

二、循环程序设计实验

1.实验目的

(1)加深对循环结构的理解。

(2)掌握循环结构程序设计的方法。

(3)熟练掌握调试循环程序的方法。

2.实验设备

TDS-MD微机一台

3.内容

(1)编制程序使S=1+2*3+3*4+4*5+……N(N+1),直到N(N+1)项大于200为止。流程图:

实现代码:

DATA SEGMENT

ORG 3500H

HELLO DB 32 DUP(0)

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA

MOV DS,AX

MOV DX,1 ;DX存储总和

MOV BL,2 ;BL存储被乘项

NEXT: MOV AL,BL; AL存储被乘项

INC BL ;

MUL BL ; 结果存储在AX

ADD DX,AX

CMP AX,200

JL NEXT

MOV BX,3500H

MOV [BX],DX

MOV BX,3510H

MOV [BX],AX

MOV AH,4CH

INT 21H

CODE ENDS

END START

结果与分析:

运行结果为045FH,与实际相符,程序正确。

(2)求某个数据区内负数的个数

设数据区的第一单元存放区内数据的个数,从第二单元开始存放数据,在区内最后一个单元存放结果。

为统计数据区内负数的个数,需要逐个判断区内的每一个数据,然后将所有数据中凡是符号位为1的数据的个数累加起来,即得区内所包含负数的个数。

流程图:

实现代码:

DATA SEGMENT

ORG 3500H

HELLO DB 6,3,-58,-34,7,-2,29 ;6是数据的个数,共有6个数据

ORG 3510H

NUM_T DB 16 DUP(0) ;3510H单元存结果

DATA ENDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV AX,DATA ;初始化数据段

MOV DS,AX

MOV DI,3500H ;数据区的首地址给DI

MOV CL,[DI] ;数据的个数给CL,作为NEXT1循环的个数

INC DI ;DI指向第一个需要比较的数据

MOV CH,0

MOV BL,0

NEXT1: MOV AL,[DI]

AND AL,80H ;AL与1000(B)做按位与操作,如果是负数,AL存储的是1000(B),否则存储的是0

CMP AL,80H ;如果是负数,AL与80H相等

JE NEXT2 ;如果是负数,跳转到NEXT2

GOGO: INC DI

LOOP NEXT1

MOV DI,3510H

MOV [DI],BL

MOV AX,4C00H ;返回DOS

INT 21H

NEXT2: INC BL

JMP GOGO

CODE ENDS

END START

结果与分析:

输入数据个数为6

输入3,-58,-34,7,-2,29得结果03,存放在3510H地址。其中3500H地址对应的数字6是原始数据的个数。

结果与实际相符,程序正确。

输入数据个数为6

输入3,-58,-34,7,-2,-29得结果04,存放在3510H地址。其中3500H地址对应的数字6是原始数据的个数。

结果与实际相符,程序正确。

实验四子程序设计

一.实验目的

1、学习子程序的定义和调用方法。

2、掌握子程序、子程序嵌套的结构。

3、掌握子程序的程序设计、编制及调试方法。

二.实验内容

程序采用菜单式选择,可接收用户输入的命令(1~5),各命令如下:

按1键完成字符串小写字母变大写字母

用户输入一由英文大小写字母或数字0~9组成的字符串(以回车结束),程序逐个检查字符串中各字符,将原串中小写字母变成大写字母,其它字符不变,并在屏幕上显示。用户按任一键,重做,按ESC键,返回主菜单。

按2键完成找最大值(二选一)

1、接收用户输入的可显示字符串(以回车结束),程序将其中ASCII码值最大的字符显示出来。

2、接收用户输入若干无符号8位数(以空格或逗号为分隔符,以回车结束),程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。

按3键完成排序(二选一)

1、接收用户输入的可显示字符串,以回车结束。程序按ASCII码值大小由大到小排序并输出显示。

2、接收用户输入若干个有符号8位数(以空格逗号为分隔符,以回车结束)。程序将其中最大的数显示出来。用户按任一键,重做,按ESC键,返回主菜单。

按4键显示时间

首先提示用户对时,即用户输入时,分,秒(以空格或冒号分隔,以回车结束),然后,在屏幕上不断显示时间,格式为:××(时):××(分):××(秒),最好定点显示。用户按任一键,重新对时,按ESC键,返回主菜单。

按5键,结束程序运行,返回系统提示符。

三.程序与流程图

主程序的简略流程子程序一的简略流程图子程序二的简略流程图

子程序三的简略流程图子程序4,显示时间流程图

实现代码:

DATA SEGMENT

ORG 3500H

BUF DB 100 ;从3500H开始定义缓冲区

DB ?

DB 100 DUP(0)

MYNAME DB 'Programed by ali ...',0DH,0AH,'$'

BUF1 DB '1. Input a string,then convert the small letter to big letter.',0DH,0AH,'$' BUF2 DB '2. Find the character whose ASCII code is biggest.',0DH,0AH,'$'

BUF3 DB '3. Sort the character by ASCII code by decreasing order .',0DH,0AH,'$' BUF4 DB '4. Display the ticking time.',0DH,0AH,'$'

BUF5 DB '5. End the program.',0DH,0AH,'$'

STRING1 DB 'Please input a string:',0DH,0AH,'$'

STRING2 DB 'Enter any character to play again or Esc to quit...',0DH,0AH,'$' STRING3 DB 0DH,0AH,'$'

DATA E NDS

;

CODE SEGMENT

ASSUME CS:CODE,DS:DATA

START: MOV A X,DATA ;DATA初始化

MOV D S,AX

HELLO: CALL CHILD0 ;显示菜单

MOV A X,0100H ;从键盘输入一个数字的ASCII,AL存储输入的数字的ASCII INT 21H

CMP AL,31H

JE NEXT1

CMP AL,32H

JE NEXT2

CMP AL,33H

JE NEXT3

; CMP AL,34H

; JE NEXT4

CMP AL,35H

JE NEXT5

NEXT1: CALL CHILD1

JMP HELLO

NEXT2: CALL CHILD2

JMP HELLO

NEXT3: CALL CHILD3

JMP H ELLO

;NEXT4: CALL CHILD4

; JMP H ELLO

NEXT5: CALL CHILD5

;显示菜单子程序

CHILD0 PROC NEAR

MOV D X,OFFSET MYNAME

MOV A H,9H ;显示

INT 21H

MOV DX,OFFSET BUF1

MOV A H,9H ;显示

INT 21H

MOV DX,OFFSET BUF2

MOV A H,9H ;显示

INT 21H

MOV DX,OFFSET BUF3

MOV A H,9H ;显示

INT 21H

MOV DX,OFFSET BUF4

MOV A H,9H ;显示

INT 21H

MOV DX,OFFSET BUF5

MOV A H,9H ;显示

INT 21H

RET

CHILD0 ENDP

;

CHILD1 PROC NEAR

HELLO_1:MOV DX,OFFSET STRING1 MOV A H,9H

INT 21H

LEA DX,BUF

MOV AH,10

INT 21H

MOV D X,OFFSET STRING3 ;换行

MOV A H,9H

INT 21H

MOV B X,3501H

MOV C L,[BX]

MOV C H,0

MOV B X,3502H

NEXT1_1: MOV A L,[BX]

CMP AL,97

JL DADA

CMP AL,122

JG DADA

SUB AL,32 ;是小写字符DADA: MOV D L,AL

MOV A H,02H

INT 21H

INC BX

LOOP NEXT1_1

MOV D X,OFFSET STRING3 ;换行

MOV A H,9H

INT 21H

MOV D X,OFFSET STRING2

MOV A H,9H

INT 21H

MOV A H,08H

INT 21H

CMP AL,27 ;跟ESC的ASCII比较

JE BYBY

JMP HELLO_1

BYBY: RET

CHILD1 ENDP

;

CHILD2 PROC NEAR

MOV D X,OFFSET STRING1

MOV A H,9H

INT 21H

LEA DX,BUF

MOV AH,10

INT 21H

MOV DI,3501H

MOV CL,[DI]

DEC CL ;循环次数

MOV CH,0

LOOP1:MOV DX,CX

MOV B X,3502H

LOOP2:MOV AL,[BX]

CMP AL,[BX+1]

JAE NO_CHANGE

XCHG AL,[BX+1]

MOV [BX],AL

NO_CHANGE:

ADD BX,1

LOOP LOOP2

MOV C X,DX

LOOP LOOP1

MOV D X,OFFSET STRING3 MOV A H,9H

INT 21H

MOV DI,3502H

MOV DL,[DI]

MOV AH,02H

INT 21H

MOV D X,OFFSET STRING3 ;换行

MOV A H,9H

INT 21H

RET

CHILD2 ENDP

CHILD3 PROC NEAR

MOV D X,OFFSET STRING1

MOV A H,9H

INT 21H

LEA DX,BUF

MOV AH,10

INT 21H

MOV DI,3501H

MOV CL,[DI]

DEC CL ;循环次数

MOV CH,0

LOOP11:MOV DX,CX

MOV B X,3502H

LOOP22:MOV AL,[BX]

CMP AL,[BX+1]

JAE NO_CHANGE1

XCHG AL,[BX+1]

MOV [BX],AL

NO_CHANGE1:

ADD BX,1

LOOP LOOP22

MOV C X,DX

LOOP LOOP11

MOV DX,OFFSET STRING3

MOV A H,9H

INT 21H

MOV CH,0

MOV BX,3501H

MOV CL,[BX]

MOV DI,3502H

PETER:MOV DL,[DI]

MOV AH,02H

INT 21H

INC DI

LOOP PETER

MOV D X,OFFSET STRING3 ;换行

MOV A H,9H

INT 21H

RET

CHILD3 ENDP

;返回DOS

CHILD5 PROC NEAR

MOV A X,4C00H

INT 21H

RET

CHILD5 ENDP

CODE ENDS

END START

结果显示:选择1号功能,输入字符串,将字符串转换成大写形式,并显示到屏幕上。

之后输入任意键,将重新提示输入字符串,实现1号功能,按Esc键,则回到功能菜单界面。

选择2号功能,提示输入字符串,输入之后,将ASCII值最大的字符输出到屏幕上,并回到功能菜单界面。

选择3号功能,输入字符串,利用冒泡排序,将字符串按ASCII值由大到小排序并输出到屏幕上。之后回到功能菜单界面。

输入5,将推出程序,回到DOS。

微机原理简单输入输出实验报告

东南大学 《微机实验及课程设计》 实验报告 实验四(1)简单输入输出 一. 实验目的与内容 (一)实验目的 1)进一步掌握TPC实验装置的基本原理和组成结构; 2)掌握利用I/O指令单步调试检查硬件接口功能,学会利用示波器检测I/O指令执行时总线情况; 3)掌握简单并行输入输出接口的工作原理及使用方法,进一步熟悉掌握输入输出单元的功能

和使用。 (二)实验内容及要求 1、输出接口输出,根据8个发光二极管发光的情况验证编程从键盘输入一个字符或数字,将其ASCII码通过正确性。(输出端口实验必做) 2、用逻辑电平开关预置某个字母的ASCII码,编程输入这个ASCII码,并将其对应字母在屏幕上显示出来。(输入端口实验必做) 3、利用基本实验(1)中的输出锁存电路,设计L0~L7为流水灯,流水间隔时间由软件产生。(输出端口实验) 4、利用基本实验(2)中的输入电路,监测逻辑电平开关K0~K7的变换,当开关状态为全开时,在屏幕上显示提示信息并结束程序。(输入端口实验) 要求: 1、输入输出端口应该可以响应外设的连续变化。 2、输出按ESC键退出;输入按任意键退出。 3、内容3、4比做一题,选做一题 二. 实验基本原理 (一)基本原理 简单并行输出实验:八D触发器74LS273的八个输入端接数据总线D0~D7,从键盘输入一个字符或数字,通过2A8H~输出接口输出该字符或者数字代表的ASCII码,再通过8个发光二极管发光显示二进制数码,从而验证编程以及电路的正确性。 简单并行输入实验:八缓冲器74LS244的八个输出端接数据总线D0~D7,8个输入端分别接逻辑电平开关K0~K7,在逻辑电平开关上预置任意字符的ASCII码,编程将此ASCII码通过2A0H~输入,ASCII码对应字符显示在屏幕上,从而验证编程及电路的正确性。 (二)实验接线图

程序设计实验报告

学生实验报告 院系:测绘学院 专业班级:测绘13级3班 学号:2013305517 学生姓名:王泽 指导教师:郭辉老师 2016年05月20日

安徽理工大学实验报告 实验课程名称:数据结构与软件开发上机实验 开课院系及实验室:测绘学院红楼二楼机房 实验1 编程基本知识练习 实验目的: 通过该实验课内容的练习,学生应掌握VB 编程的基本语法、变量的定义、数组(动态数组)的定义、VB 语言中子过程与函数的定义以及文本文件的读写等知识。 实验内容: 1)变量的定义动态数组的定义与应用; 2)矩阵的加、减、乘运算(定义Sub()子过程或Function()来实现); 3)数据文件的建立、数据的读取与写入。 实验步骤: 1.编辑界面 1.1 打开VB 编程工具,进入编程主界面。

1.2 在窗体上新建“读入数据”和“输出数据”两个按钮。 1.3 双击“窗体”进入代码输入界面,进行代码编辑。 2.用VB 编写的源代码 2.1 矩阵基本运算源码详见附录一。 (1)两矩阵相加 (2)两矩阵相减 (3)矩阵转置 (4)两矩阵相乘 (5)矩阵求逆 2.2 文本文件(本实验中data.txt)的读取源代码 (1)建立文本文件并输入数据 在桌面上新建一“data.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\data.txt”)。输入以下内容: 6,7,4,0.005 A,35.418 B,45.712 C,25.270

D,24.678 在桌面上新建一“result.txt” ( 文本文件路径为C:\Users\ WH\Desktop\练习\result.txt”)。(2)从文本文件中读数据 Dim linedata as string, m_GaochaN as integer,m_Pnumber as integer,m_knPnumber as integer,M as Double,k1 as integer 'linedata 为存储文本文件一行信息的字符串变量 Dim a() as String,H() as Double 'a()为存储点名,H()存储高程 Open“C:\Users\ WH\Desktop\练习\data.txt”For Input As #1 Line Input #1, linedata k = Split(linedata, ",") m_GaochaN = Val(k(0)) m_Pnumber = Val(k(1)) m_knPnumber = Val(k(2)) M = CDbl(k(3)) For k1 = 1 To m_knPnumber Line Input #1, linedata k = Split(linedata, ",") a(k1)= k(0) GetstationNumber (a) H(k1) = CDbl(k(1)) Next Close #1 (3)将读入点名存储到点名数组中,且返回该点名所对应编号 Function GetstationNumber(name As String) Dim i As Integer For i = 1 To m_Pnumber If P_Name(i) <> "" Then '将待查点名与已经存入点名数组的点比较 If P_Name(i) = name Then GetstationNumber = i Exit For End If Else '待查点是新的点名,将新点名放到P_Name 数组中 P_Name(i) = name GetstationNumber = i Exit For End If Next i End Function (4)从文本文件中写数据(将从data.txt 读入的数据,写入到result.txt 文件中) Open“C:\Users\ WH\Desktop\ 练习\result.txt” For Output As #1 outstring = outstring + str(m_GaochaN) +","

微机原理实验三子程序设计实验

实验三 子程序设计实验 一、实验目的 1.学习子程序的定义和调用方法。 2.掌握子程序的程序设计、编制及调用。 二、实验设备 TDN86/88教学实验系统一台 三、实验内容及步骤 1.求无符号字节序列中的最大值和最小值 设有一字节序列,其存储首址为3000H ,字节数为08H 。利用子程序的方法编程求出该序列中的最大值和最小值。实验程序及流程如下: 主程序 STACK1 SEGMENT STACK DW 64 DUP(?) STACK1 ENDS CODE SEGMENT ASSUME CS:CODE START: MOV SI,3000H MOV CX,0008H CALL branch A1: JMP A1 branch: JCXZ A4 PUSH SI PUSH CX PUSH BX

子程序 实验步骤 (1)输入源程序,进行编译、链接和加载。 (2)在调试区键入E0000:3000↙,输入8个字节的数据:D9、07、8B、C5、EB、04、9D、F9。 (3)运行程序,查看结果,在调试区键入R AX↙,显示结果应为AX=F9 04,AH中为最大值,AL中为最小值。 2.数组求和 设有一字节序列(存储地址和字节数可自定义),编写程序,求出该序列的和,求和工MOV BH,[SI] MOV BL,BH A1: LODSB CMP AL,BH JBE A2 MOV BH,AL JMP A3 A2: CMP AL,BL JAE A3 MOV BL,AL A3: LOOP A1 MOV AX,BX POP BX POP CX POP SI A4: RET CODE ENDS END START

程序设计基础实验报告

《程序设计基础》 实验报告 专业班级: 姓名: 学号:

实验一 面向过程的简单程序设计 1.实验目的要求 (1) 使用C++语言编写简单的计算机程序,掌握C++程序从编辑、编译到运行的全过程, 初步了解C++程序的特点。 (2) 掌握C++语言的数据类型(包括对各种数据类型变量的定义、初始化、赋值等)、运 算符和表达式的使用。 (3) 掌握赋值语句的使用。 (4) 掌握数据的输入输出方法。 2.实验内容 (1)设计简单程序,分别计算下列表达式,式中变量由键盘输入,输出表达式的值。 <1> d c b a x -++ <2> 11 11+++x x <3> sinX+cosX+tan -1 X <4> e x+y +e x-y <5> log 10(1+21x +) <6> 22b a -+??b a - (其中??a 表示取不大于a 的最大整数)。 <1> #include using namespace std; int main() { float x,a,b,c,d,e; cin>>x>>a>>b>>c>>d; e=x+(a+b)/(c-d); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sqrt(1+1/(x+1/(x+1)));

cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=sin(x)+cos(x)+1/tan(x); cout< #include #include using namespace std; int main() { double x,y,z; cin>>x>>y; z=exp(x+y)+exp(x-y); cout< #include #include using namespace std; int main() { double x,y; cin>>x; y=log(1+sqrt(1+x*x)); cout< #include #include using namespace std; int main()

微机硬件课程设计实验报告

目录 一、基础实验部分 (1) 实验1 存储器读写实验 (1) 实验2 简单I/O口扩展实验 (3) 实验3 8255并行口实验 (4) 实验4 8253定时器/计数器接口实验 (5) 实验5 8259中断控制器实验 (7) 二、综合设计实验部分 (12)

一、基础实验部分 实验1 存储器读写实验 一、实验设备 微机实验箱、8086CPU模块。 二、实验要求 学会用使用工具软件,掌握用单步执行和断点方式运行程序,观察寄存器和内存中的数据变化等程序调试的手段。 三、实验步骤 1、实验接线:本实验无需接线。 2、编写调试程序。 3、运行实验程序,可采取单步、设置断点方式,打开内存窗口可看到内存区的变化。 四、思考题 1、①单步执行到“intram”标号的语句时,ds寄存器的数据是什么?②采用断点方式运行时执行到第一个断点处,2000H~202FH内存单元的数据是什么?③执行到第二个断点处,2000H~200FH内存单元的数据是什么?④并根据观察结果和对源程序的判读简述源程序的运行效果。 答:①ds寄存器的数据是0100H。 ②2000H~202FH内存单元的数据全是00。 ③2000H~200FH内存单元的数据是AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55 AA 55。 ④源程序的运行效果是在第一个间断点处可以把数据清零,在第二个间断点处即 可完成赋值。

2、修改程序,实现从2000H 到200FH 单元依次赋值00H~0FH 的功能。 答:程序如下 code segment assume cs:code org 0100h start: mov ax,0100h mov ds,ax ;数据段地址 mov es,ax mov si,1000h ;偏移地址 mov cx,0010h ;循环次数 mov al,0 ;将al 清零 intram: mov [si],al inc si ;将偏移地址+1 inc al ;将al 的值+1 loop intram nop ;设置断点处 jmp start code ends end start 五、出现的问题及解决过程 序号 出现的问题 原因 解决过程 1 不能得到内存单元的运 行结果 未在程序中设置断点 在程序中设置正确断点 2 2000H 到200FH 单元得不 到00H~0FH 设置的循环次数不对 mov cx,0016h 将循环次数改为 mov cx,0010h

C语言程序设计实验报告(实验大纲+过程)

《C程序设计》实验教学大纲 一、适用范围 大纲适用信息管理专业本科教学使用。 二、课程名称 C程序设计 三、学时数与学分 总学时:90 总学分:4 实验学时:28 实验学分:1 四、教学目的和基本要求 目的:通过C程序设计实验,培养学生对学习程序设计的兴趣,加深对讲授内容的理解,尤其是通过上机来掌握语法规则,使学生全面了解 C 语言的特点,熟练掌握 C 语言程序设计的基本方法和编程技巧。 基本要求:了解和熟悉C语言程序开发的环境;学会上机调试程序,善于发现程序中的错误,并且能很快地排除这些错误,使程序能正确运行,达到实验知识和理论知识的融会贯通。上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止,上机结束后,应整理出实验报告。 注:带*的实验项目为选做实验项目 六、教材、讲义及参考书 《C程序设计题解与上机指导》谭浩强主编清华大学出版社 七、实验成绩评定办法 实验成绩=平时实验表现+实验报告。实验成绩占总成绩的20%。 实验成绩以等级形式给出,评定等级分优、良、中、及格、不及格五类。 1、平时考核:上机实验前,学生必须事先根据题目的内容编好程序,然后在实验时输入程序、调试程序、直至运行结果正确为止。在实验中,教师可根据学生编程操作能力、观察和分析及运用知识能力、程序编制正确性以及学生的课堂纪律、实验态度、保持实验室卫生等方面的表现进行综合考核。

2、实验报告:学生实验后应按时完成实验报告。 八、实验教学大纲说明 本大纲共安排28学时的实验,其中带*号实验项目为选做实验项目,实际课时为18学时。实验项目多为设计性实验项目,每个设计性实验项目中都包含数个小的设计性题目,其中带*号的题目为选做题目,有时间和有能力的同学可以选做。 九、实验项目 实验一C程序的运行环境和运行一个C程序的方法 一、实验目的 1.了解Visual C++6.0编译系统的基本操作方法,学会独立使用该系统。 2.了解在该系统上如何编辑、编译、连接和运行一个C程序。 3.通过运行简单的C程序,初步了解C源程序的特点。 二、实验内容 1.用编辑程序,输入教材第一章例1.1程序,并进行编译和运行。应了解所用的系统是用什么命令进行编译和连接运行的。编译和连接后所得到的目标程序的后缀是什么形式的? 2.编写一个C程序,输出以下信息: **************************** very good! **************************** 3.输入并运行教材第一章中例1.3,了解如何在运行时向程序变量输入数据。 实验二数据类型、运算符和表达式 一、实验目的 1.掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用格式转换符。 2.学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。 二、实验内容 1.输入并运行以下程序: main( ) { char c1,c2; c1=97;c2=98; pr intf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 在此基础上 ①将第三行、第四行改为: c1=321;c2=353; 再使之运行,分析其运行结果。 ②将第二行改为: int c1,c2; 再使之运行,分析其运行结果。。 2.输入并运行以下程序:

微机原理子程序设计

实验三子程序设计 1、实验目的: (1)熟悉汇编语言的编辑、汇编、连接、运行的全过程。 (2)了解汇编语言的程序结构、学习调用过程实现输入输出及用INCLUDE 命令包含文件的方法。 (3)子程序设计 2.实验步骤: (1)用编辑软件记事本或EDIT 编辑一个扩展文件名为ASM的汇编语言源程序。 (2)用汇编程序TASM 汇编上述的汇编语言源程序,形成目标代码文件。 (扩展名为OBJ) (3)用连接程序TLINK连接目标代码文件,形成可执行文件。(扩展名为EXE) (4)运行可执行文件。观察执行结果,以验证其正确性。 3.实验内容: (1)从键盘上输入若干个十进制数(-32767

again1: mov ax,[si] cmp ax,[si+2] jle next1 xchg ax,[si+2] xchg ax,[si] next1: add si,2 loop again1 mov cx,di loop again2 mov ah,9 lea dx,out_message int 21h mov cx,count ;输出(升序) lea si,array again3: mov bx,[si] call write call dpcrlf inc si inc si loop again3 mov ax,4c00h int 21h INCLUDE out_B_D.ASM INCLUDE in_D_B.ASM END (2)从键盘上输入若干个十进制数(-32767

网络程序设计实验报告-Winsock编程接口实验

网络程序设计 实验报告 实验名称: Winsock编程接口实验 实验类型:____验证型实验_____ __ 指导教师:______________________ 专业班级:_____________________ 姓名:_______________________ 学号:_____________________ 电子邮件:____________ 实验地点:______ _______ 实验日期2013 年 3 月29 日 实验成绩:__________________________

一、实验目的 ●掌握Winsock的启动和初始化; ●掌握gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的使用。 二、实验设计 由实验内容可以知道: 1、编写程序能同时实现对多个域名的解析。比如在控制台输入:getip https://www.sodocs.net/doc/1916473369.html, https://www.sodocs.net/doc/1916473369.html,,能输出https://www.sodocs.net/doc/1916473369.html,和https://www.sodocs.net/doc/1916473369.html,对应的IP地址列表。 2、编写程序获取并输出本地主机的所有适配器的IP地址,子网掩码,默认网关,MAC 地址。 首先要了解一些基本的知识gethostname(),gethostbyname(),GetAdaptersInfo()等信息查询函数的基本知识gethostbyname()返回对应于给定主机名的包含主机名字和地址信息的hostent结构指针。结构的声明与gethostaddr()中一致。 之后要根据内容画出函数流程图

三、实验过程(包含实验结果) 1.在实验过程中调用GetAdaptersInfo()时,出现了undeclared identifier的报错,原因是没有包含其头文件,之后进行一些修改解决了问题. 2.实验结果 3.选择查看本机信息 四、讨论与分析 1.Winsock初始化的作用是什么? 答:使用winsock初始化可加载winsock编程的动态链接库。

大学程序设计基础实验报告 (2)

**大学程序设计基础实验报告 实验名称:实验三分支结构 实验目的: 1、掌握IF-ELSE语句使用。 2、掌握ELSE-IF语句使用。 3、熟悉SWITCH语句使用。 实验内容: 在本地电脑中新建一个文件夹,用于存放C程序,文件夹的名字要求是“学号姓名-实验序号”,如E:\ 1920115555张三-03。启动C-Free,完成如下各题。 1、编程题:输入参数a,b,c,求一元二次方程ax2+bx+c=0的根(①a、b、c都为0,②a 和b为0,c不为0,③a为0,b不为0,c任意,④a不为0,且a、b、c满足b2-4ac ≥0,⑤a不为0,且a、b、c满足b2-4ac<0)。 2、编程题:输入职工的月薪salary,计算并输出应缴纳的个人所得税tax。tax=rate * (salary –850),rate的计算方式如下: 当salary <= 850,则rate = 0; 当850 < salary <= 1350,则rate = 5%; 当1350 < salary <= 2850,则rate = 10%; 当2850 < salary <= 5850,则rate = 15%; 当salary > 5850,则rate = 20%;。 3、编程题:根据输入的3个边长a、b、c,判断它们是否能构成三角形,若能构成三 角形,则进一步判断此三角形是哪种类型的三角形(等边三角形、等腰三角形、直角三角形和一般三角形。等腰直角算作等腰)。 4、编程题:输入一个形式如“操作数运算符操作数”的表达式,对2个整数进行乘、 除或求余运算。【请分别用if语句和switch语句实现此题功能】 上交作业的方法: 1.将程序代码及注释和运行程序的窗口复制到实验结果下方对应的题号上,并把这 次实验上机操作中遇到的问题及解决方法、心得等填好完成实验报告。 2.保存以上所有按要求已调试通过,并形成.c(或.cpp)和.exe文件到以自己的“学 号姓名-03”命名的文件夹中,并将以自己的“学号姓名”命名的文件夹压缩后上 交到ftp://10.172.250.252:1161中的“作业上传”文件夹下的“报告上交02”文件 夹下的子文件夹“源文件压缩上交”中,同时把以“学号姓名-03”命名的word 文档上交到“报告上交03”文件夹下的另一子文件夹“word文件上交”中。 特别提醒:每次上传的文件名一定要是“学号姓名-实验序号. doc”(如1720115555张

微机原理课程设计报告

— 微机原理 课程设计报告 ——电子表程序设计 ^ 。

(一)设计任务: 用汇编语言设计一电子表程序,要求: ! (1)实现秒、分、时的计时,并显示于屏幕中央 (2)能够校时 (3)能够半点、整点报时 (二)设计原理 该程序主要由三部分构成:时间设置、延时程序和时钟显示。 (1)时间设置 … ①输入初始时间 先调用DOS操作系统模块2,在显示屏上显示‘:’,再调用DOS操作系统模块10,提示输入初始时间。由键盘输入的时间以字符串形式存放在已定义的存储器缓冲区内,继而调用TRAN1转换子程序和MUL10乘10子程序,将存放在存储器缓冲区内的ASCII字符转换为压缩BCD码,并将时、分、秒的值放置在寄存器CH、DH、DL中。 ②暂停计时 按Pause Break键即可暂停计时,再按下任意键恢复计时 ③重新输入时间 在程序运行时,可按下Esc键重新输入初始时间,此时程序检测到Esc(ASCII码为1BH)被按下,返回①步提示重新输入时间。 以上两步可实现校时的功能。

④半点、整点报时 《 程序运行时,分钟值每次改变都需要与30、60比较,若相等,则调用DOS操作系统模块7使计算机响铃并在时间后显示‘ ------’。同时若分、秒值为60则需进位,时为24时进位,保证时钟程序的正确性。 (2)延时程序 计算机在执行指令时,各种操作都按指令执行,但在像程序控制器那样由计算机发出指令控制外部设备是,由于外部设备所具有的机械惯性或其他原因,需要在计算机发出指令后有规律地延迟或等待一段时间。这类延时,可以用硬件延时来完成,单用软件来实现也是一种方便和常用的方法。 计算机执行每一条指令,虽然很快,但还是需要一段时间的。因此从理论上讲,可在程序中加一些与程序无关的指令去完成,要计算指令执行的时间,又不能过多的为了延时而增加编制程序的工作量。因此,编制延时程序,应尽量采用较少的指令,节约存储器,并且不能对主程序造成影响。 每条指令执行时间的长短,是以计算机的时钟周期为基本单位的。当CPU采用的时钟频率一定时,时钟周期也为定值。因此可根据时钟周期的多少来计算执行指令所需的时间。完成本设计任务使用的计算机采用Intel Pentium 4处理器,主频为,时钟周期约为。 通过时间约1s的长延时累加,并以时、分、秒的形式显示出来,就可以编写出一个时钟程序。 (3)时钟显示 … ①设置光标位置子程序IOSET

C语言程序设计实验报告(数组)

C语言程序设计实验报告(数组) 1实验目的 (1)熟练掌握一维数组,二维数组的定义,初始化和输入、输出方法; (2)熟练掌握字符数组和字符串函数的使用; (3)掌握与数组有关的常用算法(查找、排序等)。 2实验内容 编写函数catStr(char str1[],char str2[])用于进行两个字符串的连接,编写函数lenStr(char str[])用于统计一个字符串的长度,并在主函数中调用。 要求: 1、不允许用strcat()和strlen()字符处理库函数; 2、在主函数以直接初始化的方式输入两个字符串str1和str2.调用函数 strlen()计算并返回两个字符串的长度; 3、调用函数catstr()连接两个字符串(将str2连接在str1后面); 4、调用函数lenstr()计算并返回连接后字符串的长度; 5、在主函数中输入两个原始的字符串及几个字符串的长度,以及处理后字 符串及其长度。

3算法描述流程图

4源程序 #include #include void catStr(char str1[],char str2[]) { int i,j; for (i=0;str1[i]!='\0';i++); for(j=0;str2[j]!='\0';j++) str1[i+j]=str2[j]; str1[i+j]='\0'; } lenStr(char m[] ) {int i;

for (i=0;m[i]!='\0';i++); printf("%d",i); } void main() {char s1[50]="forever",s2[50]="more"; printf("s1=%s,s2=%s",s1,s2); printf("\ns1的长度:"); lenStr(s1); printf("\ns2的长度:"); lenStr(s2); catStr(s1,s2); printf("\n连接后的字符:"); printf("%s\n",s1); printf("连接后字符的长度:"); lenStr(s1); printf("\n"); } 5测试数据 s1=forever, s2=more 6运行结果 7出现问题及解决方法 在输入程序时,少写了半边引号,调试时发现存在错误,找到了错误并加以改正。无论什么事,细心都是必不可少的,认真是解决问题的关键。 8实验心得 通过本次实验,对于函数的定义和声明,数组以及循环语句有了进一步的认识,掌握了字符数组和字符串函数的使用,以及与数组有关的常用算法。此次实验不是调用strlen()和strcat()函数,而是通过自己设计程序来进行字符串的连接以及计量字符串的长度,由此我学会了如何去理清自己的思路来设计程序。

微机原理课程设计报告-数字时钟的实现(附代码)

合肥工业大学 计算机与信息学院 课程设计 课程:微机原理与接口技术设计专业班级:计算机科学与技术x班学号: 姓名:

一、设计题目及要求: 【课题6】数字时钟 1.通过8253 定时器作产生秒脉冲定时中断。在中断服务程序中实现秒、分、小时的进位(24小时制)。 2.在七段数码管上显示当前的时分秒(例如,12 点10 分40 秒显示为121040)。 3.按“C”可设置时钟的时间当前值(对准时间)。 二、设计思想: 总体思想: 1、功能概述: 实验箱连线: 本实验建立在Dais实验箱基础上完成的基本连线及程序如下: 138译码器: A,B,C,D,分别连接A2,A3,A4,GS; y0连接8253的CS片选信号; y1连接8259的CS片选信号; 8253连线: 分频信号T2接8253的CLK0; 8253的OUT0接8259的IR7; 8253的gate信号接+5V; 8259连线: 8259的数据线接入数据总线;

本程序包括显示模块,键盘扫描模块,时间计数模块,设置模块等几个模块, (1)程序运行后,LED显示000000初始值,并且开始计数 (2)按C键进行设置初始时间,考虑到第一个数只能是0,1,2,当第一个数显示2时第二个数只能显示0~4,同理下面各位应满足时钟数值的合理的取值; (3)在手动输入初始值时,按D键进行回退1位修改已设置值,连续按D键可以全部进行删除修改。 2、主程序设计 主程序中完成通过调用子程序完成对8253及8259的初始化,对8259进行中断设置。主要在显示子程序和键盘子处理程序之间不断循环,8253每一秒给8259一个刺激,当8259接受到刺激后会给CPU一个中断请求,CPU会转去执行中断子程序,而中断子程序设置成时间计数加,即完成电子表的整体设计。详细流程图见图三-1。 3、LED显示子程序设计 本程序显示部分用了6个共阳极LED作为显示管,显示程序要做到每送一次段码就送一次位码,每送一次位码后,将位码中的0右移1位作为下次的位码,从而可以实现从左到右使6个LED依次显示出相应的数字。虽然CPU每隔一定时间便执行显示程序,但只要这个时间段不太长,由于人眼的视觉作用,就可以在6个LED上同时见到数字显示。 4、键盘扫描子程序设计 本程序需要用键盘对时间的初始值进行设置,因此对键盘扫描的子程序需要满足的功能如下: 判断是否是C键,若不是就返回至主程序,若是C键就开始对时间初始值进行设置,同时因注意到第一个值不可以超过2,第一个数是2时第二数不能超过4,余下的同理要满足时间数值的取值范围呢,若不是合法输入不予反应继续等待输入。当遇到输入数值错误时可以按下D键进行删除一位重新设置;当6位初始值全部设置成功后,电子表将自动开始走表。 5、时间运算子程序设计 该子程序的主要功能是对时、分、秒的运算,并把运算出的最终结果存到事先已经开辟

网络编程实验报告

实验一TCP Socket API程序设计 一、预备知识 1.网络编程基本概念 网络上的计算机间的通讯,实质上是网络中不同主机上的程序之间的通讯。在互联网中使用IP地址来标识不同的主机,在网络协议中使用端口号来标识主机上不同进程,即使用(IP地址,端口号)二元组。 套接字(Socket)用于描述IP地址和端口,是一个通信链的句柄,通信时一个网络程序将要传输的一段信息写入它所在主机的Socket中,该Socket通过与网络接口卡相连的传输介质将这段信息发送到另一台主机的Socket中,以供其他程序使用。 图1-1 TCP通信流程 2.TCP通信流程 TCP程序是面向连接的,程序运行后,服务器一直处于监听状态,客户端与

服务器通信之前必须首先发起连接请求,由服务器接收请求并在双方之间建立连接后才可以互相通信。 二、实验目的 1.了解Winsock API编程原理; 2.掌握TCP Socket程序的编写; 3.了解C/S模式的特点; 4.学会解决实验中遇到的问题。 三、实验任务 使用Winsock API相关类实现TCP Socket通信程序,并能成功运行。 四、实验环境及工具 1. Windows2000/XP/7 2. Visual C++开发平台 3. Visual Studio2010 五、实验内容和步骤 参照《Visual C++网络编程教程》书中81页,TCP Socket API程序设计。 连接: void CChatClientDlg::OnConnect() { WSADATA wsd; //WSADATA结构 WSAStartup(MAKEWORD(2,2),&wsd); //加载协议,使用Winsock 2.2版 m_client = socket(AF_INET,SOCK_STREAM,0); //创建流式套接字 //服务器地址 sockaddr_in serveraddr; UpdateData(); if(ServerIP.IsBlank()) { AfxMessageBox("请指定服务器IP!"); return; } if(sPort.IsEmpty()) { AfxMessageBox("请指定端口!"); return; }

微机课程设计电梯控制器

《微机实验及课程设计》 课程设计报告 FBI Warning: 汇编代码是好几届之前的一个学姐的,我只是修改了一下.修改后完美运行报告是我自己写的 不需要注明出处,就说是你写的

目录 一.课程设计目的与要求 (2) 二.方案论证与原理设计 (3) 三.详细(机理)设计 (3) 四.方案实现与测试(或调试) (6) 五.分析与总结 (7) 一. 课程设计目的与要求 设计目的:

微机课程综合设计用于检验和提高学生在原理与接口综合应用方面分析问题与解决问题的能力,同时也给学生提供更多、更好的训练机会,课程给出了10 道微机硬件应用综合测试题。为完成每道测试题,至少需要选用TPC 微机实验装置中三部分以上的硬件电路(还需将它们有机组合起来)并编制相应的应用。 通过试验还能够让学生更好的了解所学知识在实际控制中的运用,增加对本专业的认识和学习兴趣。 设计要求: 1)设计基本要求 用键盘、按钮、八段码和LED 模拟电梯工作过程。楼层设为8 层,键盘数字键1~8 用来键入希望停的楼层,8 个LED 显示希望停的楼层,2 位八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2 秒1层的速度上升或下降。要求“电梯”能按以下方式运行: (1)设当前电梯停在某层(2 位八段码显示相应楼层,8 个LED 全灭)。键入1~8 数字键,如键入的数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED 亮;如再按运行键,则电梯自动判别上升或下降(在运行过程中八段码显示楼层变化)一直到达希望停的楼层(八段码显示该楼层,相应LED 灭); (2)设当前电梯正在上升或下降运行(此时八段码显示楼层变化,LED 指示希望抵达的楼层),若键入新的希望停的楼层数字(相应的LED 亮),则对同方向(上升或下降)未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例: ①设电梯当前在2 层,向上运行,LED 指示希望在6 层停,此时若键入4,则电梯将在4 楼停,若再按运行键,则继续运行至6 层停; ②同上情况,若键入的不是4 而是8,则电梯将先停在6 层,再按运行键,运行至8 层停; ③同上情况,若键入的不是4(或8),而是1,则电梯先停在6 层,再按运行键,运行至1层停。 2)进一步设计要求 除运行按钮外,再设计几个按钮,模拟更多的电梯运行功能,如: ①同步在8*8 点阵显示器显示上升与下降箭头,当停止时显示当前所在楼层号. ②直达按钮。若按此按钮,电梯按直达方式运行,即对运行期间新键入的停靠楼层(即使是同方向未到 楼层)亦不停,直达终点楼层; ③急停按钮。电梯运行中,若按此按钮,则电梯立即停在下一到达的楼层; ○4断电待修按钮。按下该钮电梯不能工作,再按一下才能重新工作; ○5设置急停开关(K0-K7 至一),引入中断处理,立即响应,就近停靠; 分工情况:

微机原理与接口技术汇编子程序涉及

试验五汇编子程序设计 一、试验目的 (1)掌握汇编子程序设计的一般方法; (2)掌握汇编子程序的调试方法; (3)掌握递归子程序设计与调试方法。 二、输入输出子程序 1、十进制数输入子程序decibin 子程序名:decibin 子程序功能:用户输入十进制数放在BX中 入口参数:无 出口参数:BX存放输入的十进制数 受影响的寄存器:AX、BX、CX、DX和标志寄存器 注意:①用户输入字符‘0’~‘9’,当输入非法字符时结束输入,如回车; ②十进制数位数可以是1位、2位等,范围0~65535。 decibin proc near mov bx , 0 newchar: mov ah , 1 int 21h mov dl , al sub al , 30h jl exit1 cmp al , 9 jg exit1 cbw xchg ax , bx mov cx , 10 mul cx xchg ax , bx add bx , ax jmp newchar exit1: ret decibin endp 2、十六进制数输入子程序hexibin 子程序名:hexibin

子程序功能:用户输入十六进制数放在BX中 入口参数:无 出口参数:bx存放输入的十六进制数 受影响的寄存器:ax、bx、cx和标志寄存器 注意:①用户输入0ah~0fh的数字时,输入大写字母‘A’~‘F’,小写字母‘a’~‘f’无效; ②子程序不能控制数的位数可能0位、1位、2位……等位数,如果输入位数大于4位,则以最新的4位十六进制数为准; ③输入字符可以按回车结束,当输入任何非法字符时也能结束数据输入。 hexibin proc near mov bx , 0 newchar: mov ah , 1 int 21h sub al , 30h jl exit cmp al , 10 jl add_to sub al , 7 cmp al , 0ah jl exit cmp al , 10h jge exit add_to: mov cl , 4 shl bx , cl mov ah , 0 add bx , ax jmp newchar exit: ret hexibin endp 3、十进制数显示子程序binidec 子程序名:binidec 子程序功能:将bx寄存器存放的数以十进制的形式显示出来 入口参数:bx存放要显示的数 出口参数:无 受影响的寄存器:ax、bx、cx、dx和标志寄存器

C语言程序设计基础实验报告6【VIP专享】

实验6 数组 一、实验目的 1、掌握一维数组和二维数组的定义、赋值和输入输出的方法; 2、掌握字符数组和字符串函数的使用; 3、掌握与数组有关的算法(特别是排序算法)。 二、实验内容和步骤 编程序并上机调试运行。 1、以下给定程序MODI1.C的功能是: 求一维数组a中所有元素的平均值, 结果保留两位小数。例如,当一维数组a中的元素为:10, 4, 2, 7, 3, 12, 5, 34, 5, 9时,程序的输出应为:The aver is: 9.10 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[10]={10,4,2,7,3,12,5,34,5,9}, i; /************found************/ /************found************/ s = a[0]; for ( i=1; i<10; i++) s += a[i]; aver = s / i; printf("The aver is: %.2f\n", aver); } 2、以下给定程序MODI1.C的功能是:求二维数组a中的最小值。 例如,当二维数组a中的元素为: 4 2 34 7 3 12 5 6 5 程序的输出应为:The min is: 2 。 程序中有两处错误,错误都在提示行:/***********found***********/的下面一行。请改正程序中的错误, 使它能得出正确的结果。 注意:程序中的其它地方请不要随意改动,不得增行或删行,也不得更改程序的结构! #include #include void main() { int a[3][3]={4,2,34,7,3,12,5,6,5}, i, j, min; clrscr();

C+程序设计实验报告-2013

C++程序设计 实验报告 专业计算机科学与技术班级 ____________ 学号 ____________ 姓名 ____________ 指导教师 __许加兵_ 信息与电子工程学院2013年9月-12月

C++程序设计实验报告 专业__________班级__________学号__________姓名__________ 成绩____________ 指导教师____________ 日期____________ 实验1 C++集成开发环境与C++函数程序设计 一、实验目的 1、了解和使用Visual Studio 2010的C++集成开发环境; 2、熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、学会完整的C++程序开发过程; 4、学习并掌握C++函数程序设计; 二、实验内容 1、安装、了解和使用Visual Studio 2010的C++集成开发环境; 2、通过以下的C++函数程序设计,熟悉Visual Studio 2010环境的基本命令、功能键和常用的菜单命令; 3、通过以下的C++函数程序设计,学会完整的C++程序开发过程; 4、完成以下的C++函数程序设计和调试: 1)编写一个函数print(),将一个整型向量输出到cout。此函数接受两个参数:一个字符串(用于“标记”输出)和一个向量。 2) 编写一个函数,接受一个vector 参数,返回一个vector ,其每个元素值是对应字符串的长度。此函数还找出最长和最短的字符串,以及字典序第一个和最后一个字符串。 三、简要说明C++开发环境安装和配置的过程

相关主题