如何优雅地学习计算机编程-C++1
如何优雅的学习计算机编程--C++
0.导入
如何优雅地学习计算机编程。我们得首先了解编程是什么?打个比方--写信.
大家都知道写信所用的语言双方都懂,这样的信才做到了信息交流,人和计算机也是如此人和计算机交流得用计算机听得懂的语言。
要想学习编程就要先从底层学起,下面有一幅图帮助大家了解计算机的构成。
1.CPU架构
我们先从计算机的大脑CPU开始,假设CPU是一块长方形,它里面包含着三个脑,在大脑的构造中,左脑更着重于数字运算,右脑着重于语言处理,相对应的左脑便是运算器,右脑便是控制器。
在CPU架构中必不可少的便是数据的处理输入和输出,而存放数据的有两种存储区内存储器和外存储器,简称内存和外存。CPU这个家伙只和内存玩耍而不跟外存交流,凡是经过CPU的数据只能读写到内存里,内存不内向,乐意跟外存玩耍,跟外存交换数据。
在现在的主流计算机中,内存约为8G或16G,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?: | , |
最新文章
- npm link 安装本地模块,将本地模块cli化
- C# Socket简单例子(服务器与客户端通信)
- jeecms内容显示条数
- [Android界面] 如何 去掉dialog的黑色背景和边框 DEMO
- 多条件判断语句case
- spark JavaDirectKafkaWordCount 例子分析
- 杭电oj1062 Text Reverse
- mysql查询结果写入文件
- ubuntu 下安装 cudnn
- JS框架设计读书笔记之-动画
- js算法初窥02(排序算法02-归并、快速以及堆排序)
- Css3 笔记 动画 和定位属性
- 使用 Nexus Repository Manager 搭建 npm 私服
- Python os.removedirs() 和shutil.rmtree() 用于删除文件夹
- Asp.net之Sql注入与Parameter对象
- (转)android import library switch语句报错case expressions must be constant expressions
- python基础之Day8
- lvm管理卷之缩减卷大小
- 在servlet中用spring @Autowire注入Bean
- 利用openssl构建根证书-服务器证书-客户证书
热门文章
- 推荐一个vuepress模板,一键快速搭建文档站
- h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated
- 编程术语 All In One
- Python module all in one
- macOS 屏幕共享, 远程协助
- 移动端 750px UI 设计稿
- DOM &; Shadow DOM &; Virtual DOM
- NGK项目是一个怎样的项目?区块链里算是有前景的吗?
- ToolBar 用法
- ADT基础(一)—— List,Stack,and Queue