如何优雅的学习计算机编程--C++

0.导入

如何优雅地学习计算机编程。我们得首先了解编程是什么?打个比方--写信.

大家都知道写信所用的语言双方都懂,这样的信才做到了信息交流,人和计算机也是如此人和计算机交流得用计算机听得懂的语言。

要想学习编程就要先从底层学起,下面有一幅图帮助大家了解计算机的构成。

1.CPU架构

我们先从计算机的大脑CPU开始,假设CPU是一块长方形,它里面包含着三个脑,在大脑的构造中,左脑更着重于数字运算,右脑着重于语言处理,相对应的左脑便是运算器,右脑便是控制器。

在CPU架构中必不可少的便是数据的处理输入和输出,而存放数据的有两种存储区内存储器和外存储器,简称内存和外存。CPU这个家伙只和内存玩耍而不跟外存交流,凡是经过CPU的数据只能读写到内存里,内存不内向,乐意跟外存玩耍,跟外存交换数据。

在现在的主流计算机中,内存约为8G16G,G可以粗略的换算为1亿,那么在8G的计算机空间便有8亿的人家,每位居民的门牌便是地址,而地址又是又长又臭,十分难记。

2.变量

2.1变量的定义与操作

这时就轮到变量出场了,那么变量又是什么玩意?变量可以给数据进行命名赋值

数据类型+变量名称

例子:int a;

float bytespace,bytescore;

2.2变量的占用大小

在给变量进行命名中我们发现一个新的词汇数据类型

这又是怎的一回事?来看看世界上第1台计算机--ENIAC

这台计算机是用灯泡的亮和灭来代表1和0,那么它是如何进行数学运算的呢?

一个灯泡是一位bit。一组灯泡里有8个灯泡为一字节bit,所以8bit=1Byte

在C++中有10种数据类型,就举char和int为例,char占1byte,所以它的取值范围为0~2的8次方,如何理解?2的8次方中的8为1×8。1是占用大小---1Byte,8为1Byte=8bit,所以2的8次方的8次项就为占用大小×8(bit)

验证一下结论:int占用4Byte空间,套进公式得(取值范围=0~2的32次),32次=4(Byte)×8(bit)。

很简单吧!有人说计算机又快又准,那么我将推翻这个悖论。在超过取值范围后,精度会丢失

2.3变量的使用

那我们该如何正确食用变量呢?

  • 读取变量值 +直接使用变量名

    • 输出:cout<<a;

    • 参与运算:c=a+1;

  • 给变量赋值

    • 输入:cin>>a; 或者 scanf("%d",&a);
    • 直接赋值:a=190;

大家初学C++,可能对一些语法不了解,我们先讲一下运算符

算术运算符 + - * / % ++ --
逻辑运算符 && || !
位运算符 & | ^ ~ >> <<
赋值运算符 = += -= *= /= %= <<= >>= &= ^= |= ~=
杂项运算符 size of() condition?: ,

最新文章

  1. npm link 安装本地模块,将本地模块cli化
  2. C# Socket简单例子(服务器与客户端通信)
  3. jeecms内容显示条数
  4. [Android界面] 如何 去掉dialog的黑色背景和边框 DEMO
  5. 多条件判断语句case
  6. spark JavaDirectKafkaWordCount 例子分析
  7. 杭电oj1062 Text Reverse
  8. mysql查询结果写入文件
  9. ubuntu 下安装 cudnn
  10. JS框架设计读书笔记之-动画
  11. js算法初窥02(排序算法02-归并、快速以及堆排序)
  12. Css3 笔记 动画 和定位属性
  13. 使用 Nexus Repository Manager 搭建 npm 私服
  14. Python os.removedirs() 和shutil.rmtree() 用于删除文件夹
  15. Asp.net之Sql注入与Parameter对象
  16. (转)android import library switch语句报错case expressions must be constant expressions
  17. python基础之Day8
  18. lvm管理卷之缩减卷大小
  19. 在servlet中用spring @Autowire注入Bean
  20. 利用openssl构建根证书-服务器证书-客户证书

热门文章

  1. 推荐一个vuepress模板,一键快速搭建文档站
  2. h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated
  3. 编程术语 All In One
  4. Python module all in one
  5. macOS 屏幕共享, 远程协助
  6. 移动端 750px UI 设计稿
  7. DOM &amp; Shadow DOM &amp; Virtual DOM
  8. NGK项目是一个怎样的项目?区块链里算是有前景的吗?
  9. ToolBar 用法
  10. ADT基础(一)—— List,Stack,and Queue