c语言中的特殊运算符

c语言中的特殊运算符


2024年4月16日发(作者:)

少年易学老难成,一寸光阴不可轻 - 百度文库

特殊运算符

一、"?"运算符

"?"运算符是一个三目运算符, 其一般形式是:

<表达式1>?<表达式2>:<表达式3>;

"?"运算符的含义是: 先求表达式1的值, 如果为真, 则求表达式2 的值并把它作为整个表达式的值;

如果表达式1 的值为假, 则求表达式3 的值并把它作为整个表达式的值。

例如:

main()

{

int x, y;

x=50;

y=x>70?100:0;

}

本例中, y将被赋值0。如果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

1

少年易学老难成,一寸光阴不可轻 - 百度文库

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(长度计算)

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

+(加) -(减)

<<(位左移) >>(位右移)

<(小于) <=(小于等于) >(大于) >=(大于等于)

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

&(位与)

^(位异或)

|(位或)

&&(逻辑与)

||(逻辑或)

?:(?表达式)

= += -=(联合操作)

,(逗号运算符) ( 最低)

2


发布者:admin,转转请注明出处:http://www.yc00.com/web/1713239226a2209829.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信