C语言最全操作符详解✌️

这篇具有很好参考价值的文章主要介绍了C语言最全操作符详解✌️。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C语言最全操作符详解✌️

C语言最全操作符详解✌️,C语言,算法,c语言

1.算术操作符

C语言的一系列操作符中,其中一组叫双目操作符,也叫算数操作符。分别是:+,–,*,/,%。

①+和–

+和–的用途与数学中基本一致,用来做加法和减法。例如:

#include <stdio.h>
int main()
{
	int a = 17 + 22;
	int b = 54 - 23;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;
}
39
31

我们可以发现,他们之所以叫双目操作符,是因为他们的左边和右边一共有两个操作数。

②*

*运算符也与数学中一样,用于乘法运算。例如:

int main()
{
	int c = 5 * 7;
	int d = 23 * 19;
	printf("%d\n", c);
	printf("%d\n", d);

	return 0;
}
35
437
③/

与前面一样,运算符/适用于除法计算。例如:

int main()
{
	int m = 54 / 3;     //18
	int n = 422 / 16;   //26.375
	printf("%d\n", m);
	printf("%d\n", n);

	return 0;
}
18
26

以上两则除法中两个操作数都是整数,第二则除法的结果应有小数,但程序运行结果仅保留整数部分,说明操作数为整数时,进行的是整数除法,得到的结果也是整数,小数部分被舍弃。

int main()
{
	int m = 54 / 3;     //18
	int n = 422.0 / 16;   //26。375000
	float i = 422 / 16.0;   //26.375000
	float j = 422.0 / 16.0;   //26.375000
    printf("%d\n", m);
	printf("%d\n", n);
	printf("%f\n", i);
	printf("%f\n", j);

	return 0;
}

我们将代码改一下,把原变量n改为浮点数类型,两个操作数至少有一个是浮点数。%f打印float类型浮点数,小数点后默认六位。

④%

运算符%与数学中的用法不一样,在C语言中表示求模运算。例如:

int main()
{
	int i = 10 % 4;   
	int m = 12 % 5;   
	int n = 16 % 4;   
	printf("%d\n", i);
	printf("%d\n", m);

	return 0;
}
2
2
0

我们尝试将操作数改成浮点数类型:

int main()
{
	double n = 12.4 % 2;
	printf("%f\n", n);

	return 0;
}

C语言最全操作符详解✌️,C语言,算法,c语言

将操作数改为浮点数后报错,由此说明求模运算返回的是两个整数相除的余值。运算符%只能用于整数,不能用于浮点数。那负数是否可以使用这个运算符呢?

int main()
{
	int i = 12 % -5;
	int j = -12 % 5;
	int k = -12 % -5;
	printf("%d\n", i);
	printf("%d\n", j);
	printf("%d\n", k);


	return 0;
}
2
-2
-2

由运行结果可知,第一个操作数的符号决定结果的正负号。

2.单目操作符

单目操作符是指操作符只有一个操作数,如:++、– –、+(正)、–(负)。

①++和– –

++分为前置++和后置++,– –也分为前置– –和后置– –。

a.前置++
int main()
{
	int a = 0;
	int b = ++a;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;

}
1
1

a原来是0,先加1,a就变成了1,再将++a的值赋给b,也就是将1赋给b。计算后,a与b值都为1。

前置++计算规则:先+1,后使用。
b.后置++
int main()
{
	int a = 0;
	int b = a++;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;

}
1
0

a原来是0,先将a赋给b,b就为0,再将a加1.计算后,a的值为1,b的值为0。

后置++计算规则:先使用,后加1。
– –的前置和后置与++的规则相同,只是将加1换成减1,例如:
int main()
{
	int a = 10;
	int b = --a;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;
}
9
9
int main()
{
	int a = 10;
	int b = a--;
	printf("%d\n", a);
	printf("%d\n", b);

	return 0;
}
9
10
②+(正)和 –(负)

运算符+对正负值没有影响,可忽略不写。

int a = +10;  //等价于int a = 10;

运算符–用来改变一个值的正负号。

int main()
{
	int a = 10;
	int b = -a;
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}
10
-10

3.赋值操作符

初始化和赋值是不一样的。初始化是在变量创建的时候给的一个初始值,赋值是在变量创建好之后再给它一个值。

int a = 100;//初始化
a = 20;//赋值,这里使用的‘=’是赋值操作符

C语言还提供了很多复合赋值符,比如:

int main()
{
	int a = 1;
	a = a + 5;
	a = a - 4;
	printf("%d\n", a);
	return 0;
}

