实验三简单程序设计(2)
程序设计实训实验报告(热门20篇)
程序设计实训实验报告(热门20篇)c语言是在国内外广泛使用的一种计算机语言。
其语言功能丰富、表达能力强、使用灵活方便、既具有高级语言的优点,又具有低级语言的许多特点,适合编写系统软件。
其功能强大,不仅用在计算机上广泛用在电子,机械等方面上,而且,所有的windows,unix,linux,mac,os/2,无一例外,哪一个不是c 语言写的?很多新型的语言如,c++,java,c,j,perl...都是衍生自c语言。
掌握了c语言,可以说你就掌握了很多门语言。
学习c程序这门课一年了,这是我们学的第一门专业课,在大学里c语言不但是计算机专业的必修课程而且也是非计算机专业学习计算机基础的一门必修课程。
所以作为我这个计算机专业的学生来说当然十分重要,老师在第一节课说过,c语言是计算机的基础,大多数软件都需要用c语言来编写,通过一个年的学习,使我由初步掌握简单的应试知识到完成高难度的深入编程,如我们在编写一个较大的程序时应该把它分开成几个小程序来看,这样会容易得多。
同时,我觉得c语言应该是操作和理论相结合的课程,在不断地编写中去思考,两者是不可分割的。
在学习一年c语言的过程中我也在慢慢探索怎样才能学好c语言,并总结了一点经验:要了解c语言就要从语法规为基础来学习起,首先要是要了解它的结构,比如变量,首先要了解变量的定义方式(格式),其意义是什么(定义变量有什么用);其次就是要我要怎么去运用它(我要用什么型式去应用它)。
在c语言的命令行中所有的语句都是有它自己的一定格式和形式出现在我们面前,所以我们在学习某种语句或命令时你首先要了解的就是它的规则是什么、有什么用、怎么实现等。
这些都是语法基础也是c语言的基础如果把它们都了解很好了,那么你编起程序来就很得心应手了。
比如说ifelse和switchcase这两种条件语句都是用来判断执行功能的,那我要什么时侯用if什么时侯用switch呢?如果你很好地了解它们的结构和作用的话那么就知道:若它的条件分支是多个而且条件的值是整数或是一个字符值时就会选switch而不会选if。
C语言程序设计实验3
一、实验目的1. 掌握简单的程序设计,能正确写出顺序结构的源程序。
2. 掌握数据的输入输出方法,能正确使用各种格式转换符。
二、实验内容(程序清单及运行结果)(一)阅读程序1.先读下列程序,写出程序运算结果,再将该程序输入并运行,观察运行结果与你所写的结果是否相同。
①int main(){ int x,y,z;x=y=2;z=3;y=x++-1; printf("%d\t%d\t",x,y);y=++x-1; printf("%d\t%d\t",x,y);y=z--+1; printf("%d\t%d\t",z,y);y=--z+1; printf("%d\t%d\n",z,y);return 0;}②int main(){ char c1='a',c2='b',c3='c',c4='\101',c5='\116';printf("a%cb%c\tc%c\tabc\n",c1,c2,c3);printf("\tb%c%c",c4,c5);return 0;}2.以下各程序需要输入数据,请写出输入数据的格式和变量的值并上机验证。
①#include <stdio.h>int main(){ int a,b,c;printf("input a,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);return 0;}②main(){ int i, j;printf("i, j=?\n");scanf("%d, %d", &i, &j);}③scanf(“%d,%*d,%d”,&a,&b);若输入:3,4,5a=? b=?④scanf(“%3d%2d”,&a,&b);若输入:12345a=?b=?⑤按格式要求输入/输出数据#include "stdio.h"int main(){ int a,b;float x,y;char c1,c2;scanf(“a=%d,b=%d”,&a,&b);scanf(“%f, %e”,&x,&y);getchar();scanf(“%c %c”,&c1,&c2);printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);return 0;}运行该程序,必须按如下方式在键盘上输入数据a=3,b=7 ↙8.5,71.82 ↙a A ↙请同学们写出输出结果(二)完成程序要求:按照给定题目要求,参照出现的语句,填写程序空白处。
实验三-选择结构程序设计
实验三选择结构程序设计3.1实验要求与目的1.掌握关系表达式和逻辑表达式的正确应用2.条件表达式的正确应用3. 掌握if语句,if-else语句,if语句的嵌套的编程方法4. 掌握switch的编程方法及执行特点5.掌握相关的算法(大小写字母的转换,判断数的奇偶,整数的整除,分段函数的求解,成绩的转换等)6. 培养解决实际问题的能力3.2实验指导结构化程序设计的三大结构:顺序结构、选择结构和循环结构。
计算机在执行过程时,根据条件选择所要执行的语句,称为选择结构,也称为分支结构。
在解决实际问题时,可能会因为其种条件的约束产生分支,可能是单分支结构、双分支结构和多分支结构等。
因此可选择相应的语句进行程序设计。
C语言程序设计实现单分支结构常采用,if语句;实现双分支结构常采用:if-else语句;实现多分支结构常采用:if-else嵌套语句或switch语句。
选择结构的程序设计除了选择适当的语句外,另一关键问题是条件的正确表示。
条件可以用表达式来描述,如关系表达式、逻辑表达式等。
【3.1】录入下列程序,输入给定的测试数据,观察其程序执行结果。
程序文件名为:ex3_1.c。
输入测试数据:23 56程序运行结果:max=56#include<stdio.h>void main(){int a,b,max;scanf("%d%d",&a,&b); /*从键盘输入两整数*/max=a;if(max<b)max=b;printf("max=%d\n",max); /*输出最大数*/}该程序的执行过程,从键盘输入两个整数赋予a,b,把a的值先赋予变量max,采用if 语句判别max和b的大小,若max小于b,则把b的值赋予max,然后执行printf语句输出max的值;若max大于b,不执行if后的语句,而执行printf语句输出max的值;max中的值总是大数。
java程序设计实验1,2,3
publicclassMathDemo {
publicstaticvoidmain(String[] args) {
Random rand=newRandom();
intv=rand.nextInt();
System.out.println("你得到了一个"+v);
int a=5+4, b=a*2, c=b/4;
int d=b-c;
int e=-d;
int f=e%4;
double g=18.4, h=g%4;
int i=3;
int j=i++;
int k=++i;
System.out.println("a="+a);
System.out.println("b="+b);
}
}
1)保存文件名为:
2)编译命令为:
3)运行程序命令为:
4)如果删除该程序的第一行import语句,重新编译,有何问题?
评语:日期:年月日
实验二:数值类型与变量声明
实验目的:
1.掌握标识符的定义规则
2.认识Java的数据类型以及掌握各种变量的声明方法。
3.掌握不同数值类型间的赋值问题
实验内容
编写一个JAVA程序,对不同类型的类型进行变量的定义并输出相应的值。
if (e!=0 && a/e>5)
System.out.println("因为e非0且a/e为8大于5,所以输出a/e="+a/e);
if (f!=0 && a/f>5)
实验3 顺序结构程序设计(参考答案)
实验三顺序结构程序设计(参考答案)[实验任务一]:程序分析实例3-1:assignment.c参考答案程序分析实例3-2:参考答案程序分析实例3-3:参考答案问题1:scan0.c参考答案#include <stdio.h>void main(){char a,b;int c;scanf("%c%c%d",&a,&b,&c);printf("%c,%c,%d\n",a,b,c);}程序运行时输入数据的格式为:12 34↙问题2:scan1.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%c%d", &a, &b, &c);printf("%-2c%-2c%d\n", a, b, c);}问题3:scan2.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("%c,%c,%d\n", a, b, c);}问题4:scan3.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c,%c,%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}问题5:scan4.c参考答案#include <stdio.h>void main(){char a, b;int c;scanf("%c%*c%c%*c%d", &a, &b, &c);printf("\'%c\',\'%c\',%d\n", a, b, c);}程序改错实例3-1:correct1.c参考答案程序改错实例3-2:correct2.c参考答案程序改错实例3-3:sin.c参考答案程序改错实例3-3:macro.c参考答案[实验任务四]:编程练习3-1:area.c参考答案编程练习3-2:change.c参考答案编程练习3-3:swap.c参考答案编程练习3-4:interchange.c参考答案编程练习3-5:print.c参考答案。
C语言实验学生版(最新版)
实验一:简单的C程序设计(2学时)一、实验方式:一人一机二、实验目的:1、了解C语言程序的编译环境和编写过程。
2、掌握C语言程序在Visual C++ 6.0环境下的调试过程。
3、初步了解C语言程序的特点。
4、掌握C语言的数据类型。
三、实验内容:1、计算两个数x和y的和。
(教材P5【例1-2】)2、从键盘输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
(实验教材P18)3、给定圆环,输入内圆环半径r1、外圆环半径r2,求出圆环的面积。
(实验教材P27)4、从键盘上输入两个整数x、y,实现两个数的交换,并求出最大值、最小值和两个数的平均值。
(实验教材P21)5、输入并运行以下程序,分析运行结果。
(实验教材P27)#include <stdio.h>void main( ){int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}四、实验程序代码:五、实验运行结果(截图):实验二:顺序结构程序设计(2学时)一、实验方式:一人一机二、实验目的:1、掌握标识符、常量、变量的定义及使用。
2、掌握C语言的常用运算符及表达式。
3、掌握单分支if语句的使用方法。
4、掌握双分支if-else语句的使用方法。
三、实验内容:1、从键盘输入一个3位整数,请输出该数的逆序数。
(实验教材P27)2、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
(实验教材P27)3、判断箱子是正方体还是长方体。
(实验教材P33)4、有一函数: x (x<1)y= 2x-1 (1≤x<10)3x-11 (x≥10) 编写程序,输入x值,输出y值。
Python程序设计实验3:列表、元组的应用
Python程序设计实验3:列表、元组的应⽤实验3:列表、元组的应⽤1. 查找最⼤元素的索引编写函数 indicesOfLargestElement(list),输⼊整数列表list, 返回 list 中最⼤元素所有的索引,索引以列表形式返回。
例⼦:IndexOfLargestElement([2, 1, 3, 1, 3]) # return [2,4](1)具体思路通过max函数获取列表中的最⼤值,并通过循环在列表中查找,如果当前值等于最⼤值,则将下标存⼊列表中。
(2)编程实现# 定义函数def IndexOfLargestElement(list):return[i for i, a in enumerate(list)if a ==max(list)]# 主函数temp =[]print("Please input numbers to end with -1:")# 循环获取输出while True:a =eval(input())if a ==-1:breaktemp.append(a)# 进⾏输出print(IndexOfLargestElement(temp))函数部分通过enumerate()对列表进⾏遍历,并通过max函数获取列表中的最⼤值,并通过循环在列表中查找,如果当前值等于最⼤值,则将下标存⼊列表中。
主函数部分先定义空列表,使⽤while循环读⼊数字并以-1结束,若输⼊值为-1则break出循环,若不为-1则存⼊列表中。
完成列表元素读⼊后调⽤函数并输出。
(3)运⾏并测试①开始运⾏程序,将提⽰输⼊数字并以-1结尾:②完成输⼊后即输出结果:2. 合并两个排序的列表编写函数 merge(list1, list2),将两个排序好的整数列表合并到⼀个新的排序列表中,返回这个新的列表。
使⽤两种⽅法实现 merge 函数:不使⽤ sort() 或 sorted();使⽤ sort() 或 sorted()。
实验三-选择结构程序设计(解答)-(2)
实验三选择结构程序设计(解答)1.改错题(1)下列程序的功能为:输入1个字母,如果它是小写字母,则首先将其转换成大写字母,再输出该字母的前序字母、该字母、该字母的后序字母,例如:输入g,则输出FGH;输入a,则输出ZAB;输入M,则输出LMN;输入Z,则输出YZA。
请纠正程序中存在错误,使程序实现其功能,程序以文件名sy3_1.c存盘。
#include <stdio.h>main(){char ch,c1,c2;printf("Enter a character:");ch=getchar();if((ch>='a')||(ch<='z')) // if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch='A') // if(ch=='A')c1=ch+25;else if(ch='Z') // else if(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}改正后的程序:#include <stdio.h>main(){char ch,c1,c2;printf("Enter a character:");ch=getchar();if((ch>='a')&&(ch<='z'))ch-=32;c1=ch-1;c2=ch+1;if(ch=='A')c1=ch+25;else if(ch=='Z')c2=ch-25;putchar(c1);putchar(ch);putchar(c2);putchar('\n');}(2)下列程序的功能为:输入3个整数后,输出其中最大值。
实验三顺序结构程序设计
实验三顺序结构程序设计一、实验目的1、掌握C 语言中赋值语句的使用方法;2、掌握不同类型数据的输入输出方法,能正确使用各种格式字符;二、实验预习1、认真阅读数据的输入输出部分内容。
三、实验指导1、从键盘输入两个0 到127 的整数,求两数的平方差并输出其值以及这两个整数的ASCII 码对应的字符。
(1)算法分析:标准ASCII 码值范围是0 到127,所以在这范围内的数可以以字符形式输出,实现方法是用格式输出函数并用格式符c 控制输出。
(2)根据结果书写源程序#include<stdio.h>void main( ){int x,y,sub ;scanf("%d%d",&x,&y);/* 变量前一定要加取地址符& */sub=x*x-y*y ;printf("%c,%c,%d",x,y,sub);}(3)在C 编辑环境下编辑源程序。
(4)编译【F9】,直到程序没有错误。
(5)运行【Ctrl+F9】,从键盘输入:100 50↙注意输入时两数间应以空格间隔,不能用逗号,只有源程序输入函数中两格式符以逗号间隔时输入才可以是:100,50↙(6)查看结果【Alt+F5】,输出内容如下:d,2,75002、输入程序#include <stdio.h>void main( ){int a,b ;float d,e ;char c1,c2 ;double f,g ;long m,n ;unsigned int p,q ;a=61 ;b=62 ;c1='a' ;c2='b' ;d=3.56 ;e=-6.87 ;f=3157.890121 ;g=0.123456789 ;m=50000 ;n=-60000 ;p=32768 ;q=40000 ;printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);}(1)运行程序并分析结果。
实验三 循环结构程序设计
实验三 选择结构和循环结构程序设计一、实验目的与要求1、理解并掌握switch 分支结构并熟练使用。
2、熟练掌握三种循环语句的应用。
3、熟练掌握循环结构的嵌套。
二、实验内容1、从键盘输入一个简单的数学表达式,计算并显示该表达式的值, 如输入:67+28,输出67+28=95;如输入:67-28,输出67-28=39;如输入:67*28,输出67*28=1876;如输入:67/28,输出67/28=2;如输入:67%28,输出67%28=11;提示:使用switch 语句2、求100-1000之间能被3整除且不能被5整除的数,输出到屏幕上,每5个数换一行。
3、阶乘问题(1)输入n ,求n 的阶乘n!(n!=1×2×……×n )。
$(2)输入n ,求n 的阶乘和∑=ni n 1!=1!+2!+...+n!4、水仙花数问题输出水仙花数及个数。
(水仙花数的范围是100-1000)水仙花数指该数的每个数的立方和等于其本身的数,例153是一个水仙花数,因为153=13+53+335、数列问题$(1)有一数列:2/1,3/2,5/3,8/5,…输入某数,输出大于此数的最小数列和及n值。
如输入100,输出数列和为100.617699,共62项。
$(2)有一数列:1/1,1/2,1/3,1/4,…输入某数,输出使数列前n 项和大于此数的最小n值及数列和。
如输入5.2,输出5.207082,103.6、公约数公倍数问题输入两个整数,输出它们的最大公约数和最小公倍数。
7、打印图案输入一个数,打印图案。
如输入3,三、源程序四、程序结果五、总结或心得体会。
C语言程序设计实验报告(二)
输入:40,50,60↙
5.运行下述程序,分析输出结果。 main(int b=10; float x=10.0; double y=10.0; printf("a=%d, b=%ld,x=%f, y= %lf\n",a,b,x,y); printf("a=%ld,b=%d, x=%lf,y=%f\n",a,b,x,y); printf("x=%f, x=%e, x=%g\n",x,x,x); } 从此题的输出结果认识各种数据类型在内存的存储方式。
4.了解数据类型在程序设计语言中的意义。
三、实验内容及要求:
内容: 1.编程序,输出如下图形: ** ** ** *** *** **** ****
原程序图
运行结果图
2.编写程序,实现下面的输出格式和结果( 表示空格):
a= 5,b= 7,a-b=-2,a/b= 71%
x=31.19,y= -31.2,z=31.1900
3.编写程序,输入变量 x 值,输出变量 y 的值,并分析输出结果。 (1) y =2.4 * x-1/2 (2) y=x%2/5-x (3) y=x>10&&x<100 (4) y=x>=10||x<=1 (5) y=(x-=x*10,x/=10)
要求变量 x、y 是 float 型。 原程序图
运行结果图
C 语言程序设计实验报告
姓名
学号
系别
班级
09 信息
主讲教师
指导教师
实验日期
专业 信息与计算科学
课程名称
C 语言程序设计
一、实验名称:
同组实验者
实验二、 数据类型及顺序结构
c++程序设计实验三
实验三3.实验内容(1)输入一行字符,分别统计出其中英文字母、空格、数字字符和其它字符的个数。
提示:用cin.get(c)函数从键盘上输入一个字符给变量c ,直到输入回车换行字符'\n'为止。
(2)设有一个数列,它的前四项为0、0、2、5,以后每项分别是其前四项之和,编程求此数列的前20项。
(3)求π近似值的公式为:122122543432122+-⨯⨯⨯⨯⨯=n n n n π其中,n=1、2、3…设计一个程序,求出当n=1000时的π的近似值。
(4) 求出1~599中能被3整除,且至少有一位数字为5的所有整数。
如15、51、513均是满足条件的整数。
提示:将1~599中三位整数i 分解成个位、十位、百位,分别存放在变量a 、b 、c 中。
然后判断a 、b 、c 中是否有5。
将三位整数i (设i=513)分解成个位、十位、百位的方法是:c=i%10; //c= i%10=513%10=3a=i/10; //a= i/10=51b=a%10; //b=a%10=51%10=1a=a/10; //a=a%10=51/10=54.解答参考(1) # include <iostream.h>void main(void){ char c;int i,letter=0,number=0,blank=0,other=0;cout<<"请输入字符串:";cin.get(c); //get(c)函数用于从键盘上提取一个字符while(c!='\n'){ if ('a'<=c && c<='z' || 'A'<=c && c<='Z') letter++;else if ('0'<=c && c<='9') number++;else if (c==' ') blank++; else other++;cin.get(c);}cout<<"letter="<<letter<<endl;cout<<"number="<<number<<endl;cout<<"blank="<<blank<<endl;cout<<"other="<<other<<endl;}运行结果:请输入字符串:I am Student 1234letter=10number=4blank=3other=0(2) 数列前四项值存放在变量f1=0、f2=0、f3=2、f4=5中第5项的值用f1表示,则f1= f1+f2+f3+f4;第6项的值用f2表示,则f2= f2+f3+f4+f1;第7项的值用f3表示,则f3= f3+f4+f1+f2;第8项的值用f4表示,则f4= f4+f1+f2+f3;共进行5次,即可求出此数列的前20项。
实验3 _汇编语言程序设计
实验三:16位机的汇编语言程序设计一实验目的(1) 熟悉监控命令A,D,E,G,R,T,U的使用;(2) 熟悉16位机的29条汇编指令,理解每条汇编指令执行的操作;(3) 能够利用仿真软件TEC2000Sim提供的29条汇编指令编写简单的汇编程序设计。
二实验设备PC电脑一台;需安装软件TEC2000Sim。
三实验准备指令格式、寻址方式和指令系统是讲解、设计和实现控制器部件的基础,但讲解起来枯燥抽象,要让学生真正对这部分教学内容有适度了解和切身体会,开展汇编语言程序设计的实验是必要的,实验不太难,又能提高学生的学习兴趣,有利于加深对指令及指令系统的理解,有利于掌握教学计算机的使用,为开展后续其他教学实验项目做好必要准备。
这项实验最好在16位字长的教学计算机上完成,也可以使用一个我们开发的、运行在PC机上的仿真软件TEC2000sim来进行。
实验内容包括学习教学机的监控程序的使用方法,即如何通过7个监控命令A、U、E、D、R、G、T操作和运行教学计算机。
A命令用于向计算机内输入汇编语言程序的源码,执行单个语句的汇编操作,并把汇编产生的指令代码程序保存到存储器的指定区域;U命令用于对已经保存在内存中的指令代码程序执行反汇编操作,反汇编的结果将被显示到仿真终端的屏幕上,供操作者检查看或修改。
E命令用于向计算机的存储器输入16进制的信息或修改某些存储单元的内容;D命令用于卸出计算机的存储器中的信息并依规定格式显示到仿真终端的屏幕上;R命令用于显示或修改通用寄存器的内容;G命令用于启动内存中的一个指令代码程序,启动后程序连续运行,运行结束后将返回到监控程序的断点,继续运行监控程序;T命令也用于启动内存中的一个指令代码程序,但会使程序处于单指令运行状态,即每发一次T命令只执行用户程序的一个语句,之后就自动回到监控程序的运行状态,使操作者可以跟踪程序的运行过程,随时检查程序的运行结果。
实验的重点内容是学习汇编语言程序设计。
实验三 顺序程序设计
实验三顺序程序设计3.1 实验目的(1)进一步熟悉DEBUG命令的使用(2)熟练掌握使用MASM6.15进行汇编并排除汇编过程中出现语法错误的方法(3)掌握用汇编语言进行顺序程序设计、编写/、调试和运行程序的方法3.2 实验设备及软件环境装有DOS系统及MASM6.15的微机一台。
3.3 实验内容1编程实现程序:用查表法计算N的立方值(N为0~9之间的任一数据)。
2把存储单元A和B中的两个单字节压缩BCD码相加,结果存放到D单元中。
3.4 实验步骤1. 实现实验内容1(1)问题分析●求一个数的立方值可以用乘法运算实现,也可以制造一个立方表,运行时查表实现。
●本题目要求用查表实现。
则在数据段中需要定义3个变量:字型的TABLE,其初值为0~9的立方值;字型的N,存放待查表的0~9范围的数;字型的RESULT,存放查表的结果。
●定义了首址为TABLE的立方表,如下图所示:TABLE两个字节空间●N的关系是:N的立方值=(TABLE+2*N)(2)参考程序DATA SEGMENTTABLE DW 0,1,8,27,64,125,216,343,512,729N DW 3RESULT DW ?DATA ENDSSTACK1 SEGMENT PARA STACKDW 20H DUP(?)STACK1 ENDSCODE SEGMENTASSUME CS:CODE, DS:DA TA, ES:DATA, SS:STACK1START: MOV AX, DA TAMOV DS, AXMOV BX, OFFSET TABLEMOV AX, NSAL AX,1ADD BX, AXMOV AX, [BX]MOV RESULT, AXMOV AH, 4CHINT 21HCODE ENDSEND START(3)操作步骤●使用EDIT编辑源程序TABLE.ASM●汇编&连接●进入DEBUG调试2. 实现实验内容2(1)问题分析●要实现两个BCD码相加,可通过二进制数加法指令完成,然后再用十进制调整指令进行调整,以获得正确的BCD码结果●由于是单字节相加,故只用一条二进制加法指令即可●考虑到相加结果可能有进位,可将表示进位的CF标志位存入单元D+1中(2)参考程序DATA SEGMENTA DB 32H ;被加数B DB 15H ;加数D DB 2 DUP(?);结果单元DATA ENDSCODE SEGMENTASSUME CS:CODE, DS:DATASTART: MOV AX, DATAMOV DS, AXMOV AL, A ;取被加数ADD AL, B ;二进制加法DAA ;调整为十进制结果MOV D, AL ;存回C单元LAHF ;取标志位AND AH, 01 ;取CF位MOV D+1, AH ;存进位到D+1单元MOV AH, 4CHINT 21HCODE ENDSEND START(3)操作步骤●使用EDIT编辑源程序BCDADD.ASM●汇编&连接●进入DEBUG调试3.5 实验任务(1)编程实现:计算2A-B+2D的值,设A=12,B=5,D=10。
实验三:存储程序式计算机的简单程序设计
实验三:存储程序式计算机的简单程序设计1. 实验背景存储程序式计算机是一种能够自行存储和执行程序的计算机系统。
与固定程序计算机不同,存储程序式计算机可以根据不同的需求加载不同的程序,并在运行过程中根据程序进行指令的执行。
本实验旨在通过设计一个简单的存储程序式计算机程序,了解存储程序式计算机的基本原理和程序设计方法。
2. 实验目的•了解存储程序式计算机的基本原理和结构•掌握存储程序式计算机的简单程序设计方法•提高程序设计和调试能力3. 实验材料•存储程序式计算机开发板•计算机组成原理教材•Markdown 编辑器4. 实验步骤4.1 存储程序式计算机的基本原理和结构概述存储程序式计算机由中央处理器(CPU)、存储器(Memory)和输入输出(I/O)设备组成。
其中,CPU 负责执行指令,Memory 负责存储指令和数据,I/O 设备负责输入输出操作。
存储程序式计算机的指令由操作码和操作数组成,操作码指示所执行的操作类型,操作数指定操作的对象或操作数的位置。
4.2 程序设计思路本实验要求设计一个简单的存储程序式计算机程序,实现两个整数相加的功能。
1. 定义两个整数变量 a 和 b,并初始化为 0; 2. 输入两个整数值,分别存入变量 a 和 b; 3. 使用加法指令将 a 和 b 相加,结果存储到变量 a 中; 4. 输出变量 a 的值。
4.3 程序设计代码LOAD aADD bSTORE aOUTPUT a4.4 程序设计解释•第一行代码LOAD a将变量 a 的值加载到 CPU 的寄存器中;•第二行代码ADD b将变量 b 的值与寄存器中的值相加;•第三行代码STORE a将寄存器中的值存储到变量 a 中;•第四行代码OUTPUT a输出变量 a 的值。
4.5 实验结果展示输入两个整数值(如 a=3, b=5),程序输出结果为8。
5. 实验总结通过本次实验,我了解了存储程序式计算机的基本原理和结构,并掌握了存储程序式计算机的简单程序设计方法。
C语言实验三程序 总结 逻辑运算和选择结构程序设计
方法二:用 switch 语句 分析:switch 语句是用于处理多分支的语句。注意,case 后的表达式必须是一个常量 表达式,所以在用 switch 语句之前,必须把 0~100 之间的成绩分别化成相关的常量。所有 A(除 100 以外) 、B、C、D 类的成绩的共同特点是十位数相同,此外都是 E 类。则由此可把 score 除十取整,化为相应的常数。 请同学们自己根据分析写出完整的程序段,并编译、运行、查看结果。
二
实验内容
1 已知三个整数 a,b,c,找出最大值放在 max 中。 #include <stdio.h> main() { 定义整数变量 a,b,c,max; 键盘输入 3 个整数 a,b,c; 在 a,b 中间求出较大数 max(如果 a>=b,则 max=a;否则 max=b); c 与 max 比较,如果 c>max,则 max=c; 输出最大数 max; } 根据上面的算法,编写程序;若输入下列数据,分析程序的执行顺序并写出输出结果。 序号 1 2 3 4 5 6 输入的 3 个整数 a、b、c 1,2,3 1,3,2 2,1,3 2,3,1 3,1,2 3,2,1 输出 max max=3 max=3 max=3 max=3 max=3 max=3
程序如下: #include <stdio.h> main() { int score; char grade; printf("请输入学生成绩:"); scanf("%d",&score); if(score>100||score<0) printf("\n 输入成绩错误!\n"); else{ if(score>=90) grade='A'; else if(score>=80) grade='B'; else if(score>=70) grade='C'; else if(score>=60) grade='D'; else grade='E'; printf("\n 成绩等级是%c\n",grade); } } 运行结果如下:
《计算机硬件技术基础》实验答案程序
实验一:简单程序设计实验(1)编写一个32 位无符号数除法的程序,要求将存放在NUM1 中的32 位无符号数与存放在NUM2 中的16 位无符号数相除,结果存放在NUM3 和NUM4 中。
程序流程图略。
参考源程序:DATA SEGMENTNUM1 DD 2A8B7654HNUM2 DW 5ABCHNUM3 DW ?NUM4 DW ?DATA ENDSCODE SEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATA ;数据段寄存器初始化MOV DS,AXMOV AX, WORD PTR NUM1MOV DX, WORD PTR NUM1+2DIV NUM2MOV NUM3,AXMOV NUM4,DXMOV AH,4CH ;正常返回DOS系统INT 21HCODE ENDSEND START(2)编写一个拆字程序。
要求将存放在ARY 单元的2 位十六进制数X1X2 拆为X1 和X2 两部分,并以0X1 和0X2 的形式分别存入ARY+1 和ARY+2 单元中。
程序流程图略。
参考源程序:DATA SEGMENTARY DB 2AH,?,?DATA ENDSCODE SEGMENTASSUME DS:DATA, CS:CODESTART: MOV AX,DATAMOV DS,AXMOV SI,OFFSET ARY ;取ARY的偏移地址MOV AL,[SI] ;取16进制数至ALMOV BL,ALAND AL,0F0H ;取16进制数的高四位,即X1SHR AL,4MOV [SI+1],AL ;存0X1MOV AL,BLAND AL,0FH ;取16进制数的低四位,即X2MOV [SI+2],AL ;存0X2MOV AH,4CHINT 21HCODE ENDSEND START实验二:分支程序设计实验(1)编写一个字符比较程序,比较3 个无符号字节数A,B,C 的大小,并根据比较结果对变量K 赋值:如果3 个数不相等,则K=0;如果3 个数中有两个相等,则K=1;如果3 个数都相等,则K=2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三简单程序设计
【实验目的】
1、掌握scanf、printf函数语句的使用
2、掌握算术表达式和赋值表达式的使用
3、能够编程实现简单的数据处理
【实验性质】验证性
【实验要求】
1、认真阅读本次实验的目的,了解本次实验要求掌握的内容
2、在上机前,需要预习,在程序改错题旁将程序中存在的错误修改过来,将编程题的
代码和流程图写在预习报告中
3、在实验时,将实验要求的基本题(程序改错和编程题)根据预习报告中编写的代码,
在VC环境中编写出来
4、在VC中将编写的程序编译、调试,能正确运行结果,各题目的具体要求请看题目下
的要求
5、将正确程序上传FTP服务器(ftp://172.17.9.253)
6、争取完成选作题
【实验内容】
1、程序改错
1) 下面程序需要从键盘输入三个数,计算其平均值在屏幕上显示输出。
要求平均值
需要保留两位小数。
源代码如下,程序中存在错误,请将其改正写在旁边,并注明为什么错误。
include <stdio.h>
int Main(){
int x,y,z,float ave; /*定义变量*/
printf("请输入三个数:\n);/*输入提示*/
scanf("%d,%d,%d",x,y,z);/*从键盘输入*/
ave=x+y+z/3;/*计算*/
printf("平均值是:ave=%f",AVE);
return 0;
}
2、编程题
1)编写程序,在计算机屏幕上显示如下信息。
【要求】
(1)使用printf 函数输出字符
2) 设一个正圆台的上底半径r1,下底半径r2,高h 。
请设计一程序,从键盘输入r1,r2,r3;计算并在显示器上输出该圆台的上底面积s 1,下底面积s 2,圆台的体积V 。
【要求】
(1)r1,r2,h 用scanf 函数输入,且在输入前要有提示;
(2)在输出结果时要有文字说明,每个输出值占一行,且小数点后取2位数字。
【思路点拔】
(1)圆面积计算公式为 s=πr 2。
其中r 为圆半径。
(2)圆台体积计算公式为 V=3
/)r1r2r2r1(h 22++π
3) 鸡兔同笼,已知鸡兔总头数为h ,总脚数为f ,求鸡兔各有多少只?
【要求】
(1)用scanf函数输入h和f,且在输入前要有提示;
(2)在输出结果时要有文字说明。
【思路点拔】
设有x只鸡,有y只兔,则有:求出x和y的公式:
从而可以计算出x和y 。
3 选作题
1)编程求ax2+bx+c=0的解
【思路点拔】用求根公式x1,2=(-b √b2-4ac)/2a),求平方根用sqrt()库函数
2)编程求y=sin(ax)+ln(a+x). 要求a和x从键盘输入,
【思路点拔】使用数学函数计算,求ln用log()库函数。