当前位置:文档之家› C语言实验指导及报告模板

C语言实验指导及报告模板

C语言实验指导及报告模板
C语言实验指导及报告模板

C语言程序设计

附件1:实验报告模板

C语言程序设计

实验报告

实验一简单的C程序

教学班级:冶金136 学号:01 姓名:张博

课程教师:胡春安实验教师:胡春安

完成时间:2015-2016学年第1学期

实验一简单的C程序

实验时间:2机时

一、实验目的

1. 熟悉C程序编辑环境,掌握主要菜单项的操作和作用。

2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。

二、实验意义

通过上机实验,加深对第一章所学基本知识:C语言的基本结构和简单C 程序的理解。通过调试简单的C程序,让学生对C程序的编辑、编译、链接和运行有一个直观的体验和熟悉,激发学习的好奇心和兴趣,为后面的全面学习奠定非常必要的基础。

三、实验内容

1.验证实验

(1)掌握程序的编辑、编译、连接、运行、调试过程,按以下步骤进行实验。

?输入源程序

#include

int main()

{

float a,b;

a=12

b=10;

c=a%b;

printf("a=%d,b=%d,c=%d",a,b,c);

return 0;

}

?编译、链接及运行,并记录下列问题:

①您在编辑、编译该程序时,在输出窗口显示了几条错误信息?请记录在实验报告中。

C:\Users\h\Desktop\c\ex1\main.c||In function 'main':|

C:\Users\h\Desktop\c\ex1\main.c|6|error: expected ';' before 'b'|

C:\Users\h\Desktop\c\ex1\main.c|7|error: 'c' undeclared (first use in this function)|

C:\Users\h\Desktop\c\ex1\main.c|7|note: each undeclared identifier is reported only once for each function it appears in|

C:\Users\h\Desktop\c\ex1\main.c|7|error: invalid operands to binary % (have 'float' and 'float')|

||=== Build failed: 3 error(s), 0 warning(s) (0 minute(s), 0 second(s)) ===|

错误1:变量b前少了分号“;”

错误2:变量c未定义;

错误3:%运算符运算对象必须是整型数据。

② 对出现的错误信息进行分析,找出错误原因并重新编辑、编译,直到程序正确运行为止。 正确的程序: #include int main() {

int a,b,c; a=12; b=10; c=a%b;

printf("a=%d,b=%d,c=%d",a,b,c); return 0; }

③ 保存文件。

2. 请将560分钟转换成小时和分钟。

3. 从键盘上输入圆锥体的半径r 和高度h ,计算其体积v=213r h

4. 实现一个简单的程序,输出字符串“Welcome to Jxust!”。

附件2:实验指导

实验一简单的C程序

实验时间:2机时

一、实验目的

1. 熟悉C程序编辑环境,掌握主要菜单项的操作和作用。

2. 熟悉编写一个C程序的上机过程(编辑、编译、链接和运行)。

二、实验意义

通过上机实验,加深对第一章所学基本知识:C语言的基本结构和简单C 程序的理解。通过调试简单的C程序,让学生对C程序的编辑、编译、链接和运行有一个直观的体验和熟悉,激发学习的好奇心和兴趣,为后面的全面学习奠定非常必要的基础。

三、实验重点

1. 一个C程序的上机过程。

2. C语言编辑环境的基本操作。

四、实验难点

1. 调试C程序中的语法错误。

2. 保存C程序。

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1.验证实验

(1)掌握程序的编辑、编译、连接、运行、调试过程,按以下步骤进行实验。

?输入源程序

#include

int main()

{

double a,c;

a=12

b=10;

c=a/b;

printf("a=%d,b=%d,c=%d",a,b,c);

return 0;

}

?编译、链接及运行,并记录下列问题:

①您在编辑、编译该程序时,在输出窗口显示了几条错误信息?请记录在实验报告中。

② 对出现的错误信息进行分析,找出错误原因并重新编辑、编译,直到程序正确运行为止。

③ 保存文件。

特别提醒:由于初学者对C 程序设计不熟练,初次上机时对C 程序的字符集不熟练,特别容易产生字符输入的错误(约90%的初学者出现过这种错误)。因此,在对程序进行编译时便会出现许多语法错误信息,此时你需要与样例程序清单仔细比对、仔细检查输入字符的拼写错误或其它类型错误,每修改一处,必须重新编译一次,如此反复操作直至错误不再出现。另外,由于编译的错误信息是英文信息,对英文阅读和理解可能有一定的困难,这点也是初学者实验时的难点,但请放心,同样的错误信息见的次数多了你也就能明白意思,希望读者不要害怕。正所谓磨刀不误砍柴功,多花点时间和心思做好语法错误信息理解,将提升你编程、调试程序的能力。

2. 请将560分钟转换成小时和分钟。 提示:

(1) 已知1小时=60分钟

(2) 560/60的结果为小时数; (3) 560%60的余数为分钟数; (4) 输出结果

请根据给出的语句,试着编写程序。 3. 从键盘上输入圆锥体的半径r 和高度h ,计算其体积v=213r h

提示:

(1)已知л、r 、h 的值

(2)将数学公式转换成C 语言表达式

v=π*r*r*h/3 (3)求v

(4)输出结果。

请试着编程求体积v 。

4. 实现一个简单的程序,输出字符串“Welcome to Jxust!”。

实验二数据类型、运算符和表达式

实验时间:2机时

一、实验目的

1. 掌握C语言数据类型,熟悉各种类型变量的定义和含义。

2. 掌握C语言标准输入、输出函数的使用方法

3. 进一步熟悉C程序的上机过程,积累调试经验。

二、实验意义

通过上机实验,巩固本章所学基本知识-C语言的数据类型、变量的定义和使用、结合数据类型更深入地理解标准输入函数scanf()和标准输出函数printf ()的格式控制符的意义和使用。通过简单程序设计的练习加深对运算符优先级和结合方向的理解,并正确求解表达式的值,这些必要的基础知识是后面深入学习C语言所必须的知识储备。

三、实验重点

