C语言(一)
程序设计涉及两个问题,一是 数据的描述 ,二是 动作的描述。而对数据进行处理是程序设计的主要任务。
数据类型
1、为什么要引入数据类型?
在计算机储存中,不同类型的数据占用的数据存储空间长度不同:同一种类型的数据在计算机存储器中占用的长度,也因计算机字长不同而异。针对不同类型数据,计算机采取不同的存储方式并进行处理。随着处理对象的复杂化,数据类型也需要更加丰富。
2、数据类型的分类?
(1) 基本类型
(2)构造类型:数组类型、结构体类型(struct)、共用体类型(union)
(3)指针类型
(4)空类型
通常将 数组类型、结构体类型、共用体类型和指针类型统称为 复杂类型。基本类型是复杂类型的元素类型。
3、每种数据类型的大小是多少?
char // 1
short // 2
int // 4
long // 4
long long // 8
float // 4
double //8
注意: sizeof( ) 不是函数 , sizeof 后面可以直接跟 变量名 , 使用sizeof 可以测试出数据类型的大小。
如: printf("%d \n" , sizeof( int) );
unsigned 无符号型:
存储单元中全部二进制位用来存放数据本身,不包含符号位。
变量与常量
1、常量的分类?
字面常量
const 修饰的标识符常量
#define 定义的标识符常量
枚举常量
#include <stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
int main (){
#define MAX 99; //#define 的标识符常量
666; // 字面常量
const float pai =3.14f; // const修饰常量
}
用const修饰变量,不能被直接修改。
2、变量定义: 内存空间 + 数据(开辟空间大小)
作用域:作用范围。
生命周期:变量从创建带销毁之间的一个时间段。
局部变量具有临时性,函数调用时创建,函数返回时释放。
实型常量只能用十进制表示,不能用八进制和十六进制表示
变量赋值类型必须和变量类型一致,且变量不能连续赋值。
int a = 14.8 ; /* 类型不一致*/
int a = b =c =12; /* 非法赋值*/
注意:C语言中没有专门的字符串变量,只有字符变量。需要保存字符串时,要使用字符数组。