内存

  • 计算机使用内存来记忆或存储计算时所使用的的数据.
  • 计算机执行程序时, 组成程序的指令和程序所操作的数据都必须存放在某个地方, 而这个地方就是计算机的内存, 也称为主存, 或随机访问存储器(RAM).

变量

  • 变量是计算机中一块特定的内存空间, 由一个或多个连续的字节组成

  • 不同数据存入具有不同内存地址的空间, 且相互独立.

变量的命名规则

  • 通过变量名可以简单快速的找到内存中存储的数据

  • C++中变量的命名规则

    • 变量名只能由字母 下划线 数字三种字符组成

    • 变量名的第一个字符必须是字母或下划线, 不能是数字

    • 变量名不能包含除下划线以外的任何特殊字符, 如% # 逗号等

    • 变量名不能使用保留字

    • 变量名不要使用拼音

    • 变量名尽量不使用单个英文单词, 提倡使用含有正式含义的英文单词

数据类型

常用数据类型

注意: 字符型char 实际属于整型int.

定义初始化变量

//声明变量			数据类型  变量名;
int num; //定义时初始化变量 数据类型 变量名 = 值;
int num = 10; //定义后初识化变量 数据类型 变量名; 变量名 = 值;
int num;
num = 10; //float, 占4个字节, 6~7为有效数字, 不精确, 有误差
//float类型变量赋值时建议在数值的末尾加一个f
//声明及初始化
float flowerPrice = 150.0f;
//练习---已知圆柱体的半径和高, 求体积

#include <iostream>
#include <iomanip> //使用setprecision时需要的头文件 using namespace std; int main()
{
cout << fixed; //正常显示浮点数, 而不是以科学计数法的方式
cout << setprecision(2); //控制浮点数显示的精度
double r, h;
cout << "请输入圆柱体的半径: " << endl;
cin >> r;
cout << "请输入圆柱体的高: " << endl;
cin >> h;
double v = 3.14 * r * r * h;
cout << "圆柱体的体积为: " << v <<endl; }

常用ASCII码

常用转移字符

输入输出

#include <iostream>
#include <iomanip> using namespace std; int main()
{
double attack1 = 896;
double attack2 = 678;
double attack3 = 482; cout << left; //左对齐
cout << setfill('*'); //指定填充
cout << setw(8) << attack1 <<
setw(8) << attack2 <<
setw(8) << attack3 << endl; }

运算符

算数运算符

  • 一元运算符: ++ --

  • 二元运算符: + - * % /

  • i++和++i的区别

    • i++是用原值参与表达式的运算, 运算之后再加1
    • ++i是在运算之前加1, 再参与表达式的运算

关系运算符

关系运算符可以比较大小 , 高低, 长短, 有>, <, >=, <=, ==, !=

逻辑运算符

运算符 表达式 解释
&& 且 条件1 && 条件2 两个条件同时为真时, 结果为真
|| 或 条件1 两个条件有一个为真时, 结果为真
! 非 !条件 条件为真时, 结果为假 条件为假时, 结果为真

位运算符

运算符 解释 示例
& 按位与 两个操作数都为1时结果为1
| 按位或 两个操作数只要有一个为1, 结果就为1
~ 按位取反 操作数为1, 结果为0; 操作数为0, 结果为1
^ 按位异或 两个操作数相同, 结果为0; 两个操作数不同, 结果为1
<< 左移 右侧空位补0
>> 右移 左侧空位补符号位

注意: 负数的二进制以补码表示

  • 原码: 按照绝对值大小转化成二进制数
  • 反码: 将二进制数按位取反
  • 补码: 反码加1

sizeof运算符

  • sizeof运算符可以获得数据类型占用内存空间的大小
  • 单位是字节
sizeof(char)		1
sizeof(short) 2
sizeof(int) 4
sizeof(long) 4
sizeof(long long) 8
sizeof(float) 4
sizeof(double) 8
sizeof(long double) 12

运算符优先级

  • 单目运算符, 包括 ! , ~, ++, --, sizeof, 优先级别高
  • 优先级别最低的是赋值运算符
  • 可以通过 () 控制表达式的运算顺序, () 的优先级别最高
  • 从右向左结合性的只有赋值运算符, 三目运算符合单目运算符
  • 算术运算符 > 关系运算符> 逻辑运算符

类型转换

自动类型转换

把表示范围小的类型的值转换到表示范围大的类型的值

short -> int -> long -> float -> double

强制类型转换

语法: (类型名) 变量名;

​ 类型名(变量名);

C++---变量、数据类型和运算符的更多相关文章

  1. Java1变量数据类型和运算符

    day02_变量数据类型和运算符   1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public class jh_01_数据类型说明 {     public  ...

  2. Java历程-初学篇 Day02变量,数据类型和运算符

    一,数据类型 1,基础数据类型 整型 byte short int long 浮点型 float double 字符型 char 布尔类型 boolean 2,引用类型 String 字符串型 二,变 ...

  3. JavaSE-02 变量 数据类型和运算符

    学习要点 掌握变量的概念 掌握常用数据类型 掌握赋值运算符.算术运算符 掌握boolean数据类型和关系运算符 掌握变量的概念 面向过程程序的定义 程序的定义:程序=数据+算法+文档 程序要操作的数据 ...

  4. java2变量数据类型和运算符

      public class jh_11_加加减减运算符 { public static void main(String[] args) { int a = 5,b =2 ; a ++;// 对自身 ...

  5. Java 第二章 变量、数据类型和运算符

    第二章      变量.数据类型和运算符 什么是变量: 变量代表一块内存区域,变量类型不一样,这一块内存的大小也不一样. #在编程语言里面,你可以通过定义变量,向内存里添加数据或者修改内存已有的数据. ...

  6. Java中的变量,数据类型和运算符

    变量,数据类型和运算符 1.变量是一个数据存储空间的表示,它是储存数据的基本单元. 如何理解这句话,下面用一个表格可以形象的表达: 变量与房间之间的对应关系 房间名称 变量名 房间类型 变量类型 入住 ...

  7. 使用 JavaScript 中的变量、数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算符的不同位置得到不同的结果

    查看本章节 查看作业目录 需求说明: 使用 JavaScript 中的变量.数据类型和运算符,计算出两个 number 类型的变量与一个 string 类型的变量的和,根据 string 类型处于运算 ...

  8. IOS开发新手教程(一)-数据类型和运算符

    OC语法入门(一) 数据类型和运算符 1.1凝视 凝视和其它语言一样,同意单行 ,多行凝视,一份规范的代码里面须要有一些正式的凝视,例如以下凝视: /* 这是多行 凝视 */ //这是多行凝视 OC语 ...

  9. PostgreSQL自学笔记:5 数据类型和运算符

    5 数据类型和运算符 5.1 PostgreSQL 数据类型介绍 5.1.1 整数类型 整型类型 字节 取值范围 smallint 2字节 -2^15 ~ 2^15 int integer 4字节 - ...

  10. JavaScript(二)---- 变量、数据类型和运算符

    变量 javaScript中的变量变量是弱类型的,用var来声明. javascript的变量声明格式: var 变量名 = 数据; 声明变量要注意的事项: 1. 在javascript中声明变量是 ...

随机推荐

  1. C/C++语言读取SEGY文件笔记(一)

    SEGY IO 推荐采用的IDE为Visual studio(VS),本文档将介绍SEGY文件的读取与写入过程,即SEGY文件的复制. 因此,新建头文件ReadSeismic.h与C++文件ReadS ...

  2. JavaWeb之Servlet、拦截器、监听器及编程思想

    本文包含的内容有: Servlet的理解 自定义Servlet.监听器和过滤器 三者的一点点编程设计思想 后续的学习 JavaWeb是Web开发的重要基础,对Servlet.监听器和过滤器等知识的掌握 ...

  3. 程序语言与编程实践4-> 蓝桥杯C/C++备赛记录2 | 第二周学习训练

    0323,又是一周星期三,按道理该总结了.这周前几天写题比较多,后面事情多了起来,就没怎么写了.主要方向是洛谷的基本语法熟悉,PTA平台数据结构的一些题目. 0323附上: 题目比较多,所以文章可能有 ...

  4. 细说MVC框架的几大困惑:

    --千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,这才是一个程序员的正确学习之道. --框架是为了解决一个又一个在Web开发中所遇到的问题而诞生的.不同的框架,都是为了解决不同的问题, ...

  5. 在Unity中用UGUI制作可输入下拉框

    Unity中UGUI制作可输入下拉框 目录 Unity中UGUI制作可输入下拉框 前言 组件分析 制作流程 总结 前言 在搜索引擎以及一些网页中我们常常可以看见这样一种UI控件,看上去是一个输入框,在 ...

  6. [AT2306]Rearranging(拓扑序)

    [AT2306]Rearranging(拓扑序) 只有luogu 题面(luogu): 有一个$n$个数组成的序列$a_{i}$. 高桥君会把整个序列任意排列,然后青木君可以选择两个相邻的互质的数交换 ...

  7. Pipeline 有什么好处,为什么要用 pipeline?

    答:可以将多次 IO 往返的时间缩减为一次,前提是 pipeline 执行的指令之间没有 因果相关性.使用 redis-benchmark 进行压测的时候可以发现影响 redis 的 QPS 峰值的一 ...

  8. 四种类型的数据节点 Znode ?

    1.PERSISTENT-持久节点 除非手动删除,否则节点一直存在于 Zookeeper 上 2.EPHEMERAL-临时节点 临时节点的生命周期与客户端会话绑定,一旦客户端会话失效(客户端与 zoo ...

  9. 为什么要使用 kafka,为什么要使用消息队列?

    缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理. 解耦 ...

  10. 什么是memecache?redis 和 memecache 有什么区别?

    什么是memecache? memcached是一套分布式的高速缓存系统,与redis相似.一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度.提高可扩展性.为了 ...