小白必看系列之c语言中常见操作符示例和用法总结

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: 小白必看系列之c语言中常见操作符示例和用法总结

前言


C语言是一种广泛使用的编程语言,拥有丰富的操作符(operator)来进行不同类型的操作。下面我将详细介绍常用的C语言操作符及其功能:


算术操作符(Arithmetic Operators)


  • ‘+’:加法操作符,用于两个数值相加。
  • ‘-’:减法操作符,用于两个数值相减。
  • ‘*’:乘法操作符,用于两个数值相乘。
  • ‘/’:除法操作符,用于两个数值相除。
  • ‘%’:取模操作符,返回除法运算的余数。


代码示例


#include <stdio.h>
int main() {
    int a = 6;
    int b = 3;
    int sum = a + b;
    int difference = a - b;
    int product = a * b;
    int quotient = a / b;
    int remainder = a % b;
    printf("Sum: %d\n", sum);
    printf("Difference: %d\n", difference);
    printf("Product: %d\n", product);
    printf("Quotient: %d\n", quotient);
    printf("Remainder: %d\n", remainder);
    return 0;
}

代码解析


#include <stdio.h>

这行代码是一个预处理指令,用于包含 C 标准库中的标准输入输出函数的声明。

int main() {

这行代码定义了程序的主函数 main(),它是程序执行的入口点。

int a = 6;
    int b = 3;

这两行代码定义了两个整数变量 ab,并将它们的值分别初始化为 6 和 3。

int sum = a + b;
    int difference = a - b;
    int product = a * b;
    int quotient = a / b;
    int remainder = a % b;

这几行代码使用算术运算符对变量 ab 进行计算,并将结果赋值给对应的变量。sum 存储了 ab 的和,difference 存储了 ab 的差,product 存储了 ab 的乘积,quotient 存储了 a 除以 b 的商,remainder 存储了 a 除以 b 的余数。

printf("Sum: %d\n", sum);
    printf("Difference: %d\n", difference);
    printf("Product: %d\n", product);
    printf("Quotient: %d\n", quotient);
    printf("Remainder: %d\n", remainder);

这几行代码使用 printf() 函数将计算结果打印输出。%d 是格式字符,用于指示打印整数类型的值。\n 是转义字符,表示换行。

return 0;
}

最后,这行代码表示程序正常结束,并将零作为返回值传递给操作系统。


关系操作符(Relational Operators)


  • ‘==’:等于操作符,检查两个操作数是否相等。
  • ‘!=’:不等于操作符,检查两个操作数是否不相等。
  • ‘>’:大于操作符,检查左操作数是否大于右操作数。
  • ‘<’:小于操作符,检查左操作数是否小于右操作数。
  • ‘>=’:大于等于操作符,检查左操作数是否大于或等于右操作数。
  • ‘<=’:小于等于操作符,检查左操作数是否小于或等于右操作数。


代码示例


#include <stdio.h>
int main() {
    int a = 5;
    int b = 3;
    if (a == b) {
        printf("a is equal to b\n");
    } else if (a != b) {
        printf("a is not equal to b\n");
    }
    if (a > b) {
        printf("a is greater than b\n");
    }
    if (a < b) {
        printf("a is less than b\n");
    }
    if (a >= b) {
        printf("a is greater than or equal to b\n");
    }
    if (a <= b) {
        printf("a is less than or equal to b\n");
    }
    return 0;
}

代码解析


#include <stdio.h>

这行代码是一个预处理指令,用于包含 C 标准库中的标准输入输出函数的声明。

int main() {

这行代码定义了程序的主函数 main(),它是程序执行的入口点。

int a = 5;
    int b = 3;

这两行代码定义了两个整数变量 ab,并将它们的值分别初始化为 5 和 3。

if (a == b) {
        printf("a is equal to b\n");
    } else if (a != b) {
        printf("a is not equal to b\n");
    }

这部分代码使用条件语句 if-else 进行比较。首先,判断 a 是否等于 b,如果相等,则执行 if 代码块中的语句,并打印 “a is equal to b”。如果不相等,则执行 else 代码块中的语句,并打印 “a is not equal to b”。

if (a > b) {
        printf("a is greater than b\n");
    }

这部分代码使用条件语句 if 判断 a 是否大于 b,如果成立,则执行代码块中的语句,并打印 “a is greater than b”。

if (a < b) {
        printf("a is less than b\n");
    }

这部分代码使用条件语句 if 判断 a 是否小于 b,如果成立,则执行代码块中的语句,并打印 “a is less than b”。

if (a >= b) {
        printf("a is greater than or equal to b\n");
    }

这部分代码使用条件语句 if 判断 a 是否大于等于 b,如果成立,则执行代码块中的语句,并打印 “a is greater than or equal to b”。

if (a <= b) {
        printf("a is less than or equal to b\n");
    }

这部分代码使用条件语句 if 判断 a 是否小于等于 b,如果成立,则执行代码块中的语句,并打印 “a is less than or equal to b”。

return 0;
}

