算法语言与程序设计实验指导书

算法语言与程序设计实验指导书
算法语言与程序设计实验指导书

《算法语言与程序设计》实验指导书

数学与信息科学学院

2011

实验一C语言程序初步

一、实验目的

1. 熟悉Visual C++ 6.0操作环境。

2. 熟练掌握C程序结构和语法规则。

3. 认识输入、输出语句的使用方法。

二、实验内容

1.环境认识。

2.基本变量定义与使用。

3.输入与输出函数的使用。

三、实验过程

Visual C++ 6.0是微软公司推出的Visual Studio(Visual Studio 6.0)编辑器中的一个。C 语言程序可以在Visual C++ 6.0环境下进行编译、连接和运行。

1.熟悉Visual C++ 6.0操作环境

(1)Visual C++ 6.0的启动

从―开始‖菜单中选择―程序‖,然后选择―Microsoft Visual Studio‖中的―Visual C++ 6.0‖,即可进入Visual C++ 6.0,主窗口如图1-1所示。

图1-1主窗口

(2)新建和编辑源程序

在主窗口的菜单栏中单击File菜单,选择New,将弹出―New‖对话框,如图1-2。

图1-2―New‖对话框

选择Files选项卡。单击C++ Source File选项,在Files文本框中输入新建的C源程序文件名(例如输入1.c,注意必须加上后缀名.c),在Location文本框中输入新建的C源程序文件的存取路径(例如输入D:\),单击OK按钮。系统自动返回Visual C++6.0主窗口,如图1-3。

图1-3

光标在程序编辑窗口闪烁。在程序编辑窗口,可以输入和编辑源程序。经检查程序无误后,在Files菜单中选择Save,保存文件。

(3)编译和连接

选择主窗口菜单栏中Build菜单项;系统弹出下拉菜单,选择Build命令可以一次完成编译和连接。编译连接过程中,系统如发现程序有语法错误,则在输出区窗口中显示错误信息,给出错误的性质、出现位置和错误的原因等。如果双击某条错误,编辑区窗口右侧出现一个箭头,指示出现错误的程序行。用户据此对源程序进行相应的修改,并重新编译和连接,直到通过为止,如图1-4。

图1-4

(4)运行

选择Build菜单中的!Execute 1.exe命令,就可以执行程序,输出结果窗口如图1-5。

图1-5

在输出结果窗口中,按下任一键后,将返回主窗口。

2.简单的C程序

(1)按前述步骤进入Visual C++ 6.0环境,选择File菜单中的New菜单,选择Files选项卡。单击C++ Source File选项,在Files文本框中输入新建的C源程序文件名,在Location文本框中输入新建的C源程序文件的存取路径,单击OK按钮,进入主窗口,并输入如下程序代码:

#include ‖stdio.h‖

void main()

{ printf(―This is a C Program.\n‖);

printf(―I am a student.\n‖);

}

(2)按照前面介绍的方法进行编译和连接,观察屏幕上显示的编译信息。如出现―出错信息‖,

则应找出原因并更正之,在编译运行。

(3)运行程序,观察分析运行结果。

3.输入并运行一个自己编写的程序。

(1)按前述步骤进入Visual C++ 6.0环境,输入如下程序代码:代码如下:

#include ―stdio.h‖

void main()

{ int a;

char b;

float c;

scanf(―%d%c%f‖,&a,&b,&c);

printf(―a=%d,b=%c,c=%f\n‖,a,b,c);}

(2)调试\编译\运行,进入如图1-6所示运行环境.

图1-6 TC运行环境

(3)在光标处从键盘输入4a4.5,分析运行结果.

实验二 选择结构程序设计

一、实验目的

1. 掌握if 语句的3种形式和if 语句的嵌套,switch 语句的形式与应用。

2. 熟练的使用if 语句和switch 语句进行选择结构的程序设计。 二、实验内容 1.if 语句 2.switch 语句 三、实验过程

1.有一函数:??

?

??≥-<≤-<=)10(113)101(12)1(x x x x x x y

用scanf 函数输入x 的值,求 y 值。 基本操作步骤如下: (1)分析题目,构划解题方法

(2)启动Visual C++ 6.0,编辑源程序代码,源程序代码如下: #include"stdio.h" void main() {float x,y; scanf("%f",&x); if (x<1) y=x;

else if (x>=1&&x<10) y=2*x-1; else y=3*x-11;

printf("x=%f,y=%f\n",x,y); } (3)调试、编译、运行

(4)在光标处若输入6,记录并分析运行结果。

(5)分别从键盘输入数字0.5和12,记录并分析运行结果。

(6)自己从键盘输入不同的数字,看运行结果有何不同.

2.任意输入一个字符。如果是大写字母,将其转换为小写字母;如果是小写字母,将其转换为大写字母。

3.给出一百分制成绩,要求输出等级成绩A,B,C,D,E.90分(含90)以上为A,80–89分为B,70–79分为C, 60–69分为D,60分以下为E.

(1)按第一题步骤进行操作.

源程序代码为:

#include"stdio.h"

void main()

{ float a;

int b;

scanf("%f",&a);

b=a/10;

switch(b)

{ case 9:

case 10:printf("%f:A\n",a);break;

case 8:printf("%f:B\n",a);break;

case 7:printf("%f:C\n",a);break;

case 6:printf("%f:D\n",a);break;

default:printf("%f:E\n",a); }}

若输入78,记录并分析运行结果。

(2)分别输入不同分数段的成绩,看结果有何不同.

实验三循环控制结构

一、实验目的

1.掌握循环语句的使用规则

2.掌握各种循环的嵌套

二、实验内容

1.While语句

2.do-while语句

3.For语句

三、实验过程

1.输入两个正整数m和n,求它们的最大公约数。

基本操作步骤如下:

