首页 > 其他分享 >C语言运算符 类型与示例

C语言运算符 类型与示例

时间:2023-07-05 14:12:07浏览次数:32  
标签:操作数 示例 ++ C语言 运算符 && printf

C语言的运算符是C语言中的重要功能之一,它们使用符号来执行各种数学、关系、按位、条件或逻辑操作。C编程语言提供了多种内置运算符,以满足程序的不同需求。通常,运算符在操作数据和变量的程序中起着关键作用,并作为数学、条件或逻辑表达式的组成部分。   算术运算符示例 算术运算符是用于执行数学计算的运算符,如加法(+),减法(-),乘法(*),除法(/)和模数(%)。它对数值(常量和变量)执行所有操作。 下表显示了 C 语言支持用于执行算术运算符的所有算术运算符。  

算子 描述
(加法) 它添加了两个操作数
−(减法) 它从第一个操作数中减去第二个操作数
* (乘法) 它将两个操作数相乘
/ (部门) 它负责将分子除以分义器
% (模量) 此运算符给出
让我们看下面 C 中的算术运算示例,假设变量 a 保持 7,变量 b 保持 5 C 语言中的算术运算符示例 #include <stdio.h> int main() { 整数 a = 7,b = 5, c; c = a+b; printf(“a+b = %d \n”,c); c = a-b; printf(“a-b = %d \n”,c); c = a*b; printf(“a*b = %d \n”,c);//学习交流群 558970390 c = a/b; printf(“a/b = %d \n”,c); c = a%b; printf(“当 a 除以 b = %d \n”,c); 返回 0; 输出:A+B = 12 a-b = 2 a*b = 35 a/b = 1 a 除以 b = 2 时的余数 代码中使用的运算符是 +、- 和 *,它们分别执行加法、减法和乘法运算。通常情况下,7/5 的结果是 1.4。但是,在上述代码中,输出为 1。这是因为变量 a 和 b 都是整数,所以输出结果也会被转换为整数。因此,编译器会忽略小数点后的部分,将输出显示为 2 而不是 2.25。 取模运算符(%)只能用于整数运算。 使用取模运算符可以计算任意整数的余数。当 a=7 被 b=5 除时,余数为 2。如果我们希望除法运算的结果为十进制数值,那么操作数中至少有一个应该是浮点数。 假设 a = 7.0、b = 2.0、c = 5 和 d = 3,则输出结果为:当其中一个操作数是浮点数时 a/b = 3.50 应付账款 = 2.33 c/b = 1.66 当两个操作数都是整数时 c/d = 1 带示例的递增/递减运算符 C 编程中有两个基本的递增/递减运算符,它们可以增加或减少变量的值。它们可以将操作数(可以是常量或变量)的值增加或减少1。递增和递减运算符是非常实用的运算符,常用于简化计算。这两个运算符是一元运算符,只对单个操作数进行操作。例如,++x 和 x++ 表示 x=x+1 或者 --x 和 x−− 表示 x=x-1。 当运算符位于操作数之前或之后时,++ 或 −− 会有一些差异。 如果我们将运算符作为前缀使用,它会在操作数中加1,并将结果赋值给左侧的变量。然而,当它作为后缀使用时,它首先将值赋给左侧的变量,即先返回原始值,然后将操作数增加1。 算子 描述++此增量运算符将整数值增加 1。--此递减运算符将整数值减少 1。 下面是一个演示递增和递减运算符工作的示例: #include <stdio.h> int main() { 整数 a = 11, b = 90; 浮点数 c = 100.5, d = 10.5; printf(“++a = %d \n”, ++a); printf(“--b = %d \n”, --b); printf(“++c = %f \n”, ++c); printf(“--d = %f \n”, --d); 返回 0; } 输出: ++a = 12 --b = 89 ++c = 101.500000 --d = 9.500000 在上面的代码示例中,递增和递减运算符 ++ 和 -- 已用作前缀。请注意,如果需要,这两个运算符也可以用作后缀,如 a++ 和 a-。 C 中的运算符优先级 运算符优先级是一项功能,它有助于确定表达式中术语的分组方式,并决定如何根据给定的表达式进行计算。在C语言中,某些运算符的优先级高于其他运算符,而某些运算符的优先级低于其他运算符。举例来说,在表达式x = 7 + 4 * 2中,x的值为15而不是22,因为乘法运算符*的优先级高于加法运算符+。因此,它首先计算4乘以2,然后将结果与7相加。 下表用于更好地理解运算符的优先级。如我们所见,优先级最高的运算符位于表格顶部,而优先级最低的运算符位于表格底部。在C程序的表达式中,将首先计算优先级较高的运算符,然后再计算优先级较低的运算符。
类别 算子 结合性
后缀 () [] -> .++ - - 从左到右
+ - !~ ++ - - (类型)* & 大小 从右到左
乘法 * / % 从左到右
添加剂 + - 从左到右
转变 << >> 从左到右
关系 < <= > >= 从左到右
平等 == != 从左到右
按位和 & 从左到右
按位异或 ^ 从左到右
按位或 | 从左到右
逻辑运算符示例 在 C 编程语言中,当我们需要测试多个条件来做出决策时,我们有三个逻辑运算符。这些逻辑运算符是: &&(意思是逻辑和) ||(意思是逻辑或) !(意思是逻辑上不) 在 C 语言中,包含逻辑运算符的表达式返回 0 或 1,具体取决于表达式的结果是 true 还是 false 的条件。逻辑运算符通常用于C编程中的决策。   下表显示了 C 编程语言支持的所有逻辑运算符。我们在这里假设变量 A 保存 7,变量 B 保存 3。 && 这是 C 编程语言中的 AND 运算符。它执行两个表达式的逻辑结合。(如果两个表达式的计算结果均为 True,则结果为 True。如果任一表达式的计算结果为 False,则结果为 False) ((A==7) && (B>7)) 等于 0   || 它是 C 编程语言中的 NOT 运算符。它对两个表达式执行逻辑析取。(如果其中一个或两个表达式的计算结果为 True,则结果为 True) ((A==7) ||(B>7))等于 1   ! 它是 C 编程语言中的逻辑 NOT 运算符。它用于反转其操作数的逻辑状态。如果条件为真,则逻辑 NOT 运算符将使其为假,反之亦然。 !(A && B) 是真的 下面是一个轻松阐述关系运算符工作的示例: #include <stdio.h> int main() { int a = 15, b = 15, c = 20, 结果; 结果 = (a == b) && (c > b); printf(“(a == b) && (c > b) is %d \n”, results); 结果 = (a == b) && (c < b); printf(“(a == b) && (c < b) is %d \n”, results); 结果 = (a == b) ||(c<b); printf(“(a == b) ||(c < b) 是 %d \n“,结果); 结果 = (a != b) ||(c<b); printf(“(a != b) ||(c < b) 是 %d \n“,结果); 结果 = !(a != b); printf(“!(a != b) 是 %d \n“,结果); 结果 = !(a == b); printf(“!(a == b) 是 %d \n“,结果); 返回 0; } 输出: (a == b) && (c > b) 为 1 (a == b) && (c < b) 为 0 (a == b) ||(c < b) 为 1 (a != b) ||(c < b) 为 0 !(a != b) 为 1 !(a == b) 为 0   (a == b) && (c > 15) 的计算结果为 1,因为操作数 (a == b) 和 (c > b) 都是 1(true)。 (a == b) && (c < b) 的计算结果为 0,因为操作数 (c < b) 为 0(假)。 (a == b) ||(c < b) 计算结果为 1,因为操作数 (a = b) 为 1(真)。 (a != b) ||(c < b) 的计算结果为 0,因为操作数 (a != b) 和 (c < b) 均为 0(假)。 !(a != b) 的计算结果为 1,因为操作数 (a != b) 为 0(假)。因此!(a != b) 为 1(真)。 !(a == b) 的计算结果为 0,因为 (a == b) 为 1(真)。因此!(a == b) 为 0(假)。  

