第七章:C语言的操作符

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

       说起操作符大家都不陌生,从我们最初的 +  -  c   *  /  加减乘除,到更加深奥的操作符,而今天我要有完整的系统来理清楚C语言的操作符到底有什么,和它们相关的用法,话不多说,直接走进今天的主题----C语言的操作符。

第七章:C语言的操作符

 一:算数运算符

+      -      *      /     %(取模)

这里不细讲加减乘,加减乘和数学是一样的,这里只谈   /   %。

第七章:C语言的操作符

 二:移位操作符

<< (左移操作符)  >>  (右移操作符)---移动是二进制哟(移的是补码)(在32比特位下移动)

第七章:C语言的操作符

 有些编译器不支持移动负数,移动后不改变自身

三:位操作符 (计算的是二进制) 

&  (相同为 1 即为 1 ,有 0 则为 0 )

|   (有 1 则为 1 ,两个相同时则为0)

^    (相同为 0 ,相异为 1 )

①  &  |   ^ 计算

#include<stdio.h>
int main()
{
	int a = 1;
	int b = 2;
	int x1, x2, x3;
	// a 的二进制 00000000 00000000 00000000 00000001
	// b 的二进制 00000000 00000000 00000000 00000010

	x1 = a & b;
	// a  的二进制 00000000 00000000 00000000 00000001
	// b  的二进制 00000000 00000000 00000000 00000010
	// x1 的二进制 00000000 00000000 00000000 00000000
	x2 = a | b;
	// a  的二进制 00000000 00000000 00000000 00000001
	// b  的二进制 00000000 00000000 00000000 00000010
	// x2 的二进制 00000000 00000000 00000000 00000011
	x3 = a ^ b;
	// a  的二进制 00000000 00000000 00000000 00000001
	// b  的二进制 00000000 00000000 00000000 00000010
	// x3 的二进制 00000000 00000000 00000000 00000011
	//x1 = 0,x2 = 3,x3 = 3
	printf("x1 = %d,x2 = %d,x3 = %d\n", x1, x2, x3);
	return 0;
}

②不能创建变量(第三个变量),实现两个数的交换

#include<stdio.h>

//方法一:
//int main()
//{
//	int a = 1;
//	int b = 2;
//	a = a + b;
//	b = a - b;
//	a = a - b;
//	printf("a = %d,b = %d\n", a, b);
//	return 0;
//}
//当数字很大时就合适了

//方法二:
int main()
{
	int a = 1;
	int b = 2;
	a = a ^ b;  
	b = a ^ b; //看成 b = ( a ^ b ) ^ b,这里 b 和 b就可以消除
	a = a ^ b; //这里其实就变成 a = ( a ^ b ) ^ a,这里 a 和 a就可以消除
	printf("a = %d,b = %d\n", a, b);
	return 0;
}

四:赋值操作符( = )

+=     -=     *=      /=     %=     >>=    <<=     &=     |=       ^=(复合赋值符)

#include<stdio.h>
int main()
{
	float weight = 55.5f;//加 f 的目的使区分double
	double high = 1.78;
	int age = 18;

	return 0;
}

//记住 C语言的 = 和 == 是两码事
// a =  1  赋值运算符
// a == 1 是判断 a 是否等于1

五:单目操作符

第七章:C语言的操作符

 第七章:C语言的操作符

 六:关系操作符

>              >=             <           <=           !=          ==

这里记住          a =  1  赋值运算符            a == 1 是判断 a 是否等于1

七:逻辑操作符

&& (并且的意思)                                 ||  (或者的意思)

第七章:C语言的操作符

#include<stdio.h>

//int main()
//{
//	int a = 0;
//	int b = 0;
//	if (a == 0 && b == 0)
//	{
//		printf("hehe\n");
//	}
//	else
//	{
//		printf("haha\n");
//	}
//	return 0;
//}
//打印出hehe

int main()
{
	int a = 0;
	int b = 0;
	if (a == 0 || b == 1)
	{
		printf("hehe\n");
	}
	else
	{
		printf("haha\n");
	}
	return 0;
}
//打印出hehe

八:条件操作符

(   语句 1      ?  (语句 2 :语句 3)) 如果语句1为真就执行语句2,否则执行语句3

#include<stdio.h>
int main()
{
	int a = 0;
	int b = 1;
	int c = a > b ? a : b;
	//如果 a 大于 b 就把 a 的值赋给 c,否则就把 b 的赋给 c
	printf("%d\n", c);
	return 0;
}
//打印出:1

九:逗号表达式

逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左向右依次执行。整个表达式的结果是最后一个表达式的结果。

#include<stdio.h>

int main()
{
	int a = 1;
	int b = 2;
	int c = (a > b, a = b + 10, a, b = a + 1);
	//这里 a > b 没有什么关系,a = b + 10 = 2 + 10 = 12
	//这里 a 没有什么关系,b = a + 1 = 12 + 1
	//最后 c = b
	printf("%d\n", c);//打印出:13
	return 0;
}

