章节目录
- 前言
- 一 、数据类型
- 1.1 什么是数据类型?
- 1.2 数据类型有哪些
- 二、变量
- 2.1变量的定义
- 2.2变量的命名
- 2.3 变量的分类
- 全局变量
- 局部变量
- 总结
前言
哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识
C语言
里面的数据类型
和变量
。 今天主要带大家简单认识-一下C语言,俗话说没吃过猪肉,也见过猪跑。
了解下每个数据类型是干嘛的。可以读懂C语言的简单程序,其他的博主就不多介绍了。 后面会为大家详细介绍高阶知识
,比如整形变量存储范围是怎么来的,他是怎么存储的等等········
一 、数据类型
1.1 什么是数据类型?
大家都知道在数字没被发明之前人们是由结绳记事的,后来发明者数字 入人们就开始数字表示一个或者一些物品了,这些数字我们叫做数据。 而在C语言中想表示
- 一个物品、或者一个人的名字、价格等······
- 是表示数据的呢?
1.2 数据类型有哪些
在C语言中想表示一个物品的名字、价格、折扣就必须有数据类型 那C语言提供的数据类型有哪些呢?
- 描述字符的有 char //短整型
- 描述整形有 short //短整型 int //整形 long //长整型 long long //更长的整形
- 描述浮点数有 float //单精度浮点数 double //双精度浮点数
- C语言为什么有这么多类型呢?
- 存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。
- 每种类型的大小是多少?
- 我们用sizof
操作符
来看一下每种类型是多大的。 sizof
是C语言中用来计算 大小 的操作符。
#include <stdio.h>
int main()
{
printf("%dn", sizeof(char));
printf("%dn", sizeof(short));
printf("%dn", sizeof(int));
printf("%dn", sizeof(long));
printf("%dn", sizeof(long long));
printf("%dn", sizeof(float));
printf("%dn", sizeof(double));
printf("%dn", sizeof(long double));
return 0;
}
- 这里我们可以看到每个
数据类型
的大小1表示的是 1bit
在计算机中常见的单位 bit —— 比特位 bytc —— 子节
- 这些单位之间的换算 1bytc = 8bit 1KB = 1024bytc 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 1PB = 1024TB 等等·······
所以一个字符
char
在C语言中占一个字节8个bit位 整形int
在C语言中占4个字节32个比特位 其他各位读者们靠上面的程序图推算下。
- 补充一点
在C语言标准中: sizeof(long long)>=sizof(long)>=sizof(int)>sizof(short)>sizof(char) 所以long在不同位数的操作系统上有可能是4个字节或者8个但一定比int要大
二、变量
2.1变量的定义
变量的定义就是先写 类型名 在写变量名 之后给他赋值 在语言中等号是赋值的意思
char ch = ‘w’; int weight = 120; int salary = 20000;
2.2变量的命名
- 只能由字母(包括大写和小写)、数字和下划线( _ )组成。
- 不能以数字开头。
- 长度不能超过63个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。 变量的命名我们尽量做到有意义
我们来看几组示例: int 2*3; //这种就是错误的 int 2b; //err错误 int _2b; //ok int _2B; //ok int char; //使用了关键字命 错误
2.3 变量的分类
上次我们讲了变量的命名但没有讲使用 在使用变量我们需要用到2个库函数
代码语言:javascript复制//scanf
//printf
//库函数 - C语言的编译器提供的现成的函数,直接可以使用
//scanf的作用是输入数据,数据从键盘读取到内存中
//printf的作业是输出数据,数据从内存打印(输出)到屏幕上
//使用的时候要包含头文件stdio.h
#include <stdio.h>
// %c - 字符
// %d - 整型
// %s - 字符串
// %f - float
// %lf - double
// %p - 地址的打印
int main()
{
int a = 0;
scanf("%d", &a);
printf("%d", a);
char ch = 0;
scanf("%c", &ch);
printf("%c", ch);
return 0;
}
这里
&
这个符号是取地址操作符表示把我们输入的结果放到a变量
的地址里面。%d
是表示10进制
在scanf
里面使用就是输入的是10进制整数读取的。
全局变量
代码语言:javascript复制定义在
main()
函数外面的变量我们称为 全局变量 即在程序中所有人都可以调用使用它并不是很安全。 下面我们演示一下全局变量的使用和为什么不安全。 这里我们使用了函数调用它
int a = 2023;
//函数的定义void是空的意思,由于我们只是打印不返回值所以这里
//函数的返回值为空 test()是函数名
void test()
{
printf("2---> %dn", a);
}
int main()
{
a = 2022;//为什么说他不安全呢?因为我们不管是谁它都可以
//修改全局变量的值
printf("1---> %dn", a);//在main函数调用
test();//函数调用就是写上函数名然后给上分号;
return 0;
}
代码语言:javascript复制而在一个工程中有很多.C文件那么在其他文件定义的全局变量 我们该怎么使用 只需要声明一下这个全局变量我们就可以使用了
//需要声明外部符号
extern int g_val;//只需要声明一下这个变量就可以使用了
int main()//extern 是声明的意思
{
printf("%dn", g_val);
return 0;
}
局部变量
代码语言:javascript复制在一对
大括号
里面的或者我们可以叫做程序段
里面定义的我们可以叫做局部变量
int main()
{
int a = 0;
return 0;
}
这里的
变量a
就是局部变量
- 那么当
局部变量
和全局变量同名
的情况下又会怎么样呢? - C语言规定当局部变量和全局变量同名时
局部优先
。 - 下面我们来举个例子
int a = 6;
int main()
{
int a = 12;
printf("%d",a);
return 0;
}
大家猜一下这个代码会输出多少呢?
总结
好了今天主要是带大家认识数据类型和变量
总结一下今天学了:
数据类型有哪些?
变量的定义
变量的命名规则
变量的使用
全局变量
局部变量
希望对各位读者有用呢!
看到这里了还不给博主扣个点赞
加收藏
!