最后,这行代码表示程序正常结束,并将零作为返回值传递给操作系统。


逻辑操作符(Logical Operators)


  • ‘&&’:与操作符,用于两个条件都为真时返回真。
  • ‘||’:或操作符,用于两个条件之一为真时返回真。
  • ‘!’:非操作符,用于取反当前条件的值。


代码示例


#include <stdio.h>
int main() {
    int x = 5;
    int y = 3;
    if (x > 0 && y > 0) {
        printf("Both x and y are positive\n");
    }
    if (x > 0 || y > 0) {
        printf("Either x or y is positive\n");
    }
    if (!(x > 0)) {
        printf("x is not positive\n");
    }
    return 0;
}

代码解析


#include <stdio.h>

这行代码是一个预处理指令,用于包含 C 标准库中的标准输入输出函数的声明。

int main() {

这行代码定义了程序的主函数 main(),它是程序执行的入口点。

int x = 5;
    int y = 3;

这两行代码定义了两个整数变量 xy,并将它们的值分别初始化为 5 和 3。

if (x > 0 && y > 0) {
        printf("Both x and y are positive\n");
    }

这部分代码使用条件语句 if 判断 x 是否大于 0 并且 y 是否大于 0。如果两个条件均满足,则执行代码块中的语句,并打印 “Both x and y are positive”。

if (x > 0 || y > 0) {
        printf("Either x or y is positive\n");
    }

这部分代码使用条件语句 if 判断 x 是否大于 0 或者 y 是否大于 0。如果其中一个条件成立,则执行代码块中的语句,并打印 “Either x or y is positive”。

if (!(x > 0)) {
        printf("x is not positive\n");
    }

这部分代码使用条件语句 if 判断 x 是否不大于 0。如果条件不成立,则执行代码块中的语句,并打印 “x is not positive”。这里的 ! 是逻辑运算符取反的意思。

return 0;
}

最后,这行代码表示程序正常结束,并将零作为返回值传递给操作系统。


位操作符(Bitwise Operators)


  • ‘&’:与操作符,按位进行与操作。
  • ‘|’:或操作符,按位进行或操作。
  • ‘^’:异或操作符,按位进行异或操作。
  • ‘~’:取反操作符,按位进行取反操作。
  • ‘<<’:左移操作符,将数值左移指定位数。
  • ‘>>’:右移操作符,将数值右移指定位数。


代码示例


#include <stdio.h>
int main() {
    unsigned int a = 60;    // 0011 1100
    unsigned int b = 13;    // 0000 1101
    unsigned int result;
    result = a & b;    // Bitwise AND: 0000 1100
    printf("Bitwise AND: %u\n", result);
    result = a | b;    // Bitwise OR: 0011 1101
    printf("Bitwise OR: %u\n", result);
    result = a ^ b;    // Bitwise XOR: 0011 0001
    printf("Bitwise XOR: %u\n", result);
    result = ~a;    // Bitwise NOT: 1100 0011
    printf("Bitwise NOT: %u\n", result);
    result = a << 2;    // Left shift: 1111 0000
    printf("Left shift: %u\n", result);
    result = a >> 2;    // Right shift: 0000 1111
    printf("Right shift: %u\n", result);
    return 0;
}

代码解析


#include <stdio.h>

这行代码是一个预处理指令,用于包含 C 标准库中的标准输入输出函数的声明。

