实验一代码及截图
铜陵学院c语言实验报告

《C语言程序设计》实验报告2016~2017学年第二学期班级 2016级学号姓名指导教师黄永青实验一 Visual C++ 6.0编程环境与C语言程序的调试过程一、实验学时2 学时。
二、实验目的1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序;2.通过运行简单的C程序,初步了解C源程序的特点。
三、预习内容教材《C语言程序设计》第1章。
四、实验内容1.请调试、运行下面的程序一。
#include <stdio.h>int main( ){printf("Hello,World!\n");return 0;}给出以上程序的运行结果(或其截图):2.请调试、运行下面的程序二。
#include <stdio.h>int main( ){int i,j;for(i=1;i<=9;i++){for(j=1;j<=i;j++)printf("%1d*%1d=%2d ",j,i,j*i);printf("\n");}return 0;}给出以上程序运行结果的截图:3.请改正下面程序三中的语法错误,然后调试、运行该程序,观察分析运行结果。
#include <stdio.h>int main( ){int a,b,sum;a=3b=4;sun=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(1)改正后的程序#include <stdio.h>int main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2)以上程序的运行结果(或其截图):五、思考题1.调试C语言程序的步骤有哪些?答:1. 编辑2. 编译3. 连接4. 运行2.程序的基本结构有哪三种?答:顺序结构,选择结构,循环结构指导教师成绩年月日实验二数据类型、运算符和表达式一、实验学时2 学时。
单片机控制发光二极管实验报告

单片机控制发光二极管实验报告发光二极管广东石油化工学院单片机实验一实验报告实验报告实验一发光二极管实验学院: 电信学院专业:班级学生学号:实验时间一、实验目的1、掌握AT89C51 单片机IO 口的输入输出。
2、掌握用查表方式实现AT89C51 单片机IO 口的控制。
3、练习单片机简单延时子程序的编写。
4、熟练运用Proteus 设计、仿真AT89C51 系统。
二、实验内容1、编写延时子程序,延时时间为0.1S。
代码:void delay(){int i, j;for (i = 0; i 100; i++)for (j = 0; j 125; j++);}2、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,实现亮点以由上到下循环移动,间隔时间为0.1S。
代码:#includereg51.h#includeintrins.hvoid delay(){int i, j;for(i = 0; i 100; i++)for(j = 0; j 125; j++);}void main(){P1 = 0xFE;while(1){P1 (转载于: 写论文网:单片机控制发光二极管实验报告)= _crol_(P1,1);delay();}}运行结果截图:图一3、见图一。
通过AT89C51 单片机控制8 个发光二极管发光,循环实现亮点由上到下移动1 次(间隔时间为0.2S),由下到上移动1 次(间隔时间为0.2S),闪烁1 次(即先全亮0.1S,再全灭0.1S)。
代码:#includereg51.h#define uchar unsigned char#define uint unsigned intvoid delay(){uint i, j;for (i = 0; i 100; i++){for (j = 0; j 128; j++){//delay 100ms, do nothing.}}}void shangXia(){uchar k;P1 = 0xFE;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,1);}}void xiaShang(){uchar k;P1 = 0x7F;for (k = 0; k 8; k++){delay();P1 = _crol_(P1,-1);}}void main(){while(1){shangXia();xiaShang();}}截图与题一相同,增加由下至上。
计算机图形学-3D机器人实验代码和截图

