阅读下面的程序,写出程序运行的输出结果

阅读下面的程序,写出程序运行的输出结果,第1张

建议吧程序写成这样

1

2

3

4

5

void main(){

for(int y = 9; y > 0;y--){

if(y % 3 == 0){ printf("%d", --y);continue;

}

}

运行结果应该是852

这样程序识别的更友好一些,顺便说一下,您使用的标点全都是中文的,真正写程序的时候要注意

如果是汇编,XDATA的很好访问,直接用MOVX指令,访问的就是XDATA,比如:

MOV DPTR,#1000H

MOVX A,@DPTR

如果是C语言,那么声明变量时加上xdata就可以了。比如

#include<reg51h>

unsigned int xdata a;

main()

{

a=0x5a;

printf("%d",a);

while(1);

}

也可以采取另一种方式来访问XDATA,比如:

#include<reg51h>

#include<absacch>

#define uchar unsigned char

#define uint unsigned int

//PA、PB、PC端口及命令端口地址定义

#define PA XBYTE[0x0000]

#define PB XBYTE[0x0001]

#define PC XBYTE[0x0002]

#define COM XBYTE[0x0003]

//待显示字符编码队列

uchar code DSY_CODE_Queue[]={

0xff,0xff,0xff,0xff,0xff,0xff,0xff,

0xa4,0xc0,0xc0,0x80,0xc0,0x80,0xf9,

0x80,0xff,0xff,0xff,0xff,0xff,0xff,0xff

};

//数码管选通

uchar codeDSY_Index[]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};

//延时

void DelayMS(uint ms)

{

uchari;

while(ms--)for(i=0;i<120;i++);

}

//主程序

void main()

{

uinti,j,k;

COM=0x80; //8255工作方式选择:PA、PB均输出,工作方式0

while(1)

{

for(j=0;j<40;j++) //刷新显示一段时间

{

for(k=0;k<8;k++) //在8个数码管上显示字符

{

PB=DSY_Index[k]; //位码

PA=DSY_CODE_Queue[k+1]; //段码

DelayMS(1);

}

}

i=(i+1)%15; //刷新显示一段时间后递增i,形成滚动效果,最大索引为14

}

}

i=1时,j=1,ij=1

i=2时,j=-1,ij=-2

i=3时,j=1,ij=3

i=4时,j=-1,ij=-4

i=99时,j=1,ij=99

i=100时,j=-1,ij=-100

该程序的功能就是求以上所有的ij的累加值

即sum=1-2+3-4++99-100=-150=-50

因此最终输出sum的值应为-50

以上就是关于阅读下面的程序,写出程序运行的输出结果全部的内容,包括:阅读下面的程序,写出程序运行的输出结果、阅读以下程序,并解释此程序,回答8255的哪个端口在工作并描述输出效果。CODE、阅读以下程序,写出功能:#includestdio.hvoid mian(){int sum= i等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9448877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存