1. 数据类型、变量的定义和使用;

2. 运算符、表达式的求解

3. 简单顺序结构的C程序设计

四、实验难点

数据类型的转换、自增自减运算

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1.程序阅读题

(1) 阅读并执行下列程序,分析结果。

#include

int main()

{

float x=1,y;

y=++x*++x;

printf(“%f\n”,y);

return 0;

}

提示:此题在C_Free中运行结果为6,在codeblocks和VC中运行结果为9。为什么会产生这种情况,是因为编译器处理的方式不同,这种++x*++x 运算情况建议读者尽可能的少用或不用。

如对程序作如下修改,则可避免歧义性的发生。

#include

int main()

{

float x=1,y,m,n;

m=++x;

n=++x;

y=m*n;

printf("%f\n",y);

return 0;

}

(2) 阅读下列程序段并分析结果。

int m=0,n=0; char c=?d?;

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

printf("%d,%c,%d\n",m,c,n);

若从键盘上输入:6D6<回车>,则输出结果是()。

(3) 以下程序的运行结果是( )

#include

int main()

{

int a,b,d=241;

a=d/100%9; b=(-1)&&(-1);

printf(“%d,%d”,a,b);

return 0;

}

(4) 以下程序的运行结果是()。

#include

int main()

{

int x=1,y,z;

x*=3+2; printf(“%d\t”,x);

x*=y=z=5; printf(“%d\t”,x);

x=y==z; pr intf(“%d\n”,x);

return 0 ;

}

(5) 分析以下程序的运行结果。

#include

int main()

{

int n=2;

printf("%d,%d,%d\n",++n,n+=2,--n);

return 0;

}

实验三数据的输入和输出

实验时间:2机时

一、实验目的

1. 掌握C语言标准输入、输出函数的使用方法

2. 掌握格式控制字符的使用和理解

3. 进一步熟悉C程序的上机过程,积累调试经验。

二、实验意义

通过上机实验,巩固本章所学基本知识:标准输入函数scanf()和标准输出函数printf()的应用。此部分实验为顺序结构的程序,通过上机验证以更好地理解格式控制字符的语义,正确掌握格式控制字符和普通字符的输出,掌握顺序结构的程序设计。

三、实验重点

1. 标准输入函数scanf()的使用

2. 标准输出函数printf()的使用

3. 简单顺序结构的C程序设计

四、实验难点

标准输入函数scanf()中的格式输入方式

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1. 上机练习下列各程序段,并完成变量的定义,运行时观察输入数据时的格式要求。

(1)

int main()

{

;&&定义变量

scanf("%c%c%c",&a,&b,&c);

printf("%c,%c,%c\n",a,b,c);

return 0;

}

(2)

int main()

{

;&&定义变量

scanf("%c,%c,%c",&a,&b,&c);

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

return 0;

}

(3)

int main()

{

;&&定义变量

scanf("%d%d%d",&a,&b,&c);

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

return 0;

}

(4)

int main()

{

;&&定义变量

scanf("%d,%d,%d",&a,&b,&c);

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

return 0;

}

(5)

int main()

{

;&&定义变量

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

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

return 0;

}

(6)

int main()

{

;&&定义变量

scanf("%d%c%lf",&a,&b,&c);

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

return 0;

}

2. 阅读程序

(1) 以下程序的输出结果是( ),结合格式控制符的语义对结果进行分析。

#include

int main( )

{

printf("\n*s1=%15s*", "chinabeijing");

printf("\n*s2=%-5s*","chi");

rerurn 0;

}

(2) 阅读以下程序,当输入数据形式为: 25,13,10,正确的输出结果为

( ),结合格式控制符的语义对结果进行分析。

#include

int main( )

{

int x,y,z;

scanf("%d%d%d",&x,&y,&z);

printf("x+y+z=%d\n",x+y+z);

return 0;

}

(3) 以下程序的输出结果为( ),结合格式控制符的语义对结果进行分析。

int main( )

{int x=10; float pi=3.1416;

printf("(1)%d\n",x); printf("(2)%6d\n",x);

printf("(3)%f\n",56.1);printf("(4)%5.14f\n",pi);

printf("(5)%e\n",568.1);printf("(6)%14.e\n",pi);

printf("(7)%g\n",pi); printf("(8)%12g\n",pi);

return 0;

}

(4) 以下程序的输出结果为( )

int main( )

{short a; a=-4; printf("\na:dec=%d,oct=%x,unsigned=%u\n",a,a,a,a);

return 0;

}

实验四选择结构

实验时间:2机时

一、实验目的

1. 掌握选择结构的语句格式和语义。

2. 掌握if语句和switch语句的使用。

3. 掌握多分支if语句嵌套中的else与if的配对原则。

4. 了解条件表达式的格式和语义。

5. 掌握综合应用if语句和switch语句的编程能力。

二、实验意义

通过上机实验,巩固对选择结构知识的掌握。掌握结构化程序设计的第二种基本结构--选择结构,它是程序设计必备的基本知识,只有掌握好这些基本结构,才能进一步进行程序设计,进行更复杂的算法设计。

三、实验重点

1. 关系运算符和逻辑运算符以及条件运算符的使用

2. if语句的使用

3. switch语句的使用

4. 多重条件下的if语句嵌套使用

四、实验难点

1. 复杂条件的表达

2. 复合语句的使用

3. if语句嵌套

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1. 程序阅读题

(1) 请阅读以下程序,该程序运行结果是( )。

#include

int main()

{

int a=5,b=0,c=0;

if (a+b+c) printf(“***\n”); else printf(“$$$\n”);

return 0;

}

(2) 当a=5,b=8,c=11,d=9时,执行完下面一段程序后x的值是( )

if (a

(3) 执行以下程序段后的输出结果是:( )

int w=3,z=7,x=10;

printf(“%d\n”,x>10 ? x+100:x-10);printf(“%d\n”,w++||z++);

printf(“%d \n”,!w>z);printf(“%d \n”,w&&z); (4) 请阅读以下程序,该程序运行结果是( )。 #include int main() {

int k=2; switch(k) {

case 1:printf("%d",k++); case 2:printf("%d",k++); case 3:printf("%d",k++);

case 4:printf("%d",k++);break; default:printf("Full!\n"); }

printf("\nk=%d\n",k); return 0; } 2. 编程题