(1)分析题目,构划解题方法

(2)启动Visual C++ 6.0,编辑源程序代码

源程序代码如下:

#include"stdio.h"

void mian()

{ int r,m,m1,n,n1,temp;

printf("Please input two numbers: m,n:");

scanf("%d,%d",&m,&n);

m1=m;n1=n;

if(m

{ temp=m;

m=n;

n=temp; }

while(n!=0)

{ r=m%n;

m=n;

n=r;

}

printf("%d,%d de zui da gong yue shu wei :%d",m1,n1,m);

}

(3)调试、编译、运行

(4)从键盘输入8,54,记录并分析运行结果。

(5)分别从键盘输入不同的数, 记录并分析运行结果.

(自己用do—while改写此题,看结果有无变化)

2. 编程打印所有的水仙花数。所谓水仙花数是指一个3位数,其各位数字的立方和等于该数。如:153是一个水仙花数,因为153=13+53+33。

(1)启动Visual C++ 6.0,编辑源程序代码:

#include"stdio.h"

void main()

{int i,j,k,n,sum;

for(n=100;n<=999;n++)

{i=n/100;

j=(n%100)/10;

k=n%10;

sum=i*i*i+j*j*j+k*k*k;

if (sum==n)

printf("%6d ",n);

}}

(2) 记录并分析运行结果。

3.求出100–200间的全部素数。

(1)按题1步骤进行操作,源程序代码为:

#include‖stdio.h‖

void main()

{

int m,k,i,n=0;

for(m=101;m<=200;m=m+2)

{

k=sqrt(m);

for(i=2;i<=k;i++)

if (m%i==0) break;

if(i>=k)

{:printf(―%8d‖,m);

n=n+1;

}

if(n%10==0) printf(―\n‖);

}

}

(2) 记录并分析运行结果。

4.打印出以下图案。

*

* * *

* * * * *

* * * * * * *

(1)按题1步骤进行操作,源程序代码为: #include"stdio.h"

void main()

{ int i,j;

for (i=1;i<=4;i++)

{ for (j=1;j<=2*i-1;j++)

{

printf("*");

printf(" ");

}

printf("\n");

}}

(2) 记录并分析运行结果。

实验四数组

一、实验目的

1.学会数组定义及其引用形式

2.掌握与数组有关的算法

二、实验内容

1.一维数组

2.二维数组

3.字符串

三、实验过程

1. 读程序写结果。上机前分析出下列程序的运行结果,并通过实验验证。(1)#include

void main()

{ int a[]={1,2,3,4},i,j,s=0;

j=1;

for (i=3;i>=0;i--)

{s=s+a[i]*j;

j=j*10; }

printf("s=%d\n",s);}

(2)#include

main()

{char s[]="a good world";

int i,j;

for (i=j=0;s[i]!='\0';i++)

if (s[i]!='d') s[j++]=s[i];

s[j]='\0';

printf("%s\n",s);}

2.输入一行字符,求出其中英文字母、数字和其它字符的个数。

基本操作步骤如下:

(1)分析题目,构划解题方法

(2)启动Visual C++ 6.0,编辑源程序代码

源程序代码如下:

#include ―stdio.h‖

void main()

{ char str[80],c;

int n1,n2,n3,i;

gets(str);

for(i=0;(c=str[i])!=’\0’;i++)

if((c>=’A’&&c<=’Z’)||(c>=’a’&&c<=’z’))

n1=n1+1;

else if(c>=’0’&&c<=’9’)

n2=n2+1;

else n3=n3+1;

printf(―Have %d alphats,%d numbers,%d others.\n‖,n1,n2,n3);}

(3)调试、编译、运行

(4)从键盘输入asdfg123 n6,记录分析运行结果。

(5)自己从键盘输入不同字符查看程序运行结果.

3.有个3×4矩阵,要求编程求出其中最大元素的值及其所在的行号和列号。

(1)按题1步骤进行操作

源程序代码如下:

#include‖stdio.h‖

void main()

{ int i,j,row=0,colum=0,max;

int a[3][4]={{1,4,2,3},{7,1,5,9},{10,21,5,8}};

max=a[0][0];

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(a[i][j]>max)

{max=a[i][j];

row=i;

colum=j; }

printf(―max=%d,r ow=%d,colum=%d\n‖,max,row,colum);} (2)记录并分析运行结果。

(3)自己改编程序,使得矩阵由用户从键盘输入,看结果如何。

实验五函数

一、实验目的

了解函数的作用,掌握其使用方法及使用过程中所涉及到的变量问题二、实验内容

1.函数定义与引用

2.变量的作用域与生存期

三、实验过程

1.编写一函数实现判闰年的功能并在主函数中调用

基本操作步骤如下:

(1)分析题目,构划解题方法

(2)编辑源程序代码

源程序代码如下:

#include ―stdio.h‖

void main()

{

int year,n;

int leap(int year);

scanf(―%d‖,&year);

n=leap(year);

if(n)

printf(―%d nian shi run nian!\n‖,year);

else printf(―%d nian bu shi run nian!\n‖,year);

}

int leap(int year)

{

if ((year%4==0&&year%100!=0)||(year%400==0))

return(1);

else

return(0);

}

(3)调试、编译、运行

(4)从键盘输入2004,记录分析运行结果。

(5)分别输入不同的年份看结果的变化。

2.分析下列程序的执行结果,注意变量的作用范围.

(1)#include ‖stdio.h‖

int a=3,b=5;

void main()

{ void fun(void);

printf(―a=%d,b=%d\n‖,a,b);

fun();

printf(―a=%d,b=%d\n‖,a,b);}

void fun(void)

{ int c,a=4;

c=a;a=b;b=c;

printf(―a=%d,b=%d\n‖,a,b);}

记录分析运行结果。

(2) #include

void main()

{void func(int s[]);

int a[]={3,8,4,2},i;

for(i=0;i<4;i++)

func(a);

}

void func(int s[])

{static int t=0;

int y;

y=s[t];

printf("%d",y);

printf("\n");

t++;}

(3) #include "stdio.h" int fun()

{

static int i=2;

int s=1;

s+=i;i++;

return s;

}

void main()

{

int i,a=10;

for(i=2;i<5;i++)

a+=fun();

printf("a=%d\n",a);

}

记录分析运行结果。

实验六指针

一、实验目的

掌握指针这一重要数据类型在C中的用法

二、实验内容

1.指针的定义及各标识符的作用

2.指针变量的引用

3.指针与字符串

4.指针与函数

三、实验过程

1.输入a、b两个整数,使用指针变量按大小顺序输出这两个整数。

方法一:

#include"stdio.h"

void main()

{int a,b,*p1,*p2,*p;

p1=&a;p2=&b;

scanf("%d,%d",p1,p2);

if(*p1<*p2)

{ p=p1;p1=p2;p2=p;}

printf("a=%d,b=%d\n",a,b);

printf("max=%d,min=%d\n",*p1,*p2);}

方法二:

#include"stdio.h"

void main()

{int a,b,t,*p1,*p2;

p1=&a;p2=&b;

scanf("%d,%d",p1,p2);

if(*p1<*p2)

{ t=*p1;*p1=*p2;*p2=t;}

printf("a=%d,b=%d\n",a,b);

printf("max=%d,min=%d\n",*p1,*p2);}

【程序运行结果】

6,8↙

a=8,b=6

max=8,min=6

2.有一字符串,包含n个字符。写一个函数,将此字符串中从第m字符开始的全部字符复制成另一个字符串。

基本操作步骤如下:

(1)分析题目,构划解题方法

(2)启动TC,进入TC环境,编辑源程序代码

源程序代码如下:

#include "stdio.h"

#include "string.h"

void main()

{ void copystr(char *p1,char *p2,int n);

int m;

char str1[20],str2[20];

printf("input string:");

gets(str1);

printf("\n which character that begin to copy?");

scanf("%d",&m);

if(strlen(str1)

printf("input error!\n");

else

{ copystr(str1,str2,m);

printf("result:%s\n",str2); }

}

void copystr(char *p1,char *p2,int m)

{ int n=0;

while(n

{ n++;

p1++;}

while(*p1!='\0')

{ *p2=*p1;

p1++;

p2++; }

*p2='\0';}

(3)调试、编译、运行

(4)从键盘输入数据asdfghjkl,6,记录分析运行结果。

(5)重新输入数据查看结果的变化情况.

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.输入并运行以下程序:

汇编实验指导书

汇编语言实验指导书 授课教师李娜 授课对象 05计科、网络、06计科 授课时间 07-08学年第一学期 授课地点一、二、四机房 课程简介 一.实验课程的性质和目的 汇编语言程序设计是计算机专业的一门专业基础课,是学好计算机底层系统构成的课程。汇编语言程序设计是一门实用性很强的课程。汇编语言程序程序设计实验教案是教案的重要环节,是理论教案的重要补充,只有通过实验,学生才能熟练掌握汇编语言程序设计的基本方法,并对其有更深刻的认识。本门实验课是单独设课。 二.实验教案的方法和手段 为了提高实验教案效果,实验严把预习、实验、实验报告3个环节。实验在软件实验室机房完成,单独设组,个人完成实验,每项实验以小班为单位,实验考勤采用电子签到制度。 预习:安排学生学习实验内容,了解实验的过程和操作规程,并布置思考题和预习报告,让学生有目的地去查阅与实验相关的资料。 实验:实验开始前由指导教师讲解实验要点,提出注意事项。实验过程中,主题是学生,教师是辅助作用,要求学生独立完成实验。 实验报告:实验结束后,强调学生及时填写实验记录表,对实验过程进行详细记录,对实验结果细致地分析、讨论,完成相关思考题作业。 三.课程学时 本实验课实验总学时为32学时。 四.实验成绩的考核方法 汇编语言实验成绩按百分制核定。实验过程占50%,实验报告占50%。五.大纲的适用范围 本大纲适用计算机科学与技术专业和计算机应用与维护专业学生。 六.主要设备与器材配备

七.实验项目汇总表 实验一熟悉汇编语言编程环境 一.实验目的 <1)熟悉汇编语言编程环境; <2)掌握基本汇编程序。。 二.实验仪器设备 计算机 三.实验重点、难点 熟悉汇编语言编程环境; DEBUG常用命令的正确使用。-T/-U/-Q/-G 四.实验题目 比较两个字符串string1和string2所含的字符是否相同,若相同则显示‘metch’,否则,显示’no match’。 五.实验内容、步骤 1.调用EDIT建立ASM源文件。 2.用汇编程序MASM对源文件汇编产生目标文件OBJ。 <如有问题,可用DEBUG调试。) 3.用LINK联接程序产生执行文件EXE。 4.执行程序。 附:源程序 ;PROGRAM TITLE GOES HERE—COMPARE STRING ;******************************************************** data segment string1 db 'move the cursor backward.' String2 db 'move the cursor backward.'

