打印

每天一句C语言,集合大家之智慧,人人都来啊

[复制链接]
2327|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
谈的元|  楼主 | 2010-1-22 20:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
学C语言的朋友,把你们认为好的表达式子写出来,并加以点评啊。

我来抛砖:

我们在在读入一个口的状态时,经常会用一个标记来保存它的状态。

以emc单片机为例,用一个标记保存端口P60的状态。
P60,BIAOJI是位定义。

那么汇编就是
   BS  BIAOJI
   JBS P60
   BC  BIAOJI
多数人会这样写C语言:
if(P60==1) BIAOJI=1;
else                BIAOJI=0;

而实际上这样写就可以了
    BIAOJI=P60;

希望大家一人写一个。那样提高就很块了

相关帖子

沙发
gaohq| | 2010-1-22 20:45 | 只看该作者
坐在沙发上等着收获大侠们的经验,我要是有也会分享的,可我菜鸟一个,还没有,哈哈。

使用特权

评论回复
板凳
yewuyi| | 2010-1-23 08:31 | 只看该作者
学C语言的朋友,把你们认为好的表达式子写出来,并加以点评啊。

我来抛砖:

我们在在读入一个口的状态时,经常会用一个标记来保存它的状态。

以emc单片机为例,用一个标记保存端口P60的状态。
P60,BIAOJI是位定 ...
谈的元 发表于 2010-1-22 20:36


P60瞬间有一个干扰脉冲怎么办?!

使用特权

评论回复
地板
gaohq| | 2010-1-23 11:20 | 只看该作者
哈哈,叶工,先不忙打击么,楼主的提议很好啊。

使用特权

评论回复
5
yewuyi| | 2010-1-23 11:27 | 只看该作者
呵呵,LS,俺没有打击啊,只是顺便提个小疑问。

使用特权

评论回复
6
谈的元|  楼主 | 2010-1-23 18:53 | 只看该作者
呵呵,LS,俺没有打击啊,只是顺便提个小疑问。
yewuyi 发表于 2010-1-23 11:27

提问提的很好,

这个在就是用普通口测量频率时使用。P60外接小电容。

if(P60==1&&BIAOJI==0)  TCC++;
BIAOJI=P60;

还有什么疑问吗?



使用特权

评论回复
7
谈的元|  楼主 | 2010-1-23 18:59 | 只看该作者
希望大家把玉亮出来啊。独乐乐,不如与人同乐!

使用特权

评论回复
8
aozima| | 2010-1-23 19:47 | 只看该作者
if(P60==1) BIAOJI=1;
else                BIAOJI=0;

而实际上这样写就可以了
    BIAOJI=P60;

上面的写法,比下面的更有通用性.
另外,上面的应该写成

if(P60==1)
{
   BIAOJI=1;
}
else
{
   BIAOJI=0;
}
利于阅读

使用特权

评论回复
9
谈的元|  楼主 | 2010-1-23 20:46 | 只看该作者
上面的写法,比下面的更有通用性.
另外,上面的应该写成
if(P60==1)
{
   BIAOJI=1;
}
else
{
   BIAOJI=0;
}
利于阅读
aozima 发表于 2010-1-23 19:47


没要括号的原因是:1.单一语句;2.占用行数少。

这个是个人的习惯啊!

大家伙,把你们认为不错的拿来晒啊!

使用特权

评论回复
10
aozima| | 2010-1-23 20:55 | 只看该作者
代码写得少,不见得运行得快,看的人就晕了.出BUG时的排错就费力了.

使用特权

评论回复
11
hsb.siq| | 2010-1-24 02:59 | 只看该作者
我也觉得还是加{}好,上次就是不加,在写AVR程序的时候,编译居然出错,查了好几个钟,感觉还是不要怕麻烦,规规矩矩好。

使用特权

评论回复
12
aozima| | 2010-1-24 12:13 | 只看该作者
事实上,BIAOJI=1;应该在 = 号左右加上空格

if( P60==1 )
{
   BIAOJI = 1;
}
else
{
   BIAOJI = 0;
}
另外,楼主发贴时是用的全角字符,这也是一个隐患点.

使用特权

评论回复
13
谈的元|  楼主 | 2010-1-24 19:49 | 只看该作者
事实上,BIAOJI=1;应该在 = 号左右加上空格
if( P60==1 )
{
   BIAOJI = 1;
}
else
{
   BIAOJI = 0;
}
另外,楼主发贴时是用的全角字符,这也是一个隐患点.
aozima 发表于 2010-1-24 12:13

你说的很对。

我在这里只是表述思路,没注意什么格式呀!

如果有人Copy就想用的话,我也不管啊。

另外,从你言谈中推断,
你对C一定很有研究吧!

不妨把你认为好的东西都写出来吧,

让我们这些初学C的进步更快。

怎么样?

使用特权

评论回复
14
谈的元|  楼主 | 2010-1-24 19:56 | 只看该作者
定义一个指针变量。
u8  *p1;
u8   x1;

p1=(u8*)x1;

这个的作用是指针指向的地址为 X1变量的大小;

你可以如此来修改某些内存大小。用于标定数据使用。

而一般的C语言的书上都很少介绍这个。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

98

主题

3872

帖子

6

粉丝