一、vscode设置自动保存程序
二、 vscode设置滚轮字体缩放
三、什么是数据类型,为什么会有数据类型
数据类型是用于描述不同类型的数据存放在内存中的形式**
以睁眼(1)闭眼(0)形式描述,整数,那英文呢?
数据类型分类:
1.整型(短整型,整型,长整型,长长整型,无符号短整型,无符号整型,无符号长整形,无符号长长整型)
- 什么是数据?
- 有用的信息称为数据
- 数据如何存储在内存
1. 确认数据的类型 10 3.14 'a' '1' "10" "100" 'a'
2. 根据数据的类型在c语言中确认分配的数据类型 int char float double
3. 确认分配的空间是否满足数据的存放 char:1字节 short 2字节 int 4字节
- 字节(byte B):计算机存储容量的一种单位
- 比特位(bit) :二进制数,cpu计算的基本单位
- 二进制数 0 1
- 1字节 = 8位
- 1个千字节(KB) = 1024字节
- 1M = 1024KB
- 1G = 1024M
- 1T = 1024G
1.整型
-
概念:表达数据类型的数据
-
语法
int a = 123; // 定义一个专门用来存储整数的变量a int = 4个字节
-
需要注意的地方:
-
int 的本意是integer,即整数的意思
-
int a代表在内存中开辟一块区域,称为a,用来存放整数,a称为变量
-
-
变量a所占用的内存大小,在不同的系统中是不一样的,64位系统典型的大小是4字节。
- 变量a有固定的大小,因此也有取值范围,典型的范是:-2147483648到2147483647。
2、 整型修饰符
- short:用来缩短整型变量的尺寸,减少取值范围并节省内存,称为整型。
- long:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长整型
- long long:用来增长整型变量的尺寸,增大取值范围并占用更多的内存,称为长长整型
- unsigned:用来去除整型变量的符号位,使得整型变量只能表达非负整数
```c
short int a; // 短整型 %hd half
long int b; // 长整型 %ld
long long int c; // 长长整型 %lld
unsigned int e; // 无符号整型 %u
unsigned short int f; // 无符号短整型 %hu
unsigned long int g; // 无符号长整型 %lu
unsigned long long int h; // 无符号长长整型 %llu
```
- 使用整型修饰符后,关键字int可以省略:
short a; // 短整型
long b; // 长整型
long long c; // 长长整型
unsigned e; // 无符号整型
unsigned short f; // 无符号短整型
unsigned long g; // 无符号长整型
unsigned long long h; // 无符号长长整型
3、格式控制符
- int 整型:%d
- unsigned int 无符号整型 : %u
- short整型:%hd,h代表half,即一半的存储字节
- long整型:%ld
- long long整型:%lld
- 显示不同进制的前缀 : %#o、%#x
- 符号位:
- 有符号的整型数据,首位为符号位,0表示正数,1表示负数。
- 无符号的整型数据,没有符号位
demo:
#include <stdio.h>
int main(int argc, char const *argv[])
{
// 申请2个字节的空间,并取名为a,俗称定义变量a
// 空间a的内容为随机数
// a空间只能存放整数
// a空间存放的最大值为2字节的数据
short int a;
// 在同一个作用域({})下,不能出现两个同名的变量名
//short int a;
a = 10; // 将10存放到空间a里面
// 申请空间并将100放到里面
// 即定义变量并初始化
short b = 100;
printf("%hd\n",b);//h的意思为half即int 的一半
unsigned short ub = 200;
printf("%hu\n",ub);//h的意思为half即int 的一半
char c = -15;
printf("c = %hhd\n",c);
unsigned char uc = 15;
printf("%hhu\n",c);
int d = -1024;
printf("%d\n",d);// %d即能表示负数也能表示正数
unsigned int ud = 1024;
printf("%u\n",ud); // %u为无符号输出
long int le = 1000L; // L表示1000为长整型
printf("%ld\n",le);
long long int lle = 100000LL;
printf("%lld\n",lle);
float f = 3.14;
printf("%f\n",f);
double lf = 3.1415