当前位置: 首页 > news >正文

C++学习札记(2011-10-06)

最新文章:Virson's Blog
1、为了书写方便,可将short int简写成short,即默认情况下short表示的意思是短整形,可类推long则表示长整型
2、单精度:float(32bit),双精度:double(64bit),长精度:long double(80bit);统称为浮点型(或实数类型)
3、在C++中,整型常量可以用十进制、八进制和十六进制3种不同进制表示
十进制整数:直接给出数字,例如:123、0、-135等
八进制整数:在第一位数字前加0,例如:012、-017等
十六进制整数:在第一位数字钱前加0x,例如0x15、0x2d、0x1fc7等
4、在开发系统软件或表示地址时,使用十六进制或八进制可能或更方便
5、在C++中,由于整型数还可以分为长整型、短整型和无符号整型等类型,因此,整型常量也可以通过加后缀的方式进行说明。例如,135L、789U、48529ul等等。其中,长整型用后缀L或l表示;无符号整型用后缀U或u表示
6、浮点数常量只能由十进制来表示,有小数和带指数的科学计数法两种表现形式;在科学计数法中“x10”用字母“e”或者“E”表示;在用指数形式表示的浮点数中,指数部分可以是正数或负数,但必须是整数
7、在浮点数常量中,后缀依然可以用F或f单精度数,L或l来表示长精度数
8、在C++的数值常量不能有逗号、空格或其他非法字符;数值常量的值不能超过编译程序所规定的取值范围,否则将产生溢出错误
9、在C++中用一对单引号引起来的一个字符表示一个字符常量
10、字符串常量在内存中存储时,系统会自动在其末尾加上一个串结束表示“\0”,所以程序中长度为n个字符的字符串常量,其在内存中占有n+1个存储空间
11、在C++中,使用const关键字定义符号常量时必须在定义时进行初始化(赋值)。注意,在const关键字后需加上数据类型,而使用宏定义(#define)时其后不需要使用数据类型
12、在C++中,变量应“先定义,后使用”
13、在C++中,变量名由大、小写26个英文字母、数字0~9和下划线“_”组成,并且只能由字母和下划线开头(即第一个符号不能为数字)
14、在C++中,关键字(保留字)不能用作变量名
15、C++语言对大小写是敏感的,也就是说,会把age、aGe和AGE认为是3个不同的变量;在书写程序时,会把小写字母作为变量,大写字母作为常量
15、在C中,所有变量必须在函数的开头位置集中定义;而在C++中,允许将变量定义放在任意位置,只要满足引用前进行定义的要求即可
16、变量是一个用来存放可变数据的存储空间,将数据存入该存储空间的操作就称作变量赋值
17、赋值过程中,赋值号的左边必须是一个变量,不能是常量或者表达式
18、因为赋值符“=”具有最低的运算优先级,并且运算的结合方向是从右到左,因此,在赋值表达式中会先计算赋值符右边表达式的值,再将其结果赋值给左边的变量
19、在C++中,对变量进行初始化有两种方式:一种是使用“=”,例int a = 16;另一种是使用“()”,例如int a(16)
20、在C++中,为了便于程序录入,其中的表达式必须直行书写(即写在同一行)
21、取余运算“%”中参加运算的两个数都必须是整型数(即取余符左右操作数都必须为整型数)
22、自增运算符(++)和自减运算符(--)都只能作用于单个变量,而不能作用于表达式或常量
23、位运算即指按二进制位进行逐位运算
24、在位运算中,位与操作情况下,左右操作数都为1时,结果为1,左右操作数都为0时,结果为0,左右操作数不同时,结果为0;位或操作下,左右操作数相同为1,左右操作数同为0时,结果为0,左右操作数不同时为1;异或操作的情况下,左右操作数相同时为0,不同时为1
25、在位运算的移位操作中,移出的位被舍弃,空出的位补0
26、逗号运算符(,)的运算优先级是所有运算符中最低的。使用逗号运算符可将多个表达式组合成一个表达式,例如e1,e2,e3,e4,其中e1,e2,e3和e4为4个表达式,在计算逗号表达式的值时,按从左往右顺序依次分别计算个表达式的值,而整个表达式的值的类型由最右边的表达式决定,即在本例中,整个逗号表达式的值的类型由e4决定
27、使用长度运算符sizeof可得到数据类型或变量在内存中所占的字节数
28、在单目运算中,&符号表示取地址,*表示取内容
29、运算符的优先级说明了运算符在运算中的先后顺序:
圆括号的运算优先级最高,逗号运算符的优先级最低,赋值符号的优先级排倒数第二,
单目运算符的优先级高于双目运算符,
在双目运算符中,算术运算符的优先级最高,关系运算符的优先级次之,逻辑运算符的优先级最低,
在算术运算符中,(*、/)高于(+、-)
在关系运算符中,(>、>=、<、<=)高于(==、!=),
在逻辑运算符中,逻辑非(!)最高,逻辑与(&)次之,逻辑或(|)最低
30、在运算符的结合性中,大多数运算符的结合顺序是从左到右,但也有3类运算符的结合顺序是从右到左,即单目运算符、3目运算符和赋值运算符
31、在表达式中,多使用一些圆括号并不会降低程序的执行效率,因此,在书写复杂表达式时,可适当增加一些圆括号来提高程序的可阅读性
32、数据类型转换规则:由“较低级”的类型向“较高级”类型转换(即所占内存空间较小的数据类型向所占内存空间较大的数据类型转换)
short,char→int→unsigned→long→unsigned long→double←float
当遇到赋值符左边的表示范围小于右边时,表达式的值在转换时将会被截断,从而导致数据精度受到损失
33、无论强制类型转换还是自动类型转换都是暂时性的,都是仅为本次运算或赋值的需要而进行的,他们并不会改变变量在定义时所规定的数据类型

相关文章:

  • 蔚来汽车秦力洪:智能化与电动化天生融合,6大核心技术自主研发 | 电动汽车百人会 2019...
  • 杭电2090
  • Arcgis Runtime 100.3开发实例源代码调试日志
  • 上厅房,下厨房,ElasticSearch有的忙
  • Linux安装gitlab
  • 专家齐议尘肺病农民救助难点
  • Codeforces Round #532(Div. 2) A.Roman and Browser
  • 澳大利亚将开启全球人才计划 吸引优秀技术移民
  • kubernetes 设置CA双向数字证书认证
  • 澳门消防局拟购置无人机协助紧急救援
  • spring学习总结(一)_Ioc基础(下)
  • 联邦法官驳回章莹颖案被告所有动议 全案按原计划审理
  • MySQL逻辑架构及性能优化原理
  • mysql 查询的时候没有区分大小写的解决方案
  • 2.python数据类型
  • 分享的文章《人生如棋》
  • JavaScript实现分页效果
  • Objective-C 中关联引用的概念
  • Python 使用 Tornado 框架实现 WebHook 自动部署 Git 项目
  • SpiderData 2019年2月16日 DApp数据排行榜
  • 对象管理器(defineProperty)学习笔记
  • 机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
  • 巧用 TypeScript (一)
  • 如何实现 font-size 的响应式
  • 使用 Xcode 的 Target 区分开发和生产环境
  • 小而合理的前端理论:rscss和rsjs
  • 在electron中实现跨域请求,无需更改服务器端设置
  • 专访Pony.ai 楼天城:自动驾驶已经走过了“从0到1”,“规模”是行业的分水岭| 自动驾驶这十年 ...
  • ​iOS安全加固方法及实现
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (14)Hive调优——合并小文件
  • (2)Java 简介
  • (3)llvm ir转换过程
  • (二)pulsar安装在独立的docker中,python测试
  • (二)springcloud实战之config配置中心
  • (附源码)spring boot校园拼车微信小程序 毕业设计 091617
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (推荐)叮当——中文语音对话机器人
  • (一)pytest自动化测试框架之生成测试报告(mac系统)
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • ***通过什么方式***网吧
  • .\OBJ\test1.axf: Error: L6230W: Ignoring --entry command. Cannot find argumen 'Reset_Handler'
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .net core 依赖注入的基本用发
  • .net framework profiles /.net framework 配置
  • .net2005怎么读string形的xml,不是xml文件。
  • .net利用SQLBulkCopy进行数据库之间的大批量数据传递
  • @RequestBody的使用
  • @RequestParam,@RequestBody和@PathVariable 区别
  • [ C++ ] STL---string类的使用指南
  • []我的函数库