还可以将它写为:

int main() 
{
	int a = 1;
	a += 5;   //等同于a = a + 5;
	a -= 4;   //等同于a = a - 4;
	printf("%d\n", a);
	return 0;
}

以此类推,还有很多的赋值符:

+=    -=
*=    /=    %=
>>=   <<=
&=    |=    ^=

4.关系操作符

C语言中用于比较的关系操作符主要有六个:

①> 大于运算符
②<小于运算符
③>=大于等于运算符
④<=小于等于运算符
⑤==相等运算符 (相等运算符 ==与赋值运算符=是两个不一样的运算符,注意不要混淆!!)
⑥!=不相等运算符

关系表达式通常返回0或1,表示真和假。关系语句常用if或while语句结构。例如:

if(a==3)
{
    printf("a的值为3\n");
}

由于==与=两个运算符太容易混淆,写错之后很难找到错误并改正,我们可以将上述代码改为:

if(3==a)
{
    printf("a的值为3\n");
}

将值与变量名交换位置,即使错将==写为=,编译器会报错,会更加容易快速的找到错误。

另一个需要避免的错误是:多个运算符不要连用。
i < j < k;//可以写为
i < j && j < k;//这里用到了逻辑操作符&&与

举个例子,比如:输入一个年龄,年龄在10~20岁之间的为青少年,不在这个范围内的不是青少年。

int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age >= 10 && age <= 20)
	{
		printf("青少年\n");
	}
	else
		printf("不是青少年\n");

	return 0;
}

5.条件操作符

条件操作符也叫三目操作符,有三个操作数。形式为:

exp1 ? exp2 : exp3

计算逻辑为:如果exp1为真,计算exp2,计算的结果是整个表达式的结果;如果exp1为假,计算exp3,计算的结果是整个表达式的结果。例如:

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	if (a > 10)
		b = 5;
	else
		b = -5;
	printf("%d\n", b);
	return 0;
}

上述代码可以改为三目操作符形式:

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	b = a > 5 ? 5 : -5;
	printf("%d", b);
	return 0;
}

例子:使用条件操作符找两个数中的最大值

int main()
{
	int a = 0;
	int b = 0;
	scanf("%d %d", &a, &b);
	int n = a > b ? a : b;
	printf("%d", n);
	return 0;
}

6.逻辑操作符

C语言中用于逻辑判断的操作符主要有三个:&&、||、!

①&&与运算符

&&运算符在前面关系运算符时已经用过,是并且的意思。只有&&两边的表达式都为真时,整个表达式才为真,只要有一个是假,整个表达式都为假。

②||或运算符

||运算符是或者的意思。||两边的表达式只要有一个为真,整个表达式为真,两边表达式都为假时,整个表达式才为假。例如:输入一个月份,判断是否为冬天。

int main()
{
	int i = 0;
	scanf("%d", &i);
	if (i >= 1 && i <= 12)
	{
		if (i == 12 || i == 1 || i == 2)
		{
			printf("是冬天\n");
		}
		else
			printf("不是冬天\n");
	}
	else
		printf("输入月份错误,请重新输入\n");
	return 0;
}
③!逻辑取反运算符

例如:有一个变量为happy,如果happy为假,要做一个什么事情,可以写为:

int main()
{
	int happy = 0;
	if (!happy)
		printf("不想工作!\n");
	return 0;
}

7.短路

C语言与逻辑运算符的一个特点为:它总是先对左边求值,再对右边求值。

如果左边的表达式满足逻辑运算符的条件,就不再对右边表达式求值,这称为短路。例如:
if(i>=3 && i<=5)  //当左操作数i>=3的结果为0时,即使不判断右操作数,整个表达式结果也为0
if(i==12 || i==1 || i==2)  //当操作符的左操作数不为0时,就无需执行右操作数

以上就是关于C语言中操作符的详细内容,欢迎大家指正交流,别忘了点赞收藏关注哦~💕文章来源地址https://www.toymoban.com/news/detail-833225.html

