[音乐播放] 国宝马兰所有权利。 欢迎回来。 这是CS50,这是 本周一,续。 因此,我们已经通过的原因之一 围绕技术,如 谷歌玻璃是他们与 已知的东西作为一个API, 应用程序编程接口。 而这句话的意思是,随着 正确的文件和用正确的 文档,你其实可以写 甚至这样的设备的软件。 还等什么,我们心里有朝 学期结束,如果一个项目 涉及,也就是说,谷歌的玻璃可能 上诉时,我们会看到我们能做些什么 挂钩了一些 借用的硬件以及 公开访问的API,这样就可以 真正开始建立软件 上运行的谷歌相同的玻璃。 另一个设备,我们已经打了 后期,我们认为可能是 在学期结束的乐趣 这个小东西在这里。 这就是所谓的大跃进运动,你是什么 看到在技术上是一个 广告设备,但它 不说这是什么特别的 设备的能力。 ,也配备了一个API通过 你可以写软件 控制自己的电脑的方式 挺喜欢这个一分钟的电影在这里。 [视频回放] [END视频播放] 所以现在,该装置发生 被实现为一个小的USB 连接器,你可以插入到您的 电脑,但我不会感到惊讶, 如果用不了多久,我们有这些类型的 在下一批次的PC技术 和Mac电脑,这样就可以,事实上, 与它交互 这样的一个方式。 事实上,我想我会做,太, 我拉起一个小演示 程序,用这个软件。 所以,我把小的传感器 在我的笔记本电脑前。 你可以看到,它已经实现 我手中有 控制它。 而这一切的应用程序确实是 顺顺当当的小事情是这样的。 但是你可以看到,的确, 我有五个手指。 如果我们可以得到它做的所有10个, 你能想象一个整洁的钢琴 应用程序或等。 所以,如果你想下课 今天和发挥,作为 好了,欢迎你。 所以朝学期结束。 因此,一对夫妇的行政 公告。 一,办节这个星期五 中午在cs60.net/section。 这个URL是在球场上的 主页。 虽然,在此期间,supersections 将亮相这个星期天。 Supersections是一次性的事情, 因为它需要我们工作一段时间 是谁在这部分和。 因此,这个星期天,将是一个 对于那些不舒服的部分, 那些一节 更舒适。 那些你在某处 之间,欢迎去 其中一个或两个或两者都不是。 这些都将被拍摄下来。 他们将在一个较大的观众席比 通常会一节的。 但是,这里的目标是使你 一些安慰与问题设置, 用C,与CS50设备中,这 周末,甚至在你发现你的 正式部分分配。 所以,你会满足您的TF和较小 在大约sectionmates组 一个星期的时间。 办公时间,同时, 已经持续了。 利用他们今晚或 明天晚上,如果你想。 习题集0,是因为上周五。 这一天迟 定期举行的星期四。 但问题集1,你会看到 它包括一些热身 演习你自己 可以扩展您的 周四截止至星期五。 习题集1,同时,将首次亮相 课程的网站上,这个未来 周五,如果你想蜷缩着 它,因为我从前一段时间晚 星期五晚上,在你的房间。 所以cs50.net/appliance的地方 你可以得到CS50家电 上周一,我们开始使用。 我们将使用它今天多一点。 不过放心,问题设置1 规范将引导您完成 正是你所需要的步骤 得到启动和运行。 所以不用担心这样做之前, 习题集1,如果你宁愿不要。 好的。 因此,我们期待在源代码上周一, 但在一个新的上下文中 编程语言,即C.和C, 不像划痕,是不是图形。 这不是拼图碎片。 它更类似英语的语法。 有一对夫妇涉及的步骤 在实际编写和运行 在C程序问题,因为除了源 这样的代码,你需要的东西 被称为编译器。 通俗地说,是什么 编译器为我们做什么? 嗯。 学生:它的代码转换 你写的0和1。 国宝马兰:好。 因此,它的代码转换 我们写0和1。 所谓的源代码转换 目标代码,其中后者看起来 有点这样的事情。 这是你的CPU,大脑内部 你的电脑,因为 谁创造了这些计算机的人, 知道这些序列 0和1的平均值。 也许这意味着打印。 也许这意味着除了。 也许这意味着减法。 也许这意味着显示的图形。 有预定义的位模式 世界已经决定意味着 某些事情。 但是,在这个过程中,大部分 我们将继续努力在一个更高的水平, 我们会想当然地存在 比如编译器,可以 使我们的源代码功能 在路上,我们的打算。 所以我们第一次写程序上周 然后开始端口,从而达到 说话,到C过去的这个 周一,是这样的。 当绿旗时,打招呼。 这是,当然 从头开始写的。 我声称,相当于 在C程序看起来有点 这样的事情。 所以,我一直以为我们起初做的是什么, 让我们梳理除了什么样子,在第一 诚然,一目了然,相当神秘 语法,但你会开始注意到 图案相当快。 今天我们还会做的是提供 你的心理模型对一些 规范,一些标准结构 在编程。 然后我们将实际拿到手 脏以及一些例子。 因此,对于那些你更舒适, 认识到这星期,然后下一个 本周很可能是有点。 但是,尤其是当黑客版 问题集1熄灭 当然网站上周五,我认为 你会发现,即使你填写 在未来的两个星期的一些空白, 你会开始得到越来越 挑战和遇到 新的,新的东西。 因此,让我们逗这个程序除了 在一个时间的几行。 在最高层,我们有什么 技术上称为 预处理指令。 这仅仅是一个说的代码行 包括一个文件的内容, 称为标准I / N标准输入 - 对不起,标准I / O标准 输入/输出。小时,内部 我自己的计划。 因此,换句话说,如果我写了这 用一个简单的文本编辑器如计划 gedit中,简单的等同于 如Microsoft Word的东西, 指令的#include stdio.h中,仅仅是 要告诉编译器,抢 其他文件,stdio.h中的内容, 并将其粘贴在这里。 现在,为什么我照顾? 什么我们要求的是这个文件里面 stdio.h中,这是存储 我的硬盘驱动器上的某个地方,或在这种 的情况下,在CS50家电某处? 别人为我把它放在那里。 但是,什么是它吗? 是啊,所以这是一个宣言 一个函数调用printf的。 因此我们知道printf回忆的功能 显示单词和字符, 屏幕上的数字在我的招投标。 但我没有把它写。 CS50没有把它写。 有人几年前写的,他们 基本上给了我们几招吧 在一个文件名为stdio.h中。 所以,第一行只是给了我访问 功能,别人 几年前写的,其中 这是printf的。 现在,下一行,我要挥挥 手,至少要等到下周。 但是现在,知道诠释的主要(无效) 本质上相当于这 黄色的一块拼图时, 绿旗点击。 这个世界,几年前,决定,如果 你正在编写一个程序 语言称为C,你开始 您的程序行 看起来这样。 在短短的一个星期的时间,它会让 感int是什么,什么是无效的。 不过,现在才想起来 作为这个黄色的一块拼图。 现在未来,我们有一个大括号其次 另一个接近大括号, 可以这么说。 我们将看到这些整个 C程序,以及 JavaScript和PHP。 而这些只是封装 相关的代码行。 基本上是开放的大括号 说,这里谈到的一些代码。 而封闭的大括号,这是 成一定的角度放置,在另一个方向上,只需 手段,它 相关的代码。 所以在此先多汁线 程序是最后的printf 报价引文结束,世界,你好。 我叫之间的事情 引号什么最后一次? 因此,它是一个字符串。 一个字符串就是技术人员的 一个序列的术语 字,一个词,一个短语。 即使是一个单一的字母 用双引号。 但它是一个零序列 或多个字符。 反斜杠-N,虽然,看起来 有点怪。 但它只是意味着什么 简单到计算机。 反斜杠-N是什么? 新线。 所以,这只是特殊序列 世界已经决定的字符 手段在那里,把换行符 因为编译器实际上会得到 困惑,通常情况下,如果你很 可以理解,但不正确,只是 按下回车键把 新的生产线在你的代码中。 你需要多一点 明确用反斜杠-N。 我们会看到有等其他几个 特殊字符的模式。 例如,如果你想要让你的 介意漂移到一个角落的情况下, 假设,我想打印 在屏幕上的双引号 不管什么原因,似乎 是一个小问题,正确的吗? 因为如果我把一个双引号 “你好,世界的中间,”无论出于何种 原因,为什么,似乎 潜在的问题? 它打破了字符串。 编译器只是一个程序。 像一个编译器只是走一个程序 读你的代码从上到下, 左到右。 如果看到三双引号,而不是 二,它是不会知道 如果你的意思是左的东西 应该是字符串,或东西 右,或整个事情。 这是含糊的,所以是一个典型的 编译器会做的只是吓坏了, 并给你一些错误信息, 让你处理这个问题。 所以反斜杠n表示新 行,你会有什么本能 开始,如果你想包括 反常的东西像一个双 引用里面的其他报价 字符串? 反斜杠双引号。 因此,我们会看到这个 一种模式。 如果你想要做的东西一点点 奇怪了,你会发现, 解决方案往往遵循一个模式, 反斜线 表示一个转义序列。 它只是意味着一些特别的东西 我们需要在代表 不同的方式。 至于你怎么代表 一个反斜杠,好了,我们会 回来。 但得到的答复,也实际上是 有点明显。 现在让我们介绍一些其他的 编程结构 你看到划痕。 您可能已经理所当然的 如果你已经已经潜入 问题设置为0。 但是,我们现在介绍的语法在C 这些原本相当直观 的想法,它们中的至少一些。 所以这个概念的条件或 的一个分支,而以前我们 代表了它与代码看起来 像这种划痕左边 - 如果x小于y,然后这样说 - 而现在在C - 让我磨练 在最简单的情况下 - 我们只是说,如果打开 括号,什么是真实的 - 布尔表达式是要去 我已经说过条件 - 密切括号,然后做什么 那些大括号内。 所以在这里,太,大括号 有点像划痕 U形拼图。 做这些大括号内。 在这种情况下,削减凶多吉少。 并注意到这是向前 斜线,而不是一个反斜杠。 斜杠,斜杠, 对于那些已经编程的人 之前,只是意味着 - 它只是一个评论。 注释是不是一条线 代码本身。 这是一个说你,一行英文 人,写自己 也许是提醒你做某件事, 自己解释,解释 别人,你的代码是做什么。 这只是一个描述性的注释。 现在,当然,我们可以有一个双向的 岔路口,仅仅通过这样做, 三路岔路做 这一点,如果你继续这样 模式,你可以有四种方式, 五,六岔路,如果 的确,你需要处理, 有很多条件。 然后请注意这里的并行 - if(条件),否则,如果(条件), 和只有一个,这是一个有点 奇怪的是,最后, 只是别人。 但是,这是相同的, 从概念上讲,我们已经做了什么 已经,尽管语法 需要一点点时间来适应。 现在,在这个例子中,有 其他一些奇怪的语法。 我们再次看到printf的,开放的括号, 和紧密括号。 里面有 带引号的字符串。 括号,在上下文中 printf的,在左边 和右是什么? 什么我们描述报价 更普遍的字符串? 所以这是一个参数。 任何时候你有一个函数,如 printf的,然后一个开放的括号和 密切括号里面的东西 它,无论它是一个字符串,或 整数,或其他任何东西,这件事 那些括号之间被称为 的说法。 和参数只是影响 函数的行为。 在这种情况下,这是很清楚。 x