在C语言中各个标点符号的作用是什么?

Python021

在C语言中各个标点符号的作用是什么?,第1张

分号 是一条语句的结束标志符,每一条语句都必须以分号结尾。

冒号 一般在switch语句,三目运算符 例如( ? : ),类 等等中常用到,逗号 一般用于间隔两个变量,例如定义两个变量 int a ,b ;然后还有在逗号表达式中用于间隔连个表达式。 等号在C语言中式赋值符号! 当然还有好多符号,在你以后学习中慢慢会接触到,不要着急,等遇到了个个击破, 现在先给你提一下

1.算术运算符用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算,%)、自增(++)、自减(_)共七种。

2.关系运算符用于比较运算。包括大于(>)、小于(<)、等于(==)、 大于等于(>=)、小于等于(<=)和不等于(!=)六种。

3.逻辑运算符用于逻辑运算。包括与(&&)、或(||)、非(!)三种。

4.位操作运算符参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

5.赋值运算符用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,^=,>>=,<<=)三类共十一种。

6.条件运算符这是一个三目运算符,用于条件求值(?:)。

7.逗号运算符用于把若干表达式组合成一个表达式(,)。

8.指针运算符用于取内容(*)和取地址(&)二种运算。

9.求字节数运算符用于计算数据类型所占的字节数(sizeof)。

10.特殊运算符有括号(),下标[],成员(→,.)等几种

&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。

资料扩展

1、符号 &和 | 这两个运算符都是二进制的按位操作符。

&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 &1011 = 1010,1010 &1000 = 1000。

|: 二进制“或”(有1时,结果是1,都是0时,结果为0。),比如:1010 | 1011 = 1011,1010 | 1000 = 1010。

2、位运算符将数字视为二进制值,并按位进行相应运算,运算完成后再重新转换为数字。

例如:

表达式10&15表示(1010 &1111),它将返回表示1010的值10。因为真真得真,或者是11得1,同位全是1结果也是1。

表达式10|15表示(1010 | 1111),它将返回表示1111的值15。假假得假。全零得零。

3、C语言中的符号分为10类:算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符、条件运算符、逗号运算符、指针运算符、求字节数运算符和特殊运算符。

4、位操作运算符:参与运算的量,按二进制位进行运算。包括位与(&)、位或(|)、位非(~)、位异或(^)、左移(<<)、右移(>>)六种。

如果真正掌握了C 语言,你就能很轻易的回答上来。这个问题就请读者试着回答一下吧。本章不会像关键字一样一个一个深入讨论,只是将容易出错的地方讨论一下。

表(2.1)标准C 语言的基本符号

C 语言的基本符号就有20 多个,每个符号可能同时具有多重含义,而且这些符号之间相互组合又使得C 语言中的符号变得更加复杂起来。

你也许听说过“国际C 语言乱码大赛(IOCCC)”,能获奖的人毫无疑问是世界顶级C程序员。这是他们利用C 语言的特点极限挖掘的结果。下面这个例子就是网上广为流传的一个经典作品:

#i nclude <stdio.h>

main(t,_,a)char *a{return!0<t?t<3?main(-79,-13,a+main(-87,1-_,

main(-86,0,a+1)+a)):1,t<_?main(t+1,_,a):3,main(-94,-27+t,a)&&t==2?_<13?main(2,_+1,"%s %d %d\n"):9:16:t<0?t<-72?main(_,t,"@n'+,#'/*{}w+/w#cdnr/+,{}r/*de}+,/*{*+,/w{%+,/w#q#n+,/#{l+,/n{n+,/+#n+,/#\#q#n+,/+k#*+,/'r :'d*'3,}{w+K w'K:'+}e#'dq#'l \q#'+d'K#!/+k#q#'r}eKK#}w'r}eKK{nl]'/##q#n'){)#}w'){){nl]'/+#n'd}rw' i# \){nl]!/n{n#'r{#w'r nc{nl]'/#{l,+'K {rw' iK{[{nl]'/w#q#n'wk nw' \

iwk{KK{nl]!/w{%'l##w#' i:{nl]'/*{q#'ldr'}{nlwb!/*de}'c \{nl'-{}rw]'/+,}##'*}#nc,',#nw]'/+kd'+e}+#'rdq#w! nr'/ ') }+}{rl#'{n' ')# \}'+}##(!!/"):t<-50?_==*a?putchar(31[a]):main(-65,_,a+1):main((*a=='/')+t,_,a+1):0<t?main(2,2,"%s"):*a=='/'||main(0,main(-61,*a,"!ekdc i@bK'(q)-[w]*%n+r3#l,{}:\nuwloca-Om.vpbks,fxntdCeghiry"),a+1)}

还没发狂?看来你抵抗力够强的。这是IOCCC 1988 年获奖作品,作者是Ian Phillipps。

毫无疑问,Ian Phillipps 是世界上最顶级的C 语言程序员之一。你可以数数这里面用了多少个符号。当然这里我并不会讨论这段代码,也并不是鼓励你也去写这样的代码(关于这段代码的分析,你可以上网查询)。