到了这里,关于C语言最全操作符详解✌️的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • C语言:“~”操作符详解

    ~:含义及用法举例 文章目录 前言 一、“~”是什么? 二、原码、反码及补码 1.简介 2.用法举例 ①正整数 ②负整数 ③零 三、“~”操作符 1.简介 2.用法举例 ①正整数 ②负整数 ③零 本文在简单介绍原码反码补码的基础上,介绍“~”操作符的用法。 ~:一种单目操作符,即对

    2024年02月10日
    浏览(13)
  • 【C语言】操作符----详解

    【C语言】操作符----详解

    💓博客主页:江池俊的博客 ⏩收录专栏:C语言初阶之路 👉其他专栏:数据结构探索 💻代码仓库:江池俊的代码仓库 🍁 如果觉得博主的文章还不错的话,请点赞👍收藏🌟 三连支持一下博主💞 目录 操作符分类:  💨 算术操作符  💨 移位操作符  原码、反码、补码

    2024年02月14日
    浏览(9)
  • 【c语言操作符系列1】^(异或操作符)讲解和多种例题详解

    【c语言操作符系列1】^(异或操作符)讲解和多种例题详解

    目录 一、^ 是什么(^称为异或) 二、^的规律(特点) 三、可利用^秒杀的常见例题(重点) 1、消失的数字  2、不一样的人生密码 3、交换两个数(不能创建中间变量) 4、找出只出现一个的两个数字 是一种操作符, 针对二进制异或而言的 ,两个数对应的二进制位相同,异或

    2024年02月16日
    浏览(9)
  • 【 c 语言 】赋值操作符详解

    【 c 语言 】赋值操作符详解

    🎈个人主页:豌豆射手^ 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C语言 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共同学习、交流进步! 引言: 在C语言编程中,赋值操作符是我们日常编程中不可或缺的一部分。它不仅是初始化变量、修改

    2024年04月09日
    浏览(36)
  • c语言:操作符详解(上)

    c语言:操作符详解(上)

    算术操作符: + 、- 、* 、/ 、% 移位操作符: 位操作符: | ^ 赋值操作符: = 、+= 、 -= 、 *= 、 /= 、%= 、= 、= 、= 、|= 、^= 单目操作符: !、++、–、、*、+、-、~ 、sizeof、(类型) 关系操作符: 、= 、 、= 、 == 、 != 逻辑操作符: 、|| 条件操作符:? : 逗号表达式: , 下标引用:

    2024年03月16日
    浏览(11)
  • C语言操作符详解(下)

    C语言操作符详解(下)

    在C语言操作符详解(上)中,已经详细系统的介绍了各种操作符及其使用场景。 接下来,本文将逐步介绍编译器执行这些代码背后所做的事情、操作符优先级、结合性以及求值顺序! 表达式求值的顺序一部分是由 操作符的优先级和结合性决定。 同样,有些表达式的操作数在

    2024年02月05日
    浏览(11)
  • 初阶C语言——详解操作符(1)

    初阶C语言——详解操作符(1)

    Hello,我们又见面了,最近不知道大家是否在持续输出代码呢?代码能力是否提高了呢?今天让我们来一起学习操作符,操作符在我们学习语言中很重要,我们要知道每个操作符的作用和用法,下面开始我们的学习。 操作符分类: 算术操作符 移位操作符 位操作符 赋值操作符

    2024年02月12日
    浏览(9)
  • 爱上C语言:操作符详解(上)

    爱上C语言:操作符详解(上)

    🚀 作者:阿辉不一般 🚀 你说呢: 生活本来沉闷,但跑起来就有风 🚀 专栏:爱上C语言 🚀 作图工具:draw.io ( 免费开源的作图网站) 如果觉得文章对你有帮助的话,还请点赞,关注,收藏支持博主,如有不足还请指点,博主及时改正,感谢大家支持!!! 大家好啊😉!今

    2024年02月04日
    浏览(10)
  • 初阶C语言-操作符详解(上)

    初阶C语言-操作符详解(上)

    “不飞则已,一飞冲天;不鸣则已,一鸣惊人。” 今天,我们一起来学习一下操作符的相关知识。 算术操作符 + - * / % 移位操作符 位操作符 | ^ 赋值操作符 = += -= *= /=... 单目操作符 ! sizeof ++ -- ... 关系操作符 = = == != 逻辑操作符 || 条件操作符 ? : 逗号表达式 , 下标引用、函数

    2024年02月13日
    浏览(11)
  • 初阶C语言-操作符详解(下)

    初阶C语言-操作符详解(下)

    🌞 “等春风得意,等时间嘉许!” 接下来,我们把操作符没学完的继续学完! 📖我们来看一下下面这段代码: 关系操作符: = = !=(用于测试不相等) ==(用于测试相等) 注:不要把 == 和 = 混起来❗ ✅ == 用于测试相等, = 用于赋值。 📖逻辑操作符: (逻辑与操作符)

    2024年02月13日
    浏览(11)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包