教你快速上手C语言中的数据类型和变量
@TOC
前言
哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识
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("%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个字符。
- 变量名中区分大小写的。
- 变量名不能使用关键字。
==变量的命名我们尽量做到有意义==
我们来看几组示例:
int 2*3; //这种就是错误的
int 2b; //err错误
int _2b; //ok
int _2B; //ok
int char; //使用了关键字命 错误
2.3 变量的分类
上次我们讲了变量的命名但没有讲使用
在使用变量我们需要用到2个库函数
//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进制整数读取的。
全局变量
定义在
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;
}
大家猜一下这个代码会输出多少呢?
总结
好了今天主要是带大家认识数据类型和变量
总结一下今天学了:
数据类型有哪些?
变量的定义
变量的命名规则
变量的使用
全局变量
局部变量
希望对各位读者有用呢!
看到这里了还不给博主扣个点赞
加收藏
!
💛 💙 💜 ❤️ 💚💓 💗 💕 💞 💘 💖
哈哈哈感谢大家嘞。你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信呢秒回哦。
- 点赞
- 收藏
- 关注作者
评论(0)