C/C++基础(二)【变量/数据类型/运算】


老规矩先看代码

在这里插入图片描述

在这段代码中出现的新的东西
也是篇要讲的——变量

变量

变量简单来讲就是存储数据的容器,对于数据的大部分操作都要基于变量来完成
简单来讲可以把变量看做瓶子,数据就是瓶子里的水
无论是加水(加法)还是倒水(减法)都要依托于瓶子

接下来就讲一讲变量的特点:
###数据类型
在C/C++中每一个变量都要指定数据类型,并且不同类型的变量不能随意混用
举个例子就像是装可乐的瓶子不能和装雪碧的瓶子来混用(硬要混用也可以,不过要涉及到强制类型转换)
下面就具体讲一讲数据类型的分类

整数型

像5,7,13……这样子的整数的都是整型
在计算机中整型的符号为:int,long int,short int,long long,unsigned long long ,unsigned int……
上面的都为整型,他们的唯一区别就是存储数据的大小问题
一般来讲,,int ,long long, unsigned long long 用的比较多

浮点型

浮点型其实就是数学中的小数
需要注意的是数学中的小数分为有限小数和无限小数
但是在计算机中存储是有限的,所以输出的数据一定是有限小数
同时这就会涉及到上溢和下溢的问题(就是精度不够,了解就行)
浮点型也有很多,常用的就两个:float(单精度)和double(双精度)(后面的精度高于前面)

字符型

像a,b,c,d,……这样的单个字母的都是字符型
而像asdf,sdfsdg,……这样连续的为字符串
字符型的符号一般为两种:char(单个字符)和string(字符串)
由字符串的内容比较复杂,故将在后面做详细讲解

其他字符

上述的整型,浮点型,字符型,为常用的类型,其实还有其他的类型
像布尔型(bool),指针型(int*……)……
这需要在后面的学习中慢慢积累

变量名

每一个变量都有一个变量名,像代码中的“a,b” 都为变量名
变量名其实就是编写者自己取得名字,方便理解,一般没有特殊要求
但是有几个注意事项:
1.变量名是区分大小写的,像A和a 实际上是不同的变量名。实际上只要有一点不一样都是不一样的变量名
2,变量名中不能含有其他特殊符号,像?=等都是不合法的,但是下划线可以
3.变量名不能重名,无论数据类型是否一样。(实际上是能重名的,但是这涉及到局部变量和全局变量的问题)

存储空间

每一种都有存储数据的限制,不能存储无限大的数据
就整型举例,像int类型存储范围为:(-231,231
具体原因不过多讲述,可以自己查

地址

实际上每一个开辟每一个变量时,都会在内存中开辟一个空间给变量
所以每一个变量都会有一个地址
(这个主要是在指针中会涉及,了解就行)

代码讲解

讲完了理论,下面就来具体讲一讲变量怎么用
以及它的输入和输出

变量的声明

第7行和第9行都为变量的声明
变量的声明格式为:数据类型+变量名
区别在于第7行只声明了变量,但没赋值
第8行同时声明了变量和赋值

变量的输入和输出

第7行是输入,格式为scanf(“占位符”,&变量名);
代码中的%d为占位符,不同的数据类型要用不同的站位符
比如int 就要用%d, float 要用%f ,char要用%c

后面&为取地址符,作用是获取变量名的的地址
这个变量名非常重要,否者软件会崩溃的(不开玩笑)
如果为字符类型则就不用

当然scanf也可以多次输入比如:

int a,b;
double c;
char d;
scanf("%d%d%f%c",&a,&b,&c,d);

需要注意的是一一对应
当然也可以用cin输入,这里不过多讲

变量的输出

第10,11行为变量的输出,格式为printf(“占位符”,变量名);
跟scanf差不多一样,只是输出时不用加取地址符。
当然也可用cout
但是cin和cout 输入和输出比较慢

变量的赋值

第八行赋值,注意在计算机中赋值符号为’=',跟数学上的等号不一样
‘=’ 的作用是把符号右边的值赋给左边
比如a=5就是把5赋给变量a,a=b就是把b的值赋给a
a=b+c;是把b+c的值赋给a
a=a+c;是把a+c的值再赋给a

运算

既然讲了‘=’是赋值
那么久讲一讲运算符号:
加法:+
减法:-
乘法:

除法:/
取余:%
开方:sqrt()
乘方;pow()
绝对值:abs()
(后三个为函数,要用头文件<math.h>)
*

强制类型转换

如果涉及到不同类型的运算,一般为整型和浮点型,会涉及到强制类型转换
在讲强制类型转换会先讲一个概念:
1和1.0是在计算机中是不相等的类型
1是整型,1.0是浮点型

也就是说在运算中整型和浮点型一定要分清
举例:计算10除以4的结果
先看下面一段代码

int a=10/4;

数学老师告诉我们10/4应该是2.5
但是a是整型,所以它只认前面整数部分
所以a的数值应该为2

那么把a的类型换成浮点型呢?
比如:

double a=10/4;

但是a还是2,应为10和4是整数,运算结果也为整数
所以正确做法应该为:

double a=10.0/4.0;

这只是一个例子,后面学习中一定要注意这个问题

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值