微信号:cpp_coder

介绍:最专业的C/C++编程学习和程序员发展的综合平台.提供C/C++、汇编语言等、STL、MFC、QT等等学习、数据结构算法思维分析、各领域项目经验分享、资源下载、招聘和资讯的综合服务.

不看你会后悔的第一堂C语言课,太精彩了(3)

2018-10-20 10:31 codexia

长按识别关注公众号【CPP技术网】,学习更多有趣的C语言知识哦     


    我们已经更新了两篇:

1:《不看你会后悔的第一堂C语言课,太精彩了(1)》 -> 打招呼
2:《不看你会后悔的第一堂C语言课,太精彩了(2)》 -> 办公场地
【公众号点击不能跳转,请点击查看原文后再阅读这两篇或者找公众号往期的文章阅读】

    那么本篇文章将讲述最后一个环节,那就是干活的事情啦。我们即将讲解的是用哪些工具干活,如何用这些工具,这些工具如何理解?这也是C语言的语法哦。
    先看看完整的代码:

#include <stdio.h> //打招呼 
int main() //场地 

 int a; 
 printf("请输入一个数字: ");//打扫垃圾,看打扫的范围和说明 
 scanf("%d", &a);//输入工具:打扫->装垃圾的东西 
 printf("谢谢你的配合,你输入的数字是: %d\n", a);//提示打扫结果 
 return 0; 
}

    取出已经讲解的内容,我们剩下的内容有:

int a; 
printf("请输入一个数字: ");//打扫垃圾,看打扫的范围和说明 
scanf("%d", &a);//输入工具:打扫->装垃圾的东西 
printf("谢谢你的配合,你输入的数字是: %d\n", a);//提示打扫结果


    这里拆分一下,分为三个部分:
1.int a;
2.printf
3.scanf
    我们先来看printf。printf是print和f,print的意思是打印。打印的作用是什么,在这里可能蒙圈。那么你想想,打印机打印出来的东西,是什么效果?文字打印到纸上,自然是拿来看的。如果不打印出来,只藏在打印机脑子里,你是看不到东西的,只有打印出来了,我们人眼才能看到。这就是打印的作用。我们这里的print的作用就和打印机作用一样,是将计算机脑子里的东西打印出来给我们人看的。打印的位置是哪呢,最廉价的地方自然是屏幕咯。你可能会问,是否可以打印到纸上呢?如果你确实想,确实很有钱,也是可以的哦。不过实现起来特别费劲哦。不过我们这里都说的是屏幕,毕竟咱们都是普通人哈。
    那么f是什么东西呢?我们这里用的printf还有scanf,都有一个f。而且printf和scanf就是我们前面打招呼借来的工具。工具是什么?工具就是拿来工作的东西。我们干活,必然不会自己生产所有的工具,该用别人的还是得用别人的。我们干活是生成我们自己的工具,给别人用的。那么别人的工具的生成过程自然也和我们的一样的。我们的办公室是像main这样的。别人的也是像main这样的。我们这里只是用别人生产好的工具,而这个工具的名称也就是和他们的办公室的名称一样。区别在于,办公室里要描述这个工具生成的全部过程和细节,而生成出来的工具则是要让我们知道工具外部长什么样,如何用就行。实际上,工具就是好比办公室的门面,你要使用工具,其实就是将你要做的事情交给生成这个工具的办公室而已。这个一点和用锤子不一样,更像是委托人办事。你得将必要的材料给这个办公室的人去加工,最后给你一个结果,可以是直接返回给你或者用其他形式告诉你。比如你去铁匠那里,你让匠人给你改一下宝剑的形状,匠人改完后会将宝剑还给你。但是如果你去广告公司投广告,广告公司不会说给你一个屏幕,而是将广告显示在广告公司布置在室外各个地方的广告牌上。
    所以,工具是什么?这里的工具实际上是一个办公室的门面,像一个工作室的意思。你拿到的工具是这个工作室的使用方式。而这个工作室工作的地方就是办公室。所以,看起来和我们的main办公室多么像啊。
    f在这里就是function的缩写,中文意思是函数。其实就是我们所说的办公室。函数是专业的称呼。所以,printf和scanf都是函数,都是办公室。在使用它们的时候,都会看到()。()内括起来的东西就是你传的参数【还记得人参的数量吗?不知道请看上一篇文章】。
    打印工具要的参数是什么,作用是什么?打印需要什么东西呢?那就是要显示的东西。你提示别人是用什么提示,自然是一句话,即一段文字咯。所以你传给printf的参数自然也就是一句话咯。我们传的是这样的一句话:
"请输入一个数字: "
    用英文双引号括起来的一句话。你看着上面这句话,是不是就像我们写作文时候引用别人说的一句话,都会用双引号括起来的感觉一样。对了,就是这个感觉。你使用printf就是像说话一样,说的话都会被打印在电脑屏幕上。不信你可以试试。你可以开一个办公室,只说话,其他事都不做,行不行?当然行!那些诗歌朗诵、唱歌、演讲等等,都是在说话,不需要做体力活哈。我们的程序自然也可以这样的。比如我们写一个讲故事的程序,我们就只用printf就够了。我们只要将故事的内容说出来,显示在屏幕上就行了哦。
    在C语言里,没做完一项工作,就要加上一个英文的分号,作为结束标志。这是规定。就像对讲机说话,说完讲“over”是一个道理。就是告诉别人你做完了,别人可以接着做其他事,以免让别人傻等。不要让别人觉得自己做事有头无尾哈。
    在最后面又有一个printf,不要惊讶,这里才只有两个。在一个程序里,你可以有成千上万个printf,只要你喜欢哈。不过我觉得你不会喜欢的,因为那样,你写printf会写吐血的。
    在这个printf里,多了一些东西,那就是:%d 和\n,后面还有【,a】。我们先说%d。这是一个奇怪的符号组合。自然是有特定的用途的。符号一般用来干嘛的,是用来说明一个作用的,还起到占位的作用。比如我们买电影票选座的时候,打对勾的表示已经被选了,未打对勾的表示未被选。那么这里的对勾就是一个符号,说明被占用的符号。同样,%d也是符号,也是占用了这个位置的符号。这个符号指示的是占用这个位置的人的类型。所以在这里%d只是其中一种类型。将军和士兵占位的符号肯定不一样的。道理是一样的。其他类型还有%f、%c等等。想看更多的占位符号说明,请关注我们的公众号【CPP技术网】,给我们留言哈。
    我们这里需要知道的是,%d和int类型是对应的关系。不管在哪里,看到%d就要想到int。我们前面在讲办公室的返回数据类型的时候,即main左边的int,和这里的int是一回事。
    那为什么在printf和scanf里需要%d这种东西呢?printf是一个打印的工具,我们先将要打印的内容交给printf。在交给printf内容的时候,我们并不知道最终的结果是什么,我们只知道最后要提示一下。我们知道提示的话的前半段应该说:“谢谢你的配合,你输入的数字是:”,而结果只有等事情做完才知道。所以我们只好将提示结果的位置用一个占位符占着,表示这里是用东西的。最终得到结果后,再将结果替换掉这个占位符。而占位的对象是有不同身份的,所以占位符的写法不一样,也就是占位符的格式不一样。所以我们专业叫它们为格式化占位符号。有占位,后面一定要跟一个准备替换占位符的东西。所以我们看到后面有了【,a】。a就是即将替换%d的东西啦。而逗号是什么作用?我们前面在讲办公室的时候,说过礼物是可以有多个的。有多个礼物的时候,也就是有多个参数。参数之前要隔开,以免当成一个礼物了。100元的红包如果是两个人一起给的,自然还是要分开成两个50,就隔开成“50,50”。printf的前面一个参数就是我们要说的话。如果只是说一句话,就不需要第二个参数了。如果说话的时候需要等到一个时候才能确定,我们就可以在话里将一个位置放一个格式化占位符,然后再给第二个参数指示将来替换占位符的是什么东西。当将来这个东西出现的时候,就可以完整打印出来了。
    最后一个就是\n了。这又是一个特殊的符号组合。这个不是占位的,而是特殊的表达。我们在骂人的时候,一些词汇不是会被和谐掉嘛。自然我们就会想办法表达出来,那就用替代方案,用特殊符号表示呗。比如草泥马,本来是一个动物,后来被当成一个特殊词汇了。\n就是这么一个东西,用来表示换一行打印的意思。在printf和scanf看到%符号,你可以第一反应为格式化占位符,看到\可以第一反应为一个特殊的符号。\n的n是newline的缩写,也就是新行的意思,就是换行的意思。
    到此,我们的printf也就是讲完了。是不是意犹未尽?是不是觉得不够过瘾?那么还犹豫什么,还不赶快关注我们的公众号【CPP技术网】,第一时间接受更新推送哦。
    那么scanf倒是身世如何?有什么特别的秘密?我们到底如何深入scanf的内心?请看下回分解,记得先关注我们的公众号哈。


    长按识别关注公众号【CPP技术网】,学习更多有趣的C语言知识哦

                    

 
CPP技术网 更多文章 不看你会后悔的第一堂C语言课,太精彩了(2) 不看你会后悔的第一堂C语言课,太精彩了(1) 为众人抱薪者,已冻毙于风雪 谷歌最高华裔主管李飞飞离职:既要担起生活的责任,又要对得起梦想 深入浅出一举拿下晦涩的高位低位和左移右移
猜您喜欢 Leaf——美团点评分布式ID生成系统 构建工具Gradle的使用贴士 专访 | 打好漂亮一仗,保护数字企业 访谈:两会安保专家谈大数据与云安全 Spotify的机器管理进化之路