【三个概念】

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语言--整形升级寻常算术转换相关推荐

  1. c语言读png图片非隔行扫描,北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术.ppt...

    北京大学计算概论C语言经典课件Lecture4信息显示与多媒体技术 * * * * 控制在10页 * 有人说科学的作用是安抚,艺术的作用是颠覆.科学家严谨的思维和艺术家非凡的创造力.灵活的表现力之间看 ...

  2. c语言6行6列元素奇数的个数,C语言任意输入n个整数,分别统计奇数的和.奇数的个数.偶数的和.偶数的个数....

    输入任意2个整数m和n,计算并输出这两个数(包括这2个数)之间所有奇数之和(C语言) //#includevoidmain(){intm,n,i,min,max;printf("Please ...

  3. 学计算机的人c语言修仙评价,评《C语言修仙》 非渊静者 评《C语言修仙》 时间:2019-05-04 11:55:19...

    评<C语言修仙> /* 仍旧是那个小菜鸡,这篇认真吹作者. */ 前段时间忙学习没看,今天中午有点空就想着补上.没想到这章的人魔界的裂缝我读着读者竟然读出了点熟悉的感觉.按照我不负责任的猜 ...

  4. Excel整列或整行移动

    1.选中想要移动的列,鼠标放在这列单元格右侧的边线上,出现四个箭头线. 2.出现四个箭头线的同时,按住shift键和鼠标左键,拖动整行到想要放置的位置,出现T字型. 3.出现T字型后,松开shift键 ...

  5. C语言编程入门新手学习精华:这样学习C语言最有效

    1. C语言已死吗? 本资料描述的是使用C语言的高级技巧,力求将你的C语言能力由"基础"提升为"高级".但是学习态度胜过学习方法,在正式学习之前,有一个问题不吐 ...

  6. R语言在dataframe的特定索引位置添加数据行而非在dataframe末尾append数据行实战

    R语言在dataframe的特定索引位置添加数据行而非在dataframe末尾append数据行实战 目录 R语言在dataframe的特定索引位置添加数

  7. C语言 输入是一整行的字符串

    输入是一整行的字符串的 C语法: char buf[20]; gets(buf); C++语法: 如果用string buf;来保存: getline( cin , buf ); 如果用char bu ...

  8. c语言8个字节整形数,C语言整型数据分析

    C语言整型数据分析 不同类型的量可以参与运算并相互赋值.其中的类型转换是由编译系统自动完成的.以下是小编为大家搜索整理的C语言整型数据分析,希望能给大家带来帮助!更多精彩内容请及时关注我们应届毕业生考 ...

  9. c语言8行7列星号矩形,C语言程序设计课件_完整版.ppt

    C语言程序设计课件_完整版.ppt C语言程序设计;第一章 C语言概述;1.1 C语言出现的历史背景;1.2 C语言的发展史;1.3 C语言的特点;1.4 C语言的基本程序结构;main函数位置任意, ...

最新文章

  1. python使用界面-如何使用python图形化界面wxPython
  2. Nginx中添加gzip_static支持
  3. 常用安卓开发技巧汇总
  4. 送福利 | 送书3本 ASP.NET Core 真机拆解
  5. CSS学习笔记-04 a标签-导航练习
  6. php加大session,PHP :: Bug #63251 :: yaf session功能增强
  7. 09-Elasticsearch重要的系统配置
  8. 并发之线程封闭与ThreadLocal解析
  9. shell输出标准化xml
  10. PHP $_SERVER详解
  11. C语言描述的数据结构顺序表的置空 slt-size=0含义
  12. 正向传播、反向传播和计算图
  13. 如何获取应用宝APP ID
  14. linux如何设置串口参数,串口通信的参数如何设置
  15. Android从网页中跳转到APP
  16. 赛昉科技 星光v1 使用笔记
  17. neat神经网络算法的线性回归拟合(Python)
  18. css中的z-index层级问题
  19. 软件开发外包管理-1-选择供应商
  20. 电赛A题无线运动传感节点总结(一)

热门文章

  1. jsapi支付签名_PHP实现微信支付(jsapi支付)流程步骤详解
  2. 计算机无法开机按了f2,开机提示按f2 解决电脑开机时总是提示按F2 to continue的方法...
  3. 表弟:这数学规律题该怎么解决呢?使用Python你会发现很简单
  4. selenium+python面试题目总结,完整度80%,看看你会多少?
  5. 利用Flask来构建项目的大概步骤
  6. opencv学习笔记20:图像轮廓
  7. JavaScript实现递归楼梯问题(蛮力解决方案)算法(附完整源码)
  8. wxWidgets:wxWindow类用法
  9. boost::lower_bound相关的测试程序
  10. boost::random模块实现允许直观地检查分布函数的结果的测试程序