00:01
我们来看一下键盘输入语句,那么在今编程过程中呢,大家有没有发现?目前我们。呃,给他给一个变量赋值呢,都是写死的,就直接在程序里面写定的,但实际上呢,我们有时候是需要用户输入这个数据的,那这时我们就需要使用键盘输入语句来获取。我举个例子。比如说待会呢,我们写一个叫input DEMO,那这里面呢,我们要求完成这样一个任务,可以从控制台接收用户的信息,比如说他的名字,他的年龄,他的薪水,他的性别,性别呢。用这个M表示M表示难对吧?呃,这样子吧,用这个ma和这是难female。是女,那么我们用这个A这个单词,用这个这个单词呢表示男,用这个F这个单词呢,表示女,就这个意思。
01:02
就说你比如说是M,那么我们就代表你说的是个女的啊,是个男的,F呢female,我们代表是一个女性,好,就这么一个意思。那现在呢,我们来给大家来测试一下这个代码怎么写哈,打开这里我们直接升代码。同样,在这里我们写一个。程序来给大家演示DEMO。然后呢,同样的道理,我们把刚才这个文件的后缀改一下。感谢。那同学们跟上老师思路了,Include ST dl。我们写个主函数。那我就开始来写了哈,怎么写呢?嗯,刚才我们已经知道了要接收这个名字,所以说我使用一个字符数组。宿主接收。
02:00
名字,那这个怎么写呢?就说零就要写char char,现在字符数组同学们还没学,所以说你现在先体验一下。Name,然后呢,我假定呢为十个大小的字符,然后初始化为一个空的。紧接着待会儿我们还要输入一个年龄,对吧,我就用吧,Edge初始化为零,后面输入。然后呢,我们再输它有一个呃,Salary就是它的薪水对不对,那么初始化来个0.0。还有一个什么呢?还有一个性别差。Get。啊,真到真到我们初始化一个这样的空的一个字符。好,这些是我们定义好的,这些变量定义好了过后呢,我们现在开始提示用户输入信息,好,我开始写第一句话。请输入。对,秦。
03:00
请输入什么呢?请输入名字,那这个时候我们要用的是哪一个方法,同学们看一下,有一个方法叫SCF。SCF这个SCF呢,前面写上你要接收的这一个类型的一种格式,然后后面呢,写上你要接受哪一个name。这个就代表注意听这句话的含义哈。这句话的含义,Scan这个F呢,就代表我去接收一个字符串,并且放到name这一个字符串字符数组中。就是这句话的含义,我解释一下。表示。表示接收,接收一个字符串存放到,存放到哪里呢?Name数组中字符。数组中很简单,这就写完了,紧接着咱们继续来写吧,提示他输入这一个年龄。
04:00
对不对,这个说完输输入年龄。呃,那么这个年龄咱们怎么接收呢?显然是要把它存放到A里面去,所以说这个写的就应该是SKYF。显得我接收的时候是按一个整数接收的,所以写的D,那这个时候我们应该怎么写呢?同学们想,可能是写的age,这样写是不对的。嗯,因为我们在存放的时候,其实是存放到这个变量所表示的地址那个位置还记不记得,因为字符,字符的名称,数组的名称本身就代表地址,所以说前面不用加at符,但是这样是错的,应该这样写。应该怎样写,加个艾特服,我说明一下为什么。因为我们存我们,我们将我们将这一个得到的这个输入存放到哪里呢?存放到age。的地址中DH这个变量,哈变量这样说,变量指向的地址中,因此,因此需要加什么呢?艾。
05:12
如果你不加艾特福呢?这个就是错的好原型,我就解释清楚了。紧接着我们再来提示,除了输入年龄,下一步该输入什么呢?下一步该输入他的薪水。输入薪水好,那输入薪水我们一样的道理了,把这个连下来,然后这个时候我们应该怎么输呢?输一个F,然后这边呢,是我们的salary,但是这方写也会错,好这个地方要加一个L规定好的,这样我提示大家接收。啊,接收一个doubles doubles这个格式格式参数。是什么呢?百分号LF。记住这个就行了,这个规定好的,规定好的。
06:02
那有些同学老师这个规定咱们是需要专门记一下吗?其实这些东西都并不是很难的,就是你用几次就记住了。那下面我们该输入什么呢?我们该输入性别,薪水完了就是性别了,走一个。好,请输入你的性别。那么性别。性别呢,我们就让他输。一个M或者是F,好提示他就可以了。那同学们想一想哈,这边为了好看,我们都给他来一个。冒号吧。好吧,这样打一个这样的冒号。好看一点对不对。好看一点,隔一下。隔一下这边呢,也隔一下。显然这个时候呢,咱们接收的时候就应该放在这个gender里面去,所以说这个代码呢,应该怎么写呢,老规矩走这边咱们写上C。接收一个字符吗?这边取个地址,是不是要取地址啊,一样的道理吗?真的。
07:04
就写完了。但是这个地方我要跟大家讲哈,这样这样写呢,会嗯有一个呃有一个问题大家知道为什么吗。我问同学们一个问题啊,你注意听哈,就说你在这输入一个薪水过后。一回车。注意听你新输入一个薪水过后一回车,是不是它会把薪水读到这个salary里面,但是这个回车是不是也是个字符啊,说你这个地方其实只得到了什么呢?它是得到了得到。呃,我待会给你们解释吧,先先按你们的理解先写,待会再说,这个地方是有问题的,我先提出来,这有问题,至于问题是什么,我待会再说啊,我待会分析好,这样就全部拿到了,拿到过后呢,我们来输出得到的信息来吧,输出一下PF写一个吧。为了好看,咱们换一行对不对?我说name。
08:03
百分号S,然后呢,EDGE100分号D,还有什么呢?还有就是我们的salary salary是咱们保留小数点两位吧,2F好不好,然后呢,还有一个它的真的。真的咱们呢,用百分C来输出,那就写完了name,一个age。Salary都真的。写完写完过后啊呃,这边肯定会有一个get char。唱。那我先给他写,呃,但是有一个问题,我我问大家一个问题啊,就是这里有点不好理解,就是同学们想。呃,当你接收到一个真正过后,是不是是不是你像这样的一输一个FF,然后一回车吧,你这个回车是不是被他接收到了呀。所以说这样这个这个控制台是停不住的,这个地方它是接收到什么呢?接收到了一个回车,所以说实际上他已经接收到,他就会退出,因此我们需要再打一个跟上才能定位。
09:11
才能停下来明白对吧,注意啊,这个这这个get char才会才会让控制台停在这里,暂停在这里。因此呢,你要写两个get差明白,好,同学们,我们先运一下,还就这样写还是有问题的啊,待会你会看到一个很有意思的现象,我给大家运行起来。好运行。那运行起来过后呢,我们先看一下这个提示,我们先输一个姓名汤姆回车,这个没问题,输年龄90。再说一个薪水1.3,大家看,奇怪的事情就发生了。我问大家一个问题,我现在先请大家思考,我回车是不是也代表输入了一个回车的字符啊?
10:02
其实你你现在在这个界面上一回车。这个回车服务其实就会被他被这个系统当做一个间断被接收了。因此。这个这句话根本就一闪,马上就把这个信息打出来了。那么就意味着你的性别其实个空格,你看我回这是不是这样子,你回去你看。你看是不是这样子的,你看他在这个地方,他虽然说。他说他说没有让你停在这儿输那个。性别,为什么,因为你在这个上面这一行回车的时候,这个回车被这个真拿到了,所以说你看这其实他输的是一个回车符。你看名字是汤姆没问题吧,年龄是90没问题,薪水是1.3没问题,真的是个空的,就是因为你在上面这个回车符啊,就是在这个输入薪水过后,你不是一个回车吗?这个回车被真的接收到了,那怎么解决这个问题呢?很好解决。你再收一遍就行了。在这盟等待一下就可以了。
11:02
就是说这个地方,它其实这里啊,这个地方的这里是我解释一下,这里是接收到了到了上面的回车字符。回车字符,因此呢,这个地方才是等待,这方才是等待用户输入。好,这样就没问题了,同学们,这样就没问题了,我们再来玩一把代码就OK,来各位朋友运行一下。那现在呢,我给大家跑一跑哈,跑一跑,走起来。我先说一个汤姆。年龄90岁,薪水呢,这么多,好给他来大一点看停在这了吧,光标是不是在这停,我们认为它是一个M,你看这拿到了。就是。姓名是汤姆,年龄是90,薪水是这个,性别是你刚才说的m mail,好的同学们,那这个题通过这个题呢,我们就给大家讲解了一下,怎么通过控制台去输入我们信息对不对?好,我把这个简单的给大家板书一下,这块比较简单哈,我直接板书了。
12:12
因为就一个幻灯片。键盘输入语句,我们先给大家做了一个介绍,是不是还说了一下它的一个步骤。好,那我写到这来。这是第一个介绍,这是操作的步骤,步骤同学们注意听哈,就是在这里呢,我们要使用的SKY呢,也需要引入STDIO这个包,Standard IO标准输入输出这个案例演示。诶,案例演示我给大家也拿到一栏,代码在哪里呢?代码就在老师这儿写的地方。好,这边有很多的注释,说了一下使用的注意事项。好,同学们,那关于从我们的控制台去接收用户的信息,我们就给大家讲解到这里。
我来说两句