实验四-循环结构汇编语言程序的设计实验报告

循环结构汇编语言程序设计实验报告

实验四循环结构汇编语言程序设计 一、实验目的 1、学习循环结构的汇编语言程序的设计和调试。 2、学习通过直接对8086计算机的寄存器和存的直接访问,编写更高效简洁的汇编程序。 3、加深掌握计算机整体的工作过程。 3、加深对排序算法的理解。 二、实验任务 编写程序求出数组A中(20个元素)的最大值和最小值(数组没有排序)。 要求至少采用二种不同的排序算法来实现。( 快速排序,归并排序、堆排序、Shell排序、插入排序、冒泡排序、交换排序、选择排序、基数排序……) 三、实验容 为了更好地实现老师所布置的实验任务,我们根据情况选取以下两种方式实

验。 1、利用冒泡排序的方式求解数组A中元素的最大值最小值。设计流程图如 下所示: 2、利用选择排序的方式求得数组A中元素的序列。设计流程图如下所示:

四、实验环境 PC机: winXP/win7(32位)/win7(64位)+winxp 虚拟机 汇编工具:Masm.exe+Link.exe。 五、实验步骤 1)建立和生成的文件 (1)编写的源程序,源程序名为abc、扩展名为.asm (2)源程序经汇编程序Masm.exe汇编(翻译)后生成二进制目标程序,文件名为abc.obj (3)目标程序需要经Link.exe连接生成可执行程序,文件名为abc.exe 2)汇编环境 最基本的汇编环境只需要两个文件:Masm.exe和Link.exe。将这两个文件拷入到已经建好的文件夹(例如 huibian)中,并将文件夹huibian放在硬盘根

目录C :\>下 3)上机步骤 进入DOS窗口中执行。 4)调试程序 进入DEBUG后,调试程序 5)调试成功后重新汇编、连接并生成可执行代码 6)执行程序,并对运行结果截图。 利用冒泡排序求得数组A中元素的最大值最小值的实验结果如下图所示:(说明:输入数据为:13,0,59,900,587,1,657,234,34,48) 利用选择排序对数组A中元素排序得到的序列得实验结果如下图所示:(说明:输入数据为13,0,59,900,587,1,657,234,34,48)

C语言程序设计实验实验指导书及答案

实验一熟悉C程序运行环境 班级学号姓名成绩 一、实验目的 1. 熟悉C语言Visual C++调试环境。 2. 掌握C程序的编辑、调试及运行。 二、实验内容 项目1. 调试并运行下面程序,并写出运行结果: #include <> int main() { printf(“Good morning!\n”); printf(“Hello,world!\n”); return 0; } 运行结果(注意,按照屏幕输出格式写): 项目2. 调试并运行下面程序,并写出运行结果: #include <> int main() { int a , b , sum; /*定义变量*/ a=23; b=56; /*为变量赋值*/ sum=a+b; /*计算两个变量的和*/ printf(“sum is %d\n”,sum); /*输出计算结果*/ return 0; } 运行结果:

项目3. 调试并运行下面程序,并写出运行结果: #include <> int max(int,int); int main() { int a , b , c; /*定义变量*/ a=23; b=56; /*为变量赋值*/ c=max(a,b); /*调用max函数,将得到的值赋给c*/ printf(“max is %d\n”,c); /*输出c的值*/ return 0; } int max(int x,int y) /*定义max函数,函数值为整型*/ { int z; /*定义变量*/ if(x>y) z=x; else z=y; return(z); /*将z的值返回*/ } 运行结果: 三、提高部分 1.试想,如果求10个数中的最大者,则程序该如何编写。 程序代码 运行结果:

汇编语言程序设计实验指导书

汇编语言实验报告题目:子程序设计 班级:rbw111 姓名:吴德鹏 学号:201107092416 完成日期:2013.12.22

概述: 《汇编语言程序设计》实验指导书是非计算机、非电类的其他专业:包括纺织、机械、热能等专业的《汇编语言程序设计》课程配套使用的实验指导。在理论课的教学中着重介绍微机系统的组成及工作原理,针对INTEL 8088/8086系列介绍相应的指令系统和汇编语言程序设计,介绍了接口的一般概念和CPU与外设交换信息的常用方式的软硬件设计思想。实验课测重培养学生的汇编语言设计能力及一些简单接口程序设计的方法,训练学生汇编语言程序调试的能力。通过实验,使学生加深对课堂教学内容的理解,培养学生综合使用微型机的初步能力。其中实验一、实验二是后续实验的基础,通过该实验,学生应能了解汇编语言源程序的一般格式,熟悉汇编语言程序的上机过程和调试程序的基本方法,重点放在DEBUG调试程序的命令使用方法上。也可以将实验一、实验二合并为一个实验,按照*实验一的要求进行;实验三、四、五进一步培养学生的各种结构的程序设计能力;实验六主要是简单接口的综合应用,为学生建立一个微机应用系统的概念,使学生通过具体的实例对相关的接口有感性认识,提高学生的实际动手能力和独立解决问题的能力。教师可以根据专业学时的多少和学生的具体情况来开设实验。 一、实验目的: 1.进一步熟悉分支、循环程序设计的方法及用DEBUG调式程序的方法。 2.熟练掌握子程序的参数传递的方式、子程序的嵌套、递归调用及其设计方法和技巧。 3、培养学生创新精神和独立运用所学基本知识和技能分析问题和解决问题的能力。 二、实验属性: 显示学生名次表:编制一程序,要求接收从键盘输入的一个班的学生成绩,并存放于50字的grade数组中,其中grade+i保存学号为i+1的学生的成绩。然后根据grade中的学生成绩,把学生名次填入50字的rank数组中,其中rank+i的内容是学号为i+1学生的名次。再按学号顺序把名次从终端上显示出来。 说明:程序设计中应体现出模块化程序设计思想和方法。 三、实验仪器设备: 提供实验条件。 Pc机并在debug的环境下进行调试

《程序设计与算法语言》教案

《程序设计与算法语言》教案 课程名称:程序设计与算法语言课程号:1080067 编写日期:20XX年7月 第1章C语言概述(3课时) [教学目的及要求] 了解C语言出现的历史背景、C语言的特点;通过简单C程序的例子,了解C 程序的基本构成,要求通过学习简单例子,学生能编写简单程序;熟悉C程序编译环境。[教学内容] .1C语言的历史背景及其发展 .2C语言的特点 .3简单的C程序介绍 .4C编译环境 1.4.1 C程序编译环境 1.4.2 运行C程序的步骤与方法 第2章程序的灵魂——算法(3课时) [教学目的及要求] 了解算法的概念及特性,并正确使用结构化程序设计方法来表示算法的。 [教学内容] 2.1算法的概念 2.2 简单算法举例

2.3 算法的特性 2.4 怎样表示一个算法 2.4.1 用自然语言表示算法 2.4.2用流程图表示算法 2.4.3三种基本结构和改进的流程图 2.4.4用N-S 流程图表示算法 2.4.5用伪代码表示算法 2.4.6用机器语言表示算法 2.5 结构化程序设计方法 第3章 数据类型、运算符与表达式(3课时) [教学目的及要求] 通过本章的学习,要求了解C语言的特点、掌握上机步骤、C语言符号;理解数据类型、变量说明、常用的数学函数、运算符及表达式。 [教学内容] 3.1 数据类型 3.1.1 C的数据类型 3.1.2 常量和符号常量 3.1.3 原码、反码及补码 3.1.4 变量 33..11..55 整整型型数数据据 33..11..55..11 整整型型常常量量

33..11..55..22 整整形形变变量量 33..11..55..33 整整形形数数据据的的溢溢出出 3.1.6 实型数数据据 33..11..66..11 实实型型常常量量 33..11..66..22 实实型型变变量量 33..11..66..33 实实型型数数据据的的舍舍入入误误差差 3.1.7 字符型数据 33..11..77..11 字字符符常常量量 33..11..77..22 字字符符变变量量 33..11..77..33 字字符符串串常常量量 3.2 变量赋初值 3.3 各类数值型数据间的混合运算 3.4 运算符及表达式 3.4.1 C运算符简介 3.4.2 算术运算符和算术表达式 3.4.3 赋值运算符和赋值表达式 3.4.4 逗号运算符和逗号表达式 第4章 顺序程序设计(3课时) [教学目的与要求] 通过本章的学习,要求掌握程序的三种基本结构。熟练掌握赋值语句、复合语句、最基本的输入输出函数及顺序结构的程序设计方法。

汇编语言学习知识程序设计实验

目录 目录 (1) 实验一利用DEBUG熟悉常用指令的使用 (2) 一、实验目的 (2) 二、示例 (2) 三、实验题 (2) 实验二汇编程序和连接程序的使用 (6) 一、实验目的。 (6) 二、示例。 (6) 三、实验题。 (8) 实验三顺序结构程序设计 (11) 一、实验目的 (11) 二、示例 (11) 三、实验题 (12) 四、实验报告 (15) 实验四循环结构程序设计 (16) 一、实验目的 (16) 二、示例 (16) 三、实验题 (18) 实验五分支结构程序设计 (21) 一、实验目的 (21) 二、示例 (21) 三、实验题 (22) 实验六子程序设计 (29) 一、实验目的 (29) 二、实验题 (29)

实验一利用DEBUG熟悉常用指令的使用 一、实验目的 熟悉指令系统,掌握常用指令的用法;通过实验加深对各种寻址方式的理解;能熟练使用DEBUG中的命令对指令进行反汇编,观察并了解机器代码。 二、示例 请分别用一条汇编语言指令完成如下功能:(过程略)。 1.用寄存器BX和SI的基址变址寻址方式把存储器的一个字节与AL寄存器的内容相加,并把结果送到AL中。 ADD AL,[BX][SI] 2.用位移量为0520H的直接寻址方式把存储器中的一个字与3412H相加,并把结果送回该存储单元。 ADD WORF PTR [0520H],3412H 三、实验题 1.调试、验证下列指令的结果,已知(DS)=2000H,(BX)=0100H,(SI)=0002H,(BP)=0200H,(SS)=2300H,(20100)=12H,(20101)=34H,(20102)=56H,(20103)=78H,(21200)=2AH,(21201)=4CH,(21202)=B7H,(21203)=65H,(23204)=88H,说明各指令执行完后AX寄存器的内容。要求输入指令,相应存储单元的内容要事先设置,单步 P执行,观察执行结果。 (设置存储器的值)

高级语言程序设计实验C

陕西理工大学 学号: 姓名:

目录 实验一:C开发环境与顺序结构程序设计 (1) 1.实验目的: (1) 2.实验环境: (1) 3.实验步骤: (1) 41 58 9 1.9 2.9 3.9 4.17 18 1.18 2.18 3.18 4.19 19 1.20 2.实验内容: (20) 3.实验总结 (23)

实验一:C开发环境与顺序结构程序设计 1 Array 2 3 4.实验内容: 4.1 输入并运行下列程序,查看程序运行的结果。 #include

void main() { printf(“* * * * * * * * * *\n”); printf(“Programing in c A Labrtry Maual\n”); printf(“* * * *\n”); printf(“*\n”); } 4.2查看程序运行的结果 #include void main() { int i,j,m,n; i=8; j=10; m=++i; n=j--; printf(“%d,%d,%d,%d\n”,i,j,m,n); } 4.3找出下列程序中的错误,改正后写出程序运行结果. #include void main() { Int x,y=z=5,aver; x=7; AVER=(x+y+z)/3 printf(“AVER=%d\n”,aver); }

4.4输入参考程序。在下划线处分别填入不同的变量定义、表达式、输出格式控制符号。 #include void main() { int a,b,x; //数据类型定义 a=5; b=10; x=a+10; //表达式 printf(“%d”,x); //格式控制符 } 该程序的执行结果为:15 当数据类型说明符为int 时,对应的格式控制符为%d ; 当数据类型说明符为long 时,对应的格式控制符为%l ;; 当数据类型说明符为float 时,对应的格式控制符为%f ; 当数据类型说明符为double 时,对应的格式控制符为%lf ; 当数据类型说明符为char 时,对应的格式控制符为%c ; 仅当表达式更改为1/2*a*b 时,程序执行结果为0 ; 仅当表达式更改为0.5*a*b 时,程序执行结果为25 (2)求从键盘上输入的两个整数之和,完成程序并将结果输出。 源程序: #include void main( ) { int x,y,z; scanf("%d%d",&x,&y);

