首页 > 其他分享 >操作符简介及部分例子

操作符简介及部分例子

时间:2024-08-18 20:24:49浏览次数:15  
标签:arr int 简介 函数调用 例子 操作符 printf sizeof

操作符

文章目录


c语言提供了非常丰富的操作符,使得用起来就比较灵活。

1.简单介绍

算法操作符

+ - * / %

/ 是除后取整,% 是除后取余

#include <stdio.h>

int main() {
	int a = 7;
	int b = 2;
	//除号的两端都是整数的时候执行整数除法
	int c = a / b;
	int f = a % b;//取模(取余)
	//如果两端只要有一个浮点数就执行浮点数除法
	float e = a /2.0;
	printf("%d\n", c);
	printf("%.2f\n", e);//.2是取到小数点后两位的意思
	printf("%d\n", f);
	return 0;
}

移位操作符

>> <<

位操作符

& ^ |

赋值操作符

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

关系操作符

> >= < <= != ==

双目操作符 + //

单目操作符 - 只有一个操作数的操作符

!逻辑反操作
-负值
+正值
&取地址
sizeof操作数的字符长度(以字节为单位)
~对一个数的二进制按位取反
--前置、后置--
++前置、后置++
*间接反问操作符(解引用操作符)
(类型)强制类型转换
### 1.1单目操作符size与函数的区别

sizeof作为单目操作符与函数的区别:

调用sizeof可以不加括号,在语法允许的情况下。

#include <stdio.h>

int main() {
	int a = 0;
	printf("%d\n", sizeof(a));//输出:4
	printf("%d\n", sizeof(int));//输出:4,int的大小必须要加括号,否则语法不允许
	printf("%d\n", sizeof a);//输出:4,因为是单目操作符,所以括号可写可不写


	int arr[10] = { 0 };
	printf("%d\n", sizeof(arr));//输出:40,整个数组的大小,单位是字节
	printf("%d\n", sizeof(arr[0]));//输出:4,一个整型元素的大小
	printf("%d\n", sizeof(arr) / sizeof(arr[0]));//输出:10,元素的个数


	return 0;
}

1.2"++“和”–"前置与后置的区别

++ 和 --前置后置的自增规则,下方代码为自增,自减规律同下:

int main() {
	int a = 10;
	int b1 = a++;//输出:10,后置++,先赋值,后自增
	int c = 10;
	int d1 = ++c;//输出:11,前置++,先自增,后赋值

	printf("%d\n", b1);
	printf("%d\n", a);//输出:11
	printf("%d\n", d1);
	printf("%d\n", c);//输出:11
}

前置自增,先赋值后自增;后置自增,先自增后赋值。

2.强制类型转换

使用:(类型)数据,的格式进行强制类型转换

代码中,字面的浮点型系统会默认是double类型的,虽然不会报错

int e = 3.14;//字面的浮点型系统会默认是double类型的
int f = (int)3.14;//括号 类型 括号(类型),强制类型转换,这里将double类型转换为整型
printf("%d\n", e);
printf("%d", f);

2.1=与==的区别

“=” 为赋值,“==”才是判断

	int g = 3;
	if (g = 10) {
		printf("这里的g=10是赋值,不是判断,所以g的值为:%d\n", g);
	}

逻辑操作符

&& 逻辑与(两者都,为真)
|| 逻辑或(二者只要一个为真,就为真)

3.条件操作符及格式

格式:

exp1?exp2:exp3 //条件exp1满足的话,结果为exp2;条件不满足的话,结果为exp3

代码示例:

	int a = 10;
	int b = 20;
	int r = (a > b) ? a : b;//a<b,条件为假,则结果为b
	printf("%d", r);
//输出:20

4.逗号表达式

公式从左到右计算,计算结果为最右边的公式的结果

exp1,exp2,exp3……expn

例子:

	int a = 6;
	int b = 4;
	int c = (a + b, a - b, a * b);//最后的结果为:a*b(最右边的公式)
	printf("%d", c);
//输出:24

5.下标引用,函数调用和结构成员

[]  ()  .  ->

[] () . ->

5.1下标引用操作符"[]"

下标引用操作符是"[]“,但定义数组的”[]",不是下标引用操作符

	int arr[10] = { 0,1,2,3,4,5,6,7,8,9 };//这里的[]是定义数组的符号,不是下标引用操作符
	int a = 3;
	printf("%d", arr[a]);//[]就是下标引用操作符,arr和3就是操作数

5.2函数调用操作符

函数调用操作符"()"

	int add(int a, int b){
		int z = a + b;
		return z;
	}
	int main() {
		int result = add(2, 3);//()就是函数调用的操作符,add,2,3就是()的操作数,括号不能省略
		printf("%d", result);
		return 0;
	}

