C语言学习记录(五)——————运算符

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

一位学习C语言的小白,有错误请私信或评论。
本文主要介绍C语言运算符~


一、算数运算符

C语言提供的算数运算符: + 、- 、 * 、 / 、% 、++ 如:(float、double 不能取余)

运算符功能说明举例
+加,一目取正a+b
-减,一目取负a-b
*乘法a*b
/除法a/b
%取模或求余a%b
++增1a++,++a
减1a- -,- -a

代码:

//整形加减乘除
	int a = 10, b = 3,c;
    c = a + b;
    printf("%d\n",c);
    c = a - b;
    printf("%d\n",c);
    c = a * b;
    printf("%d\n",c);
    c = a / b;
    printf("%d\n",c);
    c = a % b;
    printf("%d\n",c);
	//浮点数加减
	float a = 10, b = 3,c;
    c = a + b;
    printf("%f\n",c);
    c = a - b;
    printf("%f\n",c);
    c = a * b;
    printf("%f\n",c);
    c = a / b;
    printf("%f\n",c);
    /*c = a % b;
    printf("%d\n",c); //float、double不能取余

二、关系运算符

C语言的关系运算符如下:
在这里插入图片描述

例如:
int a=5,b=6;
 a>(b-1)     结果为0
(a+1)==b    结果为1
a>=(b-2)    结果为1
a<100       结果为1
(a+3)<=b    结果为0

代码:

int main()
{
    int a = 10,b = 9;
    if(a >=(b-1))
    {
        printf("ture");
    }
    else
    {
        printf("flase");
    }
    return 0;
}

三、逻辑运算符

运算符功能说明举例
逻辑反!(x ==0)
&&逻辑与x>0&&y<10
II逻辑或y<10IIx>5

3.1逻辑运算符 “!” 运算符的运算律如下:

在这里插入图片描述

	int k = 8;
    !(k ==0)    //结果为1
    !((k-8)==0) //结果为0
    !(k<=0)     //结果为1

3.2逻辑与 “&&” 运算符的运算规律如下:短路特性-逢0截止

在这里插入图片描述
代码:

	int a = 8,b = 9;
    if((a+1)>b && b++)//逢0截止
        printf("true\n");
    else
        printf("false\n");
    printf("%d,%d",a,b);
    return 0;

3.3逻辑或 ”||“ 运算符的运算规律如下:短路-逢1截止

在这里插入图片描述
代码:

	int a = 8,b = 9;
    if((a+1)>=b || b++)//逢1截止
        printf("true\n");
    else
        printf("false\n");
    printf("%d,%d",a,b);

四、位运算

C语言的位运算如下:
在这里插入图片描述
取反~运算如下:
代码:

	unsigned char a = 0x17,b = 1;
    b=~a;
    printf("%#x",b);

位运算与 ”&“ 运算符的运算规律如下:
在这里插入图片描述
代码:

	unsigned char x = 0126 , y = 0xac,z;
    z = x & y;
    printf("%#x",z);

位运算与 ”| 运算符的运算规律如下:
在这里插入图片描述
代码:

 	unsigned char x = 076, y = 0x89,z;
    z = x | y;
    printf("%#x",z);

位逻辑异或”^“运算符的运算规律如下:相同为假,不同为真
在这里插入图片描述
代码:

	unsigned char x=75,y=0173,z;
 	z = x^y;
 	printf("%#x",z);

位运算的一般形式
<运算量> <运算量><表达式>其中 :

<运算量>必须为整形结果数值;
<运算符>为左移(<<)或右移(>>)运算符;
<表达式>也必须为整形结果数值;

五、赋值运算符

赋值运算符为”=“,其运算的一般形式如下:
<左值表达式> = <右值表达式>
赋值复合运算符其运算的一般形式如下:
<变量> <操作符> = <表达式>
C语言的赋值复合运算符如下:
在这里插入图片描述
代码:

#include <stdio.h>
 int main()
 {
 	int count,sum;
 	count = 0,sum = 0;
	 while(count++ <100)
 	{
 		sum+=count;//  sum = sum + count;
    }
 	printf("sum = %d\n",sum);
	return 0;
 }

六、 特殊运算符

6.1条件运算符

”?: “是三目运算符,其运算的一般形式是:

<表达式1 >?<表达式2>:<表达式3>

代码:

	int x = 70,y = 25;
    y = ++x > 70 ? 100 : 0;
    printf("%d\n%d\n",x,y);

6.2 逗号运算符

逗号运算符的值等于最后一个的值
代码:

	float x = 10.5, y = 1.8,z = 0;
    z = (x += 5,y = x + 0.2);
    printf("x= %f y = %f z = %f\n\n",x,y,z);
    z = (x = y = 5, x += 1);
    printf("x= %f y = %f z = %f\n\n",x,y,z);
    z = (x = 5,y = 6,x + y);
    printf("x= %f y = %f z = %f\n\n",x,y,z);
    z = (z = 8,x = 5,y = 3);
    printf("x= %f y = %f z = %f\n\n",x,y,z);

6.3sizeof运算符

运算符的一般形式:sizeof(类型或变量名)

注意:它只针对数据类型,而不针对变量
例如:

	sizeof(double)
 	sizeof(long)

6.4C运算符的优先级

在这里插入图片描述
代码:

int x =1,y=0,z=0;
x++ && y++ || ++z ; //结果为 1(2 1 1)
!(x+1 >0) && y++ || ++z;//结果为1 (1 0 1)
x+=y==z,y=x+2,z = x+y+z>0;//x为2,y为4

总结

C语言运算符种类有很多,要注意的点也很多
如:

1.float、double不能取余;
2.C语言中等于的符号不是=而是==;
3.++在后先运算后+1;
4.++在前先+1后运算;
5.逻辑与只要有一个变量为0运算式整个为0---逢0截止;
6.逻辑或只要有一个变量为1运算式整个为1---逢1截止;
7.逗号运算符的值有最后一行表达式决定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>