C语言 运算符详细介绍及示例代码

C语言 运算符详细介绍及示例代码

介绍

运算符是C语言中必不可少的部分,它们用于实现C程序中的各种运算操作。C语言共有如下几种运算符:算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符和其他运算符。在下面的攻略中,我们将对这些运算符进行详细介绍和示例说明。

算术运算符

算术运算符包括加、减、乘、除、取余和取反。它们的示例如下:

int a = 10, b = 3;
int c = a + b;     // c = 13
int d = a - b;     // d = 7
int e = a * b;     // e = 30
int f = a / b;     // f = 3
int g = a % b;     // g = 1
int h = -a;        // h = -10

关系运算符

关系运算符用于比较两个数的大小关系,返回结果为真或假。关系运算符包括小于、大于、小于等于、大于等于、等于和不等于。它们的示例如下:

int a = 10, b = 3;
bool c = a < b;        // c = false
bool d = a > b;        // d = true
bool e = a <= b;       // e = false
bool f = a >= b;       // f = true
bool g = a == b;       // g = false
bool h = a != b;       // h = true

逻辑运算符

逻辑运算符用于实现逻辑操作,例如“与”、“或”和“非”操作,返回值为真或假。逻辑运算符包括与、或和非。它们的示例如下:

bool a = true, b = false;
bool c = a && b;        // c = false
bool d = a || b;        // d = true
bool e = !a;            // e = false

位运算符

位运算符用于对二进制位进行操作。常见位运算符包括按位与、按位或、按位异或、左移和右移。它们的示例如下:

int a = 0b1100, b = 0b0110;
int c = a & b;          // c = 0b0100
int d = a | b;          // d = 0b1110
int e = a ^ b;          // e = 0b1010
int f = a << 2;         // f = 0b110000
int g = b >> 1;         // g = 0b00011

赋值运算符

赋值运算符用于将算术运算、位运算和逻辑运算的结果赋给变量。赋值运算符包括等号、加等、减等、乘等、除等、取模等和位运算和逻辑运算的赋值运算。它们的示例如下:

int a = 1, b = 2, c = 3;
a += b;            // a = 3
b -= a;            // b = -1
c *= a + b;        // c = -6

其他运算符

C语言中还有其他几种运算符,包括条件运算符、逗号运算符和sizeof运算符。

  1. 条件运算符

条件运算符用于实现三目运算,例如x ? y : z。其中x为条件表达式,如果为真执行y语句,否则执行z语句。示例如下:

int x = 2, y = 3;
int z = x < y ? x : y;
  1. 逗号运算符

逗号运算符用于将多个表达式串联在一起,它会依次计算各个表达式,并返回最后一个表达式的值。示例如下:

int a = 1, b = 2, c = 3;
int d = (a = b + 1, b = c + 1, c = a + b);  // a = 3, b = 4, c = 7, d = 7
  1. sizeof运算符

sizeof运算符用于获取变量或类型的大小。它的使用方法有两种:

(1)获取变量的大小:

int a[] = {1, 2, 3, 4, 5};
int size = sizeof(a) / sizeof(int);    // size = 5

(2)获取类型的大小:

int size = sizeof(int);   // size = 4

示例说明

下面是一个将两个数相加并输出的示例代码:

#include <stdio.h>

int main()
{
    int a, b, c;
    scanf("%d%d", &a, &b);
    c = a + b;
    printf("%d\n", c);
    return 0;
}

下面是一个判断一个数是否为偶数的示例代码:

#include <stdio.h>

int main()
{
    int n;
    scanf("%d", &n);
    if (n % 2 == 0)
        printf("%d是偶数\n", n);
    else
        printf("%d是奇数\n", n);
    return 0;
}

以上两个示例代码演示了算术运算、条件运算符、取模运算和逻辑运算这些运算符的用法。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言 运算符详细介绍及示例代码 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • __stdcall 和 __cdecl 的区别浅析

    关于“__stdcall 和 __cdecl 的区别浅析”这一话题,下面为你提供一份详细的攻略。 简介 __stdcall 和 __cdecl 是 C++ 中函数调用的两种不同的方式,它们都在函数名后面加上了一些符号来指示参数传递的方式。具体来说: __stdcall:参数从右往左依次压入堆栈,被调用函数从堆栈中获取参数,由被调用函数负责堆栈内存的清理工作。…

    C 2023年5月23日
    00
  • C++使用map实现多进程拷贝文件的程序思路

    为了实现使用map实现多进程拷贝文件的程序,我们可以按照以下步骤操作: 步骤一:导入必要的头文件 在写C++多进程拷贝文件程序时,需要用到以下两个头文件: #include <unistd.h> // 提供fork()函数 #include <sys/wait.h> // 提供wait()函数 步骤二:打开需要读取和写入的文件 使用C…

    C 2023年5月30日
    00
  • JS对象与json字符串格式转换实例

    JS对象与JSON字符串格式转换是前端开发中常用的一项技术,本文将以实例的方式详细讲解对象与JSON字符串格式的相互转换。 将JS对象转换成JSON字符串格式 使用JSON.stringify()方法 JavaScript中可以使用JSON.stringify()方法将一个对象转换成JSON字符串格式,该方法接收两个参数: 待转换的JS对象 一个可选的rep…

    C 2023年5月23日
    00
  • set_new_handler(0)有什么用

    set_new_handler是C++语言提供的一个函数,用于设置一个新的内存分配失败处理程序。当内存分配操作失败时,该处理程序将被调用。当我们在C++程序中使用new操作符申请内存时,如果系统找不到合适的内存块,就会触发内存分配失败,进而导致程序抛出std::bad_alloc异常。 set_new_handler(0)的作用是设置一个新的内存分配失败处理…

    C 2023年5月23日
    00
  • php快速排序原理与实现方法分析

    PHP快速排序原理与实现方法分析 快速排序是一种常见的排序算法,它的核心思想是分治策略,递归地将一个数组分成两个子数组,然后对子数组进行排序。在实际应用中,快速排序通常是最优的(时间复杂度为O(nlogn)),特别是对于大量数据的排序。 基本原理 快速排序基于分治的思想,把数组分成两个子数组,并对每个子数组进行排序。分治的具体过程如下: 首先选择一个基准元素…

    C 2023年5月22日
    00
  • C语言中分支和循环的6种实现形式总结

    C语言中分支和循环的6种实现形式总结如下。 1. if语句 if语句是C语言中最基本的分支语句,用于根据条件的真假来选择性地执行不同的语句。 if (condition) { // if语句执行的代码块 } 示例代码: #include <stdio.h> int main() { int num; printf("请输入一个整数:&q…

    C 2023年5月23日
    00
  • C语言 简单秒表程序

    下面详细讲解一下C语言编写简单秒表程序的使用攻略。 程序介绍 秒表程序是一种计时器程序,用来计算时间间隔的长度。这个程序可以帮助你记录时间,无论你需要记录时间的目的如何。通过这个程序你可以在计时的时候进行一些其他工作,例如游戏时间等等,程序的主要功能是启动、停止和重置计时器,并在计时过程中实时更新显示的时间。 程序使用攻略 程序逻辑分析 在编写程序之前,我们…

    C 2023年5月9日
    00
  • 浅析C++ atomic 和 memory ordering

    浅析C++ atomic 和 memory ordering 简介 C++11 中引入了一个新的原子类型 —— std::atomic,用以在多线程环境中实现原子操作。同时,它也提供了 Memory Ordering 来确保原子操作的顺序性。本文将从理论和实践角度浅析 C++ atomic 和 memory ordering。 原子操作 原子操作是指一个操作…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部