基本运算符

运算符

运算符:对常量和变量进行操作的符号
表达式:用运算符连接起来的符合java语法的式子。不同类型的运算符连接起来的式子是不同的表达式。
运算符分类:
算术运算符,赋值运算符,关系运算符,逻辑运算符,三元运算符。

算术运算符:
+,-,*,/的基本使用

  • 算数运算符取余和除法的区别
    %:取余运算符。得到的是两个相除数据的余数。
    /:除法运算符。得到是两个相除数据的商。
    使用场景: %:判断两个数据是否整除。
    字符和字符串参与加法操作
    字符参与运算
    其实是拿该字符对应的数值来操作
    ‘a’ 97
    ‘A’ 65
    ‘0’ 48
    字符串参与运算
    这里其实做的不是加法运算,而是字符串拼接。
    字符串和其他类型的数据做拼接,结果是字符串类型的。
  • 算数运算符++和- - 的用法
    ++,–运算符:对变量做加1或者减1的操作。
    ++或者–既可以放在变量的后面,也可以放在变量的前面。
    单独使用的时候,++或者–无论是放在变量的前面还是后面,结果是一样的。
    参与操作的时候:
    如果++或者–在变量的后面,先拿变量参与操作,后变量做++或者–
    如果++或者–在变量的前面,先变量做++或者–,后拿变量参与操作
  • 赋值运算符
    赋值运算符分类
    基本的赋值运算符:=
    扩展的赋值运算符:+=,-=,*=,/=,%=
    +=: a+=20;相当于a = (a的数据类型)(a + 20);
  • 关系运算符
    基本使用及注意事项
    关系运算符包含以下内容:
    ==,!=,>,>=,<,<=
    关系运算符的结果都是boolean型,也就是要么是true,要么是false。
    注意事项:
    关系运算符“==”不能误写成“=”。
  • 逻辑运算符

逻辑运算符概述
A:逻辑运算符有哪些
&,|,^,!
&&,||
B:案例演示
逻辑运算符的基本用法

C:注意事项:
a:逻辑运算符一般用于连接boolean类型的表达式或者值。
b:表达式:就是用运算符把常量或者变量连接起来的符合java语法的式子。
算术表达式:a + b
比较表达式:a == b(条件表达式)
D:结论:
&逻辑与:有false则false。
|逻辑或:有true则true。
^逻辑异或:相同为false,不同为true。
!逻辑非:非false则true,非true则false。
特点:偶数个不改变本身。

  • 列表内容

逻辑运算符&&与&的区别
A:&&和&的区别?
a:最终结果一样。
b:&&具有短路效果。左边是false,右边不执行。
&是无论左边是false还是true,右边都会执行
B:||和|的区别?
a:最终结果一样
b:||具有短路效果.左边是true,右边不执行
|是无论左边是false还是true,右边都会执行

  • 三元运算符
    三元运算符概述
    A:格式
    (关系表达式)?表达式1:表达式2;
    如果条件为true,运算后的结果是表达式1;
    如果条件为false,运算后的结果是表达式2;
    B:示例:
    获取两个数中大数。
    int x=3,y=4,z;
    z = (x>y)?x:y;//z变量存储的就是两个数的大数