汇编语言程序设计课后习题解答宋人杰2版

第1章汇编语言基础知识 1.简述汇编语言源程序、汇编程序、和目标程序的关系。 答:用汇编语言编写的程序称为汇编源程序;汇编源程序在汇编程序的翻译下转换成计算机语言变成目标程序。 2. 简述汇编语言的优缺点。 答:(1) 汇编语言的优点: ①可有效地访问、控制计算机各种硬件设备,如磁盘、存储器、CPU、I/O端口等。. ②目标代码简短,占用内存少,执行速度快,是高效的程序设计语言。 ③可与高级语言配合使用,应用十分广泛。 (2) 汇编语言的缺点: ①通用性和可移植性较差 ②相对于高级语言来说较繁锁、易出错、不够直观。 3.CPU的寻址能力为8KB,那么它的地址总线的宽度为多少? 答:13 4. 1KB的存储器有多少个存储单元? 答:1024个字节。 5. 指令中的逻辑地址由哪两部分组成? 答:指令中的逻辑地址由段基址和偏移量组成。 6. 以下为用段基址:偏移量形式表示的内存地址,试计算它们的物理地址。 (1) 12F8:0100 (2) 1A2F:0103 (3) 1A3F:0003 (4) 1A3F:A1FF 答: (1) 13080H (2) 1A3F3H (3) 1A3F3H (4) 245EFH 7. 自12FA:0000开始的内存单元中存放以下数据(用十六进制形式表示): 03 06 11 A3 13 01,试分别写出12FA:0002的字节型数据、字型数据及双字型数据 的值。 答:字节型数据:11H 字型数据:0A311H 双字型数据:0113A311H 8. 内存中某单元的物理地址是19318H,段基地址为1916H,则段内偏移地址为 多少?若段内偏移地址为2228H,则段基地址为多少? 答:若段基地址为1916H,则段内偏移地址为01B8H;若段内偏移地址为2228H,则段基地址为170FH 9. 在实模式环境中,一个段最长不能超过多少字节? 答:64KB 10. 实模式可寻址的内存范围是多少? 答:1MB

汇编语言程序设计-实验指导书

汇编语言程序设计 实验指导书 编写:郑利平 合肥工业大学计算机与信息学院 2008-9-1

汇编语言程序设计实验指导书 《汇编语言程序设计》实验是学习本课程的每个考生必须要通过的一个重要的实践环节,根据“汇编语言程序设计自学考试大纲”规定:上机实验单独作为本课程的实验考核成绩。《汇编语言程序设计》是一门实践性很强的课程,只有多上机操作,对汇编语言源程序进行编辑、汇编、连接、调试和运行全过程的训练,才能加深对本课程基本知识的理解,才能熟练地掌握程序设计的方法与技巧,才能学好本课程。 本实验指导书是完全按照《汇编语言程序设计自学考试大纲》中“实验大纲”的要求编写的,为便于考生较好完成上机操作和实验报告,特此作出如下说明和要求: (1)做好上机实验的准备工作:应考者对每个实验需要进行预习,了解相关内容和具体要求,熟悉上机操作步骤,学会相关系统软件的使用,掌握各种操作调试命令。 (2)编写源程序:按照实验题目的要求,应考者要事先独立完成汇编语言源程序的编写工作,并对源程序进行认真的静态检查,减少错误的发生。 (3)完成实验报告:做完上机实验,应考者要严格按照实验报告的格式要求写出实验报告。实验报告的内容为:实验名称、实验的目的、实验的内容和要求、实验步骤、实验结果并附上源程序清单和程序流程图。

实验一DEBUG的使用 (一)实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 (二)实验设备 硬件环境:IBM-PC及其兼容机 软件环境:操作系统DOS3.0版本以上 调试程序https://www.360docs.net/doc/811946868.html, (三)实验内容和要求 实验内容: 1、利用DEBUG程序中的“E”命令,将两个多字节数“12345678H”和“FEDCBA98H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H 单元中。 实验要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 (四)预习要求 1、复习DOS启动方式和DOS有关命令的使用; 2、阅读本书后的附录,熟悉掌握DEBUG调试程序中的A、D、E、G、Q、R、T、U命令的书写格式及功能; 3、复习寻址方式和相关的数据传送指令及算术运算指令。 (五)实验步骤 1、启动DOS操作系统 2、运行https://www.360docs.net/doc/811946868.html,程序(若当前盘为C) C:>DEBUG↙ – ;(“–”为DEBUG提示符,仅当屏幕出现该提示符后,才可输入DEBUG 命令) 3、用“A”命令编辑和汇编源程序 –A ↙ 186E:0100 MOV AX,[0200]↙ 186E:0103 MOV BX,[0202]↙ 186E:0107 ADD AX,[0204]↙ 186E:010B ADC BX,[0206]↙ 186E:010F MOV [0208],AX↙ 186E:0112 MOV [020A],BX↙

样题-程序设计与算法语言 中国科学院遥感应用研究所

