初学C语言之数据类型

大家好,今天要给大家介绍的内容是C语言中的数据类型和变量,还有一些操作符的使用,希望今天的内容可以给大家带来帮助,如果作者又说的不对的地方,欢迎各位学习C语言的同僚指点出来,我会及时改正,共同进步,谢谢大家。

那么我会按照目录来进行讲解,让我们开始吧!

 1.数据类型的介绍

因为我们是初学C语言,所以只介绍下面四种类型,等我们的实力达到了,自然会接触更多的类型!

1.1字符型

char;
[signed] char;
unsigned char;//大家不用紧张,后面我会介绍signed和unsigned是什么意思的,我们一步步来

1.2整形

//短整型
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];

 1.3浮点型

float;
double;
long double;

1.4布尔类型

C语言中原来并没有为布尔值单独设置一个类型,而是使用整数0表示假,非零值表示真。

C99中也引入了布尔类型,是专门表示真假的。

布尔类型的使用需要包含头文件<stdbool.h>

布尔类型变量的取值是:true或者false。

#define bool _Bool;

#define false 0
#define true  1

下面有一个简单的代码方便大家理解:

#include<stdio.h>
#include<stdbool.h>//使用布尔类型一定不能忘了头文件!!!
main()
{
	_Bool flag = true;
	if (flag)//因为flag = true为真,所以执行下面语句
		printf("青山是帅哥\n");
	_Bool num = false;
	if (num)//因为num = false为假,所以不执行下面语句
		printf("青山不是帅哥\n");
	return 0;
}

2.signed和unsigned

C语言使用signed和unsigned关键字来修饰字符型和整形类型的。

signed关键字,表示一个类型带有正负号,包含负数。(有符号类型)

unsigned关键字,表示该类型不带正负号,只能表示0和整数。(无符号类型)

对于int类型,默认是带有正负号的,也就是说int 等同于 signed int。

由于这是默认情况,关键字signed一般省略不写,但是写了也不算错。

signed int a;
//等同于int a;
//建议写下面这种情况,不容易弄错。

int类型也可以不带正负号,只表示非负数。这是就必须使用关键字 unsigned 声明变量

unsigned int;

unsigned int a;
//也可以缩写成 unsigned a;

字符类型char也可以设置signed和unsigned

signed char c;//范围是-128 到 127
unsigned char c;//范围是0 到 225

3.数据类型的取值范围

上面说到的数据类型有很多,尤其是整形就有short,int,long,long long。why?

哈哈哈,其实呢每一种数据类型都有自己的取值范围,也就是储存最大值和最小值的区间,有了丰富的类型,我们就可以在适当的场景下选择合适的类型。下面我帮大家用代码算出各个类型的储存范围了,大家是不是要谢谢我呀!

<limits.h>文件说明了整型类型的取值范围。

<float.h>这个头文件说明了浮点型类型的取值范围

#include<stdio.h>
#include<string.h>//这个是sizeof的头文件
#include<limits.h>//一定不能忘了这个头文件哟!
#include<float.h>//一定不能忘了这个头文件哟!
main()
{
	printf("char=%zd\n", sizeof(char));
	printf("short=%zd\n", sizeof(short));
	printf("int=%zd\n", sizeof(int));
	printf("long=%zd\n", sizeof(long));
	printf("long long=%zd\n", sizeof(long long ));
	printf("float=%zd\n", sizeof(float));
	printf("double=%zd\n", sizeof(double));
	printf("short int=%zd\n", sizeof(short int));
	printf("long int=%zd\n", sizeof( long int));
	printf("unsigned char=%zd\n", sizeof(unsigned char ));
	printf("unsigned long=%zd\n", sizeof(unsigned long));
	printf("unsigned short=%zd\n", sizeof(unsigned short));
	printf("unsigned long long=%zd\n", sizeof(unsigned long long ));
	printf("unsigned int=%zd\n", sizeof(unsigned int));
	printf("int的取值范围为-2147483648--2147483647\n");
	printf("unsigned int的取值范围为0--4294967295\n");
	printf("short的取值范围为-32768--32767\n");
	printf("unsigned short的取值范围为0--65535\n");
	printf("char值范围为-128--127\n");
	printf("unsigned char值范围为0-255\n");

	return 0;
}

4.变量

4.1创建变量

我们了解了类型,我们使用类型做什么呢?类型是用来创造变量的。

什么是变量呢?C语言中把经常变化的值称为变量,不变的量称为常量。

设置变量的语法如下:

  data_type  name;
//   |        |
//   |        |
//数据类型   变量名
int a;//整型变量
char ch;//字符变量
float b;//浮点型变量

变量在创建的时候就给一个初始值,这叫做初始化。

    int a = 0;//整型变量
	char ch = 'Y';//字符变量
	float b = 3.14;//浮点型变量
	unsigned int c = 400;

4.2变量的分类

全局变量:在大括号外部定义的变量叫做全局变量

全局变量的范围更广整个工程中想使用,都有办法使用的

局部变量:在大括号内部定义的变量就是局部变量

局部变量的适用范围是比较局限的,只能在自己所在的局部范围内使用。

#include<stdio.h>

int num1 = 2022;//全局变量

main()
{
	int num2 = 2023;//局部变量

	printf("%d\n", num1);
	printf("%d\n", num2);

	return 0;
}

 

那如果局部和全局变量名字相同呢??

不要害怕,我们用代码实践,实践是检验真理的唯一标准!

#include<stdio.h>

int num1 = 2022;//全局变量

main()
{
	int num1 = 2023;//局部变量

	printf("%d\n", num1);
	
	return 0;
}

 其实当局部变量和全局变量名字一样时,局部变量是优先使用的。

以上就是本篇文章的全部内容了,谢谢大家可以和我一起学习C语言,如果有什么地方讲错了,欢迎大家在评论区指出,我也会马上改正。谢谢!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值