目录
1、数据类型及字节大小
数据类型 | 说明 | 字节大小(×64) |
int | 整型 | 4 |
float | 单精度浮点型 | 4 |
double | 双精度浮点型 | 8 |
char | 字符型 | 1 |
long | 长整型 | 4 |
long long | 更长的整型 | 8 |
short | 短整型 | 2 |
usigned long | 无符号长整型 | 4 |
usigned int | 无符号整型 | 4 |
char* | 字符指针 | 8 |
int* | 整型指针 | 8 |
float* | 单精度浮点指针 | 8 |
short* | 短整型指针 | 8 |
double* | 双精度浮点型指针 | 8 |
unsigned* | 无符号型指针 | 8 |
注:指针类型在64位操作系统中内存中分配的空间都是8个字节
指针类型在32位操作系统中内存中分配的空间都是4个字节
如何用程序计算字节大小?(用操作符,运算符sizeof())
#include <stdio.h>
int main()
{
printf("%zd\n", sizeof(char));
printf("%zd\n", sizeof(short));
printf("%zd\n", sizeof(int));
printf("%zd\n", sizeof(long));
printf("%zd\n", sizeof(float));
printf("%zd\n", sizeof(double));
printf("%zd\n", sizeof(long long));
printf("%zd\n", sizeof(unsigned));
printf("%zd\n", sizeof(char*));
printf("%zd\n", sizeof(int*));
return 0;
}
2、计算机中的数据的计量单位
1、位(Bit又称为比特):是计算机中最小的信息单位。每一位的状态只能是0或1。
2、字节(byte):它是计算机中的基本的计量单位,字节越大,分配空间越大,1字节=8位。
3、字,word:它是计算机中进行 数据处理和运算的单元,一次存取、加工和传送的数据长度称为字。一个字通常由一个或多个(一般是字节的整数位)字节构成。例如286微机的字由2个字节组成,它的字长为16;486微机的字由4个字节组成,它的字长为32位。 计算机的字长决定了其CPU一次操作处理实际位数的多少,由此可见计算机的字长越大,其性能越优越。
4、除次之外,还有
k(
千
),M(
兆
),G(
千兆
),T(
太
),P(
拍
),E(
艾
),Z(
泽
)。
换算:
1T=1024G
1G=1024M
1M=1024K
1K=1024B
3、转义符对照表
转义字符 | 注释 |
\\ | 用于表示一个反斜杠,防止被解释成一个转义序列符 |
\' | 用于表示字符常量’(打印单引号可直接’) |
\" | 用于表示一个字符产内部的双引号 |
\n | 换行符 |
\t | 水平制表符tab键,一个tab键占8位 |
\b | 退格符 |
\ddd | ddd表示1~3个八进制的数字。例:\130八进制是X |
\xdd | dd表示两个十六进制的数字。例:\x64十六进制是j |
\r | 回车 |
\a | 警告字符,蜂鸣 |
\f | 进纸符 |
\v | 垂直制表符 |
5、变量和常量
1、变量的分类
全局变量:全局变量的作用域是整个工程
局部变量:局部变量的作用域是变量所在的局部范围
注:全局变量名和局部变量名可以相同,在使用时,局部变量优先。 建议不要相同,容易混淆 。 局部变量只能在所属的代码块中使用 [用{}包裹起来的区域] ,在所属代码块之外不能使用。
2、变量名
1、变量名只能由数字、字母和下划线组成,不能以数字开头
2、不能使用关键字
3、建议使用小驼峰命名规则(第一个单词的首字母小写,后面每个单词首字母大写)
3、常量
<1>
字面常量
<2>const
修饰的常变量
<3>#define
定义的标识符常量
<4>
枚举常量
将数据一一列举出来
#include<stdio.h>
enum Gender {
MALE, FEMALE,//MALE,FEMALE就是枚举常量
};
int main()
{
// 枚举常量的使用
printf("%d\n",MALE);
printf("%d\n",FEMALE);
return 0;
}
6、关键字
1、typedef
typedef unsigned int u_int; // 类型重定义,其实就是给类型起个别名
unsigned int num1 = 20;
u_int num2 = 30;
// num1 和 num2 的类型是一样的
2、static
static中是用来修改变量和函数的
修饰局部变量----------->
静态局部变量
修饰全局变量
----------->
静态全局变量
修饰函数
----------------->
静态函数
#include <stdio.h>
void show()
{
static int a = 1; // 此时,a变成了静态局部变量
printf("%d ", ++a);//结果:2 3 4 5 取消static 结果:2 2 2 2
printf("%d ", a++);//结果:1 2 3 4 取消static 结果:1 1 1 1
//++a先加在输出,a++先输出在加
}
int main()
{
int i = 0;
while (i<4)
{
show();
i++;
}
return 0;
}