Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1270785
  • 博文数量: 160
  • 博客积分: 4132
  • 博客等级: 中校
  • 技术积分: 2086
  • 用 户 组: 普通用户
  • 注册时间: 2010-11-06 21:56
文章分类

全部博文(160)

文章存档

2012年(25)

2011年(120)

2010年(15)

分类: C/C++

2011-02-24 21:04:20

今天下午闲来没事儿,在智联和英才投了大概三十份简历,
没想到还真有人要我,两三个小时后得到了人生中第一个去笔试的机会。
兴奋过后是挺复杂的心情,大学期间大小面试笔试经过无数,说实在的第一次自己找工作 挺害怕。
这个上学期学校组织暑假联想实习还不一样,怕选错切入点、怕自己能力不够、怕高不成低不就,不过不管怎么样 应该去看看吧。挺大的公司总不会把我拐卖了吧,害怕半天说不定连第一轮笔试都过不了呢 哈哈。


书归正传,还是说说c语言吧,明儿过得了过不了都得继续看

优先级

运算符

名称或含义

使用形式

结合方向

说明

1

[]

数组下标

数组名[常量表达式]

左到右

()

圆括号

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

.

成员选择(对象)

对象.成员名

->

成员选择(指针)

对象指针->成员名

2

-

负号运算符

-表达式

右到左

单目运算符

(类型)

强制类型转换

(数据类型)表达式

++

自增运算符

++变量名/变量名++

单目运算符

--

自减运算符

--变量名/变量名--

单目运算符

*

取值运算符

*指针变量

单目运算符

&

取地址运算符

&变量名

单目运算符

!

逻辑非运算符

!表达式

单目运算符

~

按位取反运算符

~表达式

单目运算符

sizeof

长度运算符

sizeof(表达式)

3

/

表达式/表达式

左到右

双目运算符

*

表达式*表达式

双目运算符

%

余数(取模)

整型表达式/整型表达式

双目运算符

4

+

表达式+表达式

左到右

双目运算符

-

表达式-表达式

双目运算符

5

<<

左移

变量<<表达式

左到右

双目运算符

>>

右移

变量>>表达式

双目运算符

6

>

大于

表达式>表达式

左到右

双目运算符

>=

大于等于

表达式>=表达式

双目运算符

<

小于

表达式<表达式

双目运算符

<=

小于等于

表达式<=表达式

双目运算符

7

==

等于

表达式==表达式

左到右

双目运算符

!=

不等于

表达式!= 表达式

双目运算符

8

&

按位与

表达式&表达式

左到右

双目运算符

9

^

按位异或

表达式^表达式

左到右

双目运算符

10

|

按位或

表达式|表达式

左到右

双目运算符

11

&&

逻辑与

表达式&&表达式

左到右

双目运算符

12

||

逻辑或

表达式||表达式

左到右

双目运算符

13

?:

条件运算符

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

右到左

三目运算符

14

=

赋值运算符

变量=表达式

右到左

/=

除后赋值

变量/=表达式

*=

乘后赋值

变量*=表达式

%=

取模后赋值

变量%=表达式

+=

加后赋值

变量+=表达式

-=

减后赋值

变量-=表达式

<<=

左移后赋值

变量<<=表达式

>>=

右移后赋值

变量>>=表达式

&=

按位与后赋值

变量&=表达式

^=

按位异或后赋值

变量^=表达式

|=

按位或后赋值

变量|=表达式

15

,

逗号运算符

表达式,表达式,…

左到右

从左向右顺序运算



总结下:
一般是先从个体的计算开始(自加自减 取非取负),然后两个之间运算(乘除加减)最后是赋值。
顺序除了!,++,--,-,(转换)这类自身的运算符,和?还有=,都是左至右结合。
具体还是见表格吧

然后还有0和‘\0’是逻辑非,其余都可以表示逻辑是



今天课后题全是考结合顺序的 都是各种printf,我就直接上代码了吧
  1. void main()
  2. {
  3.     int a=1,b=2,c=3,x;
  4.     x=-a+b*--c;          //-1+(2*(2))=3
  5.     printf("%d",x);
  6. }



  1. int a,b,i,j;
  2.     i=5,j=5;

  3.     a=-++i; //-(++i)
  4.     b=-j++; //-(j++)
  5.     
  6.     printf("%d\n",a); //-6
  7.     printf("%d\n",b); //-5
  8.     printf("%d\n",i); //6
  9.     printf("%d\n",j)//6



“0
如果不用乘法的逻辑,“0




  1. 5>3||0>-1&&!(1>0//相当于(5>3)||(0>-1&&(!(1>0)))  结果为1
“&&”和“||”同时存在时 &&有更高优先级(我猜是因为 相当于乘法运算)




对了还复习到一个强制类型转换 比如
  1. (double)(a+b); //强制将a+b的结果转换为双精度
  2. (double)a+b; //强制将a转换为双精度,再自动转换b,之后加法计算
  3.      


一会儿去复习复习循环 准备明天笔试,
想着让我写个阶乘或是什么什么数列 还是有点儿心虚 呵呵

阅读(3462) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~