>> LUCAS FREITAS：好吧，我猜 現在我們的現場。
歡迎來到CS50 Supersection。
我們是不太舒服。
我的名字是盧卡斯塔斯。
我算是CS50頭轉錄因子。
這是勞倫。
>> LAUREN卡瓦略：嗨，我是勞倫。
我也頭TF的CS50。
>> LUCAS FREITAS：今天我們只是 讓公眾知道你的概述
傢伙已經學會了在一個星期內，有希望 給你們一個好
意義是什麼你應該知道 對於問題集之一。
>> 只是一對夫婦的公告。
首先，辦公時間。
辦公時間是從週一發生 週四在不同的房子
嫩伯格的每一天。
他們是為你一個非常好的資源 人來問問題，
聊到TFS，甚至交換 想法與其他同學。
所以一定要使用該資源 對你有利。
>> 第二件事是 CS50電器。
在過去的[聽不清]
你們沒有真正 有一個設備。
你只是在做的一切 你的個人電腦。
但對於這個問題，你實際上有 有一個虛擬機，因此
一定要下載CS50 電器和設置它。
>> 而第三件事是一定要 啟動設置問題盡快公正
因為它更容易找到 幫助時，你在
開始的一周。
因為人們往往要等到 最後一秒啟動問題集，
然後你去辦公時間， 而且也有很多人。
在那裡，如果你去週一，你會 一看就知道你可以傾訴的轉錄因子
幾乎整個晚上， 他們打算超過
竭誠為您服務。
>> LAUREN卡瓦略：我可以只是停止 您只需一秒？
人人都能夠下載 在CS50電器？
人們已經嘗試過？
>> LUCAS FREITAS：要下載，由 這樣，就可以在得到指令
cs50.net/appliance。
>> LAUREN卡瓦略：對。
而它確實需要一些時間，我們的 系統管理員以獲得您的許可
鍵，所以報名參加 免費試用第一。
這樣，你將擁有它30天， 然後等待您的許可證密鑰
這應該給它 你一年。
>> LUCAS FREITAS：首先， 讓我們來談談一點點
關於CS50電器。
該CS50設備實際上是一個虛擬的 機器，你要
在你自己的電腦是運行 基本上運行另一台電腦
在你自己的電腦。
這是很酷。
而實際上它的使用無處不在。
人誰到高科技的都知道 這是所使用的所有的時間。
你呢？
可以有多個電腦 在一個設備中。
>> 讓我們來實際看看 在電器。
當你以後去的電器 註冊後，你將不得不
把你的名字和登錄哈佛 所以我們可以讓你所有註冊。
你會看到基本上是一個 壁紙，然後家庭和垃圾桶，
然後這些小圖標。
這三個圖標實際上是最 您可以在重要的事情
您的設備。
>> 第一個是gedit的，這是一個文本 編輯器，就像記事本或類似
任何類型的文本編輯器。
這是我們用它來寫東西只是 代碼，然後做的東西吧。
>> 第二件事，我們 這裡是Chrome瀏覽器。
所以，如果你需要使用互聯網 在家電，這是
你可以使用的東西。
>> 而第三件事是終端， 這其實是很甜蜜的。
這類人通常都害怕 終端，因為它是這個非常
在老式的應用程序，您 只是基本型與一切
您的鍵盤。
有沒有很多的互動 用你的鼠標。
但實際上終端 確實很不錯的東西。
>> 首先，讓我們剛剛經歷 一些命令，你
可以在終端中使用。
>> LAUREN卡瓦略：而且隨時停止 我們，如果您有任何問題。
>> LUCAS FREITAS：是啊。
因此，我們有第一個命令 對於終端是LS。
LS的基本含義列表的一切，都是 文件及全體董事，
那我在，我在這個地方。
所以，如果我在這裡做的LS，我要去看看 我有一些目錄。
我的桌面上，下載， 日誌和虛擬主機。
這些都是藍色，因為他們 是所有的目錄。
>> 那麼你有一些其他文件。
你有像打招呼，hello.c中，這 只是文件，而他們在
不同的顏色。
所以這是一個非常重要的命令只是 你可以看到哪些文件
並且您有目錄 在該目錄中
你在終端正處於。
當你看到jharvard @家電和 接著小符號那裡，
波浪，那只是意味著這就是 你是在目前的目錄。
>> LAUREN卡瓦略：所以輸入ls幾乎是 如單擊該文件夾
列出在那裡，在它表演 你們凡內容
在該文件夾。
>> 觀眾：是否有文字 在hello.c中呢？
>> LAUREN卡瓦略：哦，你不能 看到，因為它是藍色的。
>> LUCAS FREITAS：它說 日誌和虛擬主機。
>> LAUREN卡瓦略：這些都是 只是其他文件夾。
我很抱歉，這真的很難看到的。
也許如果我們關掉燈？
科爾頓，你想嘗試和 找到燈的開關？
我們對此深感抱歉。
我沒有去想它。
>> LUCAS FREITAS：但它基本上是 -
是啊，如果你能 -
>> LAUREN卡瓦略：放大屏幕。
>> LUCAS FREITAS：我不知道 具有該功能。
>> LAUREN卡瓦略：[聽不清]。
確定。
嗯，有只是很多自然 光在這個房間也是如此。
>> LUCAS FREITAS：讓我們姑且認為 還有另外兩個沒有目錄。
>> LAUREN卡瓦略：剛才我們一起承擔。
這是唯一的一部分，你會 要著眼於終端。
>> LUCAS FREITAS：下一個命令 基本上，也許你想組織
你的文件 -
例如，所有的在一個C文件 目錄，但是你沒有一個
只是對於C目錄​​中的文件呢。
你基本上可以創建一個目錄 使用終端以及，這是
同樣的事情，右擊 並說新文件夾。
該命令創建目錄，其中 是MKDIR，所以基本上“製造”和
“目錄”。
>> 然後你可以把 該目錄的名稱。
比方說，我想叫， 我不知道，讓我們說做PSET1
這一點，我剛剛創建的目錄。
讓我們只檢查它的存在。
所以，如果我做的LS，現在我看日誌， 然後PSET1，然後虛擬主機。
所以，我有沒有新的目錄。
>> 然後經過你有一個新的目錄， 也許你想瀏覽
進去，所以下一個命令這張CD， 這只是基本上意味著去
特定的目錄。
所以，如果我想去PSET1， 我可以做CD PSET1。
>> LAUREN卡瓦略：CD代表變更 目錄[聽不清]能
記住這一點。
>> LUCAS FREITAS：現在你看到， 而不是僅僅有jharvard
家電，我已經jharvard家電， 然後PSET1，因為它示出
我在哪裡，我在這台電腦。
>> 現在，如果我想回去 目錄是這樣的人之前，我
可以做一個CD點點，這只是意味著去 到我之前所在的目錄，
像這樣的父 目錄中，基本上是這樣。
現在我看到我 回jharvard。
>> 接下來的事情，我可以做到這一點 為rm，這是刪除一個文件。
例如，讓我們先做LS 看看我這裡有。
我有打招呼，hello.c中。
比方說，我想刪除它們。
我能做的RM打招呼。
它會說“刪除普通文件 你好？“我說：”是的。“現在，如果我
做LS，我看到它的 不存在了。
>> 如果我嘗試使用rm等的目錄， 不過，它不會
讓你做任何事情。
它會說，哎，你 不能刪除一個目錄。
因此，我們有這個其他都稱為RMDIR， 這只是基本含義
刪除目錄。
我可以，例如，刪除PSET1。
如果我做LS，我不 擁有它了。
>> 這方面有任何問題嗎？
沒有？
是嗎？
>> 觀眾：你離開是很重要 一個空格之後 - 當你
開始輸入的東西？
>> LUCAS FREITAS：是啊。
如果我做喜歡的CD和目錄， 我要加一個空格。
什麼空間你在說什麼？
>> LAUREN卡瓦略：之間的空間 CD和[聽不清]。
>> LUCAS FREITAS：是啊，你要 放空間，因為CD是
命令，然後在接下來的字符串 你的類型是基本的目錄。
所以它就像一個參數。
是嗎？
>> 觀眾：當你列出，所有這些 在不同的目錄，對不對？
>> LUCAS FREITAS：是的，他們 在目錄中。
>> 觀眾：什麼是差異 目錄中？
>> LUCAS FREITAS：他們只是 不同的文件夾。
目錄是一個文件夾 在您的計算機。
>> 觀眾：打開文件夾。
>> LUCAS FREITAS：是的，這是 剛打開的文件夾。
>> LAUREN卡瓦略：在這裡，那些 那是藍色的是實際的
您可以進入和目錄 然後看到一堆東西，是
內，這是不幸 因為你不能真正閱讀
那些藍色。
和那些在白色的只是文件 是當前目錄內。
>> LUCAS FREITAS：所以目錄 是文件夾。
其他的都是文件。
>> 觀眾：什麼是命令 重設或清除呢？
LUCAS FREITAS：要清除？
LAUREN卡瓦略：要清除？
LUCAS FREITAS：我覺得 這是“清”。是啊。
所以，你只需要輸入不清楚 你的屏幕是太亂了。
還有沒有其他問題？
你會學到一堆其他的 在命令只是自然的
學期，因為他們是非常有用的。
>> 所以，現在讓我們來談談編譯。
我們談到偽代碼和 源代碼和目標代碼。
並且有很多代碼，也許 你們是困惑的。
讓我們說一下什麼 當你寫一個程序發生，
而你編譯它，並成為 一個可執行文件。
這些都是的話，你的傢伙 可能聽說過，也許你不
真的知道是怎麼回事。
>> 比方說，例如，我想 編寫一個程序，說：“你好。”該
，在你的頭腦的第一件事就是 有種你再想想你是怎樣
要做到這一點在你的心中，並 你可能在想用英語或
其他一些語言，如自然 語言，大概。
然後你想，好吧，如果我想， 例如，編寫一個程序，
說：“你好，”我會啟動一個程序， 我將打印打招呼，然後我會
退出程序。
這是偽代碼。
這只是基本上你想 想出的事件序列
你要做的是 能寫一個程序。
>> 那麼你的源代碼，並 源代碼不必
特別是C。我們談論 C語言有關的源代碼，因為這是
我們正在學習的語言，但當然 代碼可以是幾乎任何
你有編程語言。
在學期過去了，你會 學習其他語言。
這也是源代碼。
>> 例如，在這裡，這是我的源 代碼，然後我包括一個
庫，然後我開始 主要的，然後我打印。
和勞拉是要談一點 所有的這一點。
因此，這是源代碼。
>> 什麼是目標代碼？
對象是一堆零 和的，基本上是這樣。
什麼情況是你一開始有 偽代碼，這是全英文的。
我的意思是，你了解它。
可能是你的朋友了解 它，大多數人會
理解的想法。
但電腦是非常愚蠢的，他們 不懂英語，所以你
已翻譯的到的東西， 通常譯成
編程語言。
>> 和你能想到一個編程 語言那種作為一門語言
那你告訴你的電腦怎麼 說話和理解。
你基本上寫的東西在 一種語言，你們倆和你
計算機理解。
這是源代碼。
那麼回事形式的偽代碼源 代碼，它是由你決定。
它基本上是你做你的方案。
>> 但問題是， 電腦甚至不
了解編程語言。
它不明白 源代碼中。
它實際上只是理解 零和一。
因此，我們有這個非常神奇的東西叫做 一個編譯器，這基本上是
要得到所謂的源，你 寫在你倆的語言
和你的電腦說話，現在你 要改造，在
零和一。
所以基本上什麼樣的編譯器是 它得到的源代碼，在這種情況下，C，
它是將它改造成零 和那些在計算機
理解並可以使一個 可執行文件出來。
>> 這是否有道理？
你可以認為編譯器作為 一些翻譯的是
幫助您講解到電腦 究竟什麼是應該做的。
>> 但我怎麼編譯。
讓我們回到設備，並 讓我們說，我做了計劃。
首先我要創建一個目錄 在這裡，我要叫它
“實踐”。現在，我要瀏覽 到該目錄，所以CD的做法。
現在，我在裡面練習。
>> 現在，我要開始gedit的， 讓我怎麼做呢？
我可以點擊這裡，或者我可以只 逐字輸入“gedit的，”它是怎麼回事
打開我。
>> 現在，我要輸入我的程序，所以 正是我寫在幻燈片。
我宣布一個圖書館。
我做整型為主，無效。
現在我做的printf，你好。
現在，我要救這一點。
讓我把它付諸實踐，並 我要調用這個hello.c中。
所以，現在它的保存。
>> 如果我想編譯它，其實我 可以在兩個不同的地方做。
我可以做一個終端窗口， 所以這個大的，或者您也可以
用gedit，實際上有一個 終端窗口就在這裡。
所以，你可以很方便地就去做 你的代碼，那麼你可以只輸入
無論在這裡，並嘗試編譯它。
>> 讓我怎麼編譯的代碼？
我們有最簡單的方法是使用 作，這是一個函數，它
基本上要 編譯你的代碼。
你只需要說做招呼，所以 “使”和該程序的名稱。
>> 哎呀。
這是尷尬的。
>> LAUREN卡瓦略：你能[聽不清]？
>> LUCAS FREITAS：對不起。
我沒有把它保存在 正確的目錄。
來練習，現在 將其保存為hello.c中。
對不起。
現在它的保存。
>> 我只是做ls和被 確保它在這裡。
好了，現在就在這裡。
所以，現在如果我這樣做讓你好，它吐出一個 很多東西，但當時它只是給
我的另一條線的終端，它 也就是說，它是成功的。
現在如果我再這樣做了LS，我竟如此 看到此文件為綠色，這是
可執行文件。
>> 然後如果我要運行它，所有的 我所要做的就是點斜線打招呼。
它會跟你打招呼就在這裡，所以 這正是我要問它。
>> 有編制的一種方式， 這是使用鐺。
鐺只是一個編譯器，我們有， 和它的更詳細一點點
編譯它。
但它的作品一樣好。
所以，如果我做鐺，然後鄰，然後 我想給的名字
可執行文件，所以讓我們說 “你好。”然後我想要的文件
編譯，hello.c中。
它也將進行編譯。
和你在這裡的文件， 我可以執行它。
所以他們兩個人的工作。
>> 這是否有道理？
有問題嗎？
>> 觀眾：你能否放大 在一點點？
>> LUCAS FREITAS：對不起？
>> 觀眾：放大？
>> LAUREN卡瓦略：我想你 只需命令加。
>> LUCAS FREITAS：命令是什麼？
>> LAUREN卡瓦略：命令加。
>> LUCAS FREITAS：號
>> LAUREN卡瓦略：哦，那不是 去上班，因為 -
這是因為我們設置的分辨率 對於這件事情。
>> LUCAS FREITAS：我不知道 認為我們可以放大。
是啊，我們不能放大。
你有別的問題？
抱歉。
>> 觀眾：你能重複鐺？
>> LUCAS FREITAS：該鐺？
鐺的是同樣的事情化妝，但 不同的是，第一次我要去
寫鐺，這是命令， 那麼我該怎麼辦-0，所有的，這是
只是我們要什麼 後來作為一個標誌學習。
所以，只是覺得你總是 必須把鄰。
>> 然後首先，你要放 該可執行文件的文件名，
基本上，你是該文件 要創建。
所以我可以說，舉例來說，的Hello2和 然後，我要編譯的文件，
這是c文件。
所以這是hello.c中。
這是否有道理？
>> 觀眾：你好是什麼？
那是什麼？
>> LUCAS FREITAS：HELLO.C。
如果我編譯它，而如果 我LS，我也有一個
的Hello2，我只是編譯。
如果我嘗試運行它，它會 做同樣的事情為hello，
只是打印打招呼。
>> 觀眾：怎麼來化妝 你可以穿上後的hello.c？
>> LUCAS FREITAS：在化妝，你 不必把。角
在化妝，你剛才說的 該程序的名稱。
你不必說了。角
但對於鐺，你應該。
>> 觀眾：隨著鐺做的，你也 必須添加[聽不清]
>> LAUREN卡瓦略：是啊。
所以，你也有圖書館。
>> LUCAS FREITAS：是啊，這東西 我們打算以後使用。
這就是所謂的連接，並且我認為我們 後來去談論它。
另一個問題？
>> 觀眾：你放 點斜線鐺？
>> LUCAS FREITAS：號
點斜線只是開 可執行文件。
所以，鐺，你只寫“鐺”，並 那麼，如果你想打開
可執行文件，你只是 編譯，那麼你就點
削減而得名。
這是否有道理？
>> 觀眾：如果你只是改變 [聽不清]為Hello World，你
必須重新編譯它？
>> LUCAS FREITAS：是啊。
如果我想要說，例如，“你好 在那裡，“我可以只保存了，我
只是重新編譯它。
因此，讓我做一個make打招呼。
如果我做你好，這將 說“你好”。有道理？
還有沒有其他問題？
>> 觀眾：你一定要包括 標準I / O的協調工作？
>> LUCAS FREITAS：是啊。
標準I / O的基本 具有一個庫
實現printf的。
所以，在那件事權利 頂部包括標準輸入輸出。
這是包括一個庫， 基本上有一堆不同
工具，你可以使用。
呢？
其中printf的是那是一個函數 基本上版畫
消息到屏幕上。
>> 還有沒有其他問題？
沒有？
確定。
所以，現在讓我們來談談 -
>> LAUREN卡瓦略：我們只是 去的風格指南。
你想只找到它在這裡？
>> LUCAS FREITAS：所以我們要 談風格。
>> LAUREN卡瓦略：哦，大衛 沒有完成。
確定。
我們為什麼不回來 風格在最後？
它實際上已更新 因為我們說話。
>> LUCAS FREITAS：是啊。
讓我們的方式為大衛完成了。
>> LAUREN卡瓦略：能 我們改用什麼呢？
>> 所以我希望每個人都對 享受划痕。
不幸的是，它的時間 遠離本 -
不幸的是它的時間離開 從這些漂亮的編程塊
到C。但幸運的是，所有的 編程構造，你已經
在划痕一直與有 直接翻譯到C，和我們
要開始學習 他們中的一些現在。
讓我們談條件先說說 在布爾表達式。
>> 這是在運行儲備 電池電量。
>> LUCAS FREITAS：如何是 那不工作？
確定。
你去那裡，我會得到 -
>> LAUREN卡瓦略：所以條件 重要的，因為它們使我們能夠
邏輯引入到我們的節目。
這裡有一個條件的例子 在一個C程序。
讓我們注意如何 -
所以這種情況下塊就在這裡，這 printf語句將不會執行
除非內的條件 括號中，n大於0，則
計算結果為true。
>> 現在，所有的F內的條件 語句是布爾表達式，
這意味著有 只有兩個選項。
他們既可以評估為true， 或者他們可以評估為false。
所以在這裡，所以這是有道理的，對不對？ Ñ 大於0時，意味著它是一個正
數，這意味著它將打印 出“你選擇了一個正數。”
>> 有很多的布爾表達式 能夠形成的條件與
初始化語句。
我們具有比少。
這是小於或等於。
這僅僅是一個有趣的[聽不清]。
如果你想，如果它是printf的發生 大於或等於0，則
你會選擇這個。
因此，平等公正的權利附加 後大於號。
>> 相等相等，這是從不同 只是一個等號，平等平等
實際上意味著，凡是在 本左手邊是一樣
什麼在這個右手側 其中一個等號是什麼？
什麼是只是一個等號？
分配。
>> LUCAS FREITAS：誰說的？
是糖果？
哦，不。
抱歉。
你都得到糖果。
哦，好吧！
三個人得到的糖果！
>> LAUREN卡瓦略：所以這一塊就在這裡 是前爆炸運營商
等號，所以這 不等於。
因此，如果這是在我的情況下， 病情的身體會
執行只有當一切在 左邊是不一樣的
什麼是右側。
>> 我也可以有剛 感嘆號。
實際上，我們將在一個功能看 滑動如何做到這一點可以使用。
>> LUCAS FREITAS：有問題嗎？
沒有？
>> LAUREN卡瓦略：我們可以結合這些 布爾表達式構建更
複雜的條件語句。
所以在這裡，如果凡是在左邊 雙桿的右手邊，或
無論是在右手側 雙桿計算結果為true，
然後我們再打印出來無效。
然後到這裡，如果不管的 對2的左手側
＆符號和任何的右側 兩個＆符號的右手邊
計算結果為true，則 我們將打印出有效的。
雙條被稱為邏輯 OR運算符的雙連字號
所謂邏輯AND運算。
是嗎？
>> 觀眾：是那些剛 小寫l的？
>> LAUREN卡瓦略：號
它們實際上是 -
你知道的反彈，像 上面的回車鍵？
你看到了嗎？
>> LUCAS FREITAS：它實際上是一個酒吧。
>> LAUREN卡瓦略：它實際上是 只是兩間酒吧。
>> 觀眾：你可以使用 字符串相等相等？
>> LUCAS FREITAS：號
我們打算以後學習 一些事。
>> LAUREN卡瓦略：有一個函數 您可以使用。
但你不必 擔心，只是還沒有。
>> 如果我給這個程序 數字5？
什麼會打印出來嗎？
>> 觀眾：[聽不清]
有效。
>> LAUREN卡瓦略：有效？
是啊。
我不知道誰得到了這一點。
>> [笑]
>> LAUREN卡瓦略：這是一種 嚇人[聽不清]。
>> 觀眾：所以，雙和， 這只是意味著和？
>> LAUREN卡瓦略：是啊。
因此，5號是兩個較大 比大於100 0及以下。
>> 觀眾：它為什麼會呢？
>> LAUREN卡瓦略：一個是符號 其實不同的東西，它是
按位運算符，你會 後來了解。
但它的東西，實際工作 與一個給定數目的位。
>> LUCAS FREITAS：試想他們不 不用擔心它現在。
>> LAUREN卡瓦略：我覺得它可能 下週就要到了。
>> LUCAS FREITAS：還有沒有其他問題？
沒有？
>> LAUREN卡瓦略：因此，我們已經看到了一個 它阻止可單獨存在，但它可以
也可以搭配和else塊。
因此，在這種情況下，如果n大於 0，我們要打印出“你
拾取的正數。“一樣，意味著 如果是0，或者如果它的不足
大於0，我們要打印出來， “你挑一個負數。”
>> 這裡有趣的是，這些 是互相排斥的。
還有的永遠不會是一個案例 其中這與本
既可以打印出來。
>> 我敢肯定，你曾與if / else語句 方塊在刮，所以這應該是
相當熟悉。
是嗎？
>> 觀眾：我們是否需要之間的空間 整數n等於調用getInt然後在空間
if語句？
就像我們使用一個線[聽不清]
>> LAUREN卡瓦略：哦，這裡的空間？
>> 觀眾：這樣，但 你雙倍的空間。
沒有，上去了。
上去了。
>> LUCAS FREITAS：只是行了？
>> 觀眾：是啊。
>> LUCAS FREITAS：就在空行？
>> 觀眾：是啊。
>> LAUREN卡瓦略：空行？
號
這只是一個風格的東西。
>> LUCAS FREITAS：這就像有時 你只是跳過一些行，以便
該代碼看起來並不像 文本塊巨大。
>> LAUREN卡瓦略：我覺得發生了什麼 是，我們必須在這裡留言，但我
拿出來，這樣你們將有 思考的代碼，而
不只是看我的評論。
一般來說，間距不會真的 影響程序的運行方式。
它更多的是一種風格的東西。
而當我們有風格指南更新 並準備去年底
supersection，我們將討論 關於更多。
>> 有什麼東西錯 這一方案，對不對？
因為0是不是真的 一個負數。
因此，讓我們看看我們是否能夠解決這個問題。
>> 你大概可以想像 與此說，對不對？
如果n大於0，我們打印，“你 挑一個正數。“THEN ELSE
如果n小於0，“你挑了個 負數。“一樣，”你挑
0。“
>> 現在，有趣的是， 這可能會永遠持續下去。
你可以有一個if塊中，否則，如果 塊，另一否則，如果塊，否則，如果，
否則，如果，否則，如果，否則，基本上 只要你想要的。
而當這樣的構造， 這些都將是
互相排斥的。
是嗎？
>> 觀眾：那麼，為什麼你就不能使用 另外，如果代替[聽不清]？
>> LAUREN卡瓦略：在這種情況下，是的，我 如果可以使用另一個，這將是
精絕，因為 條件本身是
互相排斥的。
但如果條件不是唯一 相互的，這將
迫使他們從來沒有兩個評價， 如果是有道理的。
>> 觀眾：在這種情況下，我們能否巢 第二，如果在第一，如果？
>> LAUREN卡瓦略：如果 - 你是什​​麼意思？
>> 觀眾：如果這兩個條件 並不相互排斥？
>> LAUREN卡瓦略：如果條件 並不相互排斥？
但是你只想要其中的一種來運行？
>> 觀眾：你只想要 如果不是別的。
>> LAUREN卡瓦略：是啊。
有總是會很多 的方式，你可以做到這一點。
你絕對可以嵌套它們。
而且你會在將來的幻燈片看到， 你可以有多個如果，只有一個
紛至沓來。
但是，這是邏輯上的一種方法 組織你的程序的流程。
>> LUCAS FREITAS：而且還有一 的事情，就是你問把
如果再另外如果。
這將很好地工作，但它的壞 設計，因為基本上，如果你
第一，如果檢查，而且你注意到 的數目大於0，則
可以只是完成該程序。
你不必檢查 它是小於0的，對不對？
>> 但是，如果你做，如果，如​​果，它要檢查 這兩個，而如果我做，如果其他人在，
它會檢查是否 它是大於0。
如果是，它不會連看 在其他行的代碼。
所以你基本上是檢查它像 兩次不必要的，所以這就是為什麼我們
如果做別的，如果。
還有沒有其他問題？
>> 觀眾：這樣的功能 在其他的，如果是相同的
如果這只是如果？
>> LAUREN卡瓦略：號
你究竟要看到我的未來 滑動的示例，其中它可以
是不同的。
在這種情況下，它幾乎是相同的。
>> 所以在這裡，我們有多個的一個例子 if語句和
功能是不一樣的 就好像我剛剛說，如果
否則，如果其他人，如果其他人。
讓我們只是想想將打印 ，如果我輸入數字95
到這個程序。
>> 觀眾：[聽不清]
>> LAUREN卡瓦略：然後呢？
>> 觀眾：[聽不清]
>> LAUREN卡瓦略：是啊。
所以在這種情況下，這些條件是 不是相互排斥的。
並且因為沒有什麼能阻止 從評估這種情況下，如果這
1已經有了，他們只是 一切都將打印出來。
所以，我怎麼能解決這個問題？
>> 觀眾：還有IFS？
>> LAUREN卡瓦略：您可以使用其他IFS。
我可以改變順序 這些，對不對？
如果我第一次做這個嗎？
嗯，事實上，沒有。
這不會對95工作。
>> LUCAS FREITAS：沒有，只是在else IFS。
>> LAUREN卡瓦略：在別的IFS 將固定的。
這是否清理混亂 IFS之間和else IFS？
>> 觀眾：我只是想問問你，如果 你沒有使用否則，如果，它會停下來？
>> LAUREN卡瓦略：對。
所以只有這第一個。
如果我輸入的號碼95，僅此 將打印出來的，它從不
會進展到別人。
>> LUCAS FREITAS：剛才那種想到的 它作為如果發生這種情況，做到這一點。
在else是一樣，如果沒有，檢查 對於這一點，然後做到這一點。
因此，像他們都相互 排斥。
你不能為兩個以上的。
>> 觀眾：你可以使用邏輯 而對於這種情況？
>> LAUREN卡瓦略：是啊。
這是另一種方式，我們可以 已經修正了這個問題。
我們可以定義 範圍，對不對？
所以我可以說，如果n大於 大於90且小於 -
嗯，我想這其中並沒有真正 無所謂，但在這裡我可以說，如果
n大於80小於90。
大於70，小於80更大。
那會還努力。
>> [笑]
>> LUCAS FREITAS：她是害怕。
>> LAUREN卡瓦略：不要怕。
>> LUCAS FREITAS：這不是 這將是錯誤的。
只是，它是不必要的 冗長。
就像在計算機科學，人們應 要盡可能簡單，只要
你具備的功能。
你想要的糖果？
>> 觀眾：不需要它。
>> LAUREN卡瓦略：你嚇到 每個人，盧卡斯。
>> LUCAS FREITAS：對不起。
>> LAUREN卡瓦略：大衛還提到 在這些類switch語句。
基本上，這是怎麼回事是開關 需要聲明一個變量。
在這種情況下，我們正在採取一個整數。
>> 如果整數是1，我們要 打印出來，“你挑一個小
數。“如果整數為1，”你 挑了中等數量。“如果
整數為3，“你挑了個高 號，“而且我也有一個默認的情況下，
到這裡，但它沒有顯示 起來，這是太糟糕了。
>> 基本上，這僅僅是 另一種語法。
我們也可以精確實現這一 同樣的事情，if和else if
語句。
但是，當有很多不同 條件和許多不同的
變化你想要做什麼 每個輸入，這是一種選擇。
所以它只是一個很好的語法就知道了。
是嗎？
>> 觀眾：為什麼不是一個反斜杠 N的第一個？
>> LAUREN卡瓦略：對於在那裡？
有沒有反斜線Ñ在那裡 因為調用getInt -
如果你試試這個，它會 給你這樣的提示。
給我1和3之間的整數。
如果我把背隙N，它會 帶我到下一行，但我只是
希望他們鍵入整數 後右結腸。
你可能已經把反彈ñ。
這不是什麼大不了的事。
是嗎？
>> 觀眾：對於此代碼，這是 情況1，是因為
這是第一種情況？
因為 -
>> LAUREN卡瓦略：不，不，不。
因此，這是給我一個整數 1到3之間。
如果n為1，我打印了。
如果我問信，我可以有 說給我的一封信
和C那麼這將是案件A.
>> 觀眾：[聽不清]。
的情況下也只是[聽不清]
>> LAUREN卡瓦略：是的，沒錯。
是嗎？
>> 觀眾：如果你有什麼想有 更多的關係式的？
所以不是說Ñ 等於1，[聽不清]
n是大於1的第一種情況？
>> LAUREN卡瓦略：其實，如果我不 定義其中的一些情況下，這將
被帶下去。
因此，實際上，也許這不是 你問什麼。
>> LUCAS FREITAS：我認為她詢問 的情況下為：N比0，更大的情況下，
小於0。
>> LAUREN卡瓦略：也許開關 聲明是不是真的是你想要的東西
在這種情況下使用。
>> LUCAS FREITAS：switch語句是 只是值，所以你檢查
該值是像這樣或那樣的。
所以你不能真正 把條件。
>> 觀眾：如果什麼人 類型的[聽不清]？
>> LAUREN卡瓦略：那將是 我的默認情況下，不幸的是
你看不到。
>> LUCAS FREITAS：[聽不清] 讓他們看到。
>> LAUREN卡瓦略：其實， 你知道嗎？
就讓我們去研究50，我會 只是放大在學習上的幻燈片
50，因為這僅僅是煩人。
所以讓我真正去條件。
這只是要 取一小會兒。
>> 好的。
所以，我很抱歉。
至少現在，我們就可以看到 一切都沒有它切斷。
好的。
>> 所以，如果他們把在10，我們將默認 這裡我默認情況下，我
將只打印無效的，因為我 要求他們輸入一個整數
1到3之間。
還有沒有其他問題？
是嗎？
>> 觀眾：我們先來說說案例一，案例 3，說，你希望它是所有
同樣的事情，所以你選擇了一個數 這不是一個中等數量。
在這種情況下，會是多餘的？
你只需要改變兩個文本 其中，或者會有一些
冗餘？
有什麼辦法來組合 [聽不清]？
>> LAUREN卡瓦略：有辦法 結合他們，但我相信你可以
只有結合相鄰。
所以，如果我沒有什麼定義 對於案例二，這將
適用於這兩種情況。
哦，如果我沒有把任何東西的情況下 之一，這將同時適用於
案例一和二。
如果是有道理的。
>> 觀眾：你能再說一遍嗎？
>> LUCAS FREITAS：確定。
如果你做了，基本上一樣，你有 同樣的事情，但你不把
任何事情在這裡，你會無論是對 案例一案例二，做到這一點。
對不對？
如果你得到這個突破意味著 這個情況下，見好就收。
所以，這就是剎車的意思。
所以，如果我只是做了這個，你看，這是 情況之一，你只需做到這一點。
如果是情況二，它也將 剛剛來這裡做。
>> 觀眾：但是你能做到嗎？
如果有東西 案例二[聽不清]
>> LAUREN卡瓦略：我不相信 你可以做到這一點。
我不認為你可以跳過左右。
你可以做到這一點，羅布？
我不認為如此。
>> 觀眾：所以只有一個號碼 可以去一案之後，對不對？
不能有案例一，逗號，二？
>> LUCAS FREITAS：不，你不能。
你絕對不能。
>> LAUREN卡瓦略：我的意思是，問題是 這是一種選擇，而這可能不是
適合你的使用情況，這樣，那麼你 在if條件會使用。
>> 觀眾：那你為什麼還要這麼做？
開關？
>> LAUREN卡瓦略：我會用這 如果你很確定 -
實際上，盧卡斯，被你堵。
>> LUCAS FREITAS：哦，對不起。
>> LAUREN卡瓦略：如果你有非常 您要為定義的行為
每一個輸入端，這可能是一個 小比寫出來更簡潔
一個if語句為每一個。
>> 觀眾：什麼的 再次突破是什麼意思？
>> LAUREN卡瓦略：間隔意味著停止。
請記住，如果我沒有這個破 在這裡，我們剛剛倒下
進入下一個案例。
>> LUCAS FREITAS：歇手段來獲得 出了switch語句。
因為如果它是1，我想 打印該離開。
我並不想檢查什麼。
>> 觀眾：你不想 打印任何東西。
>> LUCAS FREITAS：是啊。
因為它是相互排斥的。
>> 觀眾：而這是否只是進行 到下一個的情況下，如果第一種情況下
是不是真的？
抑或是測試所有的情況下， 在同一時間？
>> LUCAS FREITAS：不， 檢查順序。
按順序，是的。
還有一個問題，那我們得 繼續前進，所以我們可以面面俱到。
是嗎？
>> 觀眾：所以對於的情況下，可以有 做了一些事情，除了只是一個？
你可以給它一個範圍？
>> LUCAS FREITAS：號
>> LAUREN卡瓦略：我不認為 你可以給它一個範圍。
>> LUCAS FREITAS：你不能你 不能給它一個範圍。
>> 觀眾：此案是具體的 [聽不清]。
>> LUCAS FREITAS：開關 是有點價值的。
你在做不同的事情 上的值，為特定值。
你不能做的範圍，你不能 做任何事情。
它只是一個工具來查看。
>> LAUREN卡瓦略：大多數人不使用 十分CS50 switch語句，
但它的存在。
>> 好的。
因此，我們要談接下來的事情 大約是三元運算符。
這只是另一種類型 有條件的。
基本上，這是怎麼回事是我 尋求的整數，如果n為
大於100，我要打印出來 “高”。如果不是的話，我要去
打印出“低”。
>> 所以它在做什麼是條件 在這裡，在括號和你
一種能想到的問題 因為我問是否
這是真的還是假的。
如果這是真的，我要做到這一點首先 的事情，如果這不是真的，我
要做到這第二件事。
>> 有關的任何問題 三元運算符？
>> LUCAS FREITAS：只是想注意，從 大衛是，只要你有一個
條件 -
>> LAUREN卡瓦略：我想大衛 通過實時流觀看。
>> LUCAS FREITAS：他在幹什麼 生活流現在。
所以，只要你有一個條件，你 應該把花括號，
就像我們在一個開關 這裡聲明。
我們在這裡有大括號。
不管是什麼條件，你 應該也放了。
>> LAUREN卡瓦略：你會看到 這在風格指南。
我們實際上並不具備 風格指南現在。
我覺得大衛還在工作。
>> LUCAS FREITAS：他說， 它只是現在的工作。
>> LAUREN卡瓦略：哦，原來是現在的工作？
確定。
因此很明顯，今年的風格 引導，即使你只是有一條線，
你必須把那些 大括號英寸
你不一定需要為 該程序的功能。
也許我們應該休息一下 之後的條件和直行
在風格指南來清除 一些這些東西？
>> LUCAS FREITAS：是啊。
你有問題嗎？
>> 觀眾：不，我只是等待 直到風格指南。
>> 觀眾：你能回去 以三元運算符？
>> LAUREN卡瓦略：三元，是的。
>> LUCAS FREITAS：三元運算符是 基本上是一個的if else語句，但
而不必有兩條線 檢查了，如果再的
否則，你只是有一條線。
所以基本上，如果我想給一個字符串 高或低的，並且我的一個值
想要做一個高，如果n大於 100還是低，如果是少，我能做些什麼
這是[聽不清]
該字符串將是，然後我 問該程序是n大於100？
>> 所以這就是為什麼我有這樣的表達 在括號中，然後
問號。
我問的是它大於100？
如果是這樣，這將是很高的。
如果它不是，它要低。
>> 所以基本上你認為是你問 一個問題，所以你把括號
的條件。
然後你把問號 因為你問吧。
如果這是真的，這將是 在第一個值[聽不清]在這裡。
如果不是的話，我打算把 值，冒號之後。
這是否有意義？
>> 這也是東西，就像是一個 工具在C，但你不必
具體地使用它。
但是CS的人通常喜歡 因為它只是節省了線。
>> LAUREN卡瓦略：這是非常優雅。
它做了很多，在短短一個語句。
>> 觀眾：所以百分號是 只是無論對結果
前行？
>> LAUREN卡瓦略：哦，對不起。
這百分號實際上是 一個佔位符，這個S。
在printf語句，你有這個 串在這裡，這是怎麼回事，以
打印出來，但你不能隨便 把這個在裡面。
否則，將打印 出的S字面上。
所以我們把一個百分點這裡，以保持 保持這個地方什麼
談到在逗號後。
>> 因此，對於一個字符串，你有百分之秒。
對於一個整數，百分比我。
對於浮動，百分比f。
你會看到那些為我們 看到更多的例子。
但也許你應該說說 風格指南一小會兒，現在
它的了。
>> LUCAS FREITAS：如果你去 cs50.net/style，你會看到
風格指南。
對於習題集，你的分數為 習題集是由範圍，
而如果你做了所有的基本含義 問題設置的部分，或者如果您
嘗試一些東西。
第二件事是正確，這 手段是你的程序在做什麼
是應該做的，還是它 有錯誤，或者是它沒有做什麼
它應該做的。
>> 第三件事是設計，這意味著 你實現這口井，或者是
您使用不必要的報表？
因此，舉例來說，如果你想重複 一個數字的10倍，你在寫一個
for循環還是你只是在做10次 相同的語句，只是在做
複製和粘貼。
這樣的設計對於那些。
>> 最後，你有風格。
風格就像判斷 如果你的代碼看起來
可讀種漂亮，。
這只是基本含義 是你的代碼可讀性？
將別人誰一直在尋找有 你的代碼能夠了解什麼
它在做什麼？
它有意見之類的？
>> 讓我們來談談的風格， 你應該使用。
第一件事是註釋。
註釋是非常重要的，你的 代碼，因為有時候你做
你的程序，你知道到底是什麼 你想這樣做，你剛開始
編碼，只要輸入了一堆C的，但 如果有人在看著你是
代碼，他們不會要能夠 了解它，因為他們不知道
是在你的腦袋的東西，比如 該pesudocode，所以也許他們會
有一個很難理解 什麼代碼正在做什麼。
>> 因此，註釋是真正有用的解釋 以人誰是在看
你的代碼它在做什麼，和 實際上，即使對你來說，
他們是非常有用的。
當你去努力和辛勤pset時， 你會看到，代碼變得
更長的時間，然後註釋是真的 所以你記住每一個重要的東西
你的程序的一部分一樣。
>> 把一個評論，你可以做一個 斜線斜線，然後寫一個評論。
和整個行是註釋的一部分， 不管你寫下來，
它不會是 用你的代碼。
這基本上就像編譯器 將要忽略。
這是否有道理？
>> 觀眾：你又做了什麼 寫評論？
>> LUCAS FREITAS：這個？
斜線斜線？
當您鍵入斜線斜線，無論 是在該行的是不會
被認為是C。是嗎？
>> 觀眾：所以註釋之後，你 剛剛進入並開始一個新行？
>> LUCAS FREITAS：是的，沒錯。
>> LAUREN卡瓦略：斜杠斜杠 是單行註釋。
>> LUCAS FREITAS：例如， 在這裡，我們有 -
讓我放大 -
例如，我在這裡聲明一個浮點數， 但也許，如果你只是把這個
在你的代碼，就像你不知道 這是什麼在做什麼，其實像
有人誰的看著這個代碼 將是一樣，什麼樣的
到底是怎麼回事？
>> 如果你把一個評論說“轉換 華氏攝氏度，這讓很多
更有意義。
你，想，好，你是 做一個轉換。
這是否有道理？
所以它只是一些幫助人們 準備好你的代碼，也使
你能夠組織 你的代碼更好。
>> 第二件事是，你可以做 多行註釋，所以有一個
對於一幫行的意見。
相反，不必把斜線斜線 第一行註釋，斜線斜線，
在第二行，依此類推，則 可以使用斜線明星。
你做的方式是，對 註釋的第一行，你
要做一個斜線明星明星， 所以就是這樣。
就像我們這裡有初 一個程序，你通常把你們誰
是，這是什麼節目呢， 和類似的東西。
這有點像一個頭 對於該程序。
>> 再次，它不是一個 編譯器會關心，但
這是重要的，你知道這是什麼 程序執行或其他人
知道你的程序在做什麼。
這樣你就兇多吉少明星明星，然後 你要做明星最後一行
削減到能夠關閉 這一評論。
因此，基本上所有其它線路， 你可以只寫什麼，而這
一切會被忽略。
>> 而且，正如風格，你看到 每一行都有一個明星，和所有
星星是一致的。
這些都是重要的東西，所以 你的代碼看起來很漂亮。
聽起來不錯？
>> 現在，條件。
什麼大衛說，我們應該 居然把這些幻燈片，是
當你有任何形式的if語句 或任何種類的情況下，
你應該使用大括號表明， 這是發生了什麼事情要發生
當你具備的條件。
從技術上講，當你有一個條件 然後下一行僅僅是一個
行，你沒有在技術上有 把花括號。
>> 基本上，編譯器會明白 反正是隱式的。
但對於CS50，我們要求你們把 花括號只是讓你
代碼更有條理 和更具可讀性。
因為該代碼變得更長，如果你 沒有大括號和如此的。
它變得非常凌亂。
>> LAUREN卡瓦略：這正是 什麼大衛剛指出，
在我以前的幻燈片。
它絕對有效不帶花 括號，但對於文體的原因
我們要問這個 你不要把那些英寸
>> 而當你開始運行style50， 這是一種檢查50對
風格，它會提醒你做到這一點。
>> LUCAS FREITAS：還有一件事是 記得把花括號沿
在每一行。
所以你做什麼，例如，l的。
轉到下一行，開大 撐，然後你去下一行。
縮進，這是四個空格。
那麼你就寫什麼，然後又 線，並關閉大括號。
所以，要確保這兩個大 括號是在不同的線路。
>> 觀眾：所以，如果這段代碼有一個像 10其他IFS，這應該
有10套括號？
>> LUCAS FREITAS：是的，為他們每個人。
是啊。
因此，如果，否則，如果，等等。
>> 觀眾：你不能 按Tab鍵縮進？
>> LUCAS FREITAS：我們要求您 你們用四個空格。
一些文本編輯器翻譯標籤 作為四個空格自動。
gedit中沒有，所以你必須 做空格空格空格空格。
這也未嘗一些 程序員只能做標籤，有的
程序員只能做四個空格， 和其他一些人甚至做
2或3位。
這只是我們在這裡問 你們做四個空格。
>> 觀眾：有幾乎肯定 必須是一個方式的gedit來
自動[聽不清]。
像沒有[聽不清]這樣做的。
>> LUCAS FREITAS：是啊。
我覺得你可以去設置。
>> 觀眾：它已經這樣做了這一切。
>> LUCAS FREITAS：它已經這樣做？
確定。
因此，只要確保你 有4個空格。
>> 觀眾：我們有沒有把捲髮 括號中的for循環呢？
>> LUCAS FREITAS：是的。
>> LAUREN卡瓦略：每當你的 封裝的代碼塊，就
請使用大括號。
而你認為我們只是之前 是拘泥於這個沒有很好的
因此，如果你們幹什麼去了就搞定 高科技在實習的大公司，
他們會給你一個風格指南，並 他們會告訴你，這是你的
代碼需要的樣子。
而且即使你學會了這樣的代碼 這一點，也許在你的實習
你必須做一些事情 完全不同的。
他們期望你符合 他們的風格。
>> LUCAS FREITAS：還有一件事是 那你會注意我怎麼有這樣​​的x，
空間少，空間，0？
只要你有一個操作 -
它可以像加，減，時間，少， 更大，無論運營商 -
你必須把左邊的空間 和操作者的權利。
>> LAUREN卡瓦略：這些都是 稱為二進制操作數。
只要確保你總是空間 你的二進制操作數。
>> LUCAS FREITAS：這是 不是二元運算。
>> LAUREN卡瓦略：這是 因為它需要兩個。
>> LUCAS FREITAS：哦，是的。
>> OK，開關。
首先，你必須要看到，就像 在if或else語句，你有
把花括號在它自己的行 並根據這裡的大括號。
請注意，有一個空格 切換後，如果只是和其他人喜歡
我們之間有一個空格 這和括號。
所以，你必須把那個。
>> 而且也沒有空間，之後每 括號中或年底前
括號中。
所以你看，這一切都在一起， 也喜歡這裡了。
>> 是嗎？
>> LAUREN卡瓦略：我覺得 我們需要繼續前進。
>> LUCAS FREITAS：所以這是其中的一部分， 風格指南，你必須為CS50。
一定要到cs50.net/style 並看看這個。
這些都是非常重要的 為你的風格得分。
>> 讓我回去的語句。
>> LAUREN卡瓦略：我寧願 只需使用style50。
我們只是要去 直循環。
好的。
>> 因此，讓我們回到內容，現在 我們已經討論了在風格指南。
循環，你見過他們的划痕，並 我們要談論他們在
C.
>> 在fo​​r循環中，有 三個部分的
聲明這個for循環。
你有你的初始化中 您設置的變量。
你有你的條件，這是 檢查，看東西是否是
真或假，以及是否 循環應該繼續。
和你有你的更新，這 正在更新您的變數。
>> 就讓我們來簡單看看一些 這個C代碼的for循環在行動。
這是怎麼回事是在這裡的 初始化時，我們設置時i為0。
在此條件下，我們正在檢查 i是否小於10。
並在更新我們 i增加。
這樣會導致什麼 這個循環？
>> LUCAS FREITAS：其實，首先， 做你們知道我+ +是？
>> 觀眾：由1提高。
>> LUCAS FREITAS：增加1，是的。
因此，這是同樣的事情， 做我等於我加1。
並請注意，我們沒有一個空間 在i和+之間。
>> 所以，不要你們知道這是什麼會做什麼？
有人能告訴我嗎？
也許得到一些糖果 正因為如此？
>> 觀眾：[聽不清]
>> LUCAS FREITAS：確定。
[聽不清]
顯示大家以後[聽不清]。
是啊，它會顯示“此 是CS50“的10倍。
>> LAUREN卡瓦略：我想這是 在幻燈片的標題。
>> LUCAS FREITAS：哦，是的。
>> [笑]
>> LUCAS FREITAS：沒有什麼幫助。
>> LAUREN卡瓦略：那麼那些 對於循環。
我們將看到一些更多的例子 以後的循環。
但是，讓我們實際來看看的 第二種類型的循環，你會遇到
在C中，它就是所謂的while循環。
>> 在while循環中，你已經 剛剛得到一個條件。
條件是在檢查 開始，如果該條件
計算結果為true，那麼代碼中 而該塊體
將執行。
並且代碼將繼續 執行，只要該
條件保持為真。
>> 下面是C中的while循環的一個例子 我們將設置數為10〜
開始的時候。
只要計數值大於0時， 我們要保持打印出此
變量在這裡。
我們將遞減計數和 然後再檢查的條件。
打印，減量，檢查 的條件了。
>> 在這裡，我們有一個涉及一個例子 早期你的問題。
我們有百分之S當我們 打印出一個字符串，而現在
我們要打印出一個int，我們有一個 ％的我作為我們的佔位符代替。
這些信件都應該是相當 直觀，s為字符串，i為整數。
>> 所以，如果這段代碼執行時，你應該 從10倒數到0時，打印出
每個整數。
>> LUCAS FREITAS：你能想到的 ％，因為它感覺就像一個空白
空間，然後你把這個 這裡的變量在該空白。
因此，舉例來說，在這裡我將剛 一片空白，然後我把
算右那裡， 計數的值。
這是否有道理？
>> 難道我只是做如printf 然後報價，算什麼？
將這項工作？
>> 觀眾：號
>> LUCAS FREITAS：沒有，因為它會 實際打印的字“數”
而不是打印的值。
這是你如何讓它打印出值 朝向變量，而不是
可變的只是名稱。
有問題嗎？
>> 觀眾：你為什麼使用 作為反對一會兒？
>> LAUREN卡瓦略：我會用的 循環，如果我知道到底有多少
迭代我想我的循環運行。
在這種情況下，也沒有關係，因為 我的意思是，我只是想
想到一個非常簡單的 例如這個幻燈片。
但讓​​我們說，你想要的東西 堅持下去，而 -
>> LUCAS FREITAS：例如，你 要求輸入，直到人
為您提供了正確的輸入。
所以像而輸入不 好了，一個勁兒地問它。
還是喜歡，而你父母不給 你的錢，不斷地問它。
>> [笑]
>> LAUREN卡瓦略：你不知道如何 很多時候，你就必須做到這一點。
>> LUCAS FREITAS：因為你不 知道多少倍的
要繼續下去。
>> LAUREN卡瓦略：但是，在一個for循環， 你需要知道多少倍。
是嗎？
>> 觀眾：我想弄清楚，百分比 說這是一些關於到
發生時，我的為整數， 和反斜線北 -
>> LAUREN卡瓦略：什麼意思？
誰知道反斜杠n意思？
新的生產線，是的。
沒錯。
>> LUCAS FREITAS：你能想到的 n作為新行。
>> LAUREN卡瓦略：尼斯。
>> 觀眾：那是什麼數 短跑衝刺[聽不清]？
>> LUCAS FREITAS：減計數減為 同樣的事情，再加上加分，但
而不是增加， 它減少了1。
>> LAUREN卡瓦略：任何更多 while循環的問題？
沒有？
哦，我們應該 跳過了這一點。
>> 這是一個do while循環。
非常相似，除了在一個while循環 這種情況下，我們檢查的條件後，
中的主體的代碼 循環執行一次。
因此，我們執行的代碼 先不管。
然後我們檢查的情況下，執行 再次，如果條件為真。
>> 你會發現自己使用這個時 你要求用戶輸入。
因為你總是不得不 再問一次，然後根據什麼
用戶輸入的是，您可能需要 重新提示，如果再次問
輸入是不是你 希望它是。
>> 觀眾：所以它就像一個形式 供人填寫。
>> LAUREN卡瓦略：是的，沒錯。
你會發現，我想，在你的第一個 PSET，你將不得不
使用做好循環收集 來自用戶的輸入。
>> 觀眾：視情況而定， 您的while循環將傾向於運行更
往往比while循環，像 由一個或某事？
>> LAUREN卡瓦略：如果是準確的 -
>> LUCAS FREITAS：他們應該始終運行 時代的確切數額，你
希望它運行。
就像我們用做的，而因為我們真的 想要得到的輸入至少一次。
在while循環，有時候你不想 執行它在所有，如果它不是
執行的情況。
因此它取決於設計。
我的意思是，你可以使用做，而或 而只要你的代碼做了
它應該做的。
>> LAUREN卡瓦略：但我 認為答案給你
問題很可能是肯定的。
假設條件是假的。
在一種情況下，它會運行一次，並 另一種情況下，它會運行零次。
所以，是的。
>> 還有什麼問題嗎？
是嗎？
>> 觀眾：可循環條件是 for循環中的變量其他條款
比[聽不清]。
>> LAUREN卡瓦略：是啊， 它可以是任何東西。
可能是開始pset時，你 不會遇到這種情況，但
肯定它可以是任何東西。
>> LUCAS FREITAS：我覺得 我們在這裡完成。
>> LAUREN卡瓦略：我們？
沒有？
>> LUCAS FREITAS：循環？
是啊。
>> LAUREN卡瓦略：我們不應該。
哦，我們已經完成了循環。
確定。
>> 事實上，因為我們一直在談論這樣 多，讓我們居然全部瀏覽
交給study.cs50.net/conditions。
而你要向下導航 對問題部件。
嗯，事實上，當人們越來越 這種設置中，CS50是研究
將是一個工具，你將轉錄因子 使用的部分，並且準備
你們可以使用，如果您錯過的部分。
這將包含一堆幻燈片， 一些提示和技巧對每個
的話題，和一些實際問題 的解決方案。
>> 為什麼不是每個人都只是來看看 這個問題就在這裡。
>> 對不起，我應該提醒 今天的人們帶來的筆記本電腦。
但是，如果你沒有 一台筆記本電腦，那也無妨。
你可以只記下來的 一張紙或查看
你的鄰居的肩膀。
>> 讓我們試著寫一個程序， 提示用戶採取了猜測，
每個家庭子女平均數 單元在美國。
這個數字是2，順便說一下，當你 從這些例子看。
>> 我們想打印出的平均數 在美國每個家庭的孩子，那麼我們
想什麼？
我們要收集的輸入 從用戶。
然後這取決於用戶的 輸入是，你要打印出
無論這是正確的 或者這是不正確的。
>> 而第一件事，你會 看，如果你點擊那個小箭頭
問題插件的底部是一個 當場記下一些偽代碼。
這樣你就不會編程呢。
你只是讓你的 思想秩序。
>> 有誰想幫助盧卡斯 想出正確的
偽代碼這個問題？
>> LUCAS FREITAS：什麼是第一件事情 我們也許應該在這裡做？
你們有什麼想法？
>> 觀眾：[聽不清]
>> LUCAS FREITAS：是的，確定。
因此，打印。
只是說在打印這個平均值 人數？
確定。
打印的問題，讓我們說。
之後我打印這個問題， 我該怎麼辦？
>> 觀眾：獲取輸入。
>> LUCAS FREITAS：獲取輸入。
還有別的嗎？
>> 觀眾：條件。
>> LUCAS FREITAS：條件。
>> LAUREN卡瓦略：那是什麼 情況會是什麼？
>> 觀眾：中[聽不清]的數量。
>> LAUREN卡瓦略：對。
>> LUCAS FREITAS：那麼我該怎麼 檢查的條件？
>> 觀眾：如果它等於2。
>> Lauren的CARVALHO：如果它等於2。
沒錯。
>> LUCAS FREITAS：這有什麼 否則，我應該怎麼辦？
>> 觀眾：計數。
>> LUCAS FREITAS：所以，如果它是 等於2，讓我們說 -
讓我寫，如果輸入等於 2，然後我什麼都
需要做的就是正確的。
然後別人，我要去 打印不正確。
還有別的嗎？
沒有？
>> LAUREN卡瓦略：所以你 可以點擊 -
每個人都擁有這樣下來？
>> LUCAS FREITAS：這是否有意義？
所以，現在讓我們嘗試編寫這一點。
>> LAUREN卡瓦略：如果您按一下小 箭頭，它實際上可以節省您的
偽代碼，這實在是令人振奮的。
你可以讓那些為註釋如果 你要只是為了提醒自己
該怎麼做。
>> LUCAS FREITAS：因此，例如，第一 我要打印的問題，所以
我應該如何去做到這一點，其實？
printf的。
所以printf的，問題是平均 每個兒童的數量
家人在美國。
>> 然後我會得到 來自用戶的輸入。
我那麼如何才能做到這一點？
>> 觀眾：找詮釋。
>> LAUREN卡瓦略：調用getInt。
>> LUCAS FREITAS：確定。
所以先聲明，對不對？
整型，姑且稱之為n等於調用getInt。
>> 而現在的情況。
所以，讓我說，我要去 來看看這裡的答案。
因此，首先，如果輸入，這為n，等於 到 - 我應該如何去寫呢？
>> 觀眾：平等相等。
>> LUCAS FREITAS：完美。
因此n。
並請注意，我做一個空間， 等於，等於，空間，真實的。
現在我該怎麼辦？
東西的風格很重要。
大括號。
>> 然後我去打印。
如何打印？
printf的。
>> 觀眾：難道資本化？
>> LUCAS FREITAS：號
它應該全部小寫。
所以這是正確的。
>> 請問這足以令的printf 語句，還是我缺少什麼？
>> 觀眾：新線。
>> LUCAS FREITAS：新線，是的。
現在別的。
>> 觀眾：是否有空間 中的printf後，還是沒有呢？
>> LAUREN卡瓦略：我們應該 檢查風格指南。
>> 觀眾：它不應該。
>> LUCAS FREITAS：應該不是，確定。
所以別的，printf的，“這是不正確的。”
>> LAUREN卡瓦略：哎呀，你的報價。
>> LUCAS FREITAS：確定。
還有別的嗎？
它是否好看？
>> LAUREN卡瓦略：大家試試吧？
>> LUCAS FREITAS：是啊，讓我們來運行它。
所以它的編譯，並將其 看來，它的工作原理。
讓我們嘗試兩個孩子。
這是正確的。
現在讓我們再次運行，但現在反而 把兩個孩子，讓我們的
說，我要去把像5。
這是不正確的。
如此看來，它的工作原理。
>> LAUREN卡瓦略：你為什麼不向他們展示 如果你把東西會發生什麼
奇怪，像一些字母。
>> LUCAS FREITAS：哦，是的。
讓我們也檢查。
如果什麼用戶試圖一塌糊塗 與你的程序，他們只是
寫的，我不知道兩。
它會說重試。
>> LAUREN卡瓦略：所以調用getInt 是要求他們重試。
我們沒有照顧 那我們自己。
>> LUCAS FREITAS：是啊。
所以，除非我居然把一個數字，它是 要不斷地問我重試。
>> 觀眾：你是怎麼運行呢？
>> LUCAS FREITAS：只要按一下 這個星號按鈕。
>> LAUREN卡瓦略：你應該上去。
你去那裡。
>> LUCAS FREITAS：星形 按鈕就在那裡。
是嗎？
>> 觀眾：是否提示[聽不清] 與十進制數嗎？
>> LAUREN卡瓦略：我相信會的。
>> LUCAS FREITAS：如果它做什麼？
>> LAUREN卡瓦略：如果他們輸入 在一個十進制數，我覺得
它會提示。
>> LUCAS FREITAS：讓我們來看看。
>> LAUREN卡瓦略：因為 它不是一個int。
>> LUCAS FREITAS：是啊。
>> LAUREN卡瓦略：所以它不是一個int， 得到詮釋將要求您重試。
>> 觀眾：那麼，在該代碼將 提示的小數位
用戶，他們必須輸入 一個整數，具體一點嗎？
>> LAUREN卡瓦略：調用getInt實際上是 這樣做，對我們來說。
>> 觀眾：不是，我的意思是，如果我們想 進入[聽不清]
>> LUCAS FREITAS：你可以說像平均 在美國的子女數。
我不知道。
我們可以說，例如，“請 輸入的整數。“
>> LAUREN卡瓦略：一個整數，等於 到的平均數目。
我的意思是，它只是如何 你話呢，對吧？
>> LUCAS FREITAS：是啊。
這實際上是不可能的編碼的一部分。
它是更多的像什麼 你會想
寫在你的程序。
>> 觀眾：怎麼會，我們已經運行它，如果它 實際上是在gedit中[聽不清]。
而不是壓著打？
>> LUCAS FREITAS：我們會 首先編譯它。
我們可以通過做湊合吧 和該文件的名稱。
然後運行它，我們會做點斜線 和該程序的名稱。
>> 觀眾：我想我的意思是，如果 我們希望該方案以應對
他們不正確，無效的條目， 你不應該把 -
>> LUCAS FREITAS：我們將無法 做到這一點，因為這個代碼表示
重試來自獲取詮釋其是 一個已經實現的功能
我們通過CS50庫，並且由於 它已經實現在那裡，我們
不能隨便[聽不清]。
>> LAUREN卡瓦略：如果你不使用 調用getInt，那麼你就可以做到這一點。
>> LUCAS FREITAS：是啊。
但是，如果你使用的是調用getInt，你不能。
還有沒有其他問題？
>> 觀眾：請問您去與像 GetFloat然後能夠把
它在一個小數？
>> LUCAS FREITAS：是啊。
>> 觀眾：確定。
然後你只需輸入能 飄起了一個等號 -
>> LAUREN卡瓦略：是啊。
除了一個完全相同的 浮而不是一個int。
>> LUCAS FREITAS：只要把它放在這裡 然後GetFloat那裡。
>> 觀眾：當你將 看到或已經看到 -
>> LAUREN卡瓦略：我們有 沒有得到那裡。
>> 觀眾： - 做與不平等 花車不[聽不清]
>> 觀眾：是什麼分號是什麼意思？
>> LAUREN卡瓦略：分號剛 也就是說，這種說法是完整的，
我們打算去 到下一張幻燈片。
>> 觀眾：所以這是必要的 每一次？
>> LAUREN卡瓦略：是啊。
好了，好了，沒有這些條件， 因為他們是
封裝的東西。
所以基本上，如果事情是造成 你再創建一個大括號
塊，不要把一個分號 在末端。
>> LUCAS FREITAS：但是，一切都 否則，是的。
當你完成一項聲明， 把分號。
如果你忘了分號，則 編譯器會得到你生氣，
而你將不得不 以嘗試修復它。
>> LAUREN卡瓦略：如果我把一個分號 在這裡，將停止這一點，我
永遠不會得到執行什麼 內，通過的方式。
所以它的那些常見的錯誤之一。
>> 觀眾：始終執行。
>> LAUREN卡瓦略：是啊。
在這種情況下，我們總是 執行裡面有什麼。
>> 觀眾：你的風格[聽不清] 附加的你，想過。
>> LAUREN卡瓦略：哦，這是真的。
>> 觀眾：[聽不清]單 行的事[聽不清]
>> 觀眾：是的？
>> 觀眾：你可以有多個 在一個線路輸入？
所以像你可以問用戶 打印兩件事？
>> LAUREN卡瓦略：不使用 -
>> LUCAS FREITAS：號
比方說，我也想 得到這個整數米。
我必須這樣做，在不同的線路。
>> 觀眾：如果你要運行 即，如何[聽不清]？
這將打印的提示 有[聽不清]
然後你會進入一個， -
>> LAUREN卡瓦略：嗯，運行它。
我的意思是，沒有什麼從阻止我們 只需運行它，看到什麼
會發生什麼。
>> LUCAS FREITAS：我認為這是 要在抱怨我們
因為我們沒有使用 -
>> LAUREN卡瓦略：哎呀。
>> LUCAS FREITAS：它在抱怨我們的權利 現在，因為我們沒有使用這個
可變的，但如果我這樣做，例如， n是等於等於，和m等於
等於，那麼會出現什麼 發生這種情況？
什麼這個節目嗎？
>> 觀眾：我只是想知道 它怎麼會 -
>> LAUREN卡瓦略：她只是想 要知道它的外觀
像，我想，對不對？
於是花了其中之一，然後 它採取了第二個。
>> 我認為我們應該繼續前進， 因為我們多了一個
幻燈片放映去之前 -
你要拉起來的數學？
>> LUCAS FREITAS：是啊，數學。
>> LAUREN卡瓦略：給 我只是一秒鐘。
>> 有幾個不同的數值 在C C.數值數據變量
可以分為不同的類型， 而這些是那些你會
看到最頻繁。
>> 和int是整數。
你不能有任何小數。
在電器，它需要 32位來存儲一個int。
>> 一個浮點可以有小數。
它也需要32位來存儲 一個漂浮在電器。
>> 雙是一個數字帶小數 點需要64位來存儲它，
這意味著你可以有 更高的精確度，因為
你可以有更多的 -
你怎麼稱呼它？
>> LUCAS FREITAS：是啊，這更多。
>> LAUREN卡瓦略：更多地方 小數點後。
和久長是一個整數 這需要64位
其疼痛的電器。
>> LUCAS FREITAS：所以它可以 比整數大即可。
>> LAUREN卡瓦略：關於數據的東西 C語言的類型是，他們告訴你什麼
樣的數據可以存儲 在您的變量。
他們會告訴你如何使用這個 變量在你的程序。
這是非常重要的，只是跟踪 什麼樣的數據類型，你正在使用的，如果
你需要轉換從一個數據類型 另一個，確保你知道
究竟發生了什麼時 鑄造發生。
你會看到一個例子後 在上一這些幻燈片
錯誤可能發生。
>> 讓我們來看看C語言的一些數學和 覺得真的很用心，我猜，
這是怎麼回事就當這 數學正在發生。
在第一行，有什麼 發生的事情時，我x聲明？
>> 觀眾：你讓 X要的東西？
>> LAUREN卡瓦略：是啊。
好吧，我真的問工作 系統為32位的內存，對不對？
我在其中可以存儲一個int，並 我要調用詮釋x。
>> LUCAS FREITAS：基本上會在內存中 並發現有32個地方
位和說法，哎，我想這個空間， 它的將是名為x。
所以，你只是相當多的發現 在你的記憶的盒子
存儲值對於x。
>> LAUREN卡瓦略：然後我初始化 x，它意味著，我只是存儲
2在那個地方，那個塊的價值 內存，我們問經營
制度。
而這兒正是我們正在做的是 我們實際上並聲明
在一行中初始化Ÿ代替 在兩行像我們一樣在這裡，
這也是一個完美的罰款，我們是 加1到x，和我們的存儲
在y值。
>> LUCAS FREITAS：所以基本上這是什麼 行呢，它現在發現一個盒子Y，
然後將其值，在東西 你打算把箱子裡面，是
將是x的值加1。
所以它有這個方塊年。
它得到x的值，看起來 在這裡，看看它的2。
把它放在那裡，加1，所以 它把一個3那裡。
這是否有道理？
所以y是2在這種情況下。
>> LAUREN卡瓦略：好吧，冷靜。
我們看到了一些另外，讓我們覺得現在 關於分工。這裡我
聲明和初始化一個浮點 所謂的答案，1除以10，
然後我打印出來的答案 到小數點後兩位。
並注意在這裡，在我的printf語句， 當我想打印的東西兩
小數位，％.2 f是 我想用。
因此，問題2只是說 我需要經過兩地
十進制打印出來。
>> 現在，什麼事情要發生 如果我運行這個代碼？
有沒有人有一個想法？
你會打印出來？
>> LUCAS FREITAS：什麼是 我們期望得到的。
>> LAUREN卡瓦略：做什麼 我們想，首先？
>> LUCAS FREITAS：[聽不清]
>> LAUREN卡瓦略：0.1，是的。
但是，會打印出？
>> 觀眾：[聽不清]
>> LAUREN卡瓦略：哦，不，其實。
這就是我說的是你為什麼 需要保持非常謹慎的軌道
您的數據類型。
那麼，什麼樣的數據類型是什麼？
是一個int，對不對？
有沒有小數位。
10也是一個int。
有沒有小數位。
>> 如果我把一個int一個int，我得到一個 INT這是不是0.1的，因為整型
不能有小數位，但只是0。
由於int只是截斷 關閉小數。
>> LUCAS FREITAS：所以每當你做 與整數運算，你要
得到一個int作為答案。
因此，基本上，什麼樣的電腦 是幹什麼的，它的劃分由1
10，連帶0.1。
但隨後的樣子，等待，這是 應該是一個整數，所以你只要
忽略了0.1，所以它現在只是0。
>> LAUREN卡瓦略：所以，當我打印這個 出來，我得到0.00，而不是0.10。
>> LUCAS FREITAS：這是否有道理？
>> LAUREN卡瓦略：這是一種 不幸的，對不對？
>> LUCAS FREITAS：我們那麼如何才能解決這個問題？
>> LAUREN卡瓦略：讓我們 嘗試解決這個問題。
這裡是哪裡，我的例子 實際上鑄造1
和10至浮動。
所以，現在，1已不再是一個int。
1是一個浮點數。
順便說一句，這僅僅是個語法 當你想投的一個用於
數據類型到另一個。
你可以把數據類型 括號和有剛剛之前
您正在鑄造的值。
>> 所以在這裡，我把一個浮點數由 花車得到一個浮動的答案。
是的，這將在 事實上打印0.10。
這是否有道理？
>> LUCAS FREITAS：所以類型轉換只是 從一種類型轉換到另一邊。
因此，浮動1實際上是1.000。
不完全是這樣，但是它的東西 帶小數位
這實際上是1。
這是否有道理？
是嗎？
>> 觀眾：如果你沒有浮答案 等於1.0除以10？
>> LAUREN卡瓦略：你究竟要 一看就知道下一張幻燈片。
這實際上是我們非常下一張幻燈片。
這實際上是一個更好的比 類型轉換，我想。
因此，這兩個是剛彩車通過 的事實性質，它們
有小數位。
是嗎？
>> 觀眾：如果你的所作所為[聽不清]
除以10？
>> LAUREN卡瓦略：其實一個浮動 一個int劃分實際上給你一個
浮動，這樣就會很好地工作。
>> 等待，每個人都明白這一點？
因為這將是一個非常 大不了在PS​​ET1，其實。
是嗎？
>> 觀眾：你能不能快 走在紅色的部分？
>> LAUREN卡瓦略：紅色部分，是啊。
盧卡斯，你想？
>> LUCAS FREITAS：確定。
因此請記住百分比 是一個佔位符。
這就像一個空格。
因此，讓我們試著去了解一切 這是怎麼回事。
百分比意味著它是一個佔位符。
然後，你必須在F，這意味著 這個佔位符是一個浮動。
我們在這裡的最後一件事是 2，這意味著我想有兩個
小數的浮點數。
>> 如果我剛％F，他們就會把 一堆小數。
這樣我就可以把0.2或0.1或0.5，或 什麼，以及它打算把那
小數位數。
唯一的一點是，如果你把喜歡 .100或.1,000，它實際上並不是
打算把所有這些小數 因為它不具有足夠的內存
有這種精度。
>> 還有沒有其他問題？
是嗎？
>> 觀眾：所以剛才浮動允許 你要超越的整數？
>> LUCAS FREITAS：是的。
>> LAUREN卡瓦略：好了，只是浮 可以讓你有小數位。
>> LUCAS FREITAS：它只是意味著你 現在可以有小數。
>> 觀眾：為什麼我們 用不完的整數？
>> LUCAS FREITAS：為什麼會 你使用整數？
也許，如果你是從0數到10， 你想實際使用一個整數。
你並不需要使用浮點數。
在某些情況下，你不 有實際 -
>> LAUREN卡瓦略：也許你 不想小數。
>> LUCAS FREITAS：也許你不 想用一個浮點數。
>> LAUREN卡瓦略：另一件事是， 記住，無論是把一個float和int
需要32位來存儲它們，也許 你不想浪費比特的
小數位。
>> LUCAS FREITAS：是啊。
這麼喜歡，只是覺得這個問題。
你有32位為 一個int和float類型。
對於一個int，所有這些32位 去的整數部分。
如果您使用的是浮動32位，你 有正在使用這塊內存部分
對數，為整​​數， 和正在使用的其它部分
小數位。
因此，這意味著，你不能去 非常大的數字用浮漂，因為
浮動的已經使用了很多 內存為小數位。
是嗎？
>> 觀眾：那第一個答案， 它到底是什麼做的？
它是設置浮動平等的價值 該佔位符，你可以
記得在它的下一行？
它說，浮動的答案。
>> LUCAS FREITAS：是啊。
因此，浮動的答案意味著你得到 現在有點桶的內存
持有浮動，這是怎麼回事 被稱為應答。
所以，這就是浮動的答案呢。
>> 然後你說的內 這一點，你要放
這樣做的結果。
所以你要做1.0除以 10.0，你會得到0.1，然後你把
這裡面的答案。
>> LAUREN卡瓦略：那麼在一行中，我們 聲明和初始化這個浮動
所謂的答案。
>> LUCAS FREITAS：有趣的是，雖然 這只是一條線，它在做
多個操作。
這是Ç出租的只是一種方式 你用更少的代碼。
這是同樣的事情三元 運營商，你怎麼可以這樣做的
在一行[聽不清]。
它實際上在做同樣的事情， 做浮動答案，分號和
那麼答案等於代替這一點，但 讓你做兩線的，
它就像一個快捷方式。
是嗎？
>> 觀眾：所以，如果你跑了這一點， 這將是0.10？
>> LUCAS FREITAS：是的。
是嗎？
>> 觀眾：是回答居然代碼， 或者是它只是叫什麼名字？
>> LAUREN卡瓦略：這 實際上是代碼。
這就是我們要去 來命名我們的變量。
>> 觀眾：所以這只是 名稱[聽不清]。
>> LAUREN卡瓦略：是啊。
我可以說浮x等於1.0。
>> LUCAS FREITAS：問題是， 變量的名稱是
您使用的東西。
這是對你很重要。
對於實際的程序，唯一 該事項是價值，你
有桶的內部。
為什麼你有變量和的原因 變量名是這樣你就會知道
你處理的，像什麼 你是什​​麼樣的數據
訪問的時間。
但代碼本身，如果你調用 它回答或提問或任何東西，
漂亮多了，也沒關係。
不要緊
只要你在每一個一致 它的發生，所以你叫它
別的東西。
是嗎？
>> 觀眾：執行變量 超越函數？
就像如果你要創建一個支架 [聽不清]，可能你只是
[聽不清]再回答？
>> LAUREN卡瓦略：號
>> 觀眾：[聽不清]
>> LAUREN卡瓦略：號
這將是在範圍之外 這個特殊的變量。
而實際上，這是一種 有趣，因為當我們有
之類的東西循環或如果這些 條件下，如果你聲明一個變量
在另一組大括號， 它真的只存在
在這些大括號。
>> 觀眾：最後一個音符左右 在[聽不清]花車。
為什麼你想使用整數？
這更是一個側面說明比 任何事情，但你的電腦
顯著更好地處理整數 比它在處理浮點數。
這就像一個數量級 幅度更快。
因此，如果我們僅僅只處理了花車， 事情會是慢了很多。
>> LAUREN卡瓦略：其實，似乎有 要與花車的一個問題。
>> LUCAS FREITAS：類的原因 這一點，你能想到，就是如何以二進制
你可以表示整數 通過將0和1的。
>> LAUREN卡瓦略：這是 接下來的事情。
>> LUCAS FREITAS：確定。
真棒。
>> LAUREN卡瓦略：只是 持有這種想法。
>> LUCAS FREITAS：好的，我會 以後告訴你。
>> LAUREN卡瓦略：在我們到達什麼 盧卡斯只是說，運營商
優先。
這是常識。
你們這樣做就夠了。
所以，只要有什麼東西是在括號中， 它會先發生。
這是乘法的優先級 在此外，
減法，這樣的事情。
因此，實際上，只是沒有人要 告訴我什麼頭號實際
計算結果為？
>> 對象：27。
>> LAUREN卡瓦略：27？
是啊。
>> LUCAS FREITAS：我舉 糖果的人。
>> LAUREN卡瓦略：好吧。
怎麼樣二號嗎？
>> 對象：22。
>> LAUREN卡瓦略：22，是的。
我不知道誰得到了這一點。
之三？
>> 對象：10。
>> LAUREN卡瓦略：10，是的。
涼爽。
所以模。
盧卡斯，你想解釋模？
>> LUCAS FREITAS：模數是這樣的運營商 這實際上是一個非常有用的
一堆問題。
如果我做55模數10，它做什麼 這讓我們說，我想
除以10 55。
我能得到什麼？
這感覺就像如果我實際上只是 這樣的劃分，什麼是
第一次，我得到了整數？
>> 對象：5。
>> LUCAS FREITAS：5。
然後餘數為5，對不對？
所以它就像5次10加5。
基本上，它，它會嘗試什麼模 這個數除以這一個，
它看到什麼是餘數 分工。
>> LAUREN卡瓦略：因此，它只是 返回餘數。
所以，排名第一的是什麼？
5。
第二？
>> 對象：3。
>> Lauren的CARVALHO：3。
之三？
0。
和4是1。
沒錯。
>> LUCAS FREITAS：簡單，對不對？
>> LAUREN卡瓦略：我們為什麼不跳過這 只是因為我們真的沒有
一次，人們似乎明白了。
因此，這裡就是盧卡斯 剛才講的。
>> LUCAS FREITAS：另一個原因，我 將使用整數而不是浮點數是
該花車非常不精確。
他們為什麼不精確？
大衛說，代表一個整數， 例如，我們使用0和
1的，對不對？
然後你基本上做 乘法，做所有這些
操作要知道什麼十進制數 你有代替二進制。
>> 現在會發生什麼，如果我嘗試 把小數點？
事實上，舉例來說，如果我有 像3.33333多少？
這感覺就像10超過3。
我怎麼來存儲所有的 3就是我以後有哪些？
這真的很難，對吧？
你不能只是告訴電腦， 哎，我有一個3，和
那麼你這樣做，直到永遠。
其實，電腦是不 足夠聰明這一點。
>> 所以基本上所有的計算機所做的就是 它試圖把盡可能多的數字作為
它可以達到，你有記憶。
因此，讓我們說，它要 說3.3333，就是這樣。
所以它不是能夠真正表達 正是浮動是什麼。
>> LAUREN卡瓦略：我們有一個有限的數量 比特，表示不
每一個十進制數將是 能夠被精確地表示。
所以在這個例子中，如果我們 打印出0.1，我們現在是印刷
出20個名額。
>> LUCAS FREITAS：就像我告訴 你們這些傢伙，你可以​​把任何數字。
但如果你只是做了兩個地方， 你會得到0.10，但如果你把20
的地方，它會告訴你一堆 的的，因為這是你可以把什麼
在記憶裡，對不對？
>> 但在這裡，直到0， 然後只是把它放在一個
一串隨機數。
這是一種像一些 -
>> LAUREN卡瓦略：這是因為我們 不能夠代表這個十進制
精確地與數 位的，我們有。
>> LUCAS FREITAS：然後是 計算機基本上是
給你一個垃圾數量。
這實際上是不可能的 數的值。
>> 觀眾：這是親如 它可以得到[聽不清]
使用[聽不清]。
>> LAUREN卡瓦略：的言下之意 這是一個讓我們說，而不是
為0.100014，什麼的， 如果它是0.0999 -
好，好。
讓我們假設實際的答案 到，這是0.9999999。
這是非常接近1，但 它不完全1。
這是0.99999。
>> 這意味著，如果我採取0.999， 我投它為int，我得到0。
我不明白1。
>> LUCAS FREITAS：因為記得，鑄造 從浮到整數，你只是
忽略所有的小數位。
你不理會他們。
有沒有這樣的東西作為圍捕 或向下運行時，強制轉換。
其實，有這個功能， 做四捨五入，這是非常
重要的，但你只是認為，當 你做類型轉換，它只是
要刪除一切。
所以，即使你有0.99999，這是怎麼回事 就這樣給0，如果你的類型轉換
[聽不清]的整數。
>> LAUREN卡瓦略：所以只是真正意識到 在精確的浮點
尤其是當你開始 使用花車在PSET1。
但通過應該走 提醒你這一點。
>> LUCAS FREITAS：實際上，它真的 難，例如，如果我這樣做
浮動答案1等於超過1.0 10，然後浮答案2
等於10.0比100.0。
它們是相同的號碼，對不對？
0.1，對不對？
1比10或10比100。
但現在，如果我嘗試看看的平等， 就像如果答案1等於回答2，
也許它不會實際去 是相同的東西。
所以彩車是有點像那個。
他們喜歡做的平等。