(1) 从键盘上任意输入三个整数,按照由大到小的顺序输出。

(2) 编写程序,输入一个字符存入变量ch 中,根据该字符的ASCII 码值判断该字符是字母、数字或其他字符(other )。 (3) 有一函数:

??

?

??

??--+++--=-13

)12(log 35531

312101

23x x e x x y x ()

()

()()

10101111>≤<≤≤--

编写一个程序,用scanf 函数输入x 的值,输出y 值。注意表达式的书写方法。

提示:此题要用到数学函数exp ()和log10(),因此应包含相应的头文件。 (4) 编写一个程序,用户输入日期,计算该日期是这一年的第几天。

(5) 某书店有以下规定:购书在20000元以上者,打7.5折;购书在10000元以上者打8折;购书在2000元以上者打8.5折;购书在100元以上者打9折。假设某一种书的定价为24元,编写一个程序,计算一位顾客只购买这一种书的应付金额。

实验五循环结构

实验时间:2机时

一、实验目的

1. 掌握while、do-while和for三种循环语句的格式;

2. 掌握while、do-while和for三种循环语句的执行流程;

3. 掌握循环嵌套的执行流程和应用;

4. 掌握跳转语句break和continue语句的应用;

二、实验意义

通过上机实验,巩固所学的循环结构知识。循环结构是结构化程序设计的基本结构之一,它与顺序结构、选择结构共同作为各种复杂程序的基本构造单元。掌握好循环结构与选择结构的配合使用,掌握好循环语句的嵌套,才能进行更复杂的程序设计,也才能解决更多的复杂问题。这章的内容在整个程序设计过程中具有重要的意义,因此本部分的实验,对于提高学生的程序设计能力具有非常重要的作用,应给予高度的重视和实战练习。

三、实验重点

1. 三种循环语句的使用;

2. 简单循环问题的分析和程序设计;

3. 正确的构造循环条件和程序的流程;

4. 循环程序的调试方法和技巧;

四、实验难点

1. 复杂问题的循环语句设计

2. 循环嵌套的和break和continue循环设计

3. 循环程序的调试:死循环的验证

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容

1.程序阅读

(1) 若运行以下程序时,从键盘输入2473,则下面程序的运行结果是()

#include

int main( )

{

int c;

while((c=getchar( ))!=?\n?)

switch(c-…2?)

{case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3:

putchar(c+3);

case 4:putchar(c+2);break;}

printf(“\n”);return 0;}

(2)请阅读以下程序,该程序运行结果是( )。

#include

int main()

{

int x=-1,n=0;

do

{

x=x*x;

n++;

}while (!x);

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

return 0;

}

(3) 请阅读以下程序,该程序运行结果是( )。

#include

int main()

{

int y=10;

for(; y>0;y--)

if(y%3==0)

{

printf("%d",--y);

continue;

}

return 0;

}

(4) 请阅读以下程序,该程序运行结果是( )。

#include

int main()

{

int x;

for(x=1;x<100;x++)

if (++x%2==0)

if (++x%3==0)

if (++x%5==0)

printf("%d\n",x);

return 0;

}

(5) 请阅读以下程序,该程序运行结果是( )。

#include

int main()

{

int x,i;

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

{

x=i;

if (++x%2==0) if (++x%3==0) if (++x%7==0) printf("%d ",x); }

return 0; }

(6) 执行下面程序段后,a 的值为( )。

int a,b;

for(b=1,a=1;b<=20;b++) {

if(a>=10) break; if (a%2==1) { a+=5; continue;} a-=3;

}

2. 编程题

(1) 键盘输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、空格、数字和其它字符的个数。

(2) 分别用while 、do-while 和for 语句计算∑=20

1!n n (即求1!+2!+3!+…+20!),

并试着简化程序。 (3) 有一分数序列:

,13

21,813,58,35,23,12 求出这个数列的前20项之和。

(4) 求

a n n a aa aaa aa a S 个++++=的值,其中a 是一个数字,如

2+22+222+2222+22222(此时a=2,n=5),a 和n 均由键盘输入。 (5) 输入x ,计算级数:

+-+-+!

4!3!214

32x x x x

要求输出精度为10-8。

(6) 用循环语句编写程序,输出如下图案:

* * * * * * * * * * * * * * * * * * * *

*

实验六数组

实验时间:4机时

一、实验目的

1. 掌握一维数组的定义、引用。

2. 掌握一维数组元素初始化的特点、编程注意事项。

3. 掌握一维数组排序的经典算法。

4. 掌握二维数组的定义、元素引用、编程方法。

5. 掌握字符数组的定义、元素引用、编程方法。

6. 掌握字符串常用程序设计方法。

二、实验意义

在解决实际问题或实现某些算法时,数组是经常使用的构造数据类型,掌握数组的定义,元素引用特征和数组的编程特色,可加强学生解决实际问题的能力,同时可接触到更多的经典算法,这些算法很多都是通过数组类型存储数据并实现的,有了这些基础后,学生可以在今后的编程中应用这些知识编写出解决复杂问题的程序。数组的实验能让学生进一步的提高程序设计编程和调试的能力,对于数组元素引用及循环控制的综合使用,也可以在实验中得以加深理解和巩固知识。

三、实验重点

1. 一维数组的定义、元素的引用。

2. 一维数组编程的循环控制特色。

3. 排序算法的实现。

4.二维数组的定义、元素引用、编程方法。

5. 字符数组的定义、元素引用、编程方法。

6. 掌握二维数组与循环嵌套的综合应用

四、实验难点

1. 一维数组编程的循环控制特色,程序调试时的数组越界问题

2. 排序算法的理解和应用

3. 二维数组与循环嵌套的综合应用

4. 字符串操作的循环控制方法。

五、实验方式

提前编写程序,写好实验报告,上机实验时一边调试程序一边将实验报告上关于程序调试和运行结果的信息填写到实验报告上,实验完成时上交实验报告。

六、实验内容(4机时)

1.程序阅读题

(1) 运行下面的程序,根据运行结果,找出问题。

#include

int main( )

{

int i,x[5]={1,2,3,4,5};

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

printf("%4d",x[i]);

return 0;

}

(2) 下列程序的运行结果是()。

#include

int main()

{

int i=1,n=3,j,k=3;

int a[5]={1,4,8};

while (i<=n && k>a[i])

i++;

for (j=n-1;j>=i;j--)

a[j+1]=a[j];

a[i]=k;

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

printf("%3d",a[i]);

printf("\n");

return 0;

}

(3) 下列程序的运行结果是()。

#include

int main()

{

int s[4][4],i,j,k;

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

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

s[i][j]=i-j;

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

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

{

k=s[i][j];

s[i][j]=s[j][i];

s[j][i]=k;

}

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

{

printf("\n");

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

printf("%4d",s[i][j]);

}

return 0;

}

(4) 下列程序的运行结果是()。

#include

int main()

{int i=5;char c[6]="abcd";

do {c[i]=c[i-1];} while(--i>0);

puts(c);

return 0;

}

2. 编程题

(1) 某歌手大赛,共有10个评委给歌手打分,分数采用百分制,去掉一个最高分,去掉一个最低分,然后取平均分,得到歌手的成绩。10个分数由键盘输入,编写程序计算某歌手的成绩。

(2) 歌手大赛,共有N个歌手参赛,每个歌手得分已揭晓(百分制),现要知道排在第K位的歌手分数,请编程实现。

(3) 一个一维数组,含10个元素,从键盘上输入10个数,编写程序将数组元素逆序重新存放。即第一个元素和最后一个元素交换位置,第二个元素和倒数第二个元素交换位置,……。

(4)给你N(N<=1000)个不同的数,每个数都小于10^6,求第k小的数与及第k 大的数(k<=N)。

输入:第一行给出N和k的值,第二行就是N个数据。

输出:第k小的数与及第k大的数。

例如:

输入:6 3

10 2 30 21 15 8

输出:第3小的数10 ,第3大的数是15。

(5) 有一个4×5的矩阵,编写程序找出值最大的元素并输出其值以及所在的行号和列号。

(6) 输入一个M行M列的二维数组,分别计算两条对角线上的元素之和。M由符号常量定义:#define M 5

(7) 编写函数判断输入的字符串是否是“回文”,(顺读和倒读都一样的字符串称“回文”,如:level)。

C语言实训报告

C语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 24 指导教师:朱震周斌王旬全刘辉 2016 年10月8 日 目录 摘要 (1) 设计要求 (2) 设计步骤 (3) 代码编写 (4) 心得体会 (5) 参考文献 (6)

许多机器人使用雷达(RADAR)或者声纳(SONAR)来探测物体而不需要同物体接触。本文的方法是使用红外光来照射机器人前进的路线,然后确定何时有光线从被探测目标反射回来,通过检测反射回来的红外光就可以确定前方是否有物体。由于红外遥控技术的发展,现在红外线发射器和接收器已经很普及并且价格很便宜。 随着微电子技术的不断发展,微处理器芯片的集成程度越来越高,单片机已可以在一块芯片上同时集成CPU、存储器、定时器、并行和串行接口、看门狗、前置放大器、A/D转换器、D/A转换器等多种电路,这就很容易将计算机技术与测量控制技术结合,组成智能化测量控制系统。这种技术促使机器人技术也有了突飞猛进的发展,目前人们已经完全可以设计并制造出具有某些特殊功能的简易智能小车。 机器人使用红外线二极管LED 作为前灯,如图6-1 所示。红外线二极管发射红外光线,如果机器人前面有障碍物,红外线从物体反射回来,相当于机器人眼睛的红外检测(接收)器,检测到反射回的红外光线,并发出信号来表明检测到从物体反射回红外线。机器人的大脑——单片机A T89S52 基于这个传感器的输入控制伺服电机。红外线(IR)接收/检测器有内置的光滤波器,除了需要检测的980 nm 波长的红外线外,它几乎不允许其他光通过。红外检测器还有一个电子滤波器,它只允许大约38.5 kHz 的电信号通过。换句话说,检测器只寻找每秒闪烁38500 次的红外光。这就防止了普通光源像太阳光和室内光对IR 的干涉。太阳光是直流干涉(0Hz)源,而室内光依赖于所在区域的主电源,闪烁频率接近100 Hz 或120 Hz。由于120 Hz 在电子滤波器的38.5 kHz 通带频率之外,它完全被IR 探测器忽略。 本任务将搭建并测试红外线发射和检测器对。本讲需要用到的新部件如下: 元件清单 (1)红外检测器,2 个。 (2)IR LED(带套筒),2 个。 (3)470? 电阻,2 个。 (4)连接线,若干。 二、设计要求 (1)小车能够完成前进、后退、左转、右转等动作。 (2)机器人能够读出传感器电平变化,并作相应的动作变化。 (3)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤

大一上期C语言实验报告1熟悉实验环境

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟悉C语言运行环境,了解和使用Visual6.0++集成开发环境(2)熟悉Visual6.0++环境的功能键和常用的功能菜单命令 (3)掌握C语言程序的书写格式和C语言程序的结构 (4)掌握C语言上机步骤,以及编辑、编译和运行一个C语言程序的方法 (5)熟悉Visual6.0++环境下的程序调试方法 2.实验内容 (1)按照实验步骤编辑、编译、运行第一个”Hello World”程序(2)利用实验指导中的第二个程序熟悉调试工具,在已知x,y值的情况下,计算出x和y的和、差、积、商,并显示出来(3)编写一个程序,输入a、b、c三个值,输出它们的和与平均值c 3.源程序 (1)#include void main() {printf(”Hello World”);} (2)#include void main() {int x=5,y=2; int s,d,p,q; s=x+y; d=x-y; p=x*y; q=x/y; printf(“和:%d差:%d积%d商:%d“,s,d,p,q);}

(3)#include void main() {int a,b,c.sum; float ave; Printf(“Please enter the a,b,c:”); scanf(“%d%d%d”,&a,&b,&c); sum=a+b+c; ave=(float)sum/3; printf(“sum=%d,ave=%f\n”,sum,ave);} 4.运行结果 (1) (2) (3)输入18、46、69测试得出答案如下

汇编语言实验报告

汇编语言实验报告 专业: 班级: 姓名: 学号: 2011年12月14日

目录 实验1 利用DEBUG调试汇编语言程序段 (3) 实验2 初级程序的编写与调试实验(一) (11) 实验3 初级程序的编写与调试实验(二) (20) 实验4 汇编语言程序上机过程 (28) 实验5 分支程序实验 (33) 实验6 循环程序实验 (40) 实验7 子程序实验 (45)

实验1 利用DEBUG调试汇编语言程序段一.实验目的 1.熟悉DEBUG有关命令的使用方法; 2.利用DEBUG掌握有关指令的功能; 3.利用DEBUG运行简单的程序段。 二.实验内容 1.进入和退出DEBUG程序; 1)开始—运行,输入cmd,点确定进入命令窗口 2)在命令窗口中输入dubug进入debug程序 3)进入debug窗口后,输入q命令退出debug 2.学会DEBUG中的 1)D命令(显示内存数据D 段地址:偏移地址) 例1:-D100;显示DS段, 0100开始的128个节内容

