目录
1. 数据类型介绍
字符型
就是char ,表示字符的数据类型,如‘x’ ‘a’ ‘/130’ ,有以下三种
char //character
[signed] char //有符号的
unsigned char //⽆符号的
整型
用于描述整数,有以下几种
//短整型
short [int]
[signed] short [int]
unsigned short [int]
//整型
int
[signed] int
unsigned int
//⻓整型
long [int]
[signed] long [int]
unsigned long [int]
//更⻓的整型
//C99中引⼊
long long [int]
[signed] long long [int]
unsigned long long [int]
浮点型
用于描述小数(小数点是浮动的),有以下三种
float//单精度浮点型
double//双精度浮点型
long double
布尔类型
用于描述“真”和“假”
_Bool
2.sizeof 操作符及各种数据类型的⻓度
sizeof( 类型 )
sizeof 表达式
sizeof计算类型的长度
(在VS2022 X64配置下的输出 )
sizeof计算表达式的长度
sizeof 中表达式不计算
//测试:sizeof中表达式不计算
#include <stdio.h>
int main()
{
short s = 2;
int b = 10;
printf("%d\n", sizeof(s = b+1));
printf("s = %d\n", s);
return 0;
}
sizeof的返回类型
sizeof 的计算结果不可能是负数,规定返回 size_t 类型的,所以size_t 本质上是无符号类型。
(sizeof 运算符的返回值,C 语⾔只规定是⽆符号整数,并没有规定具体的类型,⽽是留给系统⾃⼰去决定, sizeof 到底返回什么类型。不同的系统中,返回值的类型有可能是unsigned int ,也可能是 unsigned long ,甚⾄是 unsigned long long ,对应的 printf() 占位符分别是 %u 、 %lu 和 %llu 。这样不利于程序的可移植性。 所以,C 语⾔提供了⼀个解决⽅法,创造了⼀个类型别名 size_t ,⽤来统⼀表⽰ sizeof 的返回值类型。对应当前系统的 sizeof 的返回值类型,可能是 unsigned int ,也可能是 unsigned long long 。)
其实每一种数据类型都有自己打印匹配的格式,格式错误可能导致打印出错
%zd就是系统指定用于打印size_t数据类型的
3. signed 和 unsigned
unsigned int a;
unsigned int ⾥⾯的 int 可以省略,所以上⾯的变量声明也可以写成下⾯这样。
unsigned a;
signed char c; // 范围为 -128 到 127
unsigned char c; // 范围为 0 到 255
4. 数据类型的取值范围
这些值都是可以在vs上验证的
#include<limits.h>
int main()
{
print("%d",SHRT_MAX)
return 0;
}
输出32767
5. 变量
创建变量
数据类型是用来创建变量的。
data_type name;
| |
| |
数据类型 变量名
int age; //整型变量
char ch; //字符变量
double weight; //浮点型变量
变量命名
变量需要取名,这里要注意:
1.变量名尽量要有意义
2.变量名的组成只能由字母、数字、下划线组成,并且不能由数字开头
3.变量名字不能是关键字
初始化
变量在创建的时候就给⼀个初始值,就叫初始化。
int age = 18;
char ch = 'w';
double weight = 48.0;
unsigned int height = 100;
变量的分类
c也是局部变量,而且局部的范围比a要更小
不在局部变量的适用范围内使用变量,编译器会报错
(在同一个位置使用a变量和c变量,发现a不报错,c报错,可以看出a的使用范围更大)
如果局部和全局变量,名字相同呢?
#include <stdio.h>
int n = 1000;
int main()
{
int n = 10;
printf("%d\n" n);//打印的结果是多少呢?
return 0;
}
后面的内容在后面的文章更新