章节目录
- 前言
- 一 、数据类型
- 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 int main(){printf("%d\n", sizeof(char));printf("%d\n", sizeof(short));printf("%d\n", sizeof(int));printf("%d\n", sizeof(long));printf("%d\n", sizeof(long long));printf("%d\n", sizeof(float));printf("%d\n", sizeof(double));printf("%d\n", 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个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。
变量的命名我们尽量做到有意义我们来看几组示例:
int2*3; //这种就是错误的
int2b; //err错误
int_2b; //ok
int_2B; //ok
intchar; //使用了关键字命 错误2.3 变量的分类
上次我们讲了变量的命名但没有讲使用
在使用变量我们需要用到2个库函数//scanf//printf//库函数 - C语言的编译器提供的现成的函数,直接可以使用//scanf的作用是输入数据,数据从键盘读取到内存中//printf的作业是输出数据,数据从内存打印(输出)到屏幕上//使用的时候要包含头文件stdio.h#include // %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进制整数读取的。全局变量
定义在
main()
函数外面的变量我们称为
全局变量
即在程序中所有人都可以调用使用它并不是很安全。
下面我们演示一下全局变量的使用和为什么不安全。
这里我们使用了函数调用它int a = 2023;//函数的定义void是空的意思,由于我们只是打印不返回值所以这里//函数的返回值为空 test()是函数名void test(){printf("2--> %d\n", a);}int main(){a = 2022;//为什么说他不安全呢?因为我们不管是谁它都可以//修改全局变量的值printf("1--> %d\n", a);//在main函数调用test();//函数调用就是写上函数名然后给上分号;return 0;}
而在一个工程中有很多.C文件那么在其他文件定义的全局变量
我们该怎么使用+
只需要声明一下这个全局变量我们就可以使用了//需要声明外部符号extern int g_val;//只需要声明一下这个变量就可以使用了int main()//extern 是声明的意思{printf("%d\n", g_val);return 0;}
局部变量
在一对
大括号
里面的或者我们可以叫做程序段
里面定义的我们可以叫做局部变量int main(){int a = 0;return 0;}
这里的
变量a
就是局部变量
- 那么当
局部变量
和全局变量同名
的情况下又会怎么样呢?- C语言规定当局部变量和全局变量同名时
局部优先
。- 下面我们来举个例子
int a = 6;int main(){int a = 12;printf("%d",a);return 0;}
大家猜一下这个代码会输出多少呢?
总结
好了今天主要是带大家认识数据类型和变量
总结一下今天学了:
数据类型有哪些?
变量的定义
变量的命名规则
变量的使用
全局变量
局部变量
希望对各位读者有用呢!
看到这里了还不给博主扣个点赞
加收藏
!
❤️
哈哈哈感谢大家嘞。你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。