说明:指定要显示其内容的内存区域的起始和结束地址,或起始地址和长度。 ①DSEGREG[起始地址] [L 长度] ;显示SEGREG段中(缺省内默认为DS), 以[起始地址] (缺省内为当前的偏移地址),开始的[L 长度] (缺省内默认为128)个字节的内容. ② D SEGREG[段地址:偏移地址] ;显示SEGREG段中(缺省内默认为DS), [段地址:偏移地址]开始的[L 长度] (缺省内默认为128)个字节内容 -D ;默认段寄存器为DS,当前偏移地址(刚进入debug程序偏移地址为0100H) -D DS:100 ;显示DS段, 0100H开始的128个字节内容 -D CS:200 ;显示CS段, 0200H开始的128个字节内容 -D 200:100 ;显示DS段, 0200:0100H开始的128个字节内容

c语言实验报告总结

篇一:《C语言上机实验心得》 C语言上机实验心得 在科技高度发展的今天,计算机在人们之中的作用越来越突出。而C语言作为一种计算机的语言,学习它将有助于我们更好的了解计算机,与计算机进行交流,因此,我们一定要学好C语言,这对我们以后的发展是十分重要的。 说到这,上机实验当然就是一个必不可少的环节了,C语言灵活、简洁的特点,只有通过编程实践才能真正了解,真正说懂。为了更好地学习语法规定、掌握程序设计方法、提高程序开发能力,我们必须实际上机、编写程序。 通过实验我也发现了自己不少的问题,这都是只看书上的程序而没有自己亲身上机编写程序而无法得知的,假如我们只因看熟书上的程序就以为自己已经掌握了C语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后

