c语言笔记3运算符与表达式
运算符与表达式
知识点一
操作数:参与运算的具体对象。
运算符:指明了对操作数进行的某项运算。
表达式:表示一个求值得规则。它由变量、常量、运算符和函数、括号按一定规则组成。
书写表达式的细节:1,运算符不能相邻;2,括号可以改变运算顺序。
知识点二
运算符的分类:
知识点三
不同的运算符,优先执行就是优先级。
同等的运算符,从左往右执行就是结合性。
知识点三
算术表达式
1,算术运算符:+、-、*、/、%(加减乘除模)
2,算术表达式的结果仍然为数值;
3,c语言区分参与运算对象的数据类型的;
细节:(/)整数相除的结果为整数,实数相除结果为实数;(%)模运算操作数只能是整数
- int x = / ;
- printf("%d\n", x);
- //
- float y = / ;
- printf("%f\n", y);
- //2.00000
- float z = / 3.0;
- printf("%f\n", z);
- //2.333333
取模运算
- printf("%d", %);//5=1*3+2 ,所以余数是2
- printf("%d", %-);//5=0*-5+3 ,所以余数是3
- printf("%d", -%);//5=-1*3-2 ,所以余数是-2
- 1 //实现一个整数个位和十位互换 数据分离技术
- int num;
- scanf("%d", &num);
- int ge;
- int shi;
- ge = num % ;
- shi = num / ;
- printf("输出值:%d", ge * + shi);
- system("pause");
知识点四
自增自减运算符:将变量的值增加1或减少1。
1,只能对变量使用,不能用于常量和表达式如5++,(a+b)++;
2,前缀时是先运算、后引用,后缀时是先引用、后运算;
- //代码1
- short a = , b = ;
- short x = , y = ;
- short c = (++a)*b;//
- short c2 = (x++)*y;//
- printf("%d,%d\n",c,c2);
- //代码2
- short num = ;
- printf("%d\n", ++num);//
- short num2 = ;
- printf("%d\n", num2++);//
知识点五
赋值表达式:将一个数据(常量或表达式)赋给一个变量。
赋值运算符:+= -= *= /= %= 《= 》= &= ^= |=。
1,结合:从右向左;
2,赋值语句左侧必须是变量,不能是常量或表达式如3=x-2*y; a+b=3;
3,赋值号右边表达式值自动转换成 其左边变量的类型;
4,嵌套;
例
int i=2.56; //结果i=2;
a=b=c=5;//a=5,b=5,c=5
a=(b=10)/(c=2);//a=5,b=10,c=2
a+=a-=a*a//等价于a=a+(a=a-(a*a))----嵌套
知识点六
逗号表达式又称顺序表达式,整个表达式的值是最后那个逗号之后表达式的值。
int a = (a = 3, a * 3);//9
知识点七
关系表达式,就是做比较。
关系运算符:>、<、>=、<=、==、!=。
一般形式:表示式1 关系运算符 表达式2。
1,关系表达式运算结果为1(真)、0(假);
2,两边表达式可以是整型、实型、字符型,字符是比较内存地址,不推荐实型进行等与不等比较,因为精度稳定导致结果不可预测。
- //整型
- printf("%d\n", > );//
- printf("%d\n",<<);//等价于 1<2 结果为1,1<3.最后结果为1
1)字符的比较是比较其ASCII码的大小
2)两个常量字符串,比较的是两个字符串在内存中的地址大小
- #define CMD "calc"
- void main(){
- //字符型
- 'a'+>'b' ? printf("成立\n") : printf("不成立\n");//成立
- char ch = 'a';
- char ch2 = 'a';
- printf("%x,%x\n", &ch, &ch2);
- ch==ch2 ? printf("相等\n") : printf("不相等\n");//相等
- //结论:ch与ch2内存地址不一样,但空间值相等,字符型比较,是比较ASCII大小,所以相等。参见下面图一,图二
- }
- void main2(){
- //字符常量
- CMD == "calc" ? printf("相等\n") : printf("不相等\n");//相等,比较内存地址大小
- }
字符型比较运算内存分析图一:
字符型比较运算内存分析图二:
知识点八
逻辑运算符:&& 、||、!
逻辑真值表
1,短路原理,表达式1的值足以确定整个表达式的值就不再计算表达式2的值
知识点十
条件表达式又称三目运算符。
一般形式:表达式?条件一:条件二;
c语言笔记3运算符与表达式的更多相关文章
- C语言基础知识-运算符与表达式
C语言基础知识-运算符与表达式 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.常用运算符分类 1>.算术运算符 用于处理四则运算. 2>.赋值运算符 用于将表达式的 ...
- C语言笔记 04_运算符
运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C 语言内置了丰富的运算符,并提供了以下类型的运算符: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 杂项运算符 算术运算符 ...
- JAVA语言中的运算符和表达式
JAVA——运算符 按运算符要求的运算符个数可分为一元.二元.三元运算符: 一元运算符有一个操作数:如正数或者负数前面的“+”.“—”,和自增“++”.自减“- -”. 二元运算符有两个操作数:如除法 ...
- Java语言常用的运算符和表达式详解
Java提供了丰富的运算符,如算术运算符.关系运算符.逻辑运算符.位运算符等等.Java的表达式就是用运算符连接起来的符合Java规则的式子.运算符的优先级决定了表达式中运算执行的先后顺序.在编写程序 ...
- c语言数据类型、运算符和表达式
数据类型 1.基本数据类型: 基本数据类型最主要的特点是,其值不可以分解为其他类型.也就是说,基本数据类型是 自我说明的 2.构造数据类型: 构造数据类型是根据已定于的一个或多个数据类型用构造的方法来 ...
- 【C语言学习】《C Primer Plus》第5章 运算符、表达式和语句
学习总结 1.有了一定的语言基础,运算符和表达式这些都大同小异,无外乎赋值运算符(=).算术运算符(+.-.*./.%.++.——)和其他的一下运算符(sizeof.(type)). 2.声明一个参数 ...
- JAVA基础——运算符和表达式
JAVA语言常用的运算符和表达式详解 一.简述 运算符是一种"功能"符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个&q ...
- day03运算符、表达式、自增自减、三目运算符、程序结构、用户输入
复习 1.java的输出语句 1)System.out.println(); 2)System.out.print(); 2.注释 1)单行注释 // 2)多行注释 /* .... */ 3.变量 1 ...
- 003-scanf函数使用和表达式-C语言笔记
003-scanf函数使用和表达式-C语言笔记 学习目标 1.[掌握]输入函数scanf的基本使用方法 2.[掌握]输入函数scanf运行原理和缓冲区理解 3.[掌握]算术运算符和算术表达式的使用 4 ...
随机推荐
- SSM-网站后台管理系统制作(2)---SSM基本工作原理
SSM基本工作原理 讲解网站:https://www.w3cschool.cn/wkspring/dcu91icn.html 构建基本工作环境: mysql eclipse(tomcat8.0) Hb ...
- Windows下nginx+tomcat实现简单的负载均衡
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请 ...
- OpenGL.Tutorial16_ShadowMapping
1. 2. In Tutorial 15 we learnt how to create lightmaps, which encompasses(包含) static lighting. While ...
- 盛最多水的容器(java实现)
题目: 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) .在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0).找出其中的 ...
- Django 编写模板并渲染的示例
>>> from django.template import Template, Context >>> raw_template = ""& ...
- z2-xcode使用
@xcode区块命名 左边导航栏,右边工具栏,下边调试栏 @快捷键 最常用的#显示/隐藏导航栏:Command+ (反选一样Command+) #显示/隐藏工具栏:Command+Option+ (反 ...
- 使用metrics统计接口tps
metrics的简单介绍 metrics是一种性能指标工具,有很多开源工具使用之来来作为其性能监控,如Hadoop,Kafka,Spark,JStorm等. metrics使用最主要有三个东西: Me ...
- 脚本可执行,但无HTML测试报告文件生成,其造成的原因是在PyCharm的执行模式错误
定义测试报告两种写法: 1)测试报告直接在本地绝对路径下生成 # 导入HTMLTestRunner模块 import HTMLTestRunner # 通过open()方法以二进制写模式('wb')打 ...
- MVC实战之排球计分(八)——软件制作总结
此系列博客目的是制作一款排球计分程序.这系列博客将讲述此软件的 各个功能的设计与实现.到这篇博客,此系列博客就算是结束了. 在最后的这篇博客里 我们来做一些总结. 一,制作此程序,我们使用的是MVC框 ...
- 一个简单CI/CD流程的思考
因为公司有两地研发团队,在统一CI/CD上难度不亚于两家公司合并后的新流程建立,并非不可攻克,简单描述下心得. 首先,代码管理使用gerrit -> 因其强大的 codereview 功能被选中 ...