学院名称 课程名称
年级、专 业、班 实验项目 计算机图形学 名称
学 号3D ຫໍສະໝຸດ 器人姓 同组姓名名 指导 教师
实验类型
验证 √
综合 □
设计 □
创新 □ 成绩
教师 评语
教师签名:
年月日
实验报告内容一般包括以下几个内容:1、目的要求 2、仪器用具及材料(仪器名称及主要规格、用具名称) 3、实验内容及原理(简 单但要抓住要点,写出依据原理) 4、操作方法与实验步骤 5、数据图表格(照片) 6、实验过程原始记录 7 数据处理及结果(按 实验要求处理数据、结论) 8、作业题 9、讨论(对实验中存在的问题、进一步的想法等进行讨论)
}
int main(int argc, char** argv) {
//初始化 glutInit(&argc, argv); //设置显示模式 glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGB); //初始化窗口大小 glutInitWindowSize(500, 500); //定义左上角窗口位置 glutInitWindowPosition(100, 100); //创建窗口 glutCreateWindow(argv[0]); //初始化 init(); //显示函数 glutDisplayFunc(display); //窗口大小改变时的响应 glutReshapeFunc(reshape); //鼠标点击事件,鼠标点击或者松开时调用 glutMouseFunc(mouseClick); //鼠标移动事件,鼠标按下并移动时调用 glutMotionFunc(mouseMove); //键盘事件 glutKeyboardFunc(keyPressed); //循环 glutMainLoop(); return 0; } (2)实验截图:
实验一查看CPU和内存,用机器指令和汇编指令编程

实验⼀查看CPU和内存,⽤机器指令和汇编指令编程⼀.实验准备前⾔:由于⼤家的电脑⼤多使⽤的是64位的操作系统,不能在系统⾃带的MS-DOS环境下编写汇编源程序,所以我们需要DOSBox这个软件,以便在64位环境下编写汇编源程序。
下载完成后进⾏挂载,进⼊挂载虚拟盘进⼊debug环境即可⼆.使⽤debug将书中事例程序段写⼊内存,逐条执⾏,观察每条指令执⾏后CPU相关寄存器中内容的变化(可⽤E命令和A命令以两种⽅式将指令写⼊内存)1.使⽤e命令将指令机器码写⼊指定1000:0地址的内存2.使⽤u命令进⾏反汇编查看是否与对应的汇编指令相符合经过核对与相应的汇编指令符合3.使⽤t命令单步执⾏由于指令⾏数过多,这⾥只列出了部分代码截图。
经核对,其符合汇编指令的执⾏第⼀步,将寄存器ax的值设为4e20h第⼆步,将寄存器ax的值加上1416h变为6236h第三步,将寄存器bx的值设为2000h第四步,将寄存器ax的值与bx的值想加并赋给ax......步骤过多就不在此⼀⼀列举了,总之可以发现⽤e指令通过机器码修改内存的内容可以达到汇编指令的作⽤4.使⽤a命令以汇编指令的形式在内存中写⼊机器指令5.使⽤u反汇编指令检查汇编指令与机器码是否对应可以发现将汇编指令反汇编后的机器码与之前所列机器码⼀致6.使⽤t命令进⾏单步执⾏通过汇编指令与单步执⾏的结果与机器码单步执⾏的结果⼀致三.将下⾯三条指令写⼊从2000:0开始的内存单元中,使⽤下⾯三条指令计算2的8次⽅1.代码分析---恢复内容结束---实验结论⼀.实验准备前⾔:由于⼤家的电脑⼤多使⽤的是64位的操作系统,不能在系统⾃带的MS-DOS环境下编写汇编源程序,所以我们需要DOSBox这个软件,以便在64位环境下编写汇编源程序。
下载完成后进⾏挂载,进⼊挂载虚拟盘进⼊debug环境即可⼆.使⽤debug将书中事例程序段写⼊内存,逐条执⾏,观察每条指令执⾏后CPU相关寄存器中内容的变化(可⽤E命令和A命令以两种⽅式将指令写⼊内存)1.使⽤e命令将指令机器码写⼊指定1000:0地址的内存2.使⽤u命令进⾏反汇编查看是否与对应的汇编指令相符合经过核对与相应的汇编指令符合3.使⽤t命令单步执⾏由于指令⾏数过多,这⾥只列出了部分代码截图。
《数据结构》实验1实验报告

南京工程学院实验报告<班级>_<学号>_<实验X>.RAR文件形式交付指导老师。
一、实验目的1.熟悉上机环境,进一步掌握语言的结构特点。
2.掌握线性表的顺序存储结构的定义及实现。
3.掌握线性表的链式存储结构——单链表的定义及实现。
4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。
5.掌握线性表在链式存储结构——单链表中的各种基本操作。
二、实验内容1.顺序线性表的建立、插入及删除。
2.链式线性表的建立、插入及删除。
三、实验步骤1.建立含n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度。
2.利用前面的实验先建立一个顺序表L={21,23,14,5,56,17,31},然后在第i个位置插入元素68。
3.建立一个带头结点的单链表,结点的值域为整型数据。
要求将用户输入的数据按尾插入法来建立相应单链表。
四、程序主要语句及作用程序1的主要代码(附简要注释)public struct sequenlist{public const int MAXSIZE=1024; /*最大值为1024*/public elemtype[] vec;public int len; /* 顺序表的长度 */public sequenlist( int n){vec=new elemtype[MAXSIZE ];len = n;}};class Program{static void Main(string[] args){sequenlist list1 = new sequenlist(5);for (int i = 0; i < 5; i++){list1.vec[i] = i;}for (int i = 0; i < 5; i++){Console.Write("{0}---", list1.vec[i]) ;}Console.WriteLine("\n");Console.WriteLine("表长:{0}\n",list1.len );Console.ReadKey();}}程序2的主要代码(附简要注释)public void insertlist(int i, int x){if (len >= MAXSIZE)throw new Exception("上溢"); /*长度大于最大值则抛出异常*/if (i < 1 || i > len + 1)throw new Exception("位置");/插入位置小于1或大于len+1则抛出插入位置错误的异常for (int j = len; j >= i; j--)vec[j] = vec[j - 1]; //注意第j个元素存在数组下标为j-1处vec[i - 1] = x;len++;}};class Program{static void Main(string[] args){sequenlist list2 = new sequenlist(7);list2.vec[0] = 21;list2.vec[1] = 23;list2.vec[2] = 14;list2.vec[3] = 5;list2.vec[4] = 56;list2.vec[5] = 17;list2.vec[6] = 31;Console.Write("请输入第i个位置插入元素:");int loc =Convert.ToInt32( Console.ReadLine());Console.Write("请输入第{0}个位置插入的元素:", loc);int ele = Convert.ToInt32(Console.ReadLine());Console.WriteLine("插入前的线性表:");for (int i = 0; i < list2.len ; i++){Console.Write("{0}---", list2.vec[i]);}Console.WriteLine("\n");list2.insertlist(loc, ele);Console.WriteLine("插入后的线性表:");for (int i = 0; i < list2.len ; i++){Console.Write("{0}---", list2.vec[i]);}Console.WriteLine("\n");Console.ReadKey();}}程序3的主要代码(附简要注释)class Node{private int num;public int Num{set { num = value; }/输入值get { return num; }/获得值}private Node next;public Node Next{set { next = value; }get { return next; }}}class Pp{static void Main(string[] args){Node head;Node tempNode, tempNode1;int i;head = new Node();Console.WriteLine("输入六项数据:\n");Console.Write("输入第1项数据:");head.Num = Convert.ToInt32(Console.ReadLine());head.Next = null;tempNode = head;for (i = 1; i < 6; i++){tempNode1 = new Node();Console.Write("输入第{0}项数据:",i+1);tempNode1.Num = Convert.ToInt32(Console.ReadLine());/插入项转换为整形数值 tempNode1.Next = null;tempNode.Next = tempNode1;tempNode = tempNode.Next;}Console.WriteLine("线性表:");tempNode = head;for (i = 0; i < 6; i++){Console.Write("{0}", tempNode.Num);if (i < 5){Console.Write("--");}tempNode = tempNode.Next;}Console.ReadKey();}}五、程序运行结果截图程序1程序2程序3六、收获,体会及问题(写得越详细、越个性化、越真实越好,否则我不知道你做这个实验的心路历程,也就无法充分地判断你是否是独立完成的这个实验、你是否在做这个实验时进行了认真仔细地思考、通过这个实验你是否在实践能力上得到了提高)这次试验刚开始做时完全不知道从哪下手,才刚上了几节课,对于线性表、链式表都不是理解的很透彻,不知道用哪个软件编写程序。
51系列单片机实验一LED等全亮全灭汇编代码及注释

实验一汇编代码及注释ORG 0000H伪指令ORG 指定0000H 作为AJMP MAIN的地址,也就是单片机上电后CPU取指的初始地址;AJMP MAIN无条件跳转到主程序MAIN;ORG 0030H伪指令ORG指定030H作为主程序MAIN的第一个地址,也就是MOV P1,#00H的地址;MAIN: 主程序MAIN;MOV P1,#00H将立即数00H赋值给P1口,使P1口对应的8个LED的阴极置0,点亮;ACALL DELAY02调用延迟程序DELAY02,延迟2秒;MOV P1,#0FFH将立即数0FFH赋值给P1口,使P1口对应的8个LED的阴极置1,点熄灭;ACALL DELAY02调用延迟程序DELAY02,延迟2秒;AJMP MAIN无条件跳转到主程序MAIN;DELAY02:延迟子程序DELAY02MOV R5,#2将立即数2赋值给寄存器R5;D1: 延迟子程序D1MOV R6,#200将立即数200赋值给寄存器R6;D2: 延迟子程序D1MOV R7,#250将立即数250赋值给寄存器R6;D3:DJNZ R7,D3条件转移指令,若R7-1≠0,则跳转到D3,否则执行下一条指令;因为R7初始值为250,每执行一次DJNZ R7,D3需要2个机器周期,所以这个循环结束后需要2*250T(T为机器周期);DJNZ R6,D2;条件转移指令,若R6-1≠0,则跳转到D2,否则执行下一条指令;因为R7初始值为200,每执行一次本指令需要2个机器周期。
每延迟1 D3 执行一次本指令,所以这个循环结束后需要200*(2*250+2)T DJNZ R5,D1;条件转移指令,若R5-1≠0,则跳转到D1,否则执行下一条指令;因为R5初始值为2,每执行一次本指令需要2个机器周期。
每延迟1 D2执行一次本指令,所以这个循环结束需要2*((200*(2*250+2)+2)T≈200000T;每个T为1微秒。
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值。
操作系统实验指导书及代码

操作系统实验指导书及代码《操作系统》实验指导书目录实验环境 ................................................. 1 实验报告要求 ............................................. 1 实验一进程控制与处理机调度综合实验 ..................... 2 实验二存储管理与页面置换算法 (7)实验环境本课程实验硬件环境为PⅢ以上的处理器,带有显示器。
操作系统使用windows98以上操作系统,基本编程环境为Turbo C。
实验报告要求实验报告应包含以下内容:(1)实验题目(2)实验目的(3)实验环境(4)算法描述(5)程序源代码(6)出现的问题(7)对问题的解决方案(8)实验结果与结果分析(9)实验思考(学生对本次实验的收获的总结)实验一进程控制与处理机调度综合实验一、实验目的通过模拟进程控制方法及单处理机系统的进程调度,了解进程的结构,进程的创建与撤消,进程的组织及进程的状态及其转换,掌握进程调度策略。
二、实验学时4学时三、实验内容本实验为单机模拟进程调度算法,在程序设计时不需真正地建立线程或者进程。
实验模拟创建若干进程(人为输入或随机数产生),选择一种或几种单处理机的进程调度算法,如FCFS(先来先服务),SPF(短进程优先),RR(时间片轮转法),优先级算法等,模拟进行进程调度。
每进行一次调度,都打印一次运行进程、就绪队列、以及各个进程的PCB,并能在进程完成后及时撤消该进程。
四、算法描述1 进程及进程的运行状态进程是现代计算机中的基本要素,是系统分配资源和调度的基本单位。
进程与程序不同,进程是系统中动态的实体,有它的创建、运行和撤销的过程。
PCB块是系统感知进程存在的唯一实体。
进程的创建必须首先创建进程的PCB块,而进程的运行也伴随着PCB块的变化,进城撤销也要同时撤销它的PCB块。
所以本实验的任务就是通过模拟调度进程的PCB块来调度进程。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一基础
实验目的
1、掌握Visual Studio运行环境的配置方法。
2、通过编写简单的页面,掌握网页的编写和运行方法。
实验内容
一、创建文件系统网站;
1. 在D盘新建文件夹03soft,作为网站目录;
2. 在网站的默认的主页上添加控件Button,双击该控件添加如下代码:
protected void Button1_Click(object sender, EventArgs e) {
("欢迎光临学习天地!");
}
3. 运行这个页面,写出这个页面运行时的页面地址。
实验截图:
二、创建HTTP网站
1、打开IIS管理器,进入管理页面,添加网站名称mysite,并设置物理路径;
2、创建HTTP网站,并选取mysite作为网站目录;
3、在的默认的主页上添加控件Button,双击该控件添加如下代码: protected void Button1_Click(object sender, EventArgs e) {
("欢迎光临学习天地!");
}
4、运行这个页面,写出这个页面运行时的页面地址。
实验截图:
三、创建单一文件模式网页
1、打开第一题中的文件系统网站,新建一个名为的单一文件模式的网页,并在网页中添加Label控件和Button控件,双击Button控件,添加如下代码:
= "Clicked at " + 、运行这个页面,写出单击Button时的运行结果
实验截图:
四、打开第一题中的文件系统网站,在网页的Page_Load事件中编写代码,实现在ListBox1中填充选项,并且单击按钮时不重复加载。
实验截图:
五、思考题
1、文件系统网站由什么服务器支持它运行HTTP网站由什么服务器支持它运行两种类型的网站在调试运行时显示的网址有什么不同
答:文件系统网站由 Development Server支持其运行,HTTP网站由IIS服务器支持它运行。
文件系统显示的是localhost:端口号/文件夹名/网站名,HTTP网站显示的是:localhost:端口号/网站名。
2、IIS管理器中的Default Web Site的物理目录是什么绑定的端口号是什么如果在这个网站中创建虚拟目录并指定为一个HTTP网站的目录,则该网站在运行时网址是什么举例说明。
答:IIS管理器中的Default Web Site的物理目录是程序映射的地址,绑定的端口号80,该网站运行的物理地址是localhost:端口号/网站名。
例如localhost:8010/
3、单一文件模式网页中的程序代码包含在什么标记中
答:.aspx文件中
4、如何解决出现“无法在Web服务器上启动调试”的问题并分析出现该错误的原因。
开始---程序---Visual Studio 2010--- Visual Studio Tools---VS 命令提示
---输入aspnet_regiis -i
出现“开始安装IIS……”
或者输入aspnet_regiis -r
原因是:正确的安装顺序应该先装IIs ,再装.NET,如果顺序反了,就会出现这样的错误。
5、如果将第四题中的IsPostBack属性语句去掉,再次运行程序,会出现什么结果能否找到其他方法实现页面首次加载时,在ListBox1中填充选项,并且回发刷新时不重复加载。
会出现listbox中的文字重复加载。
其他方法是,直接在Page_init 中编辑
实验小结
本次实验第一次运行的网站,有很多步骤操作不是很熟练,比如新建一个HTTP网站时,新建未按步骤,新建的不正确。
之后经由老师的讲解演示,之后的实验进行的很顺利。
写代码要多看多练。