输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在

一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。

C语言实验报告参考答案 原

C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.编写程序: (1) a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 (2)a=160,b=46,c=18,d=170, 编写求(a+b)/(b-c)*(c-d)的程序。 答案: (1) #include main() {

int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } (2) #include main() { int a,b,c,d; float x; a=160; b=46; c=18;

d=170; x=(a+b)/(b-c)*(c-d); printf("(a+b)/(b-c)*(c-d)=%f\n",x); } 3. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b 时,将0赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 2、(1) 编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7

汇编语言综合实验报告

XXXX大学XX学院 实验报告 课程名称:汇编语言 学号: 姓名: 系: 专业: 年级: 指导教师: 职称: 20xx~20xx学年第一学期

实验项目列表 序号实验项目名称成绩指导教师 1 实验一汇编程序的汇编及运行 2 实验二顺序程序设计 3 实验三分支循环程序设计 4 实验四 DOS功能调用 5 实验五子程序设计 总平均

福建农林大学金山学院实验报告 系:专业:年级: 姓名:学号:实验课程:汇编语言 实验室号:__ __ 实验设备号:实验时间: 90分钟 指导教师签字:成绩: 实验一汇编程序的汇编及运行 1.实验目的和要求 (1)熟悉汇编程序的汇编、连接、执行过程 (2)生成LST文件,查看LST文件 (3)生成OBJ文件,修改语法错误 (4)生成EXE文件 (5)执行 2.实验环境 IBM—PC机及其兼容机 实验的软件环境是: 操作系统:DOS 2.0以上;调试程序:https://www.doczj.com/doc/2e12173448.html,;文本编程程序:EDIT.EXE、WPS.EXE;宏汇编程序:MASM.EXE(或ASM .EXE);连接装配程序:LINK .EXE;交叉引用程序:CREF.EXE(可有可无)。 3.实验内容及实验数据记录 (1)将数据段输入,取名1.txt,保存在MASM文件夹下。生成LST文件,(不必连接、运行)用EDIT查看1.LST文件。试回答:DA1,DA2的偏移量分别是多少?COUNT的值为多少? DA TA SEGMENT ORG 20H NUM1=8 NUM2=NUM1+10H DA1 DB ‘IBM PC’ DA2 DB 0AH, 0DH COUNT EQU $-DA1

合肥工业大学汇编程序设计实验报告完整代码

合肥工业大学 计算机与信息学院实验报告