操作符,arr和3就是操作数


### 5.2函数调用操作符

函数调用操作符"()"

```c
	int add(int a, int b){
		int z = a + b;
		return z;
	}
	int main() {
		int result = add(2, 3);//()就是函数调用的操作符,add,2,3就是()的操作数,括号不能省略
		printf("%d", result);
		return 0;
	}

标签:arr,int,简介,函数调用,例子,操作符,printf,sizeof
From: https://blog.csdn.net/m0_64569510/article/details/141304849

相关文章

  • 专题:C语言操作符详解
    ⽬录1.操作符的分类2.⼆进制和进制转换3.原码、反码、补码4.移位操作符5.位操作符:&、|、^、~6.单⽬操作符7.逗号表达式8.下标访问[]、函数调⽤()9.结构成员访问操作符10.操作符的属性:优先级、结合性11.表达式求值1.操作符的分类•算术操作符:+、-......
  • Burp Suite简介
    【任务目标】了解BurpSuite的基本情况和安装步骤了解BurpSuite的主要模块和基本操作1.1概述BurpSuite解释说明是什么BurpSuite是用于攻击web应用程序的集成平台,包含了许多工具。BurpSuite为这些工具设计了许多接口,以加快攻击应用程序的过程。所有工具都共......
  • 【漫谈C语言和嵌入式007】AD2S1210简介与应用:高精度旋转变压器到数字转换器的解析
            在精密运动控制和测量系统中,旋转变压器(Resolver)是一种常用的传感器,能够精确检测旋转轴的位置和速度。为了将旋转变压器的模拟信号转换为数字信号,便于微控制器或DSP进行处理,AD2S1210作为一款高性能的旋转变压器到数字转换器(RDC),为工程师提供了高精度、低延迟的......
  • 新员工一口气写完了这些C语言例子,领导给他转正了!
    持续更新中...很多想从事嵌入式Linux开发的老铁问一口君,有没有快速提升自己编程水平的小例子?一口君根据自己多年工作经验,整理了一些基于Linux的c语言的非常实用的小例子,这些例子在嵌入式开发工作中,或多或少都会用到。看看你们会做多少?一、基础C语言1.排序算法给指定数组排......
  • lua版promise实现3 - 条件判断例子
    针对:先加载资源A,加载完A再加载资源B,加载完B再加载资源C。现在加需求了,如果加载资源A的时间不超过3s,那说明当前设备性能不错,会额外再加载高品质资源A2,A3,然后再加载B。 localobj1=PromiseV1.new()localtime1=os.time()AsyncLoadRes("ResA",function(textA)obj1:S......
  • 操作符详解(二)
    目录1.逗号表达式2.下标访问[]、函数调用()1) []下标引用操作符2) 函数调用操作符3.结构成员访问操作符1)结构体2)结构的声明3)结构体变量的定义和初始化4)结构体成员的直接访问5)结构体成员的间接访问4.操作符的属性:优先级、结合性1)优先级2)结合性5. 表达......
  • 函数递归VS操作符深入?
    1>>前言    函数递归函数递归,当小白听到这样的词会感到无比陌生,请不要惊慌,这是正常的,以至于都不是很经常用到,但是它的算法,它的思想是值得我们深入思考的。还有一些复杂操作符,如按位与按位或等等,今天一并说说,希望大家能学到东西。2>>函数递归    函数的递归......
  • Bluetooth Profile Specification之 HFP简介与嵌入式
    BluetoothProfileSpecification丰富了蓝牙技术的应用领域,其中包括了HFP(Hand-FreeProfile)——一个在嵌入式系统中广泛使用的蓝牙配置文件,本文将重点介绍HFP的相关信息,并提供相关的源代码示例。HFP是为了提供嵌入式设备与蓝牙手机之间的音频通信而设计的,通过支持HFP嵌入式设......
  • 小白的学习笔记1:接口和多态,以及例子
    2024.8.21.接口接口即为一个抽象的方法,此方法定义了很多种行为,可供类们去实现,而避免了使用多种重复的else……if,while等即时运算。抽象,即为更上层的概念。比如“男人”的抽象为“人”,“人”的抽象为动物,这就是一个统领的节点。以下为示例publicclassDemo1{publicinterfa......
  • 五、1 算数操作符&位操作符
    1、算数操作符(1)“/”得到一个整数商,不包含余数进行浮点数除法,操作符两端至少有一个浮点数(2)“%”取模,得到余数两端必须为整数2、位操作符(只适用于整型)(1)“&”按位与,有0为0,全为1则为1;(2)“|”按位或,有1为1,全为0则为0;(3)“^”按位异或,相同为0,相异为1.在十进制中异或,a......