资讯详情

C语言中特殊运算符.doc

特殊运算符

一、"?"运算符

"?"运算符是三目运算符, 一般形式如下:

?:;

"?"运算符的含义如下: 表达式1的值, 如果为真, 则求表达式2 并将其作为整个表达值; 如果表达式1 的值为假, 则求表达式3 并将其作为整个表达值。

例如:

main()

{

int x, y;

x=50;

y=x>70?100:0;

}

本例中, y如果x=80, y将被赋值100。

因此, "?"可以替代某些操作符if-then-else形式的语句。

二、"&"和"*"运算符

"&"操作符是返回操作数地址的单目操作符。

"*"运算符是对"&"补充运算符, 它返回地址中的变量值, 也是单目操作符。

例如:

main()

{

int i, j, *m;

i=10;

m=&i; /*赋予变量i地址m*/

j=*m; /*地址m所指单元的值j*/

}

上述程序运行后, i=10, m为其对应的内存地址, j的值也为10。

三、","运算符

","操作符用于将多个表达式串在一起, ","运算符的左侧不返回, 右表达值是整个表达值。

例如:

main()

{

int x, y;

x=50;

y=(x=x-5, x/5); }

执行上述程序后,y值为9, 由于x的初始值为50, 减5后变为45, 45除5为9赋给y。

四、sizeof运算符

sizeof运算符是单目运算符, 它返回变量或类型的字节长度。

例如:

sizeof(double) 为8

sizeof(int) 为2

也可以求已定义的变量, 例如:

float f;

int i;

i=sizeof(f);

I值为4。

五、联合操作

Turbo C有一种特殊的简写方法, 它用来简化赋值语句, 适用于所有双目运算符。一般形式如下:

=

相当于

=

例如:

a=a b 可写成 a =b

a=a&b 可写成 a&=b

a=a/(b-c) 可写成 a/=b-c

Turbo C计算符的优先级是优先级。 当一个表达式中有多个操作符参与操作时, 按下表规定的优先级计算。表中优先级从上到下逐渐降低, 同行优先级相同。

例如:

表达式 10>4&&!(100<99)||3<=5 的值为1

表达式 10>4&&!(100<99)&&3<=5 的值为0

Turbo C计算符的优先顺序

()(小括号) [](数组下标) .(结构成员) ->(指针结构成员)( 最高)

!(逻辑非) .(位取反) -(负号) (加1) --(减1) &(变量地址)

*(指针所指内容) type(函数说明) sizeof(长度计算)

*(乘) /(除) %(取模)

(加) -(减)

<>(位右移)

(大于) >=(大于等于)

==(等于) !=(不等于)

&(位与)

^(位异或)

|(位或)

&&(逻辑与)

标签: 旧线网套连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

 锐单商城 - 一站式电子元器件采购平台  

 深圳锐单电子有限公司