快捷搜索:  汽车  科技

c语言什么是运算符和表达式(C语言中运算符与表达式)

c语言什么是运算符和表达式(C语言中运算符与表达式)按位与:1&1=1,1&0=0,只有两个都为1时,结果才为1,如1011&1100=1000。C语言中的位运算符有按位与(&)、按位或(|)、按位异或(Λ)、按位取反(~)、左移(<<)、右移(>>)。二、表达式的作用:表达式本身什么也不做,它只是返回结果值,如果程序不对表达式作任何的处理,那么该表达式也就失去存在的意义。八、位运算符:

表达式是C语言的主体,C语言中的表达式说简单就简单,说不简单也不简单,但是基础知识最重要,就像盖房子,基础知识就像地基,地基打不好,一切都是白谈。

c语言什么是运算符和表达式(C语言中运算符与表达式)(1)


一、表达式的组成:

表达式由操作符跟操作数组成,表达式可以只含有一个操作数或一个变量名而没有操作符(可以分为基本表达式和常量表达式),比如98,'g',"ags",可以根据表达式操作符的个数分为简单表达式和复杂表达式两种,简单表达式只含有一个操作符,复杂表达式含有两个到两个以上。

表达式可以由多个较小的表达式组成,这些小表达式称为子表达式。如表达式b×c是表达式a b×c的子表达式。

二、表达式的作用:

表达式本身什么也不做,它只是返回结果值,如果程序不对表达式作任何的处理,那么该表达式也就失去存在的意义。



八、位运算符:

C语言中的位运算符有按位与(&)、按位或(|)、按位异或(Λ)、按位取反(~)、左移(<<)、右移(>>)。

按位与:1&1=1,1&0=0,只有两个都为1时,结果才为1,如1011&1100=1000。

按位或:1 | 1= 1,1 | 0= 0,0 | 0=0,只要有一个为1结果就为1,如1011 | 1100=1111。

按位异或:1 Λ 1 =0,1Λ0=1,0Λ0=0,只有两边不相同结果才为真,如1011Λ1000=0011。

按位取反:也就是1变0,0变1,如~1011=0100。

左移<<:a<<n,让a的二进制数左移n位,左移跟操作数符号无关,如11011101<<3=11101000,右边空出来的,以0补齐。

右移>>:a>>n 让a的二进制位右移n位,右移跟操作数的符号有关,如果符号位为1(负数),则右移空出来的一律补1,如11011101>>3=11111011,正数补0,如01101010>>3=00001101。

九:逗号运算符:

在C语言中,可以通过逗号将多个表达式隔开,逗号也是一种运算符,其本质是,将多个表达式组合在一起,然后从左至右逐一运算,最后将右边的值赋给等号左边的变量,如int a=2 b=8;int value=a+b a×b b/a;由于=的优先级高于逗号运算符,所以value实质上就直接等于a+b=10,而后程序还会继续计算a×b和b/a,如果加上括号value=(a b a×b b/a);那么value的结果就为b/a=4。

十、复合赋值运算符:

复合赋值运算符其实是一种缩写形式,它使得对变量的改变更加简洁。如+=、-=、*=、/=、%=、&=、<<=、>>=等,其实a+=b,也就相当于a=a+b,其他一样,只不过把加换成其他运算符,赋值运算符跟复合赋值运算符的区别主要有两点:①、为了简化程序,使程序精练。②、为了提高编译效率。因为a+=b比a=a+b要多计算一次。

十一、sizeof运算符:

此运算符是用来计算字节数的,不同计算机数据类型长度有所不同,为了测量计算机数据类型长度,因而sizeof运算符应运而生,如在32位机器上sizeof(int)=4,当然了括号中也可以说表达式,sizeof(表达式),其他基本一样,不多做介绍。

十二、分隔符:

分隔符顾名思义就是区分或者定界C语言中的不同数据对象,分隔符广泛的用于语句中,它分为单分隔符跟组合分隔符,单分隔符是除下划线、数字、字母以外的ASCII字符。

单分隔符如 ' '(char a b)、'#'(预处理伪指令 #include<xxx>)、'*'(代表指针 int *p)等。

伪指令中一个伪字说明,它既不控制机器的操作也不汇编成机器码,它的作用仅仅是告诉汇编程序如何进行的汇编的指令。算了不多做介绍,毕竟是涉及到汇编的知识。

组合分隔符是由除下划线,数字,字母组成的多个ASCII字符。如>=、+=等。

好了,这篇就到这里,下篇继续。

猜您喜欢: