c语言整行乘非整形等于什么意思,C语言--整形升级寻常算术转换
【三个概念】
1.表达式:
由运算符、变量和常量组成的具有一个确定结果(值)的一个式子。
-->算术表达式:如 x + 5 * y
-->关系表达式:如 x >= 5, x == 8
-->逻辑表达式:与、或、非,&& || ~
-->赋值表达式:如 x = y +7
-->条件表达式:如 x > y ? 1 : 0
-->逗号表达式:有逗号运算符的表达式
求解表达式:①混合运算规则;②优先级规则;③ 结合性规则。
2.语句:
指的是当程序运行时执行某个动作的语法结构。它改变变量的值,产生输出,或处理输入。C语言包括4类语句:
-->表达式语句:末尾加上分号,expression;如,函数调用语句和赋值语句
-->语句块:由大括号{}括起来的一系列语句
-->空语句:只有一个分号
-->控制语句:3类,循环语句,选择/条件语句,特殊语句(return,continue,break)
3.算术运算:
二元算术运算符:加减乘除取模,+ - / * %
一元算术运算符: + -,强调数的正负
【整形升级】
也称类型提升,是指:
char, shaort int或者int型位段(bit-field),包括它们的有符号或无符号变型,以及枚举类型,可以使用在int或unsigned int的[!表达式!]]中。
如果int可以完整表示源类型的所有值,那么该源类型的值就转换为int,否则转换为unsigned int。
【寻常算术转换】
当执行[!算术运算!]时,操作数的类型如果不同,就会发生转换。
规则:
①若其中一个是long double类型,另一个也被转换成long double;
②若其中一个是double类型,另一个也被转换成double;
③若其中一个是float类型,另一个也被转换成float。
若不满足上述三条,则两个数进行整型升级:
①若其中一个是unsigned long int类型,另一个也被转换成unsigned long int;
②若其中一个是long int类型,另一个是unsigned int,
如果long int能够完整表示unsigned int的所有值,那么unsigned int转换为long int,
如果long int不能够完全表示unsigned int所有值,那么两个操作数都被转换成unsigned int。
③若其中一个是 long int 类型,另一个也被转换成long doublelong int;
④若其中一个是 unsigned int 类型,另一个也被转换成unsigned int;
⑤若以上四条都不满足,则两个数都转换成 int。
【K&R C和ANSI C区别】
K&R C:无符号保留原则,当一个无符号类型与int或更小的整型混合使用时,结果类型是无符号类型。
ANSI C:值保留原则,操作数类型不同就进行转换,朝着浮点精度更高,长度更长的方向转换。
【总结】
通常情况下,在对int类型的数值作运算时,CPU的运算速度是最快的。在x86上,32位算术运算的速度比16位算术运算的速度快一倍。
C语言是一个注重效率的语言,所以它会作整型提升,使得程序的运行速度尽可能地快。
因此,你必须记住整型提升规则,以免发生一些整型溢出的问题。
c语言整行乘非整形等于什么意思,C语言--整形升级寻常算术转换相关推荐
- c语言读png图片非隔行扫描,北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术.ppt...
北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术 * * * * 控制在10页 * 有人说科学的作用是安抚,艺术的作用是颠覆.科学家严谨的思维和艺术家非凡的创造力.灵活的表现力之间看 ...
- c语言6行6列元素奇数的个数,C语言任意输入n个整数,分别统计奇数的和.奇数的个数.偶数的和.偶数的个数....
输入任意2个整数m和n,计算并输出这两个数(包括这2个数)之间所有奇数之和(C语言) //#includevoidmain(){intm,n,i,min,max;printf("Please ...
- 学计算机的人c语言修仙评价,评《C语言修仙》 非渊静者 评《C语言修仙》 时间:2019-05-04 11:55:19...
评<C语言修仙> /* 仍旧是那个小菜鸡,这篇认真吹作者. */ 前段时间忙学习没看,今天中午有点空就想着补上.没想到这章的人魔界的裂缝我读着读者竟然读出了点熟悉的感觉.按照我不负责任的猜 ...
- Excel整列或整行移动
1.选中想要移动的列,鼠标放在这列单元格右侧的边线上,出现四个箭头线. 2.出现四个箭头线的同时,按住shift键和鼠标左键,拖动整行到想要放置的位置,出现T字型. 3.出现T字型后,松开shift键 ...
- C语言编程入门新手学习精华:这样学习C语言最有效
1. C语言已死吗? 本资料描述的是使用C语言的高级技巧,力求将你的C语言能力由"基础"提升为"高级".但是学习态度胜过学习方法,在正式学习之前,有一个问题不吐 ...
- R语言在dataframe的特定索引位置添加数据行而非在dataframe末尾append数据行实战
R语言在dataframe的特定索引位置添加数据行而非在dataframe末尾append数据行实战 目录 R语言在dataframe的特定索引位置添加数
- C语言 输入是一整行的字符串
输入是一整行的字符串的 C语法: char buf[20]; gets(buf); C++语法: 如果用string buf;来保存: getline( cin , buf ); 如果用char bu ...
- c语言8个字节整形数,C语言整型数据分析
C语言整型数据分析 不同类型的量可以参与运算并相互赋值.其中的类型转换是由编译系统自动完成的.以下是小编为大家搜索整理的C语言整型数据分析,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考 ...
- c语言8行7列星号矩形,C语言程序设计课件_完整版.ppt
C语言程序设计课件_完整版.ppt C语言程序设计;第一章 C语言概述;1.1 C语言出现的历史背景;1.2 C语言的发展史;1.3 C语言的特点;1.4 C语言的基本程序结构;main函数位置任意, ...
最新文章
- python使用界面-如何使用python图形化界面wxPython
- Nginx中添加gzip_static支持
- 常用安卓开发技巧汇总
- 送福利 | 送书3本 ASP.NET Core 真机拆解
- CSS学习笔记-04 a标签-导航练习
- php加大session,PHP :: Bug #63251 :: yaf session功能增强
- 09-Elasticsearch重要的系统配置
- 并发之线程封闭与ThreadLocal解析
- shell输出标准化xml
- PHP $_SERVER详解
- C语言描述的数据结构顺序表的置空 slt-size=0含义
- 正向传播、反向传播和计算图
- 如何获取应用宝APP ID
- linux如何设置串口参数,串口通信的参数如何设置
- Android从网页中跳转到APP
- 赛昉科技 星光v1 使用笔记
- neat神经网络算法的线性回归拟合(Python)
- css中的z-index层级问题
- 软件开发外包管理-1-选择供应商
- 电赛A题无线运动传感节点总结(一)
热门文章
- jsapi支付签名_PHP实现微信支付(jsapi支付)流程步骤详解
- 计算机无法开机按了f2,开机提示按f2 解决电脑开机时总是提示按F2 to continue的方法...
- 表弟:这数学规律题该怎么解决呢?使用Python你会发现很简单
- selenium+python面试题目总结,完整度80%,看看你会多少?
- 利用Flask来构建项目的大概步骤
- opencv学习笔记20:图像轮廓
- JavaScript实现递归楼梯问题(蛮力解决方案)算法(附完整源码)
- wxWidgets:wxWindow类用法
- boost::lower_bound相关的测试程序
- boost::random模块实现允许直观地检查分布函数的结果的测试程序