第2章 C++编程入门
C++中的数据分为常量和变量。
2.1常量(Constants)
顾名思义,常量的值在程序中不能改变
Type of constant(常量数据类型) | integer:整型 | floating-point:浮点型(实型)| character:字符型 | string:字符串型
2.2变量(Variables)
变量的值可以改变,使用之前必须先定义(指定类型和名字)
变量名:C++的一种标识符,命名规则如下:
1.只能由字母、数字、下划线 组成,2.以字母或数字开头,
3.不是C++关键字,4.只能识别前31个字符,5.区别大小写;
2.3简单的屏幕输出
头文件#include<iostream>
cout<<用于向标准输出流对象输出字符串
endl(行结束)用于在屏幕上实现光标换行功能,相当于回车
2.4注释
//用于注释单行代码,也可以使用传统C风格注释,即/*开始到*/用于注释多行代码
通常,在程序开头都应该写一段注释,用于描述程序的功能、编程者、编程日期及其他相关信息,如版本号等
2.5数据类型
double:双精度实型
long integer:长整型
short integer:短整型
unsigned integer:关键字unsigned扩展了整型变量的正数范围
bool:布尔数据类型,只有true或false两个值,通常用1表示真,0表示假
2.6数据类型的大小
使用sizeof运算符来显示一些常见的数据类型在内存中占用的字节数。
示例:
运行结果:
2.7运算符
赋值运算符(=)用于给变量赋值
代数运算符(+、-、*、/、%)加、减、乘、除(整除)、取余
自增和自减运算符 (++、--)前缀形式 先加减后应用,后缀形式 先应用后加减
复合赋值运算符(+=、-=、*=、/=、%=)分别对应+、-、*、/、%这5种算术运算
2.8运算符优先级
1.乘除的优先级高于加减 ; 2.当运算符的优先级相同,根据结合性计算; 3.使用小括号改变运算的先后顺序
Unary minus :一元减运算符,与二元减运算符表示形式相同,放在操作数的前面,优先级最高,
可以看作负号(比如说-3×2-1,那就是先把负号给3,再运算,答案得-7,符合数学上的代数知识)
2.9类型转换和强转
自动转换:在进行混合类型运算时,C++ 自动将数据值转换, C++排名的数据类型按下面的顺序:
在进行混合类型运算时,C++ 自动将数据值从类型级别较低的一方向类型级别较高的一方转换。因为相对于级别较低的数据类型,级别较高的数据类型要占用更大的内存空间,因此,类型提升后不会导致数据信息的丢失,从而能够保存更精确的数据。相应地,类型的降级会导致数据信息的丢失,因为将数据赋值给较低类型的变量时,级别较低的数据类型没有足够的存储空间用来存储级别较高的数据。
手工转换:C++允许强制类型转换运算符进行手工的类型转换。
Programming pitfalls(易犯的错误)
1.不要在头文件/or/main()语句的行末添加分号;
2.C++中的每条语句都应以分号结束(注释除外);
3.键入错误可能导致一个语句什么都没有做,但不能否认其有效性;
4.在算术表达式中使用变量前,必须将其初始化;
6. 不确定运算符的优先级时,应使用小括号,且保证左右括号的个数相等;
7.每个变量都有一个关联的数据类型(int、float 等)一定不要让变量的值超出变量所能表示的范围;
8.避免不必要的、无意义的程序注释;
9.注意算数运算中除为整除,示例:
int a=100,b=8;
float r;
r=a/b;
此时结果为12
r=atatic_cast<float>(a)/b;
此时结果才为12.5。
快速语法参考
最新文章
- docker入门记录1
- Java(类与对象)
- letter-spacing
- BI 项目管理之角色和职责
- 攻城狮在路上(贰) Spring(一)--- 软件环境、参考书目等一览表
- 转 Android Dalvik虚拟机初识
- html、css、js的命名规范
- FreeBSD 路由详解
- POJ2891 - Strange Way to Express Integers(模线性方程组)
- backtrack种子
- Eclipse导入maven项目时,pom-xml文件报错处理方法
- Loadrunner与idea编写加密的java Vusers脚本总结
- frist Django app — 四、 完善View
- VS code 配置为 Python R LaTeX IDE
- Recurrent Neural Network[Content]
- 关于在CentOS上,绘图丢失部分中文字的问题
- java web 乱码终结
- React Native 组建之IOS和Android通用抽屉
- 在离线安装gazebo的时候可能在运行turtlebot_gazebo的时候会出现问题
- [图解算法] 二分查找Binary-Search——<;递归与分治策略>;