求解释这段C语言程序,求大神解释一下C语言中这段程序是什么意思?实现了什么功能?

2021-01-12 18:07:39 字数 2900 阅读 6241

1楼:

由于没有上下文,只能进行以下猜测:

-图象幅面宽度为640,高度480,象素宽度为24位,实际占用32位;

-pmem可能是每个单元(32位)存放一个象素;

-rgb是将三个字节组合成一个象素24位,bgr是将rgb顺序的图象象素中红和蓝的字节调换;

-前面一个循环将图象第3行到477行进行均值滤波,滤波方式是将该象素附近8个点与此象素求和再除以9得到平均值;

-后面一个循环是将图象未做滤波的几行填充成白色;

-图象处理算法可能存在问题:应该利用双存储区进行运算,结果为了节省内存导致均值运算会得不到正确运算,比如我们计算屏幕中心点的均值时,取到的左边一个象素、整个上面的3个象素均已经被之前的均值运算结果覆盖了,不是原来的象素数据了。也可能是利用高位未使用的字节存放的处理结果?

由于没有rgb的定义无法判断。

求大神解释一下c语言中这段程序是什么意思?实现了什么功能?

2楼:〓傳★說

标准的c语言延时函数

3楼:匿名用户

这是一个延时子程序,延时的时间长短和你调用这个子程序的时候ms的数值有关。ms越大,延时越长。

子程序里面第一条uchar i 不解释

第二条 是一个while循环,先判断ms是否为0 如果不为零执行括号里面的循环,执行完后ms减1。

第三条是一个for循环,目的也很明确,i从0加到120,完了返回循环。

c语言的这种程序主要就是用来延时的,延时的时间由ms,i和系统的时钟决定。具体的时间不同的编译器会有差异,需要实验得出。

4楼:梦里寻你我他

延时功能

参数为一个无符号整数,将其减1,直到等于1退出,循环体内为从0循环到120;

整个程序就是在做延时

5楼:匿名用户

简单的说,就是延时程序,根据函数名字也可以看出来。

至于for循环中120,我推测可能是循环执行120次空语句的时间为1ms。

向该函数传入ms,则可以使程序延时相应的时间。

6楼:匿名用户

空循环,一般是延时用的

不过这种延时是时间不确定的,因为cpu的运行速度不一样的话,延时是不一样的

7楼:匿名用户

我看这段**,就是c51的**,同学是在学51单片机吧总的来说这是一段延时程序。

voiddelayms(uintms)//ms为你要延时多少秒}

8楼:阳顶天鹿鼎记

while和for两层循环,但for循环的循环体什么都不做,所以此程序唯一延时程序。

9楼:匿名用户

这是一个延时程序,一直在空循环,有什么不懂可以问我

10楼:匿名用户

就一个while循环,如果ms--不等于0 的话就进入循环。

里面那个for循环总能看懂的吧。

求这段c语言的解释 求详细 80

11楼:神之战戟

找你还真不容易,刚才的程序错了,改了,你看看!!

#include

#define uint unsigned intvoid delay_ms(uint uitime);

void delay_ms(uint uitime)}void main()}}

在keil里是没问题的!!你跑跑看

下面是你上面给的程序的注释:

#include "reg52.h"

#include "intrins.h" /*包含头文件*/void delay(unsigned int t) /*定义延时函数*/

}/* 延时结束? */

}void main(void)

temp=0x7f; /*当最左侧的小灯亮,将中间变量置为0x7f表示最左侧的小灯亮*/

for(num2=0;num2<8;num2++) /*循环*/}}

12楼:匿名用户

#include "reg52.h" //是c51(用于单片机开发的一种c语言)的头文件

#include "intrins.h" //使用_crol_ 函数,所以需此头文件

void delay(unsigned int t) //此为软件延时函数,就是让系统执行很多条指令,产生延时的效果}}

void main(void)

//下一个二极管做准备,如此实现二极管的依次亮

temp=0x7f; //为点亮第8个二极管做准备

for(num2=0;num2<8;num2++) }}

0xfe=11111110,表示第1个二极管的置低电平,其余7个二极管为高电平,所以只有一个亮

0xfd=11111101,这表示第二个二极管亮

13楼:匿名用户

你这程序是流水灯的吧。

第一个函数是 时间延时。while(t--!0),就是变量t自减1后是否为0,不为0则循环。

接下来时主程序。p0=0xff。是为了把p0都置高。

接下来就是8次循环,temp = _crol_(temp , 1);temp变量左移一位。同样8次循环,temp = _cror_(temp , 1);temp变量右移一位。建议你多看下c和单片机的书,或是听一些教程的。

求一段c语言程序的完成功能解释 5

14楼:匿名用户

采样+平滑滤波+显示,你“只求其中一段程序的解释”,那么具体哪一段看不懂呢?

C语言中这段程序是什么意思,C语言程序中break是什么意思?

1楼 金色潜鸟 这段程序是构建一张黑白棋盘位图。即,横向每8格为一段,黑白交替,竖向也是 每8格为版一段,黑白交替。 i 0x8 即取权 2进制i值的 右数第三位,j 0x8, 取 2进制j值的 右数第三位 然后2者做 异或 运算, 0 0 0 1 0 1 0 1 1 1 1 0 。 数值 0 为黑...

谁能解释一下这个程序C,谁能帮忙详细解释一下这个C语言程序~~要详细的哦~

1楼 匿名用户 p int malloc sizeof int 申请一段大小为sizeof int 的空间 并把该段空间的起始地址赋值给p fut int s int p 2 3 参数s定义为类型int 即指向指针类型的指针 或者叫二级指针用 s就是对其元素进行赋值 2楼 帅的都想毁容 p int ...

C语言下面程序段的运行结果是求详解,谢谢

1楼 读书人 k 0,m 5 因为经过k 这一语句之后j已经从0变为1了 2楼 叔伯老表 打印输出的是 k 2,n 5 c语言 下面程序段的运行结果是 个人算是7,答案是4,求解答 谢谢! 3楼 匿名用户 答案是4 实际上是求出6 10的所有合数数量。 一旦能够整除,就跳出当层j的循环,进入i的下一...