运算符、表达式和语句

表达式一般是由运算对象与运算符组成的。

算术运算符与表达式

C语言基本的算术运算符有:+、-、*、/、%(取模)。它们都是双目运算符,是需要两个运算对象在它们两边。如1+2.

#include<stdio.h>
int main()
{
    
    
	int a = 9;
	int b = 7;
	printf("结果等于:%d\n", a + b);
	printf("结果等于:%d\n", a - b);
	printf("结果等于:%d\n", a * b);
	printf("结果等于:%d\n", a / b);
	return 0;
}

在这里插入图片描述
**算术表达式:**用算术运算符和括号将运算对象连接起来的。

自增自减运算符

它们是单目运算符,例如i++,把i的值加一,i–把i的值减一。

  1. +i与–i是指在使用i之前,先把i的值加1或减1。
  2. i++与i–则是指在使用i之后,再把i的值加1或减1。

赋值运算符

=就是简单的赋值运算符。可以进行类型转换;类型转换是指当赋值运算符两边的数据类型不一致时候,就要运用类型转换了。它还分为两种
一种是是系统自动转换;
另一种是强制类型转换。
将实型数据赋值给整型变量时,需要舍弃该实数的小数部分。例如,a为整型变量,则执行“a=1.23”的结果便是a=1。
将整型数据赋值给单、双精度变量时,数值不变,但是将以浮点数的形式存储到变量之中。例如,b为单精度型的变量,要将10赋值给b,即b=10,则需要先将10转换为10.00000,再存储到b中。而如果c为双精度型的变量,要将10赋值给c,即c=10,则先将10转换为10.00000000000000,然后再以双精度浮点数形式存储到c中。
强制转换运算符的一般形式为:(类型名)(表达式)。例如

    int a = 9;
	int b = 7;
	(float)(a / b);

把整数 a b强制转化为浮点数。

复合运算符

在赋值符=之前加上其他运算符,可以构成复合赋值符。凡是二目运算符,都可以与赋值符一起组合成复合赋值符。C语言规定可以用10种复合赋值运算符,即+=,-=,×=,/=,%=,<<=,>>=,&=,∧=,|=。后5种是有关位运算的复合赋值运算符。
a+=5,相当于a=a+5;

关系运算符

在这里插入图片描述

关系运算符<、<=、>、>=的优先级相同。==、!=的优先级别也相同。但是前4种优先级大于后两种。
算术运算符的优先级高于关系运算符。
关系运算符的优先级高于赋值运算符。
关系运算符常用于将两个值进行比较

逻辑运算符

&&:逻辑与运算符(相当于其他语言中的AND)。
| |:逻辑或运算符(相当于其他语言中的OR)。
!:逻辑非运算符(相当于其他语言中的NOT)。
其中“&&”和“| |是双目(元)运算符,即要求运算符的两侧有两个运算量。例如, (x>y)&&(a<b)。“!”是一目(元)运算符,只要求有一个运算量,例如,!(a<b)。
优先级:
! && || ,非、与、或。!的优先级最高。
综合运算时的优先顺序为:!→算术运算符→关系运算符→&& 和||→赋值运算符。

位运算符

是指进行二进制位的运算。按位与&同时为1则为1;按位或|只要有1则为1;按位异或相同为0,相异为1.

扫描二维码关注公众号,回复: 16845970 查看本文章
#include <stdio.h>

int main()
{
    
    
	int a = 9;//00000000000000000000000000001001
	int b = 5;//00000000000000000000000000000101
	printf("%d\n", a & b);//00000000000000000000000000000001
	printf("%d\n", a | b);//00000000000000000000000000001101
	printf("%d\n", a ^ b);//00000000000000000000000000001100
	return 0;

}

在这里插入图片描述

按位求反运算符“~”与前面几个不同,它是单目运算符,用来对一个数按位取反,即将0变成1,1变成0。

右移运算

">>"移动二进制位,算术右移是补原符号位正数补0,负数补1
左移运算用于将一个数的每个位都按需要左移若干位,其运算符为“<<”。
其实左移一位,相当于原数乘以2,左移n位相当于乘以2n,但是限制条件是左移时溢出的高位里没有1。同样的道理,右移相当于除,右移n位相当于除以2n。

猜你喜欢

转载自blog.csdn.net/weixin_44507495/article/details/108104322