C语言中的基本运算符是编写程序时进行数据处理的核心工具,它们用于执行数学运算、逻辑判断、位操作、赋值等任务。以下是基本运算符的分类及其使用方法。 ### 算术运算符 算术运算符用于执行基本的数学运算,如加法、减法、乘法、除法和取模。此外,还有递增和递减运算符用于对变量进行自增或自减操作。 - `+`:加法运算符,用于两个操作数相加。 - `-`:减法运算符,用于从一个操作数中减去另一个。 - `*`:乘法运算符,用于两个操作数相乘。 - `/`:除法运算符,用于一个操作数除以另一个操作数。 - `%`:取模运算符,用于得到两个整数相除后的余数。 - `++`:递增运算符,用于将操作数的值增加1。 - `--`:递减运算符,用于将操作数的值减少1。 ```c int a = 10, b = 3; int sum = a + b; // sum = 13 int difference = a - b; // difference = 7 int product = a * b; // product = 30 int quotient = a / b; // quotient = 3 (integer division) int remainder = a % b; // remainder = 1 a++; // a = 11 b--; // b = 2 ``` ### 关系运算符 关系运算符用于比较两个值之间的关系,结果是一个布尔值(真或假)。 - `>`:大于 - `<`:小于 - `>=`:大于等于 - `<=`:小于等于 - `==`:等于 - `!=`:不等于 ```c int x = 5, y = 5; int isGreater = x > y; // isGreater = 0 (false) int isEqual = x == y; // isEqual = 1 (true) ``` ### 逻辑运算符 逻辑运算符用于组合多个关系表达式,以形成更复杂的条件判断。 - `!`:逻辑非,用于反转操作数的逻辑状态。 - `&&`:逻辑与,当两个操作数都为真时,结果为真。 - `||`:逻辑或,只要有一个操作数为真,结果就为真。 ```c int p = 1, q = 0; int result1 = !q; // result1 = 1 (true) int result2 = p && q; // result2 = 0 (false) int result3 = p || q; // result3 = 1 (true) ``` ### 位运算符运算符用于对操作数的二进制位进行操作。 - `<<`:左移运算符,将操作数的二进制位向左移动指定的位数。 - `>>`:右移运算符,将操作数的二进制位向右移动指定的位数。 - `~`:按位取反运算符,将操作数的每一位取反。 - `|`:按位或运算符,将两个操作数的对应位进行或操作。 - `^`:按位异或运算符,将两个操作数的对应位进行异或操作。 - `&`:按位与运算符,将两个操作数的对应位进行与操作。 ```c unsigned int m = 5; // binary: 0000 0101 unsigned int n = 9; // binary: 0000 1001 unsigned int leftShift = m << 1; // leftShift = 10 (binary: 0000 1010) unsigned int rightShift = m >> 1; // rightShift = 2 (binary: 0000 0010) unsigned int bitwiseNot = ~m; // bitwiseNot = 4294967290 (binary: 1111 1111 1111 1111 1111 1111 1111 1010) unsigned int bitwiseOr = m | n; // bitwiseOr = 13 (binary: 0000 1101) unsigned int bitwiseXor = m ^ n; // bitwiseXor = 12 (binary: 0000 1100) unsigned int bitwiseAnd = m & n; // bitwiseAnd = 1 (binary: 0000 0001) ``` ### 赋值运算符 赋值运算符用于将值赋给变量。 - `=`:简单赋值运算符,将右侧的值赋给左侧的变量。 - `+=`、`-=`、`*=`、`/=`、`%=`:扩展赋值运算符,先进行相应的算术运算,然后将结果赋给左侧的变量。 ```c int o = 20; o += 5; // o = 25 o -= 3; // o = 22 o *= 2; // o = 44 o /= 4; // o = 11 o %= 3; // o = 2 ``` ### 条件运算符 条件运算符是C语言中唯一的三元运算符,用于根据条件选择两个值中的一个。 - `? :`:条件运算符,格式为`condition ? value_if_true : value_if_false`。 ```c int age = 20; char *status = (age >= 18) ? "Adult" : "Minor"; // status = "Adult" ``` ### 逗号运算符 逗号运算符用于在单个表达式中顺序执行多个表达式,整个表达式的值是最后一个表达式的值。 ```c int r = (1, 2, 3); // r = 3 ``` ### 指针运算符 指针运算符用于处理内存地址。 - `*`:间接寻址运算符,用于访问指针所指向的值。 - `&`:地址运算符,用于获取变量的内存地址。 ```c int s = 10; int *ptr = &s; // ptr holds the address of s int value = *ptr; // value = 10 ``` ### 求字节数运算符 `sizeof()`运算符用于获取数据类型或变量所占用的内存大小(以字节为单位)。 ```c int t; size_t sizeOfInt = sizeof(t); // sizeOfInt = 4 (on most systems) size_t sizeOfDouble = sizeof(double); // sizeOfDouble = 8 (on most systems) ``` ### 强制类型转换运算符 强制类型转换运算符用于将一种数据类型的值转换为另一种数据类型。 ```c float u = 3.14; int v = (int)u; // v = 3 ``` ### 成员运算符 成员运算符用于访问结构体或联合的成员。 - `.`:用于访问结构体变量的成员。 - `->`:用于通过指向结构体的指针访问成员。 ```c typedef struct { int id; char name[20]; } Person; Person person1; person1.id = 1; // Using . to access member Person *ptrPerson = &person1; ptrPerson->id = 2; // Using -> to access member through pointer ``` ### 下标运算符 下标运算符用于访问数组中的元素。 ```c int array[5] = {1, 2, 3, 4, 5}; int thirdElement = array[2]; // thirdElement = 3 ``` ### 运算符优先级和结合性 运算符不仅具有不同的优先级,而且还有一个特点,就是它的结合性。在表达式中,各运算量参与运算的先后顺序不仅要遵守运算符优先级别的规定,还要受运算符结合性的制约,以便确定是自左向右进行运算还是自右向左进行运算[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值