课程:汇编语言程序设计 专业班级:信息安全13-1 学号:2013211869 姓名:马骏 实验一Debug程序的使用 一.实验目的 1、熟悉DEBUG程序中的命令,学会在DEBUG下调试运行汇编语言源程序。 2、掌握8086/8088的寻址方式及多字节数据的处理方法。 二.实验内容 1、利用DEBUG程序中的“E”命令,将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H和DS:0204H两个单元中。 2、分别用直接寻址方式和寄存器间接寻址方式编写程序段,实现将DS:0200H 单元和DS:0204H单元中的数据相加,并将运算结果存放在DS:0208H单元中。要求: 本次实验的内容均在DEBUG下完成,实现数据的装入、修改、显示;汇编语言程序段的编辑、汇编和反汇编;程序的运行和结果检查。 三.实验过程和程序 实验将”12345678H”和”FEDCBA98H”分别送入起始地址为DS:200H和DS:204H 的两个单元中。还包含两个附加题,一是从DS:0000H 开始的5个16 位带符号数分别记为x,y,z,v,w,E命令初始化为:540,1,-1,1080,0, 试求 w=(v-(x*y+z-540))/x,二是统计bx中1的个数 四.实验结果(包括必要的截图) 将两个多字节数“003F1AE7H”和“006BE5C4H”分别送入起始地址为DS:0200H 两个单元中。DS:0204H和

直接寻址方式实现数据相加 寄存器间接寻址实现数据相 加. 附加题一: 从DS:0000H开始的 5 个16 位带符号数分别记为x,y,z,v,w,用E命令初始化为:540,1,-1,1080,0, 试求w=(v-(x*y+z-540))/x

C语言实习报告

设计报告 一,实验目的: 通过上机实习,熟练掌握循环语句、选择语句、指针以及结构体的运用技巧。在实习中通过 实际操作,编写程序,发现问题,最后解决问题,提升对c语言实用性的理解,在实践中巩固各知 识点。 C语言是一种计算机程序设计语言。它既具有高级语言的特点,又具有汇编语言的特点,上 机实习可以帮助我们更好地理解这种结构式的 中级语言以及其各式各样的数据类型和高效率 的运算程序,为我们进一步学习C++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.doczj.com/doc/2e12173448.html,

二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>

2,程序: #include int main() { int a[11],i,j,t,b,c,temp1,temp2,temp3; //定义一个数组a[11],用以存放学生的成绩 printf("从键盘输入10个学生成绩:\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); //输入10个学生成绩 for(i=0;i<9;i++) for(j=0;j<9-i;j++) if(a[j]

C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include<> main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include <> main() { printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include<> main() { int a,b,c,x,y; a=150; b=20; c=45;

x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y); x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include<> main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a; printf("c = %d\n",c); } 五、调试和测试结果 1.编译、连接无错,运行后屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 3、编译、连接无错,运行后屏幕上显示以下结果: a/b的商=7 a/c的商=3 a/b的余数=10 a/c的余数=15 4. 编译、连接无错,运行后屏幕上显示以下结果: c =-10 实验二顺序结构程序设计 四、程序清单 1.键盘输入与屏幕输出练习 问题1 D 。 问题2 改printf("%c,%c,%d\n",a,b,c);这条语句

汇编语言综合实验报告

综合性设计性实验报告 班级:计算机科学与技术专2014 级 4 班实验项目名称:循环显示1 0 个数字符号 实验项目性质:综合性 实验所属课程:计算机组成原理与汇编语言 实验室(中心):实验室(4 0 7 ) 指导教师: 实验完成时间: 2016 年 5 月 27

一、实验目的 (1)掌握子程序的定义和调用方法。 (2)掌握子程序的编写方法及参数传递的方法。 二、实验内容及要求 本实验内容主要是编写一个显示过程汇编程序,使得在屏幕上依次显示10 个数字符号,每一行13 个字符,然后循环进行显示。实验要求是在代码段中编写这个过程,并要求用主程序调用该过程。 三、实验设备及软件 实验室(407)电脑一台以及编译器DEBUG MASM LINK软件。 四、设计方案 ㈠题目(老师给定或学生自定) 循环显示10个字符 ㈡设计的主要思路 首先,先定义一个数据段和代码段。数据段内定义一个名称为prl大小为一个字节的字符串,即本人学号。代码段内首先借助段寻址伪指令ASSUME规定好代码段和数据段分别在段寄存器CS、DS。然后start内将数据段段地址放入DS中。接下来定义一个子程序dgdsp,其实现的功能主要是先将bl(字符数目控制)清零,dl(字符范围0-9)赋值为字符0的ascll码。然后定义一个lp循环,循环内调用DOS2号功能显示字符,并bl、dl自增,接着比较dl与字符9的ascll码值的大小,若大于就将dl重置为字符0的ascll码。若小于则跳转到next循环,next循环中主要比较bl与13的大小,若小于则跳转到lp,若大于就进入bbb子程序。bbb子程序主要是先保护DX将其压栈,然后使用DOS9号功能显示prl字符串,最后将DX出栈。然后进入next循环将DX压栈,分别使用DOS0a、02号功能将dl输入显示,最后将DX出栈。分别将bl、al清零,最后跳转到lp子程序继续循环执行。 流程图如下:

汇编语言实验报告(子程序)

西安财经学院信息学院 姓名 学号 10051704 班级计本1004班 指导教师张娟 《汇编语言程序设计》实验报告 实验名子程序结构程序设计 实验室实验楼403 实验日期 2013/06/09 1、实验目的及要求 1. 学习子程序的编写,主子程序的调用 2. 不同模块间程序的调用和调试 二、实验环境 硬件环境:一台微型计算机; 软件环境:windows 7 链接程序:LINK.EXE 调试环境:DOSBOX虚拟平台。 3、实验内容 数据段中的6个字符,“ABCDEF”,调用子程序将其逐个显示出来。子程序的功能是显示一个字符。 四、实验过程 1. 通过编译程序、链接程序分别生成OBJ和EXE文件后,直接运 行查看结果如下: 2. 反汇编,查看程序的指令,如下所示:

3. 用 -d 查看数据段内存放的数据: 4. 单步执行

查看堆栈段的内容:

继续单步执行:

5、源程序清单 程序源代码如下: DATA SEGMENT MAG DB ‘ABCDEF’ DATA ENDS CODE SEGMENT ASSUME CS: CODE, DS: DATA START: MOV AX, DATA MOV DS, AX MOV SI, 0 MOV CX, 6 LL: MOV DL, MAG[SI] CALL MADD INC SI LOOP LL MOV AH, 4CH INT 21H MADD PROC MOV AH, 02H INT 21H RET MADD ENDP CODE ENDS END START 6、实验体会 本次实验完成比较顺利。首先,程序是在网上找的,但是我用纸笔写下来仔细地看程序的每一行代码,都弄清楚以后,才建立的文件一步一步执行下来的。其实实验中还是遇到了一些小问题,但都能够顺利解决,所以本次实验不仅巩固了理论知识、培养了动手能力,还增加了做实验的自信心。对以后的学习都有很大的帮助。

c语言实习报告

实习报告 实习性质: C语言课程实习 学生姓名:谢辉 专业班级:信安141 指导教师:郑晓蓉、杨娟 实习时间:2014年12月22日- 2014年12月26日 实习地点:1203 重庆工程职业技术学院 学生实习考核表 三号黑体行距:固定

目录 1实习目的..................................................... 2 实习概况..................................................... 2.1 实习要求 ............................................... 2.2 实习时间 ............................................... 2.3 实习环境 ............................................... 2.4 开发环境 ............................................... 3 实习内容..................................................... 3.1 系统需求分析 ........................................... 3.2 程序设计 ............................................... 3.2.1程序的初始界面..................................... 3.2.2成绩的输入......................................... 3.2.3成绩的查询......................................... 3.2.4各科成绩的排序..................................... 3.4.5总成绩排序.........................................

2010C语言实验报告参考答案

2010C语言实验报告参考答案

长沙理工大学2010C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include main() { printf("The dress is long\n"); printf("The shoes are big\n"); printf("The trousers are black\n"); } 2.改错题(将正确程序写在指定位置) 正确的程序为: #include main() {

printf("商品名称价格\n"); printf("TCL电视机¥7600\n"); printf("美的空调¥2000\n"); printf("SunRose键盘¥50.5\n"); } 2.编写程序: a=150,b=20,c=45,编写求a/b、a/c(商)和a%b、a%c(余数)的程序。 答案: #include main() { int a,b,c,x,y; a=150; b=20; c=45; x=a/b; y=a/c; printf("a/b的商=%d\n",x); printf("a/c的商=%d\n",y);

x=a%b; y=a%c; printf("a/b的余数=%d\n",x); printf("a/c的余数=%d\n",y); } 4. 设变量a的值为0,b的值为-10,编写程序:当a>b时,将b赋给c;当a<=b时,将a赋给c。(提示:用条件运算符) 答案: #include main() { int a,b,c; a=0; b=-10; c= (a>b) ? b:a;

大学课程汇编语言的实验报告

实验报告 实验课程: 学生姓名: 学号: 专业班级:电气信息类III班 2011年12月20日

目录 (1)汇编语言程序上机过程 (2) (2)字符串处理程序实验 (6) (3)子程序实验 (13) (4)中断程序实验 (21) (5)C++调用汇编子程序 (25)

南昌大学实验报告 ---(1)汇编语言程序上机过程学生姓名:学号:专业班级: 实验类型:□验证■综合□设计□创新实验日期:2011.11.12/13实验成绩:一、实验目的 熟练掌握汇编语言程序的编辑、调试和运行的过程和方法。了解汇编语言程序的汇编、运行环境。 二、实验内容 1.掌握常用的编辑工具软件(如WORD、EDIT)、MASM和LINK的使用; 2.伪指令:SEGMENT,ENDS,ASSUME,END,OFFSET,DUP; 3.利用的INT21H的1号功能实现键盘输入的方法; 三、实验环境 PC微机 DOS操作系统或Windows操作系统 MASM.EXE,LINK.EXE,https://www.doczj.com/doc/2e12173448.html,或宏汇编集成环境 四、实验要求 1.仔细阅读有关伪指令SEGMENT,ENDS,ASSUME,END,OFFSET,DUP的内容; 2.了解利用的INT21H的1号功能实现键盘输入的方法,了解.EXE文件和.COM文件的区别及用INT21H4C号功能返回系统的方法; 3.阅读下面程序段。 五、主要实验步骤 程序: data segment message db'This is a sample program of keyboard and disply' db0dh,0ah,'Please strike the key!',0dh,0ah,'$' data ends stack segment para stack'stack' db50dup(?) stack ends code segment assume cs:code,ds:data,ss:stack start:mov ax,data mov ds,ax mov dx,offset message mov ah,9 int21h again:mov ah,1

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

微机原理实验报告 实验名称汇编语言程序设计 一、实验目的 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 +

99223344H = xxxxxxxxH

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

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

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

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

哈工大(威海)c语言实验报告册答案

实验1简单判定性问题求解 一、实验学时 完成本实验需4学时。 二、实验目的 1、阅读程序题 (1)掌握C语言数据类型,熟悉如何定义一个整型、字符型的变量,以及对它们赋值的方法; (2)掌握不同的类型数据之间赋值的规律; (3)掌握数据在内存中的存储方式; (4)学会输入、输出函数的基本格式和使用方法; (5)学会使用有关算术运算符、逻辑运算符、关系运算符,以及包含这些运算符的表达式。 2、编程题 (1)如何运用if-else判定性结构进行程序设计; (2)如何运用switch判定性结构进行程序设计。 3、调试题 (1)熟悉C程序的编辑、编译、连接和运行的过程。 三、实验指导 为了达到最佳的实验效果,以下提供几条适于编程的指导意见,可供参考。 1、阅读程序题应先运用自己在课堂所学的知识,推导出结果,在上机时输入计算机,印证自己推导的结果,注意观察数据在内存中的存储方式、含不同种运算符表达式的输出结果。 2、编程题必须首先画出流程图,并反复思考判断程序设计的正确性,完成程序的设计。要注意简单判定性问题的结构选择。 3、调试题应明确程序的调试、测试是一项非常烦琐的工作,也是非常重要的工作。对于初学者来说应该建立良好的习惯,在调试程序的时候,应该尽可能考虑到程序运行时各种可能情况。

