3.C语言常用运算符

本文详细介绍了C语言中的基本运算符,包括数学运算符、赋值运算符、判断运算符、逗号运算符等,并通过示例代码展示了它们的实际应用。

3.1.常见的数学运算符
(1)跟数学理解相同,可借助数学思维理解即可:
+ 加号;
- 减号;
* 乘号;
/ 除号,相除以后的商;
% 取余符号,相除以后余数是几;
()括号括起来优先级最高;


3.2.跟数学中意义不同的运算符
(1)=赋值运算符,与数学中的等号完全不同,赋值运算符的作用是经过运算后符号左边部分的值(左值,一般为变量)就等于符号右边部分的值(右值,一般是常数或变量)。
(2)由赋值运算符衍生出”+=、-=、*/、/=、%=”这一系列组合运算符。


3.3.判断运算符
(1)用于常见的判断:
这里写图片描述


3.4.逗号运算符
(1)逗号运算符的主要作用是用来分割。

3.5.++与–
(1)++运算符;a++;等同于++a;等同于a = a + 1;等同于a += 1;
(2)–运算符;a–;等同于–a;等同于a = a - 1;等同于a -= 1;
(3)a++和++a的区别;++后置即变量a先运算后加1;++前置即变量a先加1后运算。


3.6.程序风格
(1)所谓程序风格,主要是指写代码的格式,譬如空格、空行、缩进、注释、文件头、函数头等。
(2)越是大公司,越看重程序风格。软件行业公认的准则:程序风格不良好的程序是垃圾代码;写出程序风格不良好的代码的人是垃圾程序员。


3.operation
/*
 * 公司:XXXX
 * 作者:Rston
 * 博客:http://blog.youkuaiyun.com/rston
 * GitHub:https://github.com/rston
 * 项目:C语言常用运算符
 * 功能:演示++、--、/、%运算符的基本使用。
 */
#include <stdio.h>

int main(int argc, char **argv)
{
    int b = 0, a = 5;
    b = a++;
    printf("a = %d. b = %d.\n", a, b);  // a = 6. b = 5. ++在后先运算在加1
    b = (++a);
    printf("a = %d. b = %d.\n", a, b);  // a = 7. b = 7. ++在前先加1再运算

    a = 14;
    b = 3;
    a = a / b;
    printf("a = %d. b = %d.\n", a, b); // a = 4. b = 3 两整型变量相除的结果为整型数
    a = a % b;
    printf("a = %d. b = %d.\n", a, b); // a = 1. b = 3

    return 0;
}

<think>嗯,用户想了解C语言常用运算符及其实例教程。首先,我需要回忆C语言的各种运算符分类,比如算术运算符、关系运算符、逻辑运算符等等。然后根据每个分类列出具体的运算符,并给出示例代码。要注意使用正确的LaTeX格式,行内公式用$符号包裹,独立公式用$$。同时,需要参考提供的引用资料,特别是引用[1]提到的常用运算符和关键字,可能还有引用[3]中的选择结构相关内容。 首先,确定运算符的主要分类。C语言通常包括算术、关系、逻辑、赋值、位运算、条件、逗号、sizeof等运算符。每个类别下需要列举运算符符号,并解释其作用。例如,算术运算符有加减乘除、取模、自增自减。要注意示例的正确性,比如自增运算符的前后区别。 接下来,示例代码部分要使用代码块,并且确保语法正确。比如,在算术运算符中,可以展示加减乘除和取模的用法,以及++--的前后缀区别。关系运算符如==、!=、>、<等,需要说明它们返回0或1的结果。逻辑运算符如&&、||、!,要注意短路求值的特性。 赋值运算符部分,除了基本的=,还有复合赋值如+=、-=等,需要举例说明。位运算符可能对用户来说比较复杂,需要简单说明按位、或、异或、取反、移位等操作,并给出示例。 条件运算符是三目运算符,适合简洁的条件判断,比如max = (a > b) ? a : b;。逗号运算符和sizeof运算符也要提到,尤其是sizeof在获取类型或变量大小时的用法。 然后,结合引用资料中的内容,比如引用[1]提到运算符操作,引用[3]涉及选择结构中的逻辑运算符应用。可能需要指出在if语句中如何组合使用关系逻辑运算符。 另外,要注意运算符的优先级问题,虽然用户没有直接问,但可能在相关知识点中提到或作为问题之一。例如,算术运算符优先级高于关系运算符,而逻辑运算符中的&&优先级低于比较运算符等。 在编写示例时,确保每个代码块都能独立运行,比如在main函数中演示不同运算符的使用,并给出注释说明输出结果。例如,在自增运算符的例子中,前自增和后自增的区别会影响变量的值,这需要通过具体的数值变化来展示。 最后,生成相关问题时要围绕用户可能感兴趣的扩展内容,比如运算符优先级、实际应用中的常见错误、不同类型数据间的运算规则,以及位运算的具体应用场景。这有助于用户进一步深入学习。</think>### C语言常用运算符及实例教程 #### 一、算术运算符 用于基本数学运算,包括: - `+`(加)、`-`(减)、`*`(乘)、`/`(除)、`%`(取模) - `++`(自增)、`--`(自减) **示例代码**: ```c int a = 10, b = 3; printf("加法:%d\n", a + b); // 输出 13 printf("取模:%d\n", a % b); // 输出 1 printf("自增前:%d\n", a++); // 输出 10(后自增) printf("自增后:%d\n", ++a); // 输出 12(前自增) ``` #### 二、关系运算符 用于比较操作,结果为 `0`(假)或 `1`(真): - `==`(等于)、`!=`(不等于)、`>`、`<`、`>=`、`<=` **示例代码**: ```c int x = 5, y = 7; printf("比较结果:%d\n", x > y); // 输出 0 ``` #### 三、逻辑运算符 用于布尔逻辑运算: - `&&`(逻辑)、`||`(逻辑或)、`!`(逻辑非) **示例代码**: ```c int flag1 = 1, flag2 = 0; printf("运算:%d\n", flag1 && flag2); // 输出 0 printf("或运算:%d\n", flag1 || flag2); // 输出 1 ``` #### 四、赋值运算符 包含基本赋值和复合赋值: - `=`、`+=`、`-=`、`*=`、`/=`、`%=` **示例代码**: ```c int num = 10; num += 5; // 等价于 num = num + 5 printf("复合赋值结果:%d\n", num); // 输出 15 ``` #### 五、位运算符 直接操作二进制位: - `&`(按位)、`|`(按位或)、`^`(按位异或)、`~`(取反)、`<<`(左移)、`>>`(右移) **示例代码**: ```c unsigned char a = 0b0011, b = 0b0101; printf("按位:%d\n", a & b); // 输出 0b0001(十进制1) ``` #### 六、其他运算符 1. **条件运算符**:`表达式 ? 真值 : 假值` ```c int max = (a > b) ? a : b; ``` 2. **逗号运算符**:按顺序执行表达式,返回最后一个值 ```c int res = (a=2, b=3, a+b); // res=5 ``` 3. **sizeof运算符**:获取数据类型/变量占用的字节数 ```c printf("int大小:%zu\n", sizeof(int)); // 输出4(32位系统) ``` #### 七、运算符优先级规则 $$ \text{算术运算符} > \text{关系运算符} > \text{逻辑运算符} > \text{赋值运算符} $$ 具体优先级可参考C语言运算符优先级表[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值