老规矩先看代码
在这段代码中出现的新的东西
也是篇要讲的——变量
变量
变量简单来讲就是存储数据的容器,对于数据的大部分操作都要基于变量来完成
简单来讲可以把变量看做瓶子,数据就是瓶子里的水
无论是加水(加法)还是倒水(减法)都要依托于瓶子
接下来就讲一讲变量的特点:
###数据类型
在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;
这只是一个例子,后面学习中一定要注意这个问题