C Primer Plus学习笔记(五)- 运算符、表达式和语句

  • 基本运算符:

几个术语:数据对象、左值、右值和运算符

赋值表达式语句的目的是把值储存到内存位置上。用于储存值的数据存储区统称为数据对象,C标准只有在提到这个概念时才会用到对象这个术语。

标识对象的几种方法:使用变量名、指定数组的元素、结构的成员、使用指针表达式(指针中储存的是它所指向对象的地址)

左值是C语言的术语,用于标识特定数据对象的名称或表达式。对象指的是实际的数据存储,而左值是用于标识或定位存储位置的标签。

C标准新增了一个术语:可修改的左值,用于标识可修改的对象。所以,赋值运算符的左侧应该是可修改的左值,使用术语“对象定位值”更好。

右值指的是能赋值给可修改左值的量,且本身不是左值。

C用运算符表示算术运算,运算对象是运算符操作的对象。

赋值运算符:=

在C语言中,赋值运算符是“=”

a = 2;  //把值2赋给变量a

“=”左边是一个变量名,右边是赋给这个变量的值

加法运算符:+

加法运算符用于加法运算,使其两侧的值相加

a = 1 + 1;

相加的值可以是变量,也可以是常量

int a = 1;
int b = 3;
c = a + b;

减号运算符:-

减号运算符用于减法运算,使其左侧的数减去右侧的数

a = 3 - 1;

加法运算符+和减法运算符-被称为二元运算符,即这些运算符需要两个运算对象才能完成

符号运算符:-和+

减号还可以用于标明或改变一个值的代数符号

a = -1;
b = -a;

加号不会改变运算对象的值或符号

a = +1;

这种方式使用的加号和减号被称为一元运算符,即只需要一个运算对象

乘法运算符:*

符号*表示乘法

a = 1 * 3;

除法运算符:/

符号/表示除法,/左侧的值是被除数,/右侧的值是除数

浮点数除法的结果是浮点数,整数除法的结果是整数,整数是没有小数部分的数。

在C语言中,整数除法结果的小数部分被丢弃,这一过程称为截断

整数除法会截断计算结果的小数部分,不会四舍五入结果

混合整数和浮点数计算的结果是浮点数

实际上,计算机不能真正用浮点数除以整数,编译器会把两个运算对象转换成相同的类型,整数会被转换成浮点数

#include <stdio.h>

int main(void)
{
	printf("integer division: 5/4 is %d \n", 5 / 4);
	printf("integer division: 6/3 is %d \n", 6 / 3);
	printf("floating division 5./4. is %1.2f \n", 5. / 4.);
	printf("mixed division 5./4 is %1.2f \n", 5. / 4);

	return 0;
}

运行结果

对于负数的整数除法,处理小数部分的方法是趋零截断,即直接丢弃小数部分

-3.8进行趋零截断转换成-3

猜你喜欢

转载自www.cnblogs.com/sch01ar/p/8909887.html