首页 > 其他分享 >0基础学习C语言第二章:运算符与表达式

0基础学习C语言第二章:运算符与表达式

时间:2024-03-23 12:29:34浏览次数:16  
标签:逗号 逻辑 变量 Value C语言 运算符 表达式

表达式:表达式是c语言的主体,在c语言中,表达式由操作符和操作数组成。简单的表达式可以只有一个操作数。根据操作符的个数,可以将表达式分为简单表达式和复杂表达式,简单的表达式只含有一个操作符(如:5+5),而复杂的表达式则含有两个或者两个以上的操作符(如5+5+6*4);表达式是本身什么事情也不做,只是返回结果的值,在程序不多结果值做任何处理的情况下,返回的结果值不起任何作用;表达式产生的作用有两种情况:(1)放在赋值语句的右侧;(2)放在函数的参数中。

赋值运算符和赋值表达式:“=”就是赋值运算符,其作用是将一个数据赋值给一个变量。变量的赋初值(int iNumber=12;char cMyChar=‘a’;int iAmount=1+2)。

自动类型转换:低级数据向高级转换,低级数据会变高级,数据不会失真;高级数据向低级数据转换时,数据级别会降低,并且会发生截断(如float fMum=1.02f;int j=i)。

强制类型转换:如float i=1.01f;int j=(int)i;

#includeint main()

{

charcChar;/*字符型变量*/

shortintiShort;/*短整型变量*/

intiInt;/*整形变量*/

floatfFloat=70000;/*浮点型变量*/

cChar=(char)fFloat;/*强制赋值转换*/

iShort=(short)fFloat;

iInt=(int)fFloat;

printf(".........");

return0;

}

算数运算符和表达式:单目运算符(正,负);双目运算符(乘法,除法,取模,加法,减法);优先级分别是(单目运算符,乘法、除法、取模,加法、减法)。

算术表达式:含有算术运算符的表达式。

算术运算符的结合性:当算术运算符的优先级相同的时候,结合方向是自左向右(如a-b+c)。

自增自减运算符:自增运算符“++”和自减运算符“--”。自增运算符和自减运算符对变量的操作分别是增加1和减少1;

inta=1,b=1,c;

c=++a;//c的值为2,a的值为2c=b++;//c的值为1,b的值为2//当自增自减运算符在变量的前面时,变量在参加表达式之前就完成了自增或者自减运算;//当放在后面时,变量在参加表达式之后完成自增或自减;

关系运算符和表达式:关系运算符的作用就是判断两个操作数的大小关系,关系运算符包括:>,>=,<,<=,==,!=。优先级和结合性:关系运算符的结合性是自左向右的。

逻辑运算符和表达式:逻辑运算符根据表达式的真或者假属性返回其真值或者假值;逻辑运算符包括逻辑与(&&),逻辑或(||),单目逻辑非(!);优先级和结合性:自左向右的结合性,优先级从高到低依次为:单目逻辑非运算符“!”,逻辑与运算符“&&”,逻辑或运算符“||”。

位逻辑运算符和表达式:位运算符是C语言中比较有特色的内容。位逻辑运算符可以实现位的设置、清零、取反和取补操作。利用位运算可以实现很多汇编语言才能实现的功能。为逻辑运算符包括:位逻辑与“&”,位逻辑或“|”,位逻辑非“^”,取补”~“;在程序中,位逻辑运算符一般被程序员用作开关标志。较低层次的硬件设备驱动程序,经常需要对输入输出设备进行为操作。

逗号运算符和表达式:在c语言中,可以用逗号将多个表达式分隔开来。其中,用逗号分开的表达式分别计算,并且整个表达式的值就是最后一个表达式的值。逗号表达式称为顺序求值运算符,逗号表达式的一般形式是:表达式1,表达式2,表达式3,...,表达式n;逗号表达式的求解思路是:先求表达式1,再求表达式2,已知求解到表达式n。整个逗号表达式的值是表达式n的值。如:Value=2+1,5+3,4+5;若按照上述说法,Value的值应该为9,但是实际上Value的值为3,因为还涉及到一个运算符的优先级问题,赋值运算符优先级大于逗号运算符。但是Value=(2+1,5+3,4+5);的Value的值就是9了。

