一、基本运算符
C用运算符表示算数原酸。
1、赋值运算符:=
符号 “=” 被称为赋值运算符 i = 100; 读作“把值100赋给变量i”。 左值 = 右值; 可修改的左值(对象定位值)必须是是变量名,用于标识特定数据对象的名称或者表达式,右值指的是能赋值给可修改左值的量,且本省不是左值。
赋值表达式语句的目的是把值储存袋内存位置上。用于储存值的数据储存区域统称为数据对象。
2、加法运算符:+
加法运算符用于加法运算,是其俩侧的值相加。
3、减法运算符:-
减法运算符用于减法运算,时期左侧的数减去右侧的数。
4、符号运算符:-和+
用于表明或者改变一个值的代付符号。
num = +100;
next = -100;
5、乘法运算符:*
6、除法运算符:/
/ 左侧的值是被除数,右侧的值是除数。 浮点数的除法是浮点数,整数除法的结果是整数。整数是没有小数部分的数,例如3/5,实际结果又小数,在C语言中,整数除法结果的小数部分会被丢弃,这一过程成为 截断
#include<stdio.h>
int main()
{
double f = 0;
f = 5 / 3;
printf("5/3 = %d\n", 5 / 3);
printf("5/3 = %2.5f\n", f);
printf("5.0/3.0 = %f\n", 5.0 / 3.0);
return 0;
}
7、运算符优先级
乘法和除法优先级大于加法和减法。如果同级,按从左到右的顺序执行。不包含 = 。 运算符优先级(从低到高)
运算符 | 结合律 |
---|
() | 从左往右 | + - (一元) | 从右往左 | * / | 从左往右 | + - (二元) | 从左往右 | = | 从右往左 |
2、其他运算符
1、sizeof运算符和size_t类型
sizeof运算符以字节为单位返回运算对象的大小。1字节通常是8位。sizeof返回的类型是size_t,是一个无符号类型
#include<stdio.h>
int main()
{
int n = 0;
size_t intsize;
intsize = sizeof(int);
printf("n=%d,n 是 %zd byte; int 的字节是 %zd byte。\n", n, sizeof(n), intsize);
return 0;
}
如果编译器不支持%zd,可以使用%u或%lu代替%zd。
2、求模运算符:%
求模运算符用于整数运算。求模预算符给出其左侧整数初一右侧整数的余数。13%3读作13求模5。求模运算符只能用于整数,不能用于浮点数。
3、递增运算符:++
递增运算符将其运算对象递增1.++出现在其作用的变量前面,这是前缀模式,先加1在使用值;++出现在其作用的变量后面,这是后缀模式,先使用值再加1.
#include<stdio.h>
int main()
{
int n = 0;
int m = 0;
while (n < 10)
{
printf("前缀模式(++n)[n][%d]\n",++n);
printf("后缀模式(m++)[m][%d]\n",m++);
printf("****************\n");
}
return 0;
}
4、递减运算符:- -
和++使用方法相同
三、表达式和语句
1、表达式
表达式是有运算符和运算对象组成。 int num; 不是表达式。
2、语句
语句时C程序的基本构建块。一条语句相当于一条完成的计算机指令。 声明不是语句。
3、副作用和列点
副作用是对数据对象或文件的修改。 序列点是程序执行的点,在该点上,所有的副作用都在进入下一步之前发生。语句的分号标记了一个序列点。 完整表达式指这个表达式不是另一个更大表达式的子表达式。
4、复合语句(块)
复合语句使用花括号括起来的一条或者多条语句,复合语句也称为块。
四、类型转换
|