C语言运算符优先级 详细列表

2008年10月24日 11:58 Slyar 10 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

恩,问这个问题的人太多了,懒得继续回答,直接贴上来自己看。。。

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

(表达式)/函数名(形参表)

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

表达式1? 表达式2: 表达式3

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算

说明:

同一优先级的运算符,运算次序由结合方向所决定。

简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符

分类: 编程相关 标签:

大学生活杂记:体育理论课,同学生日

2008年10月23日 21:19 Slyar 8 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

今天又是星期四,上午有体育课,听力课结束我就跑到"龟壳"去了,在那里坐了五分钟,和朋友聊天,突然说起我是选修篮球的,然后不知道哪个人说了一句:"这节篮球不是理论课吗?"然后一阵沉默。。。后面发生的事情我不知道,因为他说完那句话我就拿上包跑掉了。。。

体育理论课是相当无聊的,反正我听了没有十分钟就已经昏昏欲睡了,直到最后看那段太极拳的视频我才稍微清醒一点。。。唯一令我高兴的就是体育老师早下了三分钟课。不要小看这三分钟,这短短的三分钟足以决定我中午是否吃饭。。。因为早下课,所以我一路狂奔到学一食堂,在窗口前面没有人的情况下买饭,然后找地方吃,吃完以后看着窗口前面围了四层的人群,我得意地笑。。。

下午的计算机基础课居然被老师叫起来回答问题,不过那种问题当然难不住我啦,哈哈~上课回来以后某人打电话叫我去练什么合唱,当然被我拒绝了,我才懒得去。。。最多最后说我不参与集体活动之类的,无所谓,俺不在乎。。。哦对了,貌似我们学校的校长又换了。。。

今天是登宇的生日,奔二了~首先祝他生日快乐。这不刚刚才从外面为他庆祝生日回来,吃火锅,大家都很开心~当然酒是少不了的,哈哈~

明天要交高数作业,先去写好了,貌似题比较多。。。

分类: 大学生活 标签: ,

给我的小黑配上了强大的7-Zip

2008年10月22日 23:28 Slyar 9 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

一直想给小黑配上7-Zip的,只是因为我太懒了,所以计划总是搁浅,不过今天终于完成了计划~

晚上往空间里传DZ,因为文件太多了,所以想到使用空间的解压缩功能,不过空间的解压缩只支持.tar.gz,而我的小黑里除了Winrar就没有任何压缩软件了,所以。。。大家都知道了。就这样,我给小黑配置上了强大的7-Zip。

7-Zip真的很强大,压缩比率高不说,速度还比Winrar快,很爽,而且还是免费软件。。。

今天下午从1:40一直上课到8:30,很爽,很爽。。。怎么感觉越来越忙了。。。

唔,又要断网了,不写了。。。

分类: 网络生活 标签: ,

为什么要放烟花?

2008年10月21日 23:15 Slyar 5 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

刚刚上完选修课回来,洗澡的时候又听到外面在放烟花爆竹,不是我们这栋楼,但是因为声音很大,所以应该是附近的宿舍楼,很是奇怪。这几天晚上好像经常会有人放烟花,然后就会伴随着N多男人和女人的喊叫。。。

他(她)们为什么要放烟花呢?

这个问题早就想问了,而我脑子里的答案也无非就两种:求爱、发泄。。。不晓得是不是其他原因。。。

下午语文课进行了小考试,两道问答题,一道是关于《论语》的,另一道是关于老舍的《断魂枪》,写完了没啥感觉。。。哎,明天高数还要测验,怎么最近这么多考试。。。

抓紧时间上网,还有半个小时,断网了以后洗衣服。。。可怜的我。。。

分类: 大学生活 标签: ,

微软没黑屏,学校没停电

2008年10月20日 17:29 Slyar 11 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

按微软先前的声明,从今天起,WGA微软正版认证就会通过自动更新程序发布,盗版用户一旦升级补丁,就将接收到微软最直接明显的提醒:每小时黑屏一次。后来查了一下,原来此"黑屏"非彼"黑屏",只不过是桌面背景变黑而已。。。汗,被雷到了。。。

我的XP通过了正版验证,没法体验了,不过据我观察也没发现谁的桌面被"涂黑"。。。难道是因为有GFW的存在,微软被强大的GFW给河蟹了?有待考证。。。

本来通告说今天下午检查电路要停电的,可是除了中午断了1分钟电,导致全楼的台式机集体"黑屏"外,到现在一直都没有停电。。。本来我还说停电就停电吧,反正我有电池能上网还,可是中午那电一断,网也挂了。。。仔细想了一下明白了,每栋楼都有自己的交换机,断电的话。。。汗,还是不要断电的好~~

今天高数老师通知下次课要小测验,语文老师也要小测验。。。要抽点时间复习一下语文数学了,我已经忘掉考试的感觉。。。

很奇怪他们怎么会有那么多时间去搞什么运动会、方阵、合唱、联谊、体育训练,为什么我就觉得自己的时间那么不够呢?看来是QQ群加多了,恩,把系群退了,不跟他们玩。。。坚决不参加任何活动,等我把自己要学的东西搞定再说。。。

