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 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 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语言程序设计 实训报告 题目:红外避障机器人 院(系):信息工程系 专业:通信工程 学生姓名:韦嘉宝 学号: 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)利用机器人所装配的两个探测器,探测和避开障碍物。 三、设计步骤 成都工业学院·计算机工程学院 《程序设计基础》实验报告 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 (3)#include 汇编语言实验报告 专业: 班级: 姓名: 学号: 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语言那就大错特错了。 我主要存在以下的这些缺点 1、学习耐心与细心不足,如scanf(“%d”,&n);中的“&”有时候会忘了。而在最后 输出时又错写成printf(“%d”,&n);从而错误得输出了地址而不是我原来想要的答案。 2、编程思想不够发散,看着题目有时想不出解答的方法,更不用说编写程序来解 题了。 3、 4、基本功不够,有些函数的表达不太精通,需要看书来核实,以致耗时较多。知识不够广,有些内容没有学好,不能要用到时及时反映出来,认识程度不够 深刻。 5、 6、有时候不够精简,有一点用处不大或者说没有也可以的文字存在。英语水平较差,对错误的地方虽然电脑有说,但由于是英文,理解上还是存在 一点问题。 为了能更好地学好C语言,在今后学习中我要更多的动脑,综合运用所学,多看相关东西,多上机练习,提高电脑水平,增强自学能力,把已会的东西掌握好。 实验中我深刻意识到完成程序的编写,决不意味着万事大吉。认为万无一失的程序,实际上机运行时可能会出现很多意想不到的问题。有时编译程序检测出一大堆错误,有时程序能够顺利运行,但是运行结果并不是你预期中想要的。因为开发环境所提供的编译系统无法发现程序逻辑错误,或者是你原来所设计时的理论错误,这就只能靠自己的上机经验来分析判断错误的所在了。所以程序的调试是一个技巧性很强的工作,它可能比编一个程序耗时更 多。由此可看出上机实践的重要性。 通过本次C语言上机实验,我对这个介于人类与非人类之间的计算机编程语言有了一定的体验。编程的时候有因为顺利编出程序而开心过、有因为做得比人家慢而郁闷过、有因为不知从何入手而无奈过、有因为不知错出在哪而彷徨过但随着练习的增多,我对C语言比以前熟了很多,不再只是纸上谈兵,我都有能力独立做出一些程序,可能对于一些“高手来说这不算什么,或者他们早就会了,但我依然觉得很开心,因为我跟我自己比是进步了。 C语言实验报告参考答案 实验一熟悉C语言程序开发环境及数据描述 四、程序清单 1.编写程序实现在屏幕上显示以下结果: The dress is long The shoes are big The trousers are black 答案: #include 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 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 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++打下坚实基 础。 同时,在实习过程中,通过互相发现问题,共同解决问题,不仅锻炼了我们的合作能力,而 且也让我们发现了一些自己的个人误区以及其 他人容易犯的错误,从而在今后的学习中更加谨 慎,达到事半功倍的效果;通过询问老师,也让 我们养成了不耻下问的好习惯,这将很有利于以 后的学习。 闲乐-一个人闲。不如大家一块儿乐https://www.doczj.com/doc/2e12173448.html, 二,总体设计: 1,学生成绩排名 1,流程图: <通过冒泡法对数组进行排序> <测试时由于循环语句循环次数的错误导致部分数据没有排序,修改FOR语言中的条件即可调试成功>C语言实训报告
大一上期C语言实验报告1熟悉实验环境
汇编语言实验报告
c语言实验报告总结
C语言实验报告参考答案 原
汇编语言综合实验报告
合肥工业大学汇编程序设计实验报告完整代码
C语言实习报告