「月薪輕鬆過萬!」「10分鐘學C語言」 2.基本數據類型(1)

一、上期回顾

上期问题

用< >和“ ”来调用头文件有什么具体区别吗,不知大家思考得如何了呢?

其实,C语言会提供一些公共库(就是上期说的系统.h文件),这公共库存放在电脑的某个系统文件目录下,我们使用< >来包含系统头文件时,系统会自动去这些系统文件目录下找你所包含的文件我们使用“ ”来包含自己写的头文件时,系统会在你创建的工程目录下查找,也就是当前目录下查找你自己写的头文件,如果找不到,再去系统目录下查找。

知道了这个问题的答案,今后面试官问起这个问题,就可以信心满满地回答了哦!让你在面试官的心目中加分!

「月薪轻松过万!」「10分钟学C语言」 2.基本数据类型(1)

二、基本数据类型

开始今天的话题吧!

咱们的食物有很多类型,比如清蒸的、油炸的、烧烤的(流口水了),这些食物主要的营养成分和作用也是不同的。同理,在C语言中,数据也有很多类型,他们在程序中充当的角色和作用也是不同的哦。

#include 
int main()
{
 int a = 10, b;
 char c = 'x', d;
 a = 66;
 b = 20;
 d = 's';
 
 return 0;
}

大家可以看到,我们在昨天写好的空的main函数中,加上了几句话。

2.1 int类型

 int a = 10, b;

这句代码表示,我创建了一个“int”类型的变量a同时给它初始赋值为10,又创建了一个变量b,没有给他初始赋值。为什么叫它们是“变量”呢,应为我们可以改变他们的值。

“int”全称是“integer”,意思为“整数”,在内存中占4字节。它们的作用主要是用来做数学计算的,比如加减乘除、位移等。很好理解,int变量是不能有小数点的,它只能是-5,0,10这样的整数哦。大家会好奇,那变量b我们没有给它赋值,那它的值应该是什么呢?答案是,没有赋值的变量的值是随机的,会是一个很奇怪的值。

2.2 char类型

 char c = 'x', d;

这句代码表示,我创建了一个“char”类型的变量c同时给它初始赋值为'x',创建了一个变量为d,没有给他初始赋值

“char”的全称是“character”,意思为“字符”,在内存中占1字节。他们的作用主要是起名字,比如一个外国人叫“Mary”,她的名字就是由'M'、'a'、'r'、'y'这四个字符组成的。大家记住字符类型的变量赋值要加上' ',就是边上两个单引号

,而整数类型变量就不用这样了。

 a = 66;
 b = 20;
 d = 's';

我们可以在定义变量的时候赋值,也可以选择在定义之后赋值,比如我们虽然没有在定义变量b和d的时候赋初值,但是我们可以在接下来的代码里按需要给变量赋值(修改)。比如上面的代码我们给b赋值20,给d赋值's',修改了变量a的值为66。

2.3 ASCII码表

我们知道了char类型的变量。就必须要来认识一下ASCII码表

「月薪轻松过万!」「10分钟学C语言」 2.基本数据类型(1)

图片来自于百度百科

我们发现每个int型的十进制数都会对应一个char型的字符,所以我们的字符char类型变量可以和整数int类型变量互相转换

「月薪轻松过万!」「10分钟学C语言」 2.基本数据类型(1)

图片来自于百度百科

从上图中我们可以看出,我们定义的变量c和变量d,他们的值分别为'x'和's',在表中可以看出,其实他们也分别对应整数120和115。

2.4 int和char的等价关系

char类型变量其实就是int类型变量,区别在于他们的字节大小不同。所以我们的变量c和变量d也可以这么赋值:

 char c = 120, d = 115;

这样赋值的结果和下面这样是一模一样的哦!

 char c = 'x', d = 's';
「月薪轻松过万!」「10分钟学C语言」 2.基本数据类型(1)

2.5 unsigned类型

 unsigned int a = 10;
 unsigned char c = 120;

看上面的代码,我们还可以在变量类型前面加上unsigned,意思为无符号,就是说这些变量的值不能是负数了,所以有下面的结论:

int类型变量为4字节(32位):

无符号的int类型取值范围为:0 ~ 4394967295

有符号的int类型取值范围为:-2147483648 ~ 2147483647

char类型变量为1字节(8位):

无符号的char类型取值范围为:0 ~ 255

有符号的char类型取值范围为:-128 ~ 127

三、本期问题

既然知道了有符号数和无符号数,那小伙伴们知道如果一个unsigned char变量值为256,或者值为-1,那么它真实的值是多少呢?越界溢出(翻转)问题是企业面试的时候常考的问题,我们在下期讲解吧。

「月薪轻松过万!」「10分钟学C语言」 2.基本数据类型(1)

如果大家喜欢可以关注转发加收藏哦,看更多有趣干货!


分享到:


相關文章: