内存

  • 计算机使用内存来记忆或存储计算时所使用的的数据.
  • 计算机执行程序时, 组成程序的指令和程序所操作的数据都必须存放在某个地方, 而这个地方就是计算机的内存, 也称为主存, 或随机访问存储器(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. 《手把手教你》系列基础篇(七十六)-java+ selenium自动化测试-框架设计基础-TestNG实现DDT - 下篇(详解教程)

    1.简介 今天这一篇宏哥主要是结合实际工作中将遇到的测试场景和前边两篇学习的知识结合起来给大家讲解和分享一下,希望以后大家在以后遇到其他的测试场景也可以将自己的所学的知识应用到测试场景中. 2.测试场 ...

  2. pandas常用操作详解——pandas的去重操作df.duplicated()与df.drop_duplicates()

    df.duplicated() 参数详解: subset:检测重复的数据范围.默认为数据集的所有列,可指定特定数据列: keep: 标记哪个重复数据,默认为'first'.1.'first':标记重复 ...

  3. 阿里一面,说说你对Mysql死锁的理解

    又到了金三银四的时候,大家都按耐不住内心的躁动,我在这里给大家分享下之前面试中遇到的一个知识点(死锁问题),如有不足,欢迎大佬们指点指点. 1.什么是死锁? 死锁指的是在两个或两个以上不同的进程或线程 ...

  4. docker是干什么的,docker常用命令

    镜像下载.域名解析.时间同步请点击 阿里云开源镜像站 一.百度百科 Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖到一个可移植的镜像中,然后发布到任何流行的Linux或Win ...

  5. Blazor 002 : 一种开历史倒车的UI描述语言 -- Razor

    Razor是一门相当怪异丑陋的标记语言,但在实际使用中却十分高效灵活.本文主要介绍了Razor是什么,以及Razor引擎的一些浅薄的背后机理. 写文章前我本想一口气把Razor的基本语法,以及Blaz ...

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

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

  7. springcloud学习03-spring cloud eureka(上)

    对eureka一个大概介绍:https://blog.csdn.net/u010623927/article/details/88762525 这里面有个我做dubbo时的一个理解的错误:服务注册中不 ...

  8. java反射和动态代理实现与原理详细分析

    关于Java中的动态代理,我们首先需要了解的是一种常用的设计模式--代理模式,而对于代理,根据创建代理类的时间点,又可以分为静态代理和动态代理. 一.代理模式    代理模式是常用的java设计模式, ...

  9. 【Java面试宝典】什么情况下会发生栈内存溢出?

    如果线程请求的栈深度大于虚拟机所允许的深度,将抛出StackOverflowError异常. 如果虚拟机在动态扩展栈时无法申请到足够的内存空间,则抛出OutOfMemoryError异常.

  10. Dubbo 可以对结果进行缓存吗?

    为了提高数据访问的速度.Dubbo 提供了声明式缓存,以减少用户加缓存的工作 量 <dubbo:reference cache="true" /> 其实比普通的配置文件 ...