四、实验内容 1、阅读程序题 (1)main( ) { /*定义字符型变量*/ char c1,c2; /*向字符变量赋以整数*/ c1=97; c2=98; printf("%c %c\n",c1,c2); /*以字符形式输出*/ printf("%d %d\n",c1,c2); /*以整数形式输出*/ } 思考:可否改成int c1,c2;输出结果是?相同 (2)main() { int a=7,b=5; printf("%d\n",b=b/a); } 思考:若将printf语句中%d变为%f,可否输出分式的值?可以(3)main() { int a=9; a+=a-=a+a; /*包含复合的赋值运算符的赋值表达式*/ printf("%d\n",a); } 思考:赋值表达式a+=a-=a+a的求解步骤? 第一步:a=a-(a+a)=-9 第二步a=a+a=18 (4)main() { int k=-1; printf("%d,%u\n",k,k);

汇编程序调试实验报告

微机原理与接口技术 作 业 班级: 目录 一、........................................................... 实验目的:2 二、............................................................. 实验环境2 三、............................................................. 实验过程3 (一)................................................. 基础知识储备3

(二)............................................. 汇编语言程序设计3

(三)汇编程序调试 (3) 四、............................................................. 调试实例4 (一)....................................................... 实例一4 (二)....................................................... 实例二6 (三)....................................................... 实例三9 (四)....................................................... 实例四12五、............................................................. 实验总结15 (一)..................................................... 实验收获15 (二)..................................................... 实验感悟16 一、实验目的: 汇编语言是一种用助记符表示的程序设计语言。用汇编语言编写的源程序生成的目标 代码短,占内存少,执行速度快,适合于系统软件、实时控制软件、I/O接口驱动等程序设计。通过本次实验,熟练掌握汇编程序的调试,深入了解MAS汇编语言及其程序设计方法。 、实验环境 EDIT编辑器、MASME编程序、LINK连接程序、TD调试程序

游戏C语言实验报告

嘉应学院计算机学院 实验报告 课程名称: C程序设计 开课学期: 2015—2016学年第1学期 班级:计算机1505 指导老师:陈广明 设计题目:游戏2048 学生姓名(学号):第3组:钟瞻宇

目录 一、实验目的和要求 .................................................................................................................................................... 二、实验环境、内容和方法 ........................................................................................................................................ 三、程序设计 ................................................................................................................................................................ 四、源代码 .................................................................................................................................................................... 五、调试与运行结果.................................................................................................................................................... 六、总结........................................................................................................................................................................

C语言实验报告参考源代码

实验5三种基本结构的综合应用 4.一个素数(设为p)依次从最高位去掉一位,二位,三位,……,若得到的各数仍都是素数(注:除1和它本身外,不能被其它整数整除的正整数称为素数,1不是素数,2是素数),且数p的各位数字均不为零,则称该数p为逆向超级素数。例如,617,17,7都是素数,因此617是逆向超级素数,尽管503,03,3都是素数,但它不是逆向超级素数,因为它包含有零。试求[100,999]之内的所有逆向超级素数的个数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=100;i<=999;i++) {for(j=2;j=i) /*三位数是素数时*/ {k=i%100; /*去掉百位数字*/ if(k>=10) /*十位数字不是0时*/ {for(m=2;m=k) /*两位数是素数时*/ {p=i%10; /*p为个位数字*/ for(q=2;q=p)n++;}}}} printf("%d\n",n);} Key:57 5.求[2,400]中相差为10的相邻素数对的对数。 #include "stdio.h" main() {int i,j,k,m,p,q,n=0; for(i=2;i<=400;i++) {for(j=2;j=i) /*i是素数时*/ {for(k=i+1;k=k)break;} /*k是素数时终止if语句的外层循环*/ if(k>=i+10) /*[i+1,i+9]不是素数时*/ {for(q=2;q

汇编语言模拟电梯实验报告书

一.实训目的 (1) 二.实训内容与要求 (1) 1.基本内容 (2) 2.实训要求 (2) 三.实训设计思路 (1) 1.总体思路 (3) 2.硬件设计 (4) 3.软件设计 (6) 四.模拟电梯源代码 (9) 五.加载调试 (28) 六.实训总结 (30) 1.出现的问题及排除方法 (30) 2.实训注意事项 (30) 3.心得体会 (1) 七.参考文献 (31) 一.实训目的 1.了解电梯调度算法,运用汇编语言编写程序。 2.利用微机实验系统来模拟电梯,实现电梯功能。 3.进一步掌握微机接口的设计方法,正确连各芯片引脚。 4. 加强学生实际应用能力及综合知识运用能力的培养。

二.实训内容与要求 绘制流程图、根据流程图编写程序、选用硬件电路编制应用软件、自主选择硬编制应用软件,并画出详细原理图。 2.实训要求 用键盘、按钮、八段码和LED模拟电梯工作过程。楼层设为8层,键盘数字键1~8用来键入希望停的楼层,8个LED显示希望停的楼层,八段码指示电梯当前所在楼层,按钮用来启、停电梯。电梯正常运行时以每2秒1层的速度上升或下降。要求“电梯”能按以下方式运行: (1)设电梯停在某层。键入1~8数字键,如数字与当前电梯停层同,则什么亦不动作,若不同则相应楼层的LED亮;如按运行键,则电梯自动判别上升或下降一直到达希望停的楼层。 (2)设电梯正在上升或下降运行,若键入新的希望停的楼层数字,则对同方向未到的楼层能停,对其它情况则先停原希望停的楼层,然后按运行键后继续运行)。如下几例: 电梯在2层,向上运行,LED希望在6层停,若键入4,则将在4楼停,若按运行键,则运行至6层停;若键入的不是4而是8,则电梯将先停在6层,再按运行键,运行至8层停若键入的不是4(或8),而是1,则电梯先停在6层,再按 运行键,运行至1层停。

相关主题
文本预览
相关文档 最新文档