十:下标引用(已讲),函数调用(已讲)和结构体成员

下标引用:[  ] 

函数调用:函数名();

结构体成员:  .    ->(这里不细讲,后面会详细介绍)

关于操作符的优先级图片

第七章:C语言的操作符

        不知不觉就到了尾声呢,咱们第七章的知识点就到这里了啦,作为小白的我,可能写的不是很好,不对的地方还请大佬大佬指点指点。 第七章:C语言的操作符第七章:C语言的操作符文章来源地址https://www.toymoban.com/news/detail-444506.html

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

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

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

相关文章

  • 自然语言处理: 第七章GPT的搭建

    在以transformer架构为框架的大模型遍地开花后,大模型的方向基本分成了三类分别是: decoder-only架构 , 其中以GPT系列为代表 encoder-only架构,其中以BERT系列为代表 encoder-decoder架构,标准的transformer架构以BART和T5为代表 大模型的使用方法如下: 分解成pre-train 和fine-tuning ,其中pr

    2024年02月13日
    浏览(52)
  • 【鸿蒙开发】第七章 ArkTS语言UI范式-基础语法

    通过前面的章节,我们基本清楚鸿蒙应用开发用到的语言和项目基本结构,在【鸿蒙开发】第四章 Stage应用模型及项目结构也提到过ArkTS的UI范式的 基本语法 、 状态管理 、 渲染控制 等能力,简要介绍如下: 基本语法 : ArkTS 定义了 声明式UI描述 、 自定义组件 和 动态扩展

    2024年02月03日
    浏览(64)
  • 【第七章 | 输入输出系统】《操作系统 慕课版》课后答案 + 复习

    1.I/O系统的功能、模型和接口 I/O系统 管理的主要对象 : I/O设备 和对应的 设备控制器 I/O系统的主要任务: 完成用户提出的I/O请求、提高I/O速率、改善I/O设备的利用率 I/O系统的基本功能: 够隐藏物理设备的细节、保证OS与设备无关、提高处理机和I/O设备的利用率、对I/O设备

    2024年02月08日
    浏览(42)
  • OBCP第七章 OB迁移-备份恢复技术架构及操作方法

    为什么需要备份恢复 为满足监管要求 防止管理员误操作后,错误数据同步到所有副本,导致数据无法恢复 防止数据库因各种故障而造成数据丢失,降低灾难性数据丢失的风险,从而达到灾难恢复的目的 硬盘驱动器损坏 黑客攻击、病毒 自然灾害、电源浪涌、磁干扰 物理备份

    2023年04月08日
    浏览(44)
  • 计算机操作系统第四版第七章文件管理—课后习题答案

        数据项:是最低级的数据组织形式,可以分为两种类型:基本数据项和组合数据项。基本数据项是用于描述一个对象的某种属性的字符集,是数据组织中可以命名的最小逻辑数据单位,又称为字段。组合数据项是由若干个基本数据项组成的,简称组项。 记录:记录是一组

    2024年02月03日
    浏览(60)
  • 【C语言初阶】带你轻松玩转所有常用操作符(1) ——算数操作符,移位操作符,位操作符

    君兮_的个人主页 勤时当勉励 岁月不待人 C/C++ 游戏开发 Hello,这里是君兮_,最近要准备期末复习了,可能更新的就不会那么频繁了,下个星期恢复正常更新。 今天给大家带来的是操作符详解,由于这部分的内容比较多,可能会分成几部分讲,今天带来的是第一部分的内容,废

    2024年02月11日
    浏览(46)
  • 初始C语言——详细讲解操作符以及操作符的易错点

     第一章 “C“浒传——初识C语言(更适合初学者体质哦!)  第二章 详细认识分支语句和循环语句以及他们的易错点   第三章 初阶C语言——特别详细地介绍函数  第四章 初始C语言——详细地讲解数组的内容以及易错点  第五章  初始C语言——详细讲解操作符以及操

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

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

    2024年02月16日
    浏览(69)
  • <C语言> 操作符

    加法(+):用于将两个操作数相加。 减法(-):用于将第一个操作数减去第二个操作数。 乘法(*):用于将两个操作数相乘。 除法(/):用于将第一个操作数除以第二个操作数。 取模(%):用于求两个操作数相除的余数。 乘法、除法和取模具有相同的优先级,高于加法

    2024年02月12日
    浏览(55)
  • 【C语言】操作符

    算术操作符 移位操作符 位操作符 赋值操作符 单目操作符 关系操作符 逻辑操作符 条件操作符 逗号操作符 下标引用、函数调用和结构成员操作符 除了 % 操作符之外,其他的几个操作符可以作用于整数和浮点数。 对于 / 操作符如果两个操作数都为整数,执行整数除法。而只

    2024年01月16日
    浏览(53)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包