[音樂播放] 揚聲器1:這是CS50和 這是二週的開始。 所以,讓我們深入到一些東西 這是越野車,可以這麼說。 所以,在這裡是CS50的IDE,我已經 停在推動這一screen--該死 它。 劇透。 好的。 我拉起這個屏幕在這裡, 其中有一個非常簡單的程序。 如果我們向下滾動,最 這只是評論, 但在這裡,在第13行至 17我們有一個計劃。 這是語法上有效的,這意味著如果 我編譯它,它會編譯並運行, 但它的越野車。 在評論該方案要求 往上頂,它應該打印10星, 但事實並非如此。 並可以根據你的經驗, 或即將用C的經驗, 你能在邏輯上辨別 這是為什麼,其實,馬車? 是嗎? 聽眾:它從零至10。 這是11次迭代。 揚聲器1:是啊。 因此,它是從零持續 通過向上和等於10, 這當然是11迭代。 因此,這將 打印,的確,11星。 因此,計算機科學大會 在大多數編程語言 確實是,只是 從零開始計數, 但算上,但不通過 值,你真正關心的。 現在,這是一件事, 需要一點時間來適應 甚至划痕,設計,因為它是 對於非程序員或非計算機 科學家和兒童 基本上,被設計成具有 你開始在一個普遍計數。 這很好。 您完全可以開始計數 在一個,如果這是更舒適。 而數到,並通過10位,但 你就會明白尤其是本週 超越,僅僅如此 在規劃很多東西 假設0是第一個 數字與你算, 那你會覺得它更容易 剛進入這個習慣出發 從零計數達到值 你的關心,現在 得到去。 因此,已固定的。 我們改變了小於或 等於只以內。 讓我們來看看 這裡的第二示例。 因此,這個程序也要求其 評論往上頂,它應該打印 十星,但事實並非如此。 這裡有什麼錯誤? 因此,what--對不起,我們要清楚。 10星。 每行一個,但事實並非如此。 所以,實際上,讓我繼續前進,編譯 這一個,因為它是一個少 基於這樣的描述清楚。 讓我進入我們的源代碼目錄。 讓車一個點斜線,越野車之一。 好了,我看11星,這 還是有問題, 但他們也都在同一行。 什麼是這裡的問題? 是啊。 聽眾:[聽不清]。 揚聲器1:是啊。 所以這是一個微妙的,你可以 記得我作簡要的提到。 儘管一切看起來 漂亮,而且它很好地縮進, 一種,它看起來刮樣 在該行的16和17是, 事實上,縮進下,對於循環。 這是無關緊要的。 電腦不 知道或看到空白。 白色的空間只為 我們人類,曲風。 電腦不知道,當你有 大括號,這,的確, 解決這個問題。 所以,如果我們真正走進去, 明確提出在這些大括號 這將通過解決這個問題 昭示編譯器 我居然要執行 兩行代碼再次, 又一次,又一次。 但是,什麼是根本的解釋? 對嗎? 我們不嚴格需要 大括號的時候, 即使它可能是最好的 實踐進入這個習慣呢 即使它增加了兩個 字符代碼。為什麼呢? 聽眾:[聽不清]? 揚聲器1:是啊,這樣的 另一種解決方案完全。 對嗎? 特別是如果乍一看你不 真正體會到這是怎麼回事。 好了,我們肯定能 只是做兩件事 和剛剛完全避免這個問題。 這很好,但現在, 對於今天的目的是什麼 對於錯誤的解釋? 為什麼在同一行所有的星星? 是嗎? 聽眾:看來,如果 你有一行代碼, 你可以不用那些。 揚聲器1:沒錯。 這僅僅是一個人的約定。 人們認識到,這是一個 有點惱人或繁瑣 有把花括號所有 如果你想要做的時候 是執行的一行代碼。 所以,人類決定一些 時間以前,這很好。 如果你想要把所有的循環 上只是這樣一行, 這很好跟單 分號結尾。 但是,你只能做一個這樣的 行沒有花括號。 所以,當CS50風格指南 如將指向你, 你會看到,一般 這是好習慣 進入這個直到你 相當舒適的飄遊 從這類公約 ,做自己的事。 只要你是自洽。 我們將詳細討論 風格有點今天晚些時候。 所以,讓我打開另一個程序。 當然,我們應該 修復10為好。 讓我繼續前進,寫一個真正的 快速程序,我會打電話, 比方說,循環點C.因此,循環點C. 而在環路C點我就要有, 包括標準I / O 點^ h詮釋主要無效。 現在,就讓我們做的,的確是一個循環。 因此,4 INT我得到零。 我不到,也就是說,50。 我加分,加分。 然後在下面就讓我們來 繼續前進,不要打印F. 然後我要打印我 和一個新行,分號。 這應該打印所有 從零號至50? 幾頭點點頭。 幾號。 什麼是已經是錯誤嗎? 什麼是容易犯的錯誤我犯了? 是啊。 聽眾:[聽不清]。 揚聲器1:是啊。 因此,即使它看起來 像這就是我打算, 記得,我也是 只是一個ASCII字符。 所以,如果我說,打印“一” 它從字面上去 打印一,所以,如果我 想插件的佔位符 價值其實我需要這樣做 然後插件的 我值動態。 否則,我只是要 獲得50我的屏幕上。 所以,讓我繼續前進, 使這個循環,運行它, 而事實上,我們都 一路攀升至49。 如果我的時間向後滾動我見 數字零的開頭。 好吧,如果我有點搞砸? 如果我這樣做呢? 只是因為我沒有想到。 這是什麼程序。 一旦重新編譯和運行, 要做到邏輯? 聽眾:沒有。 揚聲器1:沒有。 這是為什麼呢? 聽眾:我是專為為零。 因此,條件為假。 揚聲器1:是的,沒錯。 所有的代碼是正確的,語法上。 這將編譯,這 代碼將運行,但它不是 打算做什麼有用的東西 因為我初始化我到零。 然後,我們檢查一下,我是大於50? 顯然,不,不是這樣的。 因此,循環永遠不會執行的。 如果我們做一些事情 多一點魯莽? 那麼,如果我們不喜歡INT我得到零。 現在讓我用,而 循環,這是另一種情況。 雖然我說,而我是大於 或等於零,然後在這裡我 繼續前進,保存文件,進行循環。 而我要運行它。 我該怎麼看到這個 時間while循環? 是啊。 聽眾:一個無限循環? 揚聲器1:一個無限循環? 是的,為什麼? 聽眾:因為它始終為零。 揚聲器1:是啊。 所以,我被初始化為零。 當然,我總是更大 大於或等於0作為一個結果。 所以,我只是要 看到這個無限。 而現在,這已經上來一次 或兩次課程的負責人。 當你發生什麼 有一個無限循環? 聽眾:控制C. 揚聲器1:是啊。 因此,對照C最終會作出反應。 不幸的是,我們已經打印出來 億萬零已經 所以計算機有 種了我前面。 因此,它會忽略 我要一點點。 但如果你只是打對照C幾 你的Mac或PC鍵盤上的時候, 最終它應該確實終止。 如果沒有的話,我們會告訴你一些 用不了多久,你的技術 其實可以強行殺程序, 就像在Windows和Mac OS, 如果需要的話。 但是,讓我們嘗試別的東西。 讓我們實際上會增加一。 這仍然將是無限的? 讓我跑這一點。 現在你可以種 看到發生了什麼。 此,也同樣是一個無限循環。 但是,這是一個有點很難回答的問題。 這是怎麼回事永遠打印的數字呢? 聽眾:第 揚聲器1:否。 為什麼呢? 我聽到一些​​號在這裡。 Someone--呀。 聽眾:您沒有足夠的 位真正堅持下去。 揚聲器1:所有權利。 所以,我沒有足夠的 位繼續下去。 那麼,有什麼事情發生? 它只是要停下來? 聽眾:在某些時候 它將關閉the-- 揚聲器1:將關閉 循環下來,但是為什麼呢? 這是怎麼回事發生在 其邊界的盡頭? 是嗎? 聽眾:它會循環 回到負數。 揚聲器1:負數,或 如果我們只是積極的治療, 零最少。 所以,是的,絕對的。 回想一下,我們看到的最後一次,如果你 增加你的點點太多次, 你有FORE溢出 你INT的能力 或任何數據類型,你 要環繞,很可能, 兩個負號。 或者,如果你指定你 範圍應僅是正的, 你可以這樣做,但 我們還沒有看到的是, 你可能最終至少回到零。 雖然,實際上是。 在這種情況下,負 號,在這種情況 環路將要終止 因為我是不是,事實上, 大於或等於 零,如果是負面的。 所以,不幸的是,如何 長會,我們不得不等待? 現在,我們正達 什麼,200萬上下的? 我們是如2十億, 我們將不得不等待 直到我們可以清楚地看到這種現象。 但是,我們可以看到它快一點, maybe--讓我們看看我們是否可以中斷。 來吧。 就連菜單出現緩慢。 好的。 所以,我們會回來的,不久。 這是一個很好的時間 - 該死的,小狗。 這是一個好時機一些短片。 所以,如果你可能會喜歡 從事YHack, 該事件是 我們的朋友在耶魯大學主辦。 而且,事實上,一些過程的 課題組在耶魯涉及與此有關。 YHack是國際 黑客馬拉松主辦和舉行 在耶魯大學,匯集1500 志同道合的黑客和廣告的所有 遍布世界各地。 如果這是感興趣的, 看看這裡。 如果這是過於短暫的 屏幕,看看今天的幻燈片 對於網址yhack.org。 因此,也有一些快速的公告。 因此,正式部分將啟動 下週在這裡和紐黑文。 請記住,你會得到一個 電子郵件後來這個週末最有可能的。 這需要很長的時間 為CS50節, 給所有的人在 一流的,每個人走動。 而所有的教學研究員“ 時間表也仍在鞏固, 但敬請關注電子郵件,如果需要的話 可以,你可以有後再次部分。 Study.cs50.net。 所以,即使你是一個恆定的與會者 在段,實現幾乎所有 資源,我們在部分使用 公佈於CS50 在研究這個網址在這裡。 所以,如果你曾經想重新審查 材料部分,或讀取提前, 或者你不能讓一些週, 認識到樣品的幻燈片, 和問題,和定義, 而更多的是所有有作為。 今天辦公時間恢復, 明天,週三, 週四檢查過程中的 網站的日程安排。 而且,現在推出 今天是CS50討論。 因此,如果當你有問題 對方或過程的工作人員, 且通常工作 一些習題集, 認識到你不一定 不得不轉向你旁邊的人。 如果有一個人也沒有,你可以 伸手給我們和同學 網上通過CS50討論。 所以,這是一個討論 板的過程中, 並認識到這 也許是最好的 開始的地方,當你有 辦公時間問題時,外 特別。 午餐將在本週啟動了。 在火與​​冰 [聽不清]在紐黑文。 看一看在課程的 網站以RSVP。 先來先服務於這一點。 如果你沒有得到在這一周 我們將這些最每週五做 在此期限內。 OK,現在大約分級字。 特別是當我們進入的問題 設置一個,這是這個星期, 與問題設置兩個,其後。 如何做才好在計算P套 和評價其質量? 所以,這是我們在使用四軸 CS50,他們是這四個位置。 適用範圍,它可以捕獲一個數字 依據到底有多少在P組 你解決。 它大致與對應 努力,這是我們的拍攝方式 你嘗試一半在P 設置,所有P組。 這是一個容易得到完美 分數,如果你做,事實上, 嘗試在P組的每一個方面。 所以,記住這一點。 正確性正是如此。 請問你的代碼工作規範 而作為員工的樣品溶液 建議你的代碼 應,實際上,正常工作。 檢查50,如果你還沒有遇見它 然而,是P中設置一種規格 並且一般 給你是/否的答案 是否你的代碼是正確的。 至少到目前為止,我們要去 對其進行評估的基礎上測試 我們的程序中運行。 設計更加主觀的。 這是怎麼寫得很好,是你的代碼。 這是東西 你會得到在一段時間內比較好, 和它的東西,我們會 提供更多的定性反饋。 並通過設計,我可能 過不了多久意味著你 中了一些p-可能會受到誘惑 設置做一些loopingly, 但有可能三個或四個,或 5嵌套循環前或嵌套而 循環。 這一般應 開始做你畏縮 一般會 認為是不好的設計。 你會開始看到在課堂上 出來做事的類好方法, 做事不好的方式, 可能全部是正確的,但不能 一定精心設計的。 就像寫論文。 你也許能夠把字上 網頁是語法正確, 但作文或 論文他們在僅僅是 完全語無倫次或缺乏說服力。 因此,可能是在該模擬 不良或良好的設計編寫的世界。 和風格,也同樣是相當主觀的。 但至少我們期望的一致性。 這是多麼漂亮是你的代碼。 事情很好地縮進? 是你的變量以及名為/是否所有 你的括號和大括號 對準他們應該是什麼? 我們確實有一個CS50風格指南作為 問題集將指向你的。 那些更舒適的 歡迎來自流浪 只要你是自洽。 而這,也同樣是一個教訓 我們將加強在部分。 因此,如果這一切是一個小 速度快,實現了在P組和部分 將進入更深入沒多久。 但一般我們有 很少有水桶為CS50。 分數一般的規模 的一至三個,或者一至五個。 我們literally--,我不能說 這足以在第一週。 三是良好的。 所以,儘管,是的,四分之三 五通常,數學, 可能是一個60%或像A D減去。 三是,其實不錯的。 而且,事實上,我們預期 大多數學生在課堂上 各地開始術語 三三兩兩,和三分球,和四肢。 也許沒有那麼多五歲以下兒童。 沒有太多的人。 但一般開始於 甜蜜點的曲線 使得隨著時間的推進, 實際上有空間, 和機會上的進展。 所以,請不要等同於三連60%。 這是比這更抽象。 與我們計算公式 成績加權如下。 正確性值得最。 設計是值得少一點。 風格是值得少一點。 而這一般 捕獲的時間量 即進入獲取每個 這些軸的恰到好處。 風格是超級容易, 應該是超級快, 但它是一個簡單的習慣 偷懶一下。 正確性可能需要 你的大部分時間。 追擊了一些bug威力 採取額外小時或更長時間, 因此,計分 最終捕獲。 所以,現在更嚴重的話。 由於CS50有 區分,為了更好的 或者更糟的是,被 也許是更好的認識 與學術的問題 誠信比大多數其他任何課程。 事實上,這是我的知識 我們送更多的學生,遺憾的是, 為懲戒目的 每年作為結果。因此, 在全興趣 信息披露,讓我們來簡單談談 關於什麼在CS50,和你 可以做的,你可以什麼銘記。 所以,這裡從2007年開始的時候, 我繼承的過程中, 是廣告委員會的案件數量。 AD板是哈佛大學的紀律 身體,還是現在的榮譽顧問, 到案件移交時, 學生做一些課程的 教學大綱認為是不合理的。 有沒有真正的模式 在這裡,我想說的。 它的波動比 年,但一般 這是數 這被稱為箱子。 學生人數 所涉及到的? 它也各不相同。 通常情況下,去年 例如,29名學生在哈佛 是廣告登機,可以這麼說。 其中在校學生29, 他們倆之前的學生, 誰是合作 在某些不良方式。 然後在的條款 百分比,通常約為3% 之類的,很遺憾, 使這些類型的決定。 所以,去年是3.5% CS50的學生的身體 這是廣告登機,可以這麼說。 那麼,是什麼這一切意​​味著什麼呢? 什麼我們實際上做? 因此,對於充分披露,我們 絕對的,因為計算機科學家, 有軟件工具在我們的處置 它很容易讓我們,為公平起見, 其他的同學誰不 越過這些線跨越比較 今年對每家每戶提交 提交在過去的八年。 軟件做到這一點。 而最終它的 人眼的決定 是否要參照一些 此事作進一步審理, 但軟件有一定的幫助。 而這,坦白地說,這就是為什麼我認為 我們有這樣大量的CS50。 這不是因為CS50 學生或CS學生更多 一般是任何減少誠實 比任何其他的學生, 它只是我們有 工具和技術 與藉此第一遍。 但是我們繼續關注 在所有這些事情 同時,又在利益 認識到正在被投入工作 在由絕對多數之類的。 而課程的政策 學術誠信, 即使它是一堆段落 長著一堆子彈 那些希望可讀性很好,它 確實歸結為是合理的。 和拇指的最佳規則 我們提供了教學大綱中 是這樣的,本質 所有的工作,你 提交本課程必須是你自己。 事實上,幾乎所有這些 宗介紀律處分 這是因為一些學生下旬的一個 晚上一般把他或她的代碼 在直接向一個同學, 誰再通過它 其全部或 顯著物。 不過說真的,這是確定。 事實上,在辦公室 紙小時,卡瓦 你一直在流傳,如果你來過辦公室 小時上週鼓勵之多。 你絕對 歡迎和鼓勵 討論習題集與同學。 要絆倒的時候互相幫助。 但一般經驗法則應 是這樣的,“當你尋求幫助, 你可能會顯示你的代碼給其他人, 但你可能不認為他們的。“ 所以,換句話說,如果我 一些頁P掙扎 而我在坐在那裡 食堂,或在圖書館, 或在課堂上 試圖找到一些故障, 我可以肯定的顯示 我的我的屏幕上的代碼 的人坐在旁邊 對我來說,肯定是工作人員, 又是同班同學。 但是,如果解決方案,它 我的同學提供的是,哦, 這裡只是來看看什麼 我這樣做,是穿過線。 而且我敢說這是一般 一個合理的事情對大多數人 很容易發現的行。 所以,看大綱 對於更多的細節。 而現在比較1 有爭議的方面 CS50大綱,我認為我 會說話的結論,在這裡 是所謂的遺憾子句。 所以,這裡的所有的小字。 但總的來說,我們已經看到 在過去的8年以上 如此,事實上,幾乎所有的CS50的 學術造假案 一直只是窮人的結果 決策深夜。 應力,其結果的結果 缺乏飲食,睡眠不足, 過多的P組,太多 最後期限,太多的承諾。 應力在2:00 AM建立,3:00 :00,4:00,有一個最後期限迫在眉睫。 大多數學生在這些情況下, 剛剛做出了錯誤的決定 他們很可能會後悔的 第二天早上如果不分鐘後, 但直到去年,沒有 放氣閥,這些學生可以 實際上開闢實際解決 問題的頭不用擔心被 從大學完全啟動。 而且,事實上,我們推出 這個遺憾節最後一年, 它說,如果在 72小時後,三天, 穿越一些線 在規定的教學大綱 你出面了課程之一 頭,我們將有一個關於它的聊天。 目前還有一些 結果,違背了什麼 據報導,與此相反。 還有一些結果是 是可操作的由課程, 一般歸零在P組 或者採取一些其他的措施, 但我們會,事實上, 處理它自己,而不是 指其較高的是結果 可能是更嚴重的。 而且,事實上,分享發生了什麼 去年,在八年,現在 九年,本課程教學 並與各旋鈕擺弄後, 過去轉彎各種刻度盤 幾年來學術誠信, 和每數據沒有明顯看到 影響甚至這樣的演講, 這是手了最好的東西 我們教學上推出 八年來順 這些線路在CS50。 19名學生上前 根據本條款的最後一年。 我們沒有採取行動 7這些學生, 確定它們是 不必要的擔心。 他們沒有,事實上, 越過一條線,但它 是一個很好的聊天都不過。 我們歸零的分數11 該提交。 而在一種情況下,我們問了 學生做習題集。 但更引人注目的, 說實話,這些19的聊天記錄, 這是方式比我 預計將有,他們每個人 10分鐘或許一個 小時多頭,也帶來了 點燃有關的一些問題 家庭問題,朋友的問題, 心理健康問題 我們再搞, 與學生的祝福,居民 院長,或朋友,或任何其它號碼 支持資源。 所以,這是迄今為止1 我們這個時代的最佳用途 和最佳干預措施之一。 隨著中說,它沒有 輸入上檢測的速率 學術造假的更普遍。 我敢說,這個子集 學生去年 是一個人口我們 以前以前從未確定 和從未與之前連接。 所以,這些人 精彩的成功案例 即使他們被帶到光 在低於最佳情況。 所以,記住這一點 當你做,也許, 一些貧困的決定 自己在深夜, 有追索這麼久 作為學生在這種情況 自己並出面使我們能 有那種聊天,並處理它 的方式,是教育,然後 我們可以把它在我們身後的第二天。 因此,事不宜遲,取 緣滅這次談話中, 小狗是上升的原因 只是為了打破僵局了一會兒。 不幸的是,他們都睡覺, 但什麼是應該發生在這裡 是每個人都應該 以敬畏和一種放鬆 在那之後很沉重的談話。 但顯然我把 小狗睡覺。 但是,如果你去到CS50的 網站斜線小狗, 你可以整天看著他們。 特別是,也許2:00,或 3:00,或4:00,晚上 看到一個小的壓力緩解那裡。 所以這是兇多吉少小狗。 好的。 是不是很好玩? 確定。 所以,回到一些電腦 科學,如果我可以。 所以,記得上次我們開始 看著不只是在主,這 是默認的功能,當 綠旗點擊當量, 但是,我們也開始簡要 寫我們自己的一些功能。 因此到目前為止沒有這些功能 已經特別大或肉。 你會惹上這些大 功能可能,P組2,P組3, 肯定P設定4及以後。 現在大部分的節目, 如果不是所有的人,肯定對p 集1可以在主全部完成。 如果你的程序是唯一 五類線,10號線, 甚至20日線長,完美 合理的把它寫 所有的主,不要過分複雜 你的代碼,但我們正在做什麼今天 及以後試圖也 介紹一些好的設計技巧 這樣,當你的代碼變得更 複雜和作為問題 你想解決越來越困難和 更有趣的你有幾分, 在你的工具箱中的工具,其作用 設計良好的解決這些。 所以,讓我們快速回顧一下 這個節目從我的最後一周,這 是函數零點點。和 請注意,很簡單, 它看起來像這樣有兩個 功能,主要和打印的名字。 而回想或者 今天逆向工程, 究竟是什麼動機引入 在第28行稱為函數, 打印的名字嗎? 或者是什麼這的一個例子 宗旨或外賣方面, 如果你會的。 一些雜音。 怎麼辦? 是啊等等功能分解 是怎麼樣的說法了奇特的方式, 分解你的程序 成其組成部分 然後使用這些部件 組裝一個整體。 所以,這也僅僅是一種 已經一口, 但是這也許是連 的東西更好的例子 只是所謂的抽象。 對嗎? 抽象是要為一個 反复出現的主題CS50的 而且計算機科學 更普遍的,因為它是 一種技術,使用它可以解決 問題更有效,因為你 可以編寫解決方案的更多 直觀的方式,縮放 並且是可以理解其他人。 我怎麼意思? 因此,可以說這是更具可讀性 看這樣的節目, 超短雖然它是。 當您在22行看到,有 一個調用的函數,打印的名字。 單單這名字就做什麼。 這個功能顯然需要 它的括號內輸入, 顯然做一些事情, 想必打印的名稱。 因此,儘管我們 絕對可以有 做什麼我們做了一個星期前,這是 只是把這個代碼的實際行, 擺脫了這一點,並獲得 擺脫這一切在一起, 我們之類的抽象出來 打印名的概念。 如果你使用的打印清晰度我不在乎。 我不在乎,如果你有一個 %的S和一個反斜杠N.這些 是令人難以置信的神秘細節。 我所關心的一個 程序員正在打印一個名稱。 所以,要做什麼更好的方式, 不是通過調用一個函數,打印的名字嗎? 因此,這是動機之一 做這樣的事情。 使代碼更易讀,更 可重複使用的,並具有自描述性的。 現在,讓我們一起來看看 在另一實例中, 這是一個功能, 這是我們不得不在這裡。 所以,這一次或許更 引人注目的,因為,在這種情況下, 我不希望只是得到一個int。 我希望得到一個積極的INT。 而事實證明,得到了肯定 詮釋你所要做的一幫跑腿。 對嗎? 這不是一個簡單的一行 調用諸如打印的名字, 這是無可否認的那麼迫切。 為了得到一個積極的INT,logically-- 讓我滾動回落隱藏此。 你有什麼做的? 像所有的工具,我們 目前所面對的是 像從標準打印高清 圖書館,也從CS50庫 我們有獲取int和獲取浮動, 獲得長隆,獲取字符串, 但只有一個,鍺, 現在的問題是得到詮釋。 所以,如果唯一的工具,你有 在你的工具盒是獲取智力, 我們怎麼去實現 它得到積極的詮釋? 聽眾:創建一個記錄,並檢查 是否,他們給輸入 為正。 揚聲器1:完美。 沒錯。 我們在另一個工具我們 從兩個星期前的工具箱 僅僅是循環結構。 所以,是的,如果我們使用了一段時間 循環或do while循環,或脫穎而出 循環中,我們也許可以蒙混過關 任何那些某種形式的。 我們可以實現獲取的概念 積極的INT,只需使用Get詮釋, 然後自顧自地調用它 再次,保持纏著用戶 直到他或她實際上 為我們提供了我們想要的。 所以現在,這個 該方法的抽象 中得到肯定的INT 到稱為函數 得到正int是多一點 引人注目的,因為看這個。 這就像10加 行代碼的 參與得到肯定的整型, 我真的不關心你是怎麼做的。 所有我關心的是你 能做到這一點,所以我已經 隱藏所有後面的這些細節 函數調用得到正int值, 事實上,有這個do while循環。 而看到上週的語法 在那裡,但它只是宣告N, 並打印出 指令給用戶。 它要求得到詮釋,然後檢查 再次此條件,並再次, 並再次直到用戶協作。 所以,現在,幾個完整性檢查。 對於那些也許熟悉 有一定編程, 為什麼為N聲明,為什麼我創造 在do while循環氮之外? 為什麼第29行,而不是 像33,例如。 聽眾:因為當你 一種外部聲明,它 的更多,較大scope-- 揚聲器1:好。 聽眾: - 並且如果你聲明 它的循環中,[聽不清] 因為它不知道這件事。 揚聲器1:沒錯。 如果我能simplify-- 它的範圍的問題。 和範圍是指在上下文 其中一個變量存在或可用。 和拇指這裡的好的規則是, 通常當你聲明或創建 一個變量,你只能內部使用 最親密的擁抱花括號。 那麼,是什麼意思呢? 如果我,相反,撤消此去與 東西,感覺有點簡單。 對嗎? 第32行只是看起來更清潔現在對我。 我正在做兩件事在 一次,然後分配 右手到左手。 現在的問題的基礎上 範圍的界定 是,N能在線路上使用 31和32這循環內, 但如果根據這一定義 可它不能用? 在行是什麼? 是啊。 聽眾:35。 揚聲器1:35。 絕對不是35。 而且還還有什麼地方? 聽眾:34。 揚聲器1:即使34 有問題的,因為它是 外面的大括號。 所以事實上,讓我們看看會發生什麼。 對嗎? 這似乎有點 直觀的,也可能不是, 但是讓我們看看有什麼 編譯器的時候說 我們進入今天的源目錄。 讓功能之一。 哦,我的上帝。 好吧,我終於完成 這,順便說一句。 好的。 這有什麼問題嗎? 很神秘的來看待。 但這裡是我typed-- 使功能之一。 下面是做誘導, 這實際上是 使用編譯器鐺 用那些標誌 我們將不久再次看到。 再次,總是期待 在第一個錯誤, 因為它可能只是一個級聯 其他線路毫無意義的作用。 所以,這是什麼意思的是, 問題是在功能1.C. 它是線32。 而且它在列或字符,13。 所以,當你的文本編輯器,可以 幫助您確定的問題是。 所以,如果我向上滾動,什麼是第32行? 這的確是這個 這已經凸顯 右這裡 - 未使用的變量n。 但它不是使用。 我使用它。 但是編譯器的迷惑,因為 它只存在這個範圍內。 所以我不能在這裡使用它。 我不能在這裡使用它。 和編譯器,因此, 甚至不關心我嘗試。 這似乎是不使用的 在其實際範圍。 因此,我們可以通過做擴大範圍 正是我們開始with--詮釋ñ。 即使它不 看起來優雅,也許, 我們正在做一個額外的行 在這裡,現在它的範圍無處不在。 因此,讓我們再試一次。 因此,請功能之一。 美觀大方。 而現在,如果我,如果我運行功能 之一,讓我們給它的負10, 負1,0,1,它確實工作。 所以在這裡另一種解決方案。 你知道嗎? 如果我真的摔跤呢? 我不知道在哪裡 N為應該去。 你知道嗎? 我只是把它所有的 在我的文件的頂部,在這裡的方式。 什麼該做,你覺得呢? 是嗎? 聽眾:[聽不清]。 揚聲器1:是啊。 所以,我做了它全球性的,可以這麼說。 如果你有一個變量的外 所有的功能是允許的, 和代碼應編譯,和n 現在將訪問不僅在獲取 正整型,而且在main--其中 有點令人擔憂,因為有 已經是N的主,所以更 對,在短短一個moment-- 但是這會被認為是不好的設計。 好的。 如果你不得不求助於 有點像,哦,我會 只要把它在這裡,因為 代碼看起來編譯 一般不是最好的做法。 而你要選擇 最窄的可能範圍 為你的變量,這將意味著 與我們最初的設計,將其 就在這裡。 現在,順便說一句,如果你確實有 一個同名的變量在這裡, 的C方式將處理this-- 雖然這不會發生太大often-- 是,這是仍 完全沒有在這裡。 但N的線的定義 22將跟隨全球之一。 所以這個一會工夫內 主要和全球性 當你將實際應用 得到肯定的INT但更多介紹 還有一次,只是 對於那些好奇。 因此,在短期,我們解決這個問題在這裡。 現在,讓我們梳理出另外兩件 我們來看一個代碼最後一行之前 在這個程序。 獲得積極的INT。 上的左側 它的字是字INT。 這是什麼意味著你覺得呢? 到目前為止,我們已經多見無效。 是嗎? 聽眾:這類型的 你問有關的變量。 揚聲器1:是啊這是類型,讓我 不是說變,但值的類型 那我問回來。 事實上,這是 直觀這裡,希望。 對嗎? 如果你想獲得一個 積極的INT,你有什麼事 要像function--我們 從上週的志願者 交給你回來一塊 紙,上面有一個int? 所以,我們指定的 此功能的所謂的返回類型 為得到正的int。 如果我們不希望它 返回任何東西,你說無效。 如果你希望它返回 一個字符串,你說的字符串。 如果你希望它返回 浮子,你說的浮動。 但是,這適用於這裡只有一個 從邏輯上講,因為我使用GET INT, 即使我限制它 正值,是返回一個int。 那麼反過來說,這是什麼意思 這有一個在括號中的空白? 做什麼括號 一般定義? 是嗎? 聽眾:這意味著該功能的 沒有真正得到它。 揚聲器1:表示該功能的 實際上沒有得到什麼? 聽眾:輸入。 揚聲器1:輸入任何責任。 因此,事實上,如果括號 在這裡你指定無效, 這只是意味著我不希望任何輸入。 我會解決自己的問題。 事實上,你不必 告訴得到積極的INT什麼。 你剛才說的,得到積極的INT,那 功能將熄滅,做它的事。 但有過一個小竅門,我已經 一直在這裡玩這個整個時間 以確保該代碼編譯。 請注意,int--得到正 INT void--是第27行。 但是,對於一些看似奇怪的原因 這也是在這裡第16行。 而剛剛好措施,我會重複 此所以這是完全一樣的。 我已經說過原型 有點單行註釋。 如果我刪除了,會發生什麼,以及 現在重新運行使功能1,進入。 哎呦。 等一下。 哪裡是我的卡? 咦? 待機。 讓功能1。 在那裡,我們走了。 確定。 好久沒救了它正常。 所以,我覺得有一點 這裡臭蟲,我不是 看到此刻的選項卡名稱。 那麼,什麼是怎麼回事? 函數隱式聲明 得到肯定的int是在C99無效。 如此混亂了。 所以,這是什麼指示? 嗯,事實證明, C是非常愚蠢的。 那麼,它的編程 語言,或者說編譯器。 它只知道你有什麼 教它,它只是 要知道的事 如果你以前教它。 換句話說,在 主要的那一刻,我 試圖調用一個函數 所謂得到積極int類型。 但是,編譯器是不會 注意到,獲得積極的INT 一直存在,直到第26行。 還等什麼,編譯器不只是 錯誤一旦它進入第17行, 他說隱式聲明 中得到積極int,它 是的說法只是一種奇特的方式,我不 知道什麼得到積極int是呢。 其他語言如Java和 Python和Ruby可能向前看。 C沒有。 這樣一來,我們的方法解決 這是兩種方法之一。 任一個,如果問題是,得到 積極INT一直沒有見過的, 好了,讓我將它移動到頂部。 這將解決這個問題。 但是總體來說,這是 考慮更好的技術 把你的主要功能在很 頂部,這樣一個人閱讀你的代碼 知道該程序的功能, 因為主要是不埋沒全部 的方式在底部或在中間。 這是在最高層。 這樣就不會覺得理想。 你可以真正得到 成的情況下 如果一個函數調用 另外,它調用了另一​​個, 你可以成為一個問題,即沒有 可以去上面的其它,邏輯上。 這是不可能的。 因此在上班的路上 解決辦法是只取 函數的簽名,所以要speak-- 第一行,其中它的declared-- 而只是複製,粘貼在 頂,但不與捲曲braces-- 只是一個分號。 這就像一個小提示 是什麼來。 而事實上,這一切的時候,我們 已經看到的東西像標準io.h 和cs50.h,類似地,在那些點 .h文件有沒有其他的原型。 我們會看到不久。 因此,在短期,當你有一個程序 在具有多種功能的文件 除了主要的,你幾乎 總是要聲明它們 只是他們的第一個方式 行,後跟一個分號, 在該文件的頂部。 這是一個很大的一次。 有問題嗎? 有問題嗎? 好的。 因此,讓我們繼續前進,然後 為類似咳嗽。 呵呵。 如何裝修。 好的。 咳嗽。 因此,這裡是一個C 實施方案的 我們在做了一天 從頭開始的很乾脆只 說咳,咳,咳。 好的。 有一個人說了幾句 日前,有​​是 可以說已經清理這些代碼起來。 好嗎? 當你複製和 粘貼可能糟糕的設計。 至少有一次,我們到了四,五 或20咳嗽,感覺不好的做法。 我們只是一味地複製,粘貼。 什麼是顯而易見的解決方案 要清理這個計劃嗎? 聽眾:循環。 揚聲器1:是啊。 因此,使用循環。 我們可以用一個for循環,一段時間 循環,任何數量的方法。 事實上,這就是 我們做一個版本在這裡。 我不是重寫它 在一個版本cough.c的 是一個for循環中只是咳嗽。 好了,但有一個 現在機會來樣開始 設計這個有點像 教訓我們教剛才, 這是this--假設,我想 創建一個名為止咳的功能, 讓我們考慮的只是一瞬間 它是怎麼回事的樣子。 所以,如果我想要的東西 咳,我只需要 使用打印f顯示函數內。 事實上我。 而事實上,這一切 時間,任何時候你 打印的東西 屏幕,程序員 將調用的副作用。 這不是我遞過 回別人的值。 這是我採取一些行動 這可能是視覺上明顯的。 但是,這個功能的咳嗽,它返回 任何基於它的第一線? 沒有,因為它的返回類型 是無效的,這只是意味著 它不是遞過來任何東西。 它可能會做什麼 在視覺上,但它不是遞過來 背一紙像上週。 是否需要任何投入? 第 所以它的無效這裡。 所以這也是一種 過工程這一問題。 對嗎? 我做了計劃的更多 複雜的,多行代碼, 我沒有作任何 多個功能,但是這 將是一個敲門磚, 也許,對於更廣泛的 上下文與更複雜的代碼。 可是你知道嗎? 我有什麼done--只是瞥一眼 這不看評論 在file--什麼都有的最頂端 我根本在這裡完成我的咳嗽 實現這有什麼不同? 是啊,在後面? 聽眾:讓它這樣你就可以 有一個字符關閉。 揚聲器1:是啊。 所以,這種感覺挺有意思。 對嗎? 這就像增加一個功能,您 程序或功能,在這種情況下。 它仍然沒有返回值。 它可能具有一個視覺副作用, 因為它調用打印F。 但現在我已經參數化 的功能,這 意味著我指定取 int類型的輸入,並把它稱為N, 但我可以把它叫做什麼,我想要的。 事實上,它可能只是 次,以更加明確。 然後,我可能只是在這裡改變這一點。 但問題是,這就是我 創建一個函數,該函數的輸入。 如果你還記得翻轉 通過在一個或者在線 中穿行時, 第四個也是最後咳嗽例如, 你會發現在這裡,我概括 我的代碼further--那種抽象 它進一步。 像咳嗽,噴嚏,都是 關於好像說什麼或做 某種聲音。 保存將是 相應的划痕塊。 所以我在這個版本中那樣, 而我們只要看一眼, 咳嗽就像是說,[咳嗽] 咳嗽,同時,打噴嚏是 就好比說,[ACHOO]。 所以我概括 這些實施 現在實施 這個通用功能, 說,這是有趣的 對於今天的目的 不僅是因為它仍然 不具有返回類型。 但是,有多少投入它有? 聽眾:兩個。 揚聲器1:兩個。 所以,如果你想 參加兩個參數, 只是將它們分開用逗號隔開。 如果你要那麼 調用該函數, 請注意,您剛才 來電說,報價,引文結束, 第一個參數,常見的 N,第二個參數。 所以,再一次,我們只是現在 積木,使我們實際上可以 實現我們自己的一些功能。 好的。 對這些有問題嗎? 所以,現在,讓我們剝開一層,如果左右。 和目標,最終 是下週的習題集 將是對cryptogrophy-- 藝術擾碼信息。 和具體地,信息 將你加密或解密 將是文字。 所以那種的邀請 今天的問題一樣好, 到底是怎麼回事引擎蓋下 文字超越ASCII從零一周, 以及我們如何真正能 開始操作它? 因此,這裡是Zamyla的名字。 和文本中,這可能是輸入 到像的get字符串函數。 而從現在開始,當你看到一個 串像this-- Z-A-M-Y-L-A-- 開始想到它,就好像每個 這些字符是在一個盒子的其 自己的。 事實上,在一個星期左右的 時間,每個這些框 是要代表非常明確 memory--內存咬塊。 因此,每個這些信件, 最終,將代表8位。 我們將真正看到這是怎麼回事 在我的電腦的引擎蓋下。 但不是足夠 只是為了看Zamyla 從這個角度,即每 這些信件是在自己的箱子。 並很好地足夠的C語言,我們可以 訪問每個直接這些箱子。 所以,如果你想獲得第一 信中她的名字,在C超方便 如果你想獲得最後的 信中,超級方便以及 用一塊新的語法。 所以我要繼續前進到CS50 IDE和開拓串零點C. 並且在這裡此例中,有 一些新的東西怎麼回事。 因此,先在第19行,我們已經 看到了這一點before-- GET字符串。 因此,正如一個快速的完整性檢查, 如果有人可以提供高達口頭 一個外行的解釋 這是怎麼回事在19行。 像剛才把它理解 英語在CS50一個室友不 可以理解的。 是啊。 聽眾:讓用戶輸入 字符串,並將其存儲在一個變量s。 揚聲器1:好。 有用戶輸入的字符串 並將其存儲在一個變量s。 這是偉大的。 因此,在右側 方面,我們調用get字符串。 返回一個值 未獲得分配 從右手側到左手 側入變量稱為S這 設計用來存儲串。 沒錯。 所以,現在22行,每 在第21行的註釋, 顯然打印出字符串 每行一個字符。 但如何? 所以首先,我們初始化我為0。 然後我們怎麼來 的Zamyla名結束了嗎? 那麼,在年底 Zamyla的名字,我可以 手動輸入的最後一個字符 她的名字在某種程度上,或者它的數量。 對嗎? 如果我們回到這裡 - Z-A-M-L-- Y型L-A--所以我可以輸入內容。 什麼是指數 Zamyla的最後一封信? 如果這是0--講像 programmer-- 0,1,2,3,4,5, 我heard--所以事實上,最後一個字母 在Zamyla的名字是第六, 但如果我們從0數, 這將是5號。 所以記住這一點在這裡。 原來有一個函數 C中調用strlen的,並在當天回 並以這一天還在, 很多程序員 選擇同步的名稱為自己 聽起來詞功能 他們正試圖說。 所以strlen的是字符串的長度。 所以會是什麼的字符串長度 回歸時Zamyla是輸入? 聽眾:五。 揚聲器1:Z-A-M-Y-L。六。 對嗎? 什麼是對Zamyla姓名的長度? 對嗎? 而就在現實中,六個字母。 對嗎? 所以,這是什麼意思為我們的循環? 我們打算從去 0多達六個,這 將會給我們五次迭代。 我們該怎麼辦在每次迭代? 好了,百分之C,人 日前猜到了, 是指一個佔位符是什麼? 聽眾:字符。 揚聲器1:只是一個字符。 因此,一個單一的character--不 多個字符,像一個字符串。 然後這裡的新生產線 我們已經得到了打印輸出。 然後這裡的新語法。 如果你想打印出的第i個 字符字符串s,可以這麼說, 你可以簡單地說, 帶S的命名, 然後打開括號,然後 然後關閉括號,與我 中間。 而且它是一種很好的在 那種它看起來像一個正方形 就像正方形中Zamyla的 文字上的圖片存在。 所以,如果我實際運行這個 現在,讓我們看看會發生什麼。 使串0點斜線 字符串0,然後我 要在Zamyla的名字輸入。 有沒有提示,因為我沒有 使用打印女,但是這很好。 我知道該怎麼做。 事實上,它打印出 Zamyla的名字,每行一個。 現在,讓我們有點魯莽。 假設我不知道 有關strlen的,我算了一下, 所有的權利,沒有人將有一個 名稱大於像50個字符。 讓我們繼續前進,重新編譯這 並重新運行它,然後鍵入Zamyla 再次。 從邏輯上講,什麼是 程序將嘗試打印? Z-A-M-Y-L-A然後像45 未知字節的內存。 事實上,我們會回來的 這種想法的記憶。 但是,僅僅從邏輯上講,如果 Zamyla的名字是這樣長, 按照圖片 在這裡,我們在說什麼 就是繼續打印,保留打印,保存 印刷,保持印花,保持印花, 一路第50字符, 這誰知道會發生什麼。 因此,讓我們實際來看看。 讓我們輸入Zamyla。 有趣的。 我們很幸運。 只是一大堆的空白。 呵呵。 還有一個時髦的人物。 它看起來有點像一個奇怪的問題 標記存在,但有Zamyla的名字。 讓我們真的很魯莽。 怎麼樣,我們打印出500 塊到未知? 讓我們繼續前進,使這個 以及,然後重新運行。 而且,我們全屏幕,因為 我們需要看到更多的空間。 Zamyla。 又是幸運的。 敢我們得到更加肆無忌憚? 讓我們更加肆無忌憚。 50000字。 這是最肯定不是一個好主意。 好的。 使串0。 這將是我們最後的演示。 Zamyla。 唉。 唉。 確定。 所以,我的記憶真的是空的,現在, 這是一種真正方便。 我試圖讓用於:沒事。 而現在我只是要得到魯莽。 500,000。 Make--讓全屏它。 輸入。 Zamyla。 在那裡,我們走了。 我不知道那是什麼 是的,但它聽起來很糟糕。 好的。 而事實上,很快,如果你是中 在辦公時間幸運的少數人 而在問題設置一個,你 很可能會遇到這樣的。 段錯誤實際上做 具有良好定義的含義。 這意味著一些錯誤 有關的存儲器段。 而在通俗地說, 這意味著我們感動 memory--我們使用的RAM在我的電腦 我不應該有訪問。 這就是既是 功能強大,也很危險 關於C實際上是你 自由訪問 你的程序的內存的全部 或字節或RAM,更具體。 因此,即使Zamyla的名字 只有六個字符, 我還可以去任何地方 在內存我想要的。 而作為順便說一句,如果你 讀過一些文章 在一些多年 服務器或某些節目 盜取或砍死那 東西冤大頭 所謂的緩衝區溢出 利用這一點,我們會真正 談談在幾個星期,這是 通常是指以某種方式欺騙 一台電腦變成進展順利 以外的存儲器的邊界 它應該有,與 找到的東西多汁 在memory--一個 密碼,也許,一種方法 繞過一些序列號的 檢查,或者只是一般都能 誘騙計算機正在執行 代碼並不打算。 但是,讓我們回過頭來 現實只是一瞬間 其中,該計劃是 與strlen的實施, 並引入一件事在這裡。 什麼是這些頂級三條線之間新的? 因此,串點小時。 原來有這個庫被稱為 串點H,或字符串庫, 它的頭文件,可以這麼說, 是串點h上給我 訪問該strlen函數。 如果我省略,編譯器 要我大聲喊叫以某種形式。 但是,你知道嗎? 現在讓我們真的很細緻入微。 在第22行,有什麼樣的 的inefficient--設計糟糕, arguably--關於這行代碼。 回想一下如何 for循環中實現 什麼步驟再次發生, 再次again--初始化, 的情況下,代碼 得到執行,那麼增量 或變更,則條件, 然後該代碼,則改變,那麼 的條件,則代碼, 然後將改變,等等。 那麼,什麼可能有點 令人擔憂的還是在這裡做得不好? 是啊,在藍色。 聽眾:strlen的是 所謂的很多很多次。 揚聲器1:是啊。 所以strlen的被稱為 很多次,但什麼是 的Zamyla的名字長度 第一次循環執行? 聽眾:六。 揚聲器1:六。 那麼,什麼是她的名字長度 代碼執行第二次? 聽眾:六。 揚聲器1:所有權利。 它仍然是六人。 對嗎? Zarla的名字還沒有 改變,即使我在尋找 在她的名字的字母的一部分。 這樣一來,其實我是有效的 問這個問題,什麼是 Zamyla的長度,有什麼長度 Zamyla的,什麼是Zamyla的長度, 六個獨立倍,或 七連,僅僅是愚蠢的, 因為這是不變的答案。 所以,我居然可以 做的是this--在串的一個 我有一個稍微好一些的版本在這裡。 那裡 - whoops--線二我有 一個稍微更好的版本,其中 我做this--,而不是僅僅 我初始化為0,我也用逗號 聲明一個叫做第二個變量 N--我沒有再說INT。 我不應該,事實上。 但是我要說ñ。 然後我初始化n至 n的strlen的,所以現在 多少次的strlen 共得到執行? 只需一次。 所以,這就是我們所說的 早期有關更好的設計。 實際上,一旦你的代碼是正確的, 回去和思考通過, 我是使用盡可能少 存儲器或幾秒鐘 電腦的時間或毫秒為單位 可以實現一些問題? 而且我要滾動 並只提 還有就是這個提 在這個版本空的, 但我們會回來的,不久。 因為現在,讓我們來看看 在其中,這會引導我們。 所以之一,事實證明, 現在我們有能力 看單個字符, 我們可以利用的東西 從0星期是非常神秘和 那種無趣的時間。 但現在,尤其是當我們 我在一周密碼學, 這將是非常強大的。 事實證明,一些 數據types--整型和浮點 和字符和字符串和 其他things--他們中的一些 可以很容易地轉化為另一種。 例如,當我們談到 有關ASCII一段時間ago--這裡 資本字母A 通過併購,點,點, dot--我們說有一個映射 這些字母和數字之間。 而事實上,它也適用 小寫字母以及。 小寫a是97,資本為65。 而且有一些在ASCII碼, 這僅僅是這種映射 系統的所有這些其他字母。 那麼,是什麼意思呢? 好了,我要繼續前進,開 達實快一些所謂 ASCII 0,其中大部分是註釋。 並再次在網上可以隨時 翻閱了意見。 看一看什麼 這是要幹什麼。 所以它有一個主要功能。 我硬編碼的數字只為 現在,因為我知道我在做什麼。 我知道我想在這裡看到。 而且我初始化我65歲。 而且我計數 通過26個字母總額。 而我怎麼來 一次打印一行 如果你能理解 這個突出的線路? 什麼被印? 是啊。 聽眾:你要 打印的信 對應的地圖 信中值和整數值? 揚聲器1:沒錯。 我要打印的信 對應於該整數值, 反之,如下所示。 嗯,這,有人早些時候說, 只是一個佔位符字符。 它仍然是。 當然,這是一個佔位符 對於int--不是一個新的生產線。 現在發現,我的第一個值 我堵在該佔位符 不只是我。我是說, 括號,字符我, 其中括號字符是 告訴編譯器,把我 不是作為它是什麼,這是一個數字。 把它作為一個實際的字符。 而第二個值我堵 in--我 - 應該只是一個數字。 所以,如果我編譯這個program-- 所以這是使ASCII 0, 點斜線ASCII 0--我只是得到 這個方便的小圖表 我顯示了所有可能的 映射,而不必認為它 通過或數字出來我自己。 而且我還打印出, 注意小寫字母, 因為幾行後,我 同時打印出這個映射 還有,這僅僅是 說,一旦你明白 下面是怎麼回事 引擎蓋,你能 自動來回轉換。 而事實上,如果哪 做過這個在小學 或聽說過有人 神話般服用記 並將其傳遞給他的 或她在課堂上的朋友, 但你炒的 按字母如A變成B, 和B變成C,或某事 複雜多了,好了, 你會怎麼去 實現了作為一個孩子? 嗯,你剛才那種知道 A成為B,B變成C, 但在數學上, 什麼那小子做什麼? 什麼是你增加了每個字母? 實際上,1。 因此,當你改變A到B,這是 有點像改變65到66, 其中數學意味著只需添加1。 所以,如果你要實現 那小小的欺騙手段 在代碼中你的老師,你 可能會做的正是剛剛 通過增加一個字母在一起。 那麼過不了多久,我們 要看到我們如何 可以利用這一點來實際 真正的加密和解密 信息。 在此期間,要知道我們已經開始 引進一對夫婦的其他圖書館 一個今天這裡 - 字符串。 而一個非常有用的網站 希望你會發現 被稱為reference.cs50.net,這 教學人員都放在一起, 因此,如果你想 仰望strlen的是如何工作, 你可以開始輸入 函數的名字, 點擊strlen的存在,然後 一個不太舒服的解釋 將要出現。 或者,如果你想正式 基於Linux的說明中, 您可以點擊更舒適 在右上角,它 將呈現相同的信息, 但在更複雜的條件。 這是一個有用的資源 實際上知道什麼都做。 我們要下一次 看看阿華田 多,自薦 密碼學世界。 在此之前,我們會看到 您在本週晚些時候。 而現在,科爾頓奧格登。 星期三見。 [音樂播放] [音樂播放] 揚聲器1:什麼 [嗶]你在幹什麼? 揚聲器1:我吃我的甜點? 你怎麼吃? 用你的手? [音樂播放]