复合赋值运算符:符合运算符是C原因中独有的,实际这是一种操作的做些形式,可使得变量的操作描述方式更为简洁;如Value+=3;实际就是Value=Value+3;

运算符的优先级表如下:

运算符和表达式是C语言中比较基础需要去深刻记忆的知识点,加油,让我们一起进步,我会帮助大家在我的经验上期总结一些学习的方法和注意的知识点,有什么不理解的欢迎私信哦,我也准备了一些资料帮助大家,欢迎大家滴滴,一起加油进步

标签:逗号,逻辑,变量,Value,C语言,运算符,表达式
From: https://blog.csdn.net/ww120624/article/details/136964653

相关文章

  • 正则表达式
    正则表达式,看了书上的解释后,我的理解是:筛选出来符合设定规则的字符。一些规则如下python中使用re模块re.match尝试从字符串的起始位置匹配一个模式,如果不是起始位置匹配成功的话,match()就返回none。语法为:re.match(pattern,string,flags=0),pattern为正则表达式,string为搜......
  • PostgreSQL中的CTE(公共表表达式)知多少? - (中级)
    与我联系:微信公众号:数据库杂记   个人微信: iiihero我是iihero. 也可以叫我Sean.iihero@CSDN(https://blog.csdn.net/iihero) Sean@墨天轮 (https://www.modb.pro/u/16258)数据库领域的资深爱好者一枚。水木早期数据库论坛发起人 db2@smth就是俺,早期多年水木......
  • 8.Golang中的运算符-算术运算符、关系运算符、逻辑运算符、赋值运算符
    Golang中的运算符1、Golang内置的运算符算术运算符关系运算符逻辑运算符位运算符赋值运算符2、算数运算符运算符描述+相加-相减*相乘/相除%求余=被除数-(被除数/除数)*除数注意:++(自增)和--(自减)在Go语言中是单独的语句,并不是运算符。pa......
  • 1、Python 正则表达式:基本介绍
    点击上方分类专栏、进行系统性学习(文末可扫码领取资料)正则表达式(RegularExpression)是计算机科学的一个概念。“Regular”一般被译为“正则”、“正规”、“常规”。此处的“Regular”即“规则、规律”的意思,RegularExpression即“描述某种规则的表达式”。正则表达式使用......
  • 杨辉三角C语言
    杨辉三角输出杨辉三角前10行#include<stdio.h>intmain(){ inta[10][10]; for(inti=0;i<10;i++){ a[i][0]=1; a[i][i]=1; } for(inti=2;i<10;i++) for(intj=1;j<i;j++) a[i][j]=a[i-1][j]+a[i-1][j-1]; for(inti=0;i<10;i++){ for(intj=0......
  • 输入8个整数放入一维数组w中,输出交换前的数组,找出其中的最大数和最小数并将他们分别与
    #include<stdio.h>intmain(){intw[8];inti,maxIndex=0,minIndex=0,temp;//用户输入8个整数printf("请输入8个整数:");for(i=0;i<8;i++){scanf("%d",&w[i]);}//假设第一个元素为最大和最小值......
  • C语言预编译#pragma宏的作用
    在嵌入式编程中,#pragma指令具有非常重要的作用,因为它允许开发者在不同的编译器之间传达特定的编译指令。由于嵌入式编程通常与硬件紧密相关,且资源有限,这些指令可以帮助开发者更有效地利用可用资源,优化程序,以及处理特定的硬件约束。以下是#pragma在嵌入式编程中的一些常见应用......
  • GEE入门及进阶教程|使用表达式处理图像
    目录1.EVI的算术计算2.使用表达式计算EVI3.使用表达式计算BAI1.EVI的算术计算        增强植被指数(EVI)旨在最大限度地减少NDVI的饱和度和其他问题,在叶绿素含量高的地区(例如雨林),EVI不会像NDVI那样饱和(即达到最大值),从而更容易检查这些地区植被的变化。......
  • 掌握C语言结构体,开启编程新世界
    ✨✨欢迎......
  • 数据结构——单向链表(C语言版)
    在数据结构和算法中,链表是一种常见的数据结构,它由一系列节点组成,每个节点包含数据和指向下一个节点的指针。在C语言中,我们可以使用指针来实现单向链表。下面将详细介绍如何用C语言实现单向链表。目录1.定义节点结构体2.初始化链表3.插入节点4.删除节点5.遍历链......