运算符与表达式

来源:互联网 发布:centos7 安装python 编辑:程序博客网 时间:2024/05/18 01:08


混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.

说明:
  这种类型转换是由系统自动进行的

在进行赋值操作时,会发生类型转换
将取值范围小的类型转为取值范围大的类型是安全的
反之是不安全的
如果大类型的值在小类型能容纳的范围之内,则平安无事
但是,浮点数转为整数,会丢失小数部分,非四舍五入
反之,转换后的结果必然是错误的,具体结果与机器和实现方式有关。避免如此使用,好的编译器会发出警告


类型强制转换运算符“(类型)”
消除从大到小的警告
l = (long)i;
可以通过“(类型)表达式”的方式把表达式的值转为任意类型
强转时,你必须知道你在做什么
强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将

C的运算符有以下几类:
(1)算术运算符 (+  -  *  /  %)
(2)关系运算符 (> <  ==  >=  <=  !=)
(3)逻辑运算符 (! &&  ||)
(4)位运算符   (<<   >>   ~   | ∧ &)
(5)赋值运算符 (=及其扩展赋值运算符)
(6)条件运算符 (?:)
(7)逗号运算符  (,)
(8)指针运算符 (*和&)
(9)求字节数运算符(sizeof)
(10)强制类型转换运算符( (类型) )
(11)分量运算符(.->)
(12)下标运算符([ ])
(13)其他 (如函数调用运算符())

基本算术运算符:  + - * / %
结合方向:从左向右
优先级: - ---->* / % -----> + -
说明:
“-”可为单目运算符时,右结合性
两整数相除,结果为整数;有一实数相除,结果为实数
%要求两侧均为整型数据

简单赋值运算符
符号:   =
格式:  变量标识符=表达式
作用:将一个数据(常量或表达式)赋给一个变量
复合赋值运算符
种类:+=  -=  *=  /=  %= 《=  》=  &=  ^=  |=
含义: exp1 op= exp2  exp1 = exp1  op  exp2


函数符号() 数组下标【】
单目运算符
算数运算符
移位运算符
关系运算符
逻辑运算符
三目运算符


自增、自减运算符
  作用是使变量的值增1或减1
如:
++i,--i(在使用i之前,先使i的值加(减)1)
i++,i- - (在使用i之后,使i的值加(减)1)
i++与++i的区别:
  ++i是先执行i=i+1后,再使用i的值;
  i++是先使用i的值后,再执行i=i+1。
例如:
  ①j=++i; i的值先变成4, 再赋给j,j的值均为4
  ②j=i++; 先将 i的值3赋给j,j的值为3,然后i变为4

逗号运算符:将两个表达式连接起来,又称为“顺序求
值运算符“,如:
 3+5,6+8
逗号表达式 的值为14

一般形式:   表达式1,表达式2
求解过程:
  先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。逗号运算符:将两个表达式连接起来,又称为“顺序求
值运算符“,如:
 3+5,6+8
逗号表达式 的值为14

一般形式:   表达式1,表达式2
求解过程:
  先求解表达式1,再求解表达式2。整个逗号表达式的值是表达式2的值。

格式输出函数
printf(格式控制字符串, 输出项表列);
输出若干个任意类型的数据
printf("a=%d b=%f", a, b);

格式输入函数
scanf(格式控制字符串, 地址表列);
scanf("%d,%f”, &a,&b);

%d或%i按十进制有符号整数输出,正数的符号省略
%u按十进制无符号整数输出
%o按八进制无符号整数输出(不输出前导0)
%x或X按十六进制无符号整数输出(不输出前导符0x)
%c按字符型数据输出
%s按字符串数据输出
%f按小数形式输出(6位小数)
%e或E按指数形式输出实数
%%输出%本身
%g或G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

m  表示数据占用的宽度,正整数
n  对实数,指定小数位数(四舍五入)
   对字符串,指定实际输出位数
l  加在d、o、x、u前:输出长整型
   加在f、e 、g前:输出双精度型
h  加在d、o、x 前:输入短整型
-  输出数据在域内左对齐(默认右对齐)
+  指定在有符号数的正数前显示正号(+)





0 0