中国科学院遥感应用研究所 硕士研究生入学考试样题 科目:《程序设计与算法语言》 一填空题(每空2分,共30分) 1、对于一个具有n个结点的二元树,当它为一棵________二元树时具有最小高 度,当它为一棵________时,具有最大高度。 2、设数组a[1..50,1..80]的基地址为2000,每个元素占2个存储单元,若以行序 为主序顺序存储,则元素a[45,68]的存储地址为_________;若以列序为主序顺序存储,则元素a[45,68]的存储地址为____________。 3、对于一个具有n个结点的单链表,在已知的结点*p后插入一个新结点的时间 复杂度为________,在给定值为x的结点后插入一个新结点的时间复杂度为______________。 4、已知int*p(),(*q)();则p是________________,而q是______________。 5、已知一棵二叉树的前序序列为abdecfhg,中序序列为dbeahfcg,则该二叉树 的根为__________,左子树中有___________,右子树中有___________。 6、己知有序表为(12,18,24,35,47,50,62,83,90,115,134)当用二分法查找90 时,需__________次查找成功,47时__________成功,查100时,需__________次才能确定不成功。 7、XML在地理空间信息领域的应用是____________。利用它可以存储和发布各 种特征的地理信息,并控制地理信息在Web浏览器中的显示。 二选择题(每小题2分,共70分) 1、用来表示一个变量的地址或者表示另一变量的地址的变量是()。 A.函数; B.指针; C.数组; D.结构体; 2、在C语言中,若函数调用时实参是数组名,则传递给对应形参的是()。 A.数组空间的首地址;B.数组的第一个元素值;C.数组中元素的个数; D.数组中所有的元素; 3、int a = 2,则执行完表达式a+=a+=a-=a*a;后,a的值是() A.-4;B.0;C.-8;D.16;

余敦辉《汇编语言》实验指导书实验1-实验3

《汇编语言》实验指导书

目录 实验一Debug命令的使用 (3) 实验二基本汇编指令的使用 (9) 实验三汇编语言程序的调试与运行 (13) 实验四系统功能调用程序的调试与运行………………错误!未定义书签。 实验五分支程序设计……………………………………错误!未定义书签。 实验六循环程序设计……………………………………错误!未定义书签。 实验七子程序设计………………………………………错误!未定义书签。 实验八高级汇编语言程序设计…………………………错误!未定义书签。 实验九I/O程序设计……………………………………错误!未定义书签。 实验十中断程序设计……………………………………错误!未定义书签。 实验十一综合程序设计 (38)

实验一Debug命令的使用 一、知识点 1、DEBUG简介 DEBUG.EXE是DOS提供的用于调试可执行程序的一个工具软件。在汇编语言程序调试中很常用。 DEBUG的提示符是“-”,所有DEBUG调试命令军在此提示符下输入。 DEBUG命令都是一个字母,后跟一个或多个参数,也可使用默认参数。 DEBUG命令的使用注意问题: (1)字母不分大小写 (2)只使用十六进制数,但没有带后缀字母“H” (3)命令如果不符合DEBUG的规则,则将以“error”提示,并以“^”指示出错位置。 (4)每个命令只有按下回车键后才有效,可以用Ctrl+Break终止命令的执行。 2、Debug的调入和退出 以WIN7环境为例,点击“开始/运行…”,在“运行”对话框中输入命令:cmd,然后点击“确定”,进入DOS命令行状态: C:\Documents and Settings\lfy> 然后输入命令: >Debug 进入Debug调试状态,出现Debug命令提示府“-”,在此提示符下可运行所需要的Debug 命令了。 退出Debug的命令:Q 3、Debug常用命令 (1)汇编命令A,格式为: - A [地址] 功能:从指定地址开始允许输入汇编指令,并将该指令汇编成机器指令代码从指定地址开始存放。若不指定地址,则系统从默认的地址开始存放。按回车键退出汇编状态 应用:用于调试一条指令或几条指令组成的一个程序段。

汇编语言程序设计实验报告

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 1、掌握Lab6000p实验教学系统基本操作; 2、掌握8088/8086汇编语言的基本语法结构; 3、熟悉8088/8086汇编语言程序设计基本方法 二、实验设备 装有emu8086软件的PC机 三、实验内容 1、有一个10字节的数组,其值分别是80H,03H,5AH,FFH, 97H,64H,BBH,7FH,0FH,D8H。编程并显示结果:如果数组是无符号数,求出最大值,并显示; 如果数组是有符号数,求出最大值,并显示。 2、将二进制数500H转换成二-十进制(BCD)码,并显示“500H 的BCD是:” 3、将二-十进制码(BCD)7693转换成ASCII码,并显示“BCD 码7693的ASCII是:” 4、两个长度均为100的内存块,先将内存块1全部写上88H,再 将内存块1的内容移至内存块2。在移动的过程中,显示移动次数1,2 ,3…0AH…64H(16进制-ASCII码并显示子程序) 5、键盘输入一个小写字母(a~z),转换成大写字母 显示:请输入一个小写字母(a~z): 转换后的大写字母是: 6、实现4字节无符号数加法程序,并显示结果,如99223344H + 第1页

99223344H = xxxxxxxxH 四、实验代码及结果 实验代码见代码附录 1.1程序运行结果 图1 无符号最大值结果截图 1.1 程序运行结果

图2 有符号最大值截图2.0 程序运行结果

图3 BCD码显示3.0 程序运行结果

图4 ASCII码显示4.0 程序运行结果

图5 移动次数显示5.0 程序运行结果

C语言程序设计实验报告(完整版)

报告编号:YT-FS-4244-21 C语言程序设计实验报告 (完整版) After Completing The T ask According To The Original Plan, A Report Will Be Formed T o Reflect The Basic Situation Encountered, Reveal The Existing Problems And Put Forward Future Ideas. 互惠互利共同繁荣 Mutual Benefit And Common Prosperity

C语言程序设计实验报告(完整版) 备注:该报告书文本主要按照原定计划完成任务后形成报告,并反映遇到的基本情况、实际取得的成功和过程中取得的经验教训、揭露存在的问题以及提出今后设想。文档可根据实际情况进行修改和使用。 实验名称计算出1000以内10个素数之和 实验目的 1、熟练掌握if、if…else、if…else if语句和 witch语句格式及使用方法,掌握if语句中的嵌套关 系和匹配原则,利用if语句和switch语句实现分支 选择结构。 2、熟练掌握while语句、do…while语句和for 语句格式及使用方法,掌握三种循环控制语句的循环 过程以及循环结构的嵌套,利用循环语句实现循环结 构。 3、掌握简单、常用的算法,并在编程过程中体验 各种算法的编程技巧。进一步学习调试程序,掌握语 法错误和逻辑错误的检查方法。

实验内容 计算并输出1000以内的10个素数以及它们的和。 要求: 在程序内部加必要的注释。 由于偶数不是素数,可以不考虑对偶数的处理。 虽然在1000以内的素数超过10个,但是要对1000以内不够10个素数的情况进行处理。 输出形式为:素数1+素数2+素数3+…+素数10=总和值。 算法描述流程图 Main函数: 判断素数: 源程序 #include #include int sushu(int n)/* 判断素数的函数 */ { int t,i;

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

程序设计与算法语言实验指导

程序设计与算法语言实验指导书 山东师范大学数学科学学院

实验大纲 实验一 TC开发环境 一、实验目的 1、熟悉C语言运行环境。 2、掌握C语言程序的书写格式和C语言程序的结构。 3、掌握C语言上机步骤,了解运行一个C程序的方法。 4、本实验可在学习完教材第一章后进行。 二、实验内容和步骤 1.打开TC,运行一个程序,尝试用CTRL+F9编译运行;用ALT+F5查看结果。学会调试程序,实验TC的各个菜单功能。

2.输入并调试下列程序 #include main() {printf(“This is a C program.\n ”); } 3. 输入并调试下面程序,对出现的错误进行修改 #include main() {int a,b; a=123 b=456; sum=a+b; printf(“sum= %d\n ”,sum); } 实验二 基本数据类型一、实验目的 1.熟练表达式的表示方法 2.了解表达式的运行结果 3.了解C语言中数据类型的意义 二、实验内容和步骤1.了解整数变量的数据范围 #include main() {int a; long b; a=32767; a=a+1; printf(“a=%d\n ”,a); b=32767; b=b+1; printf(“b=%d\n ”,b); 2.字符变量的使用 #include main() {char c1,c2; c1=’A ’; c2=97; printf(“c1=%c,c2=%c ,c1=%d\n ”,c1,c2,c1); printf(“c=%c\n ”,c1+1); } 3.输入一个华氏温度,要求输出摄氏温度。公式为)32(9 5 -=F c 。输出要有文字说明,取2位小数。

汇编语言程序设计实验篇emu

1.汇编语言程序设计实验篇 1.1.汇编系统软件简介 Emu8086-Microprocessor Emulator是集源代码编辑器、汇编/反汇编工具以及debug 的模拟器。它能模拟一台"虚拟"的电脑运行程序,拥有独立的“硬件”,避免访问真实硬件。该软件兼容Intel的下一代处理器,包括PentiumII、Pentium4。利用该软件提供的调试工具,能够单步跟踪程序,观察程序执行过程中寄存器、标志位、堆栈和内存单元的内容。 1.1.1创建程序 https://www.360docs.net/doc/811946868.html, TEMPLATE程序 本章与指令相关的实验都是用COM TEMPLATE类型的程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。 在“choose code template”对话框中,选择“COM template-simple and tiny executable file format, pure machine code.”后,单击按钮。

在如所示的编辑界面中,在“;add your code here”部分输入相应的指令,第一条指令默认的偏移地址为100h。 输入全部指令后,单击按钮,保存相应的程序段。 2.EXE TEMPLATE程序 本章与DOS功能调用和汇编源程序相关的实验都是用EXE TEMPLATE程序完成的。打开emu8086,在“welcome…”对话框中,单击按钮,创建文件。

在“choose code template”对话框中,选择“EXE template-advanced executable file.header: relocation, checksum.”后,单击按钮。 在如图所示的编辑界面中,已经可以给出了源程序的框架,包含数据段、堆栈段和代码段的定义以及必要的功能调用等,在“add your data here”和“;add your code here”部分可以分别输入相应的变量定义和指令。

C语言程序设计实验手册

实验手册使用及要求 实验操作是教学过程中理论联系实际的重要环节,而实验报告的撰写又是知识系统化的吸收和升华过程,因此,实验报告应该体现完整性、规范性、正确性、有效性。现将实验报告撰写的有关内容说明如下: 1、实验前按实验要求手写程序或程序填空,并走查代码,有疑问处标记,上机时在C语言集成开发环境下输入并调试手写程序,分析运行结果。 2、实验结束后填写通过后的源程序和对实验的总结。 3、通过后的源程序可以手写也可以打印粘贴。 实验项目一览表

实验一熟悉C语言编程环境 实验目的: 1.熟悉C语言编程环境(VC++、Cfree、Turboc2.0等) 2.了解C程序的基本框架 3.理解程序调试的思想,能找出并改正C程序中的错误 实验内容: 1.1 建立自己的文件夹:在磁盘上建立一个文件夹,用于存放自己的C程序 1.2 编程示例 在屏幕上显示一个短句“Programming in C is fun!”(教师示例,学生模仿并创新,如输出汉字、特除字符等。学会使用编程环境VC++,启动、编辑、编译、运行、保存、关闭、打开)1.3 编程 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ 1.4 调试示例 改正下列程序中的错误,在屏幕上显示“Welcome to You !”。(掌握找错、改错的方法) 源程序: # include int mian(void) { printf(Welcome to You! \n") getchar(); return 0; } 注:需要修改的语句直接在程序上标注并修改 实验总结:

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

相关文档
最新文档