-
int
:整型,包含了所有的整数
* 变量:只要有不确定的数据,就应该定义变量来保存
* 定义变量a
int a;
* 第一次赋值(初始化)
a = 10;
* 定义变量b,并初始化赋值
int b = 20;
* 连续定义变量
int c,d,e;
* '=' 赋值运算符 *
* 把 变量a 存储的 10 赋值 给 变量b
b = a; // b = 10, a = 10
- 给 变量b 赋值 30
b = 30; // b = 30, a = 10;
* 连续赋值
b = a = 40;// 从右边看起,40先给 变量a,再给 变量b
- 类型说明符,修饰
int
-
short
:2 个字节(%d)
-
long
:扩充整型数据的取值范围,扩充为 8 个字节(%Id)
-
long long
: 8 个字节(%Ild)
-
signed
:4个字节,有符号,包含 :正数、0、负数(废的,int
默认有符号)
-
unsigned
:4个字节,无符号,包含:0、正数
// short = short int
short int d = 2123;
short dd = 2123;
// long = long int
long int a = 12315645134343l;
long aa = 4121442453454l;
// long long = long long int
* 用 long 类型存储数据时,数据最后加个 'l' 表示区分
* 用 long long 加 'll'
long long int c = 234354431235ll;
long long cc = 234354431235ll;
* 计算 数据类型 占用的 字节数
int s = sizeof(int);
printf(" %d \n", s);
// signed = signed int
signed int f = 10;
signed ff = -10;
// unsigned = unsigned int
unsigned int f = 10;
unsigned ff = 10;
* 还可以这样结合写
long unsigned int g = 12313;
long unsigned gg = 12313;
* 这样是错的,同类型的不可一起使用,不能说,这根绳子 又长又短 :)
short long int v = 433543;
-
float
\ double
:浮点型
-
double
:双精度浮点型,其实就是小数,如1.23,-6.1等,0.0也算是小数
-
float
:单精度浮点型,也是小数,比 double
的精确度低,也就是说能表示的小数数位比较少,为了跟 double
区分开来,float
型数据都是以 f
结尾的,如 5.43f,-2.3f, 0.0f。但是绝不能写 9f 这样的格式,只有小数才允许加上f
。
-
char
:字符型
- 将一个数字(0~9)、英文字母(a ~ z、A ~ Z)或者其他符号(+、-、|、?等)用单引号括起来,这样就构成 字符常量,如'6'、'a'、'F'、'+'等
- 当做整型使用:在
-128 ~ 127
范围内
* 单引号 '',只能扩住单字节的字符
char a = 'B';
* 输出
printf (" %c \n ",a);
* \n 换行显示
* 错误写法
char b = '人';
char c = "A";
char d = A;
* 正确写法,因为大写字母 'A' 的 ASCII值 是 65,下面有表查看 :)
char k = 65;
* 字符数组,字符串
* \0:字符串结束的标志
* '[]' 里面的数字只能 大于或等于 字符的个数,不能小于
char name[10] = "June";
char name1[8] = {'J', 'u', 'n', 'e', '\0'};
char name2[6] = {'J', 'u', 'n', 'e', 0};
char name3[9] = {'J', 'u', 'n', 'e'};
* 这样就是错的,因为指定的 空间大小 装不下 4个字符 :)
char name3[2] = {'J', 'u', 'n', 'e'};
* 不算是一个字符串,只能说是一个字符数组
* '[]' 里面可以不指定大小,表示不限制字符数
char name4[] = {'J', 'u', 'n', 'e'};
* strlen 函数
* 计算字符串的长度,并不是字数
* 计算的字符不包括 \0
int size = strlen("哈June");
printf("字符串 长度 %d \n", size); // 7
int size1 = strlen("June");
printf("字符串1 长度 %d \n", size1); // 4
int size2 = strlen("哈");
printf("字符串2 长度 %d \n", size2); // 3
int size2 = strlen("哈哈");
printf("字符串2 长度 %d \n", size2); // 6
- 可见 一个中文的 字符串长度 是 3
* 现在使用终端 使用 strlen 函数,要包含 #include <string.h> :)
* 字符串 二维数组
char name[2][10] = {"vampire","June"};
char name[2][10] =
{
{'v', 'a', 'm', 'p', 'i', 'r','e', '\0'},
{'J', 'u', 'n', 'e', '\0'};
};
转义字符
转义字符 |
意义 |
ASCII值 |
\n |
将当前位置移到下一行开头(回车换行) |
10 |
\t |
跳到下一个TAB位置 |
9 |
\ |
代表一个反斜线字符 |
92 |
' |
代表一个单引号字符 |
39 |
基本数据类型的取值范围
ASCII码对照表