int main() {

这行代码定义了程序的主函数 main(),它是程序执行的入口点。

unsigned int a = 60;    // 0011 1100
    unsigned int b = 13;    // 0000 1101

这两行代码定义了两个无符号整数变量 ab,并将它们的值分别初始化为 60 和 13。注释 // 后的二进制表示形式是为了说明变量的位模式。

unsigned int result;

这行代码定义了一个无符号整数变量 result,用于存储运算结果。

result = a & b;    // Bitwise AND: 0000 1100
    printf("Bitwise AND: %u\n", result);

这部分代码使用按位与操作符 & 对变量 ab 进行按位与运算,并将结果赋值给 result。然后使用 printf 函数打印出 “Bitwise AND: 12”。

result = a | b;    // Bitwise OR: 0011 1101
    printf("Bitwise OR: %u\n", result);

这部分代码使用按位或操作符 | 对变量 ab 进行按位或运算,并将结果赋值给 result。然后使用 printf 函数打印出 “Bitwise OR: 61”。

result = a ^ b;    // Bitwise XOR: 0011 0001
    printf("Bitwise XOR: %u\n", result);

这部分代码使用按位异或操作符 ^ 对变量 ab 进行按位异或运算,并将结果赋值给 result。然后使用 printf 函数打印出 “Bitwise XOR: 49”。

result = ~a;    // Bitwise NOT: 1100 0011
    printf("Bitwise NOT: %u\n", result);

这部分代码使用按位取反操作符 ~ 对变量 a 进行按位取反运算,并将结果赋值给 result。然后使用 printf 函数打印出 “Bitwise NOT: 195”。

result = a << 2;    // Left shift: 1111 0000
    printf("Left shift: %u\n", result);

这部分代码使用左移操作符 << 将变量 a 的二进制位向左移动两位,并将结果赋值给 result。然后使用 printf 函数打印出 “Left shift: 240”。

result = a >> 2;    // Right shift: 0000 1111
    printf("Right shift: %u\n", result);

这部分代码使用右移操作符 >> 将变量 a 的二进制位向右移动两位,并将结果赋值给 result。然后使用 printf 函数打印出 “Right shift: 15”。

return 0;
}

最后,这行代码表示程序正常结束,并将零作为返回值传递给操作系统。


赋值操作符(Assignment Operators)


  • ‘=’:简单赋值操作符,将右侧的值赋给左侧的变量。
  • ‘+=’:加法赋值操作符,将左操作数和右操作数相加后,结果赋给左操作数。
  • ‘-=’:减法赋值操作符,将左操作数和右操作数相减后,结果赋给左操作数。
  • ‘*=’:乘法赋值操作符,将左操作数和右操作数相乘后,结果赋给左操作数。
  • ‘/=’:除法赋值操作符,将左操作数和右操作数相除后,结果赋给左操作数。
  • ‘%=’:取模赋值操作符,将左操作数除以右操作数的余数赋给左操作数。


示例代码