标签:操作数,示例,++,C语言,运算符,&&,printf
From: https://www.cnblogs.com/2467118965z/p/17528353.html

相关文章

  • 一个简单的exporter示例文件
    packagemainimport( "fmt" "log" "net/http" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp")//定义一个指标,用于记录请求总数varrequestTotal=prome......
  • C语言中if(a);if(!a);if(a!=0);if(a==0)有什么区别?
    if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。if(a==0):如果a等于0,则使得if条件成立,反之不成立。等价于if(!a)。......
  • 60.C++中新增了string,它与C语言中的 char *有什么区别吗?它是如何实现的?
    60.C++中新增了string,它与C语言中的char*有什么区别吗?它是如何实现的?1.实现方式:string是一种抽象类,它的实现由std::string和char*转换而来。在实现上,std::string内部通常会使用动态数组来存储字符串,可以动态地分配内存。同时,std::string还可能使用一些优化技术,如内部缓存和......
  • Java17新特性及代码示例:还在使用Java8? 这5个Java17新功能,你会喜欢的
    SpringBoot3.0最低支持JDK17,各开源软件正在全面拥抱JDK17.有升级计划的调查受访者中,37%的人计划在未来六个月内升级到2021年9月份发布的LTS版本JDK17。另有25%的人计划在未来6到12个月内升级到JDK17。这5个你喜欢的JDK17新功能,会让你升级JDK17吗?1.record类(记录类)传统的......
  • java http大文件断点续传上传示例
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基......
  • (转)Rancher 2.6 安装部署及入门示例
    原文:https://blog.csdn.net/weixin_41636021/article/details/1279767120.Rancher2.X简介Rancher是为使用容器的公司打造的容器管理平台。Rancher简化了使用Kubernetes的流程,开发者可以随处运行Kubernetes(RunKubernetesEverywhere),满足IT需求规范,赋能DevOps团队。ra......
  • C语言的strcpy()函数
    strcpy()函数的简介strcpy()函数用于将一个字符串拷贝到另一个内存地址的函数,拷贝停止的条件是遇到'\0',同时会将'\0'一同拷贝到目标地址。下面是strcpy()函数的声明:char*strcpy(char*destination,constchar*source);1.函数的参数:char*destination---------目标字......
  • Solon Web 开发:三、一个简单的 Web 模板项目(或示例)
    演示web程序的常用能力:控制器、请求参数、参数校验、跳转过滤器、全局异常处理静态文件动态模板动态模板公共变量及控制器基类日志Json渲染格式控制模板下载:打包成jar,可以自启动helloworld_web_jar.zip(maven)helloworld_web_jar_gradle.zip(gradle)打包成w......
  • Application Request Routing 反向代理配置示例
    第一步:安装URLRewrite 第二步:安装ApplicationRequestRouting下载地址:x86installer / x64installer第三步:配置 效果图:  对应配置文件<?xmlversion="1.0"encoding="UTF-8"?><configuration><system.webServer><rewrite>......
  • C语言学习笔记
    C语言学习笔记1.初识C语言常见类型长度单位:字节=比特全局变量和局部变量全局变量:定义在花括号外的变量局部变量:定义在花括号内的变量局部变量和全局变量的名字重合时,局部变量优先C语言规定变量要定义在当前代码块的最前面*计算两数之和:#include<stdio.h>intmain()......