00:01
同学们,我们再来看一下基本数据类型和字符串类型的相互转换,这里面呢也会用到一些系统函数,所以说我们就放在一起讲了。在程序开发中,我们经常需要将基本数据类型,就是我们所说的int呀、long double呀这样的数据类型转成字符串类型,比如说char数组。或者我们反过来做,将字符串类型呢,转成基本数据类型,就是说我们基本数据类型和字符串这个类型呢,有可能有一个相互转换的需求。那么我们在C语言怎么实现呢?首先先给大家介绍一个函数叫spring spring f。这个F大家。有没有发现跟我们讲的spring f很像,只是加了个S,我们来看一下它是干什么的?是s spring f呢,和我们通平时用的spring f功能很相似。
01:03
但是他们的区别在哪里呢?就是s springf函数呢,它是打印到字符串中,就说他把这个结果呀,放到一个字符串里面去。对,而我们spring f呢,它是把这个结果输出到屏幕上,是不是或者叫输出在控制台。因此呢,Spring f这个函数在我们完成其他数据类型转换成字符串类型的时候,就应用非常广泛。另外一点呢,我们要说一下s spring f呢,它也包含在这一个标准输入输出头文件中,因此你用这个函数的时候呢,要引入这个对应的头文件,好,这样子我们就不多说,我们直接上案例。大家看第一个案例,第一个案例呢,我们讲的是基本数据类型转字符串类型。比如说同学们看我这里有两个。有一个W类型,我希望把这三个基本数据类型转成什么呢?转成字符串,你看我这字符串,我不是用字符字符数组来表示的吗?注意啊,这是字符数组。
02:12
字符数组。数组G啊G字符串。因为在我们C语言里面呢,没有专门的字符串这种类型,就是说很多语言里有一个叫string的东西,但是C语言没有,没有的话呢,它是用什么来表示字符串的呢?它是用的字符数组来表示的,理解这意思吧,好,这个代码我给大家运行一下就可以了,好不好?这个因为这个没什么难度,我们看一下就行了。体验一下它的用法。各位,我先把前面的注销一下。现在呢,我们再新建一个文件。对不对,我们新建一个,那这个呢,我们就取个名字叫什么呢,叫做basic。Basic basic to什么呢?字串好吧,让大家一看就知道老师在讲什么。
03:02
好,那现在呢,我还是按照以前的规矩,把这个后缀名咱们做一个简单的修改,对不对?好,先引入我们需要的头文件标准输入输出。然后呢,把这个往这一放就可以了。格式化一下。把这个包起来格式化一下。好,很简单,那现在呢,我们来看一下,呃,这会输入什么呢?同学们看这句话的理解,好,同学们。这句话表就是我说明一下这句这个函数的作用就行了,大家看,首先spring f。它是干什么呢?是一个系统函数。可以将。将结果结果输入到或者叫存储到都可以啊,存放到字符串中。那也就是说它会怎么样呢?大家看这里。同学看这是不是一个格式化的东西啊,就百分号DA,百分号dab,那么同学们可以看到这个这个A呢,就会对应这个DA,这个B呢,就会对应这个D,那也就也就是说它这边会得到一个字符串。
04:13
那么这个字符上会干什么呢?会被放在这个你这写的十寸一这个字符数组里面去,就这个意思,换言之就是格式化的结果。格式。格格式。格格式化的结果。结果。会干什么呢?会存放到。存放。存放到哪里去呢?是最一中。其他的因此类推了,比如说这个这个是不是格式化过后是一个小数啊,但是它是保留小数的两位,把它放在十寸一啊,十寸二,这个是放在十寸三,你看这地方我写的是什么呀?大家看这句话什么意思,能理解吗?这句话是一共有八位小数点占两位,就这个意思,好这个大家应该理解的,就前面这个八呢,代表总共的位数,二呢代表小数点,代占多少位,好,我给大家运行一下,大家一目而了然,来跑一跑一个就知道了。
05:17
好,你看我这输出了十寸一,十寸20寸三,运行一下看这个结果哈。咱们看十寸一呢,是不是变成这个样子了?说老师为什么有空格呢?你这儿不是有个空格吗?你这要有其他符号,它就是其他符号了,明白吧,大家可以再看这个,这个是不是等于小数点两位啊。那还有一个比较有意思的,看8.2 8.2我们说了,它统共有八位小数点有两位,你可以数一下嘛,你看它前面一共有八位。但是有些同学老师不够八位怎么办呢?不够八位的话,它前面是空起来的,就空格来占用,就是这样子的,你看前面是空空空格的啊,就说一共我写下这个,这个意思是什么?说明一下百分号8.2的含义。
06:03
含义是。格式化后,格式化后一共有有几位呢?有八位,有八位小数点后。小数点在小数点。那个位数小数点后占用。占用A,这个占占用多少位呢?占用两位。那不够的呢,用空格来补位,就说你比如说你这个,呃,你这个小数点我不就保持到14.30吗?那肯定一共才一共才四位啊,不够怎么办呢?不够用空格补齐。不够的话不够用空格占位。哦,就这个意思。站位OK,那关于这点我们就讲讲完了哈,很简单,那下面呢,我们再来看下一个就是字符串怎么转成基本数据类型呢,也可以的。字符串类型转成基本数据类型呢,它会用到。
07:04
一系列的函数,比如像a to I a to f等等,那这些转换函数在哪个头文件呢?在standard Li这个头文件。我们先来看一下这个案例,好,先来看一下案例,同样我们先把这个注销,我们再写一个小案例,这个案例呢,我们取个名字叫做string To Basic。String two basic没问题吧,同样我们我们把这个后缀名给它改一下,使string two basic后缀改一下。首先我们要引入的一个头文件是这个头文件STDIO,这个肯定要引入,因为我待会要输出,另外一个呢,就是要引入它相应的转换函数,那就std lib这个同文键里面。没问题吧,Void,我把主函数写过来。然后呢,我把这段代码拿过来用一下就行了,因为没有什么难度。
08:03
没有涉及到什么理解的东西,直接告诉你们就行了。看前面呢,我写了有四个字符串啊,是下面这都是字符数组。植物数组好到这儿。一共有四个。对吧,String string2 string3 string4,那么这边是它的大小啊,都没有越界,下面看这句话,A to I string这句话表示什么意思呢?OK,我做一个说明。说明一下各位跟上老师思路,首先呢,同学们看到这这句话的含义是将。将十俊干什么呢转成一个整数。整数。邵老师,为什么是整数呢?打开我们手册看一下,在我们这一个库文件里面一个std lib。你看这里面是SDD里面就有一个。A to I将把参数十寸指向的字符串转成一个整数,对吧?类型为int,为什么叫I呢?就是int,如果你要把它转成一个long型,那就a to l啊,依类推。
09:09
这个价就明白了,下面这个也是一样的道理。那下面这个再看这句话是什么意思,能看懂吗?这句。就是a to f。这句话是不是将将使最二转成一个小数?对,小数你看这边不是写着有吗?看这里F。是不是转成一个浮点型,类型为double?其实这边也也可以理解,是个是个是个float,那下面这个地方大家再看一下,这有个说明。使最三中括号零这个表示取出使最三里面的第一个参数,比如说我写个B啊,写很多啊,写个B。啊,这个这我我为什么不能放呢?因为它后面有个后面我们解释为什么写两个不行哈,我们现在把它扩大一点。好,这样就可以了,那如果是这样写的话,这句话表示什么意思呢?我做一个说明。
10:05
就是史俊山。中括号零表示,表示取,返回或者或或,或者获取,获取到十卷,30卷。这个字符字符。串啊,串就是数组了啊,返回这个字符串,或者叫字符数组的第一个第一个元素,那第一个元素是什么呢?同学们可以看到第一个元素就是A啊,就这么来的,明白了吧。好,那现在这个输出我们可以看一下提供应该等于多少呢?注意这个时候就变成类型变了啊,你原先是字符串,现在就变成对应的特拉short啊等等等等。好,这样输出是什么样就什么样子了,来我们运行一下。对,运行一下我们可以看到呢,诶这个地方是因为前面这个没有关闭,对不对,好运行至。
11:03
运行一下很简单,那运行完了我们可以看到结果应该是正确的,对不对,你看这个C等于AC等于A,就是返回一个好,这是这这这一段代码,那下面呢,我们接着再来看一下注意事项。哪些地方需要同学们注意呢?再把一个字符数组转成基本数据类型时,要确保能够转成有效的数据。比如我们可以把一、二、三这样的字串转成一个整数,但是我们不能把哈转成个人数。打个比方。说老师你在这把一个string转成一个NUMBER1可以,但是假如我这狠一点,我把这个写成哈了怎么办呢?哈,肯定不可能转成一个整数,因为它是它这它是个单词,你怎么转成整数呢?那在这样一种情况下,我们的C语言会怎么处理呢?注意,如果格式不正确,默认转成零。
12:00
如果你是这个小数的话呢,就是0.0,就是这样说啊。整转成整数,默认会转成零或者。或者0.0,就看你怎么转的,你要是把它转成一个整数,那它变成零了,你要把它转成一个float,变成0.0了,也就是说,如果现在我非要把一个hello强制转换成一个number,我可以告诉大家这个NUMBER1。就是零,我们运行一下看是不是这样子的,就把这个细节说一下就可以了,你们注意观察,你们注意观察,此时此刻呢,这个NUMBER1它返回的是一个零对不对,好知道这个细节哈,就是别人面试官问,问到的时候呢,你知道是怎么回事就可以了,好,我把这个还撤回去。好,各位同学,那关于我们基本数据类型与字符串类型的相互转换的知识呢,我们就讲解到这里,我们梳理一下。来理理思路。放这儿,同学们。走一个,那么我们怎么讲这个知识的呢?首先是不是先做了一个基本的介绍,说为什么我们有这样的需求?
13:09
然后呢,我说了。怎么转的?其实呢,这个在开发中我们经常需要他们互换。这是肯定会用到的,第二个呢,我们讲了字符串是它。它的转换的时候,就是把把这一个基本数据类型,基本数据类型转成字符串类型呢,诶我们用到是S10分F。对。好,这个地方我们是不是就举了一些案例啊,在下面我们就举了一些案例来看案例,先给大家讲的是基本数据类型转字符串类型。因为我是一步一步讲的嘛,现在要讲的是基本数据类型转支付类型,我把案例给大家拿过来就可以了,在哪里呢?在这是不是。好,我把这个。做事先拿掉。
14:00
给大家放到这里,大家看案例就能一目了然。好放好了,这个讲完了过后,是不是给大家讲了反过来的一种操作,就是字符串类型又返回来要转成基本数据类型,这个又怎么操作的呢?OK,这边用的是它的一系列的系统函数。对,也是系统函数,我们自己呢用就可以了,具体来说,哎代代码在哪里呢,在这。也给各位朋友阐述到这里。爷鬼,各位朋友马上说到这里,那么最后我们是不是讲了一下在基本数据类型和字符串数据类型转换的时候需要注意的事项,有两点需要各位同学有一个认识。什么认识呢?就这两点。就是咱们在进行这个转换的时候,你要确保他们能够转成有效数据,否则它就给你返回零或者0.0。但它也不报错,他给你是一个返回零,你本身想得到一个结果,但是实际上是一个零,对不对,因此我们要说一下,嗯,就是如果格式不正确,就会返回零或者0.0。
15:08
那什么时候是零呢?如果你强制转成int,那它就是零,如果你强制转成一个double,它就会返回0.0。各位同学。这里我们关于基本数据类型和支付数据类型的转换的内容就给大家介绍到这里,大家这块呢,就是你要有个了解就行了哈,就是知道是怎么怎么处理的,注意什么就OK,这里面的编程的逻辑比较少,其实就是一个语法现象,就告诉你怎么操作好,这一讲我们就先给大家讲解到这里。
我来说两句