变量和数据类型
一、导引
1、变量
int a;
a是变量
int 是数据类型

a是一个箱子,int表示什么类型的箱子

补充1、
说明 字符型 短整型 整型 长整型 单精度浮点型 双精度浮点型 无类型
数据类型 char short int long float double void
强类型语言也称为强类型定义语言。是一种总是强制类型定义的语言,要求变量的使用要严格符合定义,
所有变量都必须先定义后使用。强类型的语言 : java , .net , python等

弱类型的语言: php JavaScript等

2、运算符
是一种告诉编译器执行特定的数学或逻辑操作的符号
比如 +、-、*、\、
sizeof用来计算大小
= 赋值运算符

补充:
1、sizeof和strlen的区别和联系
sizeof
它的功能是:获得保证能容纳实现所建立的最大对象的字节大小。
由于在编译时计算,因此sizeof不能用来返回动态分配的内存空间的大小。实际上,
用sizeof来返回类型以及静态分配的对象、
结构或数组所占的空间,返回值跟对象、结构、数组所存储的内容没有关系。
计算一个数在计算机里所占的内存的,比如说:
sizeof(int)=2
int型的在计算机里占2字节;
strlen

2、指针,在64位平台下占据空间为8个字节
在32位平台下占据空间为4个字节
因此,直接说指针占据空间大小为多少,是不严谨的

思考:
char szName[]=“kedacom”
char* pStr = szName+2
输出下面表达式的值
sizeof(szName)= ,sizeof(pStr)= ,sizeof(*pStr) =
strlen(szName) = ,strlen(pStr) =

考察点
<1> char szName[] 存放的是字符,英文字符占据1个字节,""占据1个字节
前提是在UTF-8编码中,因为在Unicode编码中,一个英文占据两个字节
<2> 指针大小,和平台相关
<3> 考察了*的作用,*解指针,获得到了char变量,因此这里在计算char占据内存空间的大小
<4> 考察了strlen的作用(计算字符串长度)
<5> 数组名就是地址,往后偏移两位

二、变量

变量装换
1Byte = 8Bit (字节、位)

1KB = 1024B
1MB =1024KB
1GM = 1024MB

1、变量的初始化
2、变量的赋值
3、变量的取值范围如何计算
4、格式化输入输出
5、预处理指令
使用库函数之前,应该用#include
引入对应的头文件。这种以#号开头的命令称为预处理命令。
6、bool类型
思考
<1>、超出变量范围会怎样
<2>、数组越界的情况
数组下标取值越界主要是指访问数组的时候,
下标的取值不在已定义好的数组的取值范围内,
而访问的是无法获取的内存地址。例如,对于数组
int a[3],它的下标取值范围是 [0,2](即 a[0]、a[1] 与 a[2])。
如果我们的取值不在这个范围内(如 a[3]),就会发生越界错误

各个变量所占空间大小
int 整型 和平台相关,在32位Windows编译器下,占据空间大小为4
char 字符型 1
short 短整型2
long 长整型 和平台相关 在32位Windows编译器下,占据空间大小为4
long long 是8
float 单精度浮点型 4
double 双精度浮点型 8
思考
<1>doulbe和float的区别
概括来说:double精度高、但double消耗内存是float的两倍

01.在内存中占有的字节数不同

单精度浮点数在机内存占4个字节
   双精度浮点数在机内存占8个字节

02.有效数字位数不同
    单精度浮点数有效数字8位
    双精度浮点数有效数字16位

03.数值取值范围
    单精度浮点数的表示范围:-3.40E+38~3.40E+38
    双精度浮点数的表示范围:-1.79E+308~-1.79E+308

04.在程序中处理速度不同
    一般来说,CPU处理单精度浮点数的速度比处理双精度浮点数快

第二部分 条件结构
一、if…else语句

1、if...else
2、多个if...else
3、if...else的嵌套

二、关系运算符
关系运算符 含 义 数学中的表示
< 小于 <
<= 小于或等于 ≤

大于 >

= 大于或等于 ≥
== 等于 =
!= 不等于 ≠

三、逻辑运算符
&& 与运算,双目,对应数学中的“且” 左结合 1&&0、(9>3)&&(b>a)
|| 或运算,双目,对应数学中的“或” 左结合 1||0、(9>3)||(b>a)
! 非运算,单目,对应数学中的“非” 右结合 !a、!(2<5)
四、switch语句
五、条件运算符,三目运算符
六、while 和do…while
七、for,continue,break