#include <stdio.h>
int main() {
    int a = 5;
    int b = 3;
    a += b;    // Equivalent to: a = a + b
    printf("a += b: %d\n", a);
    a -= b;    // Equivalent to: a = a - b
    printf("a -= b: %d\n", a);
    a *= b;    // Equivalent to: a = a * b
    printf("a *= b: %d\n", a);
    a /= b;    // Equivalent to: a = a / b
    printf("a /= b: %d\n", a);
    a %= b;    // Equivalent to: a = a % b
    printf("a %%= b: %d\n", a);
    return 0;

代码解析


#include <stdio.h>

这行代码是一个预处理指令,用于包含 C 标准库中的标准输入输出函数的声明。

int main() {

这行代码定义了程序的主函数 main(),它是程序执行的入口点。

int a = 5;
    int b = 3;

这两行代码定义了两个整数变量 ab,并将它们的值分别初始化为 5 和 3。

a += b;    // Equivalent to: a = a + b
    printf("a += b: %d\n", a);

这部分代码使用赋值运算符 += 将变量 a 与变量 b 相加,并将结果赋值给 a,相当于执行 a = a + b。然后使用 printf 函数打印出 “a += b: 8”。

a -= b;    // Equivalent to: a = a - b
    printf("a -= b: %d\n", a);

这部分代码使用赋值运算符 -= 将变量 a 与变量 b 相减,并将结果赋值给 a,相当于执行 a = a - b。然后使用 printf 函数打印出 “a -= b: 5”。

a *= b;    // Equivalent to: a = a * b
    printf("a *= b: %d\n", a);

这部分代码使用赋值运算符 *= 将变量 a 与变量 b 相乘,并将结果赋值给 a,相当于执行 a = a * b。然后使用 printf 函数打印出 “a *= b: 15”。

a /= b;    // Equivalent to: a = a / b
    printf("a /= b: %d\n", a);

这部分代码使用赋值运算符 /= 将变量 a 与变量 b 相除,并将结果赋值给 a,相当于执行 a = a / b。然后使用 printf 函数打印出 “a /= b: 5”。

a %= b;    // Equivalent to: a = a % b
    printf("a %%= b: %d\n", a);

这部分代码使用赋值运算符 %= 将变量 a 与变量 b 进行取模运算,并将结果赋值给 a,相当于执行 a = a % b。然后使用 printf 函数打印出 “a %= b: 2”。

return 0;
}

最后,这行代码表示程序正常结束,并将零作为返回值传递给操作系统。

这些是C语言中一些常用的操作符,通过灵活运用这些操作符,可以实现不同类型的计算和逻辑控制。


总结


本文总结了C语言中常见的操作符示例和用法,包括算术操作符、关系操作符、逻辑操作符、位操作符和赋值操作符。每个示例都提供了代码和输出结果,方便读者理解操作符的功能。通过这些示例,读者可以学习如何进行算术计算、条件判断、逻辑运算和位操作等编程任务。此外,赋值操作符的使用也得到了介绍,它可以简化变量的更新和计算过程。学习这些操作符可以提高编程效率,并编写更具表达力和功能性的代码。掌握这些操作符对于初学者来说尤其重要,它们是构建复杂程序的基础。通过不断练习和实践,读者将逐渐熟悉这些操作符,并能够灵活运用它们解决实际编程问题。

相关文章
|
2月前
|
IDE 编译器 开发工具
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
在本文中,我们系统地讲解了常见的 `#pragma` 指令,包括其基本用法、编译器支持情况、示例代码以及与传统方法的对比。`#pragma` 指令是一个强大的工具,可以帮助开发者精细控制编译器的行为,优化代码性能,避免错误,并确保跨平台兼容性。然而,使用这些指令时需要特别注意编译器的支持情况,因为并非所有的 `#pragma` 指令都能在所有编译器中得到支持。
178 41
【C语言】全面系统讲解 `#pragma` 指令:从基本用法到高级应用
|
6月前
|
存储 C语言 索引
【C语言篇】操作符详解(下篇)
如果某个操作数的类型在上⾯这个列表中排名靠后,那么⾸先要转换为另外⼀个操作数的类型后执⾏运算。
97 0
|
5月前
|
C语言
C语言判断逻辑的高阶用法
在C语言中,高级的判断逻辑技巧能显著提升代码的可读性、灵活性和效率。本文介绍了六种常见方法:1) 函数指针,如回调机制;2) 逻辑运算符组合,实现复杂条件判断;3) 宏定义简化逻辑;4) 结构体与联合体组织复杂数据;5) 递归与分治法处理树形结构;6) 状态机管理状态转换。通过这些方法,可以更高效地管理和实现复杂的逻辑判断,使代码更加清晰易懂。
262 88
|
2月前
|
存储 网络协议 C语言
【C语言】位操作符详解 - 《开心消消乐》
位操作符用于在位级别上进行操作。C语言提供了一组位操作符,允许你直接操作整数类型的二进制表示。这些操作符可以有效地处理标志、掩码、位字段等低级编程任务。
120 8
|
2月前
|
C语言
【C语言】逻辑操作符详解 - 《真假美猴王 ! 》
C语言中有三种主要的逻辑运算符:逻辑与(`&&`)、逻辑或(`||`)和逻辑非(`!`)。这些运算符用于执行布尔逻辑运算。
93 7
|
4月前
|
存储 缓存 C语言
【c语言】简单的算术操作符、输入输出函数
本文介绍了C语言中的算术操作符、赋值操作符、单目操作符以及输入输出函数 `printf` 和 `scanf` 的基本用法。算术操作符包括加、减、乘、除和求余,其中除法和求余运算有特殊规则。赋值操作符用于给变量赋值,并支持复合赋值。单目操作符包括自增自减、正负号和强制类型转换。输入输出函数 `printf` 和 `scanf` 用于格式化输入和输出,支持多种占位符和格式控制。通过示例代码详细解释了这些操作符和函数的使用方法。
68 10
|
4月前
|
存储 编译器 C语言
【C语言】简单介绍进制和操作符
【C语言】简单介绍进制和操作符
242 1
|
4月前
|
存储 编译器 C语言
初识C语言5——操作符详解
初识C语言5——操作符详解
214 0
|
6月前
|
存储 缓存 编译器
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(下篇)
scanf处理⽤⼾输⼊的原理是,⽤⼾的输⼊先放⼊缓存,等到按下回⻋键后,按照占位符对缓存进⾏解读。 解读⽤⼾输⼊时,会从上⼀次解读遗留的第⼀个字符开始,直到读完缓存,或者遇到第⼀个不符合条件的字符为⽌。
223 2
|
6月前
|
存储 C语言
【C语言篇】scanf和printf万字超详细介绍(基本加拓展用法)(上篇)
printf 的作⽤是将参数⽂本输出到屏幕。它名字⾥⾯的 f 代表 format (格式化),表⽰可以定制输出⽂本的格式。
122 1

热门文章

最新文章