小古銀的官方網站(完整教程):http://www.xiaoguyin.com/
C++入門教程視頻:https://www.bilibili.com/vide...ios
接下來說解的是循環中的for
語句。ide
for (int i = 0; i < 10; ++i) { // 執行10次代碼 }
上面的變量i
做用域只在for
循環裏面。for
後面的()
內分紅3部分,用分號;
隔開:第一部分是用來寫初始化語句的;第二部分是判斷條件,是否繼續循環就看這裏;第三部分通常寫對變量i
的操做。他的執行順序是:循環以前先執行初始化語句,而後判斷條件,成立則開始執行,執行完後就執行++i
,執行完++i
以後就判斷條件,而後如此循環。網站
上面的代碼至關於:code
int i = 0; while (i < 10) { // 執行10次代碼 i = i + 1; }
問題1:輸入5個整數數值,而後求這5個數的和。視頻
#include <iostream> // std::cin std::cout std::endl int main(void) { int sum = 0; // 用於保存全部數的和 // 當輸入的數值小於5個時循環 // 達到5個數值時就再也不執行 for (int count = 0; count < 5; ++count) { // 聲明變量用於保存輸入的數值 int value = 0; std::cin >> value; // 每次新輸入的數值都加到前面數值的總和裏面 sum = sum + value; } // 執行到這裏時先執行++count而後跳到for那一行從新判斷條件 // 輸出綜合 std::cout << "5個數值的總和是:" << sum << std::endl; return 0; }
變量count
用於記錄輸入數值的數量,因爲初始時沒有輸入數值,因此初始化爲0。當每次執行完{}
中的代碼以後,count
都會+1
;當count
達到5時,也就是說已經輸入了5個數值的時候,此時由於for
的條件不成立而跳出循環,而後輸出變量sum
的值。值得注意的是:變量count
的做用域只在for
語句中。教程
問題2:循環輸入一個整數數值而後再輸出這個整數數值,當輸入的數值是0時退出循環,但不輸出這個0。ci
#include <iostream> // std::cin std::cout std::endl int main(void) { // 聲明變量value用於保存輸入的數值 int value = 0; std::cin >> value; // 當輸入的數值是0則退出循環 for (; value != 0; std::cin >> value) { // 輸出前面輸入的數值 std::cout << "你輸入的是:" << value << std::endl; } // 執行到這裏時先執行std::cin >> value而後跳到for那一行從新判斷條件 return 0; }
先聲明一個變量value
,而後保存第一次輸入的數值,而後判斷這個數值是否爲0。當這個數值不是0的時候執行{}
內的代碼,因爲剛纔已經輸入了一個數值,因此就須要輸出這個數值,而後因爲執行完{}
內的代碼,因此先執行for
語句第三部分的代碼,接着再判斷這個數值是否爲0。作用域
因爲for
語句中的第一部分和第三部分不是必須的因此能夠不寫。上面代碼中因爲必須先輸入一次數值,因此要在循環外先聲明出變量value
,也就是說變量value
就不能寫在for
語句第一部分中。get
for
語句{}
內的代碼其實均可以寫在for
語句的第三部分裏面,可是題目的意思是要輸出新輸入的數值,主要在於輸出,因此將輸入寫到第三部分,能夠增長可讀性。寫代碼的經驗越多,就越清楚什麼代碼須要放到for
語句的第三部分中。io
1*1 + 2*2 + 3*3 + ... + 100*100
的結果。2^0 + 2^1 + 2^2 + ... + 2^63
的結果。1! + 2! + 3! + ... + 10!
的結果。1 + 1/1! + 1/2! + 1/3! + ...
的結果。π/4 = 1 - 1/3 + 1/5 - 1/7 + ...
的結果。x
和一個整數y
,求x的y次方。(x
是正數,y
包括正數負數和0)123456
就輸出654321
。12345
就輸出15
。