分类: 大学生活 标签: ,

过W3C标准(XHTML1.0校验)需要注意的地方

2008年10月19日 09:40 Slyar 6 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

很多朋友让我帮他们改代码,因为他们的代码总是过不了W3C标准,一次两次还好,但是对于SLYAR这种"懒仙"级别的人来说,太痛苦了。。。今天SLYAR就帮大家总结一下,以后先自查,还不行再找我。。。

1、所有元素和属性名要小写。

2、属性值必须用双引号括起。

3、属性必须有值。

4、标签"p"只能在 applet, blockquote, body, button, center, dd, del, div, fieldset, form, iframe, ins, li, map, noframes, noscript, object, td, th 中使用。

5、标签"li"只能在 dir, menu, ol, ul 中使用。

6、使用等式实体

& 转换为 &amp;
< 转换为 &lt;
> 转换为 &gt;
"  转换为 &quot;
空格 转换为 &nbsp;
版权符© 转换为 &copy;
注册符® 转换为 &reg;

7、闭合字符要使用 />

8、图片必须加上alt=""标签

9、script必须加type="text/javascript"

先写这么多,想起来再说。。。

分类: 网络相关 标签: , , ,

堆排序(Heap Sort) 算法实现 C语言版

2008年10月18日 13:52 Slyar 14 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

n个关键字序列Kl,K2,…,Kn称为堆(Heap),当且仅当该序列满足如下性质(简称为堆性质):

ki≤K2i且ki≤K2i+1 或  Ki≥K2i且ki≥K2i+1(1≤i≤ n)

若将此序列所存储的向量R[1..n]看做是一棵完全二叉树的存储结构,则堆实质上是满足如下性质的完全二叉树:树中任一非叶结点的关键字均不大于(或不小于)其左右孩子(若存在)结点的关键字。 (即如果按照线性存储该树,可得到一个不下降序列或不上升序列)

SLYAR整理了一下算法,用C语言实现,带注释。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* i为根节点,n为节点总数 */
void sift(int a[], int i, int n)
{
    int child, tmp;
    for (tmp = a[i]; n >= 2 * i; i = child)
    {
        /* i的左孩子为2*i,右孩子为2*i+1 */
        child = 2 * i;
 
        /* 让child指向孩子中较大的一个 */
        if (child != n && a[child + 1] > a[child])
        {
            child++;
        }
 
        /* 如果孩子节点大 */
        if (tmp < a[child])
        {
            /* 交换孩子节点和根节点 */
            a[i] = a[child];
        }
        else break;
    }
    /* 将根放在合适位置 */
    a[i] = tmp;
}
 
/* 对a[1...n]进行排序 */
void heapsort(int a[], int n)
{
    int i, tmp;
 
    /* 将a[1...n]建成大根堆 */
    for (i = n / 2; i >= 1; i--)
    {
        sift(a, i, n);
    }
 
    /* 进行n-1趟排序 */
    for (i = n; i >= 2; i--)
    {
        /* 交换堆顶元素和最后一个元素 */
        tmp = a[1];
        a[1] = a[i];
        a[i] = tmp;
 
        /* 将a[1...i-1]重建为堆 */
        sift(a, 1, i-1);
    }
}
分类: 编程相关 标签: ,

熟能生巧:有感于大学第一次剪头发

2008年10月17日 20:19 Slyar 13 条评论

文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。

周五,没课。一直在想博客今天发什么,但却没有素材。于是乎,聪明的SLYAR决定自己创造素材。。。

吃过晚饭,我和Jet跑到海2楼下剪头发,这是我上大学以来第一次剪头发,当然要评估一下这间理发店。理发店还算大,灯光效果也不错,卫生状况良好,咦?有奶粉!恩,还好,不是三号长颈鹿。。。

洗头的时间好长啊,洗来洗去。。。(后来才知道,原来洗发吹头是要10块钱的)

(镜头转移)理发师的手随着剪刀。。。呃不对,是剪刀随着理发师的手上下飞舞,那动作快的,刷刷刷刷刷刷。。。眼花缭乱。此情此景,我不禁感慨,技艺真的是熟能生巧啊。。。想家里那边的理发店,一个星期来剪头发的估计也没有这里一天剪头发的多,这里的理发师日复一日地做着"上下飞舞"的动作,技艺岂不高哉?

当然了,技艺高不高我不知道,起码速度达到我的要求了,算账的时候发现要价20,一经询问才知道"单剪"10块,"洗吹"10块。。。我靠,不洗能剪么?哎,真是熟能生奸啊。。。

剪头发的事情先告一段落,我剪得很短,这样可以在很长一段时间不用管头发了。。。

再说说学校的Online Judge,超级不爽,哪有每个题目都这么写Input的:

1、有多组,每组一行,输入n,m( 0<10, 0<10) 输入0 0表示结束。

2、有多组输入,每组输入用空行分隔开,输入以EOF结束。

几乎所有的OJ都是给10个单独的数据,哪有这么偷懒只给1个输入文件里面一堆数据的。。。对这个OJ失去兴趣。。。

分类: 大学生活 标签: ,
bnuep:0801010047