>> ZAMYLA陳：恭喜 整理你的
C程序中的第一對夫婦。
我知道你的第一次進軍 C語法可以艱鉅。
但我向你保證，在年底 當然，你能看的
第一對夫婦的分配和 他們在幾分鐘內完成。
>> 現在，你越來越熟悉 語法，讓我們的凱撒。
在凱撒，用戶將提交 作為一個命令行的整數鍵
參數，然後進入一個純 短信提示。
該方案將加密被 文本和打印
他們的密文消息。
>> 凱撒加密 其實很簡單。
每個字母移位，在他們的 純文本的關鍵。
其結果是，它也 相當不安全的。
但是在執行凱撒將推出 我們到ASCIIMath和數組數據
結構。
我們會得到更複雜 密碼後。
隨著凱撒鍵2，字母A 純文本將代表
密文的字母C，因為C 後，A，B兩個字母
D和C表示E.走向 字母表末尾，W是
X，Y三種由Z.不過Y表示的 沒有後兩個字母，所以
字母表密碼環繞。
因此，Y在純文本代表的 A的密文，和Z B.它可
幫查看凱撒徽，像 一個連續的字母輪。
>> 加密被自己的文字，用戶 將進入兩個參數
進入命令行模式 -
/凱撒接著是密鑰。
與往常一樣，我們不能信任用戶 完全輸入，使
意義上我們的節目。
因此，我們將不得不以驗證他們的 命令行輸入。
>> 使用int主要無效，而是我們 使用int為主，INT ARGC，串argv的。
整型變量的argc代表 傳入的參數的數量
在命令行中。
和argv是一個數組，或者認為它是 列表中的參數傳遞進來
>> 因此，凱撒，我們怎麼驗證 用戶的輸入？
那麼，他們應該只進入 兩個命令行參數 -
/凱撒和一把鑰匙。
因此，如果argc是2，這意味著 他們要么忘記了一個關鍵，只是
輸入。/凱撒，或者他們 輸入了多個鍵。
>> 如果是這樣的話，那麼你會 要打印的說明
退出程序。
他們將需要再次嘗試 在命令行。
但是，即使argc是2，你會 需要檢查他們是否
給你一個有效的密鑰。
對於凱撒，你需要一個整數。
但argv是一個字符串數組。
您如何訪問該鍵？
>> 就讓我們來看看在陣列 -
數據結構有多個 值相同的數據類型。
文章索引從零開始，這意味著 第一個元素是該指數為零
最後一個元素是索引大小 減1，其中的大小是多少
數組中的元素。
>> 如果我宣布一個新的字符串數組郵箱 長度為3，在視覺上，它
看起來是這樣的。
三個貨櫃的字符串 ，相映成趣。
要訪問任何元素，你鍵入的名字 數組，然後指出
在方括號中的索引。
在這裡，我將值分配給每個 元素，就像我會做任何
其他字符串變量。
>> 因此，訪問我們的命令行參數， 所有我們需要做的是訪問
正確的argv數組元素。
如果用戶輸入/升空隊 火箭到終端中，argv 0
/升空。
argv的團隊， ARG2將火箭。
>> 現在，我們可以訪問我們的關鍵， 我們仍然需要
確保它是正確的。
我們需要將它轉換成一個整數。
但我們不能只投像 我們以前做過的。
幸運的是，在A到Y函數負責 這為我們甚至返回0
如果不能轉換的字符串 成一個整數。
這是給你，雖然，告訴 用戶為什麼你不會
讓程序繼續進行。
在的結果存放到Y 整數，你有你的關鍵。
接下來的部分是簡單的。
提示用戶為他們的樸素的文字， 這將是數據類型的字符串。
幸運的是，所有的用戶輸入 字符串都是有效的。
>> 現在我們已經有了所有必要的輸入 從用戶，是時候為我們
加密被他們的消息。
凱撒的概念很簡單 有足夠的了解。
但你的電腦是如何知道哪些 字母後另一個？
>> 這裡就是ASCII表的用武之地。
每個字符都有一個整數 與它相關聯的數量。
資本A是65。
資本B是66。
小寫a是97。
小寫b是98。
但文字並不局限於 只是字母數字。
例如，@符號 是ASCII數字64。
>> 在處理整個字符串， 讓我們假裝我們只是必須轉移
一個字符。
好了，我們只是想轉移實際 在純文本的信件，不
字符或數字。
所以，首先，我們將要 檢查字符是否是
字母表。
>> 該功能因而isalpha這 我們並返回一個布爾 -
如此，如果字符是字母， 虛假，否則。
兩個其他有用的功能 isupper及islower的的，與
不言自明的名稱。
他們返回true，如果給定的字符 是大寫或小寫，
分別
由於他們是布爾值，他們 有用的使用條件。
>> 如果返回true，因而isalpha，你需要 轉移的關鍵字符。
所以，讓我們打開ASCIIMath 並做一些ASCII數學。
用法很類似的用法 凱撒和需要的關鍵在
命令行。
>> 如果我運行ASCIIMath 5，這似乎增加 5，給我的一封信，F，
顯示的ASCII值。
所以，讓我們來看看在節目。
>> 你可能不知道，就在這裡，為什麼 信是一個整數，當它的
清楚，很好，一個字母。
事實證明，字符和 整數是可以互換的。
通過把字母A在單 引號，整數可以存儲
資本的ASCII值 A.要小心，雖然。
您需要單一的衣服。
如果沒有單引號， 編譯器會尋找一個變量
命名為A，而不是字符。
>> 然後我一封信和一把鑰匙，存儲 int變量結果的總和。
儘管結果的數據類型為 整數，我的printf語句使用
％C字符佔位符。
因此，程序打印字符 與整數結果。
因為我們打印的整數 以及使用％d的形式，我們看到
的數量為好。
所以，現在你可以看到，我們 治療字符和
整數，反之亦然。
>> 讓我們測試出ASCIIMath幾 多次使用作為密鑰25。
我們得到字母z。
現在我們試著26。
我們想要得到的字母a，但 相反，我們得到了一個左括號。
所以，很顯然，只需添加 信的關鍵不會做。
我們需要找出一個公式來包裝 周圍的字母，喜​​歡我們
例如，在開始做了。
>> 凱撒的公式 移位如下。
Ç等於P加K模26。
請記住，模是一種有用的 操作，讓我們其餘
將一個由其他。
讓我們套用這個公式平原 文本信2的一個關鍵。
y的ASCII值89， 為我們提供了模數26 91
相當於13 -
絕對不是ASCII值 的，這是67。
>> 現在我的幽默和遠離 ASCII值字母索引
其中A是零和Z是25， 這意味著，Y為24。
24加2，模6，給了我們26 模26，0，這是
字母索引的。
因此，這個公式似乎適用於 字母索引信
不是其ASCII值。
>> 但你開始用ASCII值。
打印密文字符， 你需要它的ASCII值。
這是給你的，那麼，要弄清楚 如何來回切換。
>> 一旦你找出正確的公式 一個字符，所有你需要做的
適用相同的公式每 純文本的信件 -
如果這封信是按字母順序排列的， 當然。
請記住，你需要保留 的情況下，上層或下層，這就是
的isUpper和isLower功能 前面提到會派上用場。
您可能有兩個公式 -
其中一個為大寫字母 和一個小寫。
所以isUpper一個isLower將幫助您 確定的公式來套用。
>> 你怎麼到每一個應用公式 在一個字符串中的單個字符？
嗯，只是一個字符串 字符數組。
所以，你可以訪問每個字符 分組在中的每個字符
在fo​​r循環中的字符串。
至於你循環的條件， strlen函數，字符串
長度，會派上用場。
這需要在一個字符串作為輸入，並 返回該字符串的長度。
請一定要包括正確的庫 使用字符串長度功能。
>> 你有你的密文。
我的名字Zamyla。
[漢化代碼]。