程序设计基础 | 02_变量与代数思维

2 变量与代数思维

2.1 关于超级计算器的几点思考

强大 / 不强大 ?

各种各样的函数在哪里?软件开发工具包SDK!

2.2 电子秤模拟——背景介绍及需求分析

在超市购买水果

  • 显示屏
  • 按键(不同功能,不同水果)
  • 称量模块(测量并记录质量)
  • 存储模块(存储水果价格)
  • 计算模块(加法、乘法)

计算公式

“超级计算器”的缺陷:

  1. 不能设定水果价格
  2. 不能满足不同用户对水果的不同质量需求

“超级计算器”用作电子秤:

  1. 需要一种“东西”,能存储数值
  2. 需要一种“方法”,能接受外界输入

对应程序设计的知识点:

  1. 变量——存储数值
  2. 输入流对象cin——接受外界输入

2.3 电子秤模拟——代码实现

【任务2.1】端午节快到了,王小二同学到超市去买东西。他是一个聪明的孩子,当看到电子计价算账方便快捷后,就想编个程序模拟一下。

cin、输入流运算符>>

“超级计算器”的局限:

  1. 只能称两种水果
  2. 无法调整水果的价格

程序中蕴含的道理:

  1. 实际中卖的水果种类有限
  2. 水果价格在一定时期内基本固定

变量、代数思维、算数的思维

2.4 变量定义与变量类型

变量的基本概念、变量命名

变量的数据类型:1. 基本数据类型 2. 构造数据类型

不同类型的数据占用大小不同的内存空间。

C/C++的基本数据类型

  1. 整型:(1)int 整型(2)unsigned int 无符号整型(3)long int 长整型(4)unsigned long int 无符号长整型
  2. 实型:(1)float 浮点型(2)double 双精度型(3)long double 长双精度型
  3. bool:逻辑型
  4. char:字符型

定义变量和变量初始化

&运算,得到变量a的地址

变量赋值

2.5 猜数游戏与数据表示

猜数游戏:你心里默想一个小于50的数,接着,我问你在以下的6张卡片中,哪几张卡片里有你想的那个数?之后,我不费吹灰之力就能猜出这个数。现在试一试。

算法的代码实现、卡片号

整数在计算机中的二进制表示形式

int类型的数据在内存中占4个字节

卡片设计的原理、要放置的数

思考题:设有从1到N共N个正整数,如果想玩上面的猜数游戏,需要制作多少张卡片?各张卡片上应该分别填写哪些数字呢?

2.6 关于变量的讨论

2.6.1 变量的初始值

int num;
cout << num << endl;

如果变量自定义后没有赋值,则变量的内存单元中的值是一个随机的数值,在不同的机器上、在不同的环境下,单元的内容是不同的。

教训:使用变量之前,首先赋予一个有意义的值,否则将得不到想要的结果。

2.6.2 变量类型

int、float

类型的用途:告诉计算机如何操作数据。

类型的作用:帮助计算机运用正确的规则进行计算。

2.6.3 变量内存单元地址

变量存储在哪里 double、cout、char。

2.6.4 存“变量地址”的变量——指针

指针。

2.6.5 指针的读/写操作

对变量地址对应的内存单元的读/写操作。

链表。

2.6.6 指针的加/减操作

变量地址(内存单元地址)的加减操作

T *p = &var;

(1)p + 1 -> value of p + sizeof(T)

(2)p - 1 -> value of p - sizeof(T)

2.7 变量体现的计算思维

变量、培养计算思维

与变量相关的“计算思维”

以符号形式表达数学公式,完成一般性的求解。

本课程中变量的命名规范

小写字母、下划线。

关于赋值运算符=

2.8 程设论道

类型、变量

把握事物规律,掌握事物因果

2.9 师生问答

数据类型的划分

自定义数据类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值