以下代碼顯示了如何使用for循環(huán)。
#include <iostream>
int main(){
using namespace std;
int i; // create a counter
for (i = 0; i < 5; i++)
cout << "C++ knows loops.\n";
cout << "C++ knows when to stop.\n";
return 0;
}
上面的代碼生成以下結(jié)果。
for循環(huán)提供了執(zhí)行重復(fù)任務(wù)的逐步操作。
for循環(huán)的部分處理這些步驟:
控制部分后的語句稱為循環(huán)體,只要測試表達(dá)式保持為真,就執(zhí)行該語句。
for (initialization; test-expression; update-expression) body
以下代碼顯示了如何在for循環(huán)中使用數(shù)字測試。
#include <iostream>
using namespace std;
int main()
{
cout << "Enter the starting countdown value: ";
int limit;
cin >> limit;
int i;
for (i = limit; i; i--) // quits when i is 0
cout << "i = " << i << "\n";
cout << "Done now that i = " << i << "\n";
return 0;
}
上面的代碼生成以下結(jié)果。
該程序使用一個(gè)循環(huán)來計(jì)算連續(xù)階乘的值。
然后它使用第二個(gè)循環(huán)顯示結(jié)果。此外,程序還介紹了使用外部聲明的值。
#include <iostream>
const int SIZE = 16; // example of external declaration
int main()
{
long long factorials[SIZE];
factorials[1] = factorials[0] = 1LL;
for (int i = 2; i < SIZE; i++)
factorials[i] = i * factorials[i-1];
for (int i = 0; i < SIZE; i++)
std::cout << i << "! = " << factorials[i] << std::endl;
return 0;
}
上面的代碼生成以下結(jié)果。
您可以通過更改更新表達(dá)式來更改。
該程序通過用戶選擇的步長增加循環(huán)計(jì)數(shù)器。
#include <iostream>
int main()
{
using std::cout; // a using declaration
using std::cin;
using std::endl;
cout << "Enter an integer: ";
int by;
cin >> by;
cout << "Counting by " << by << "s:\n";
for (int i = 0; i < 100; i = i + by)
cout << i << endl;
return 0;
}
上面的代碼生成以下結(jié)果。
內(nèi)部字符串與for循環(huán)
#include <iostream>
#include <string>
using namespace std;
int main()
{
cout << "Enter a word: ";
string word;
cin >> word;
// display letters in reverse order
for (int i = word.size() - 1; i >= 0; i--)
cout << word[i];
cout << "\nBye.\n";
return 0;
}
上面的代碼生成以下結(jié)果。
程序使用大括號將三個(gè)單獨(dú)的語句組合成單個(gè)塊。
#include <iostream>
using namespace std;
int main()
{
cout << "Please enter five values:\n";
double number;
double sum = 0.0;
for (int i = 1; i <= 5; i++)
{ // block starts here
cout << "Value " << i << ": ";
cin >> number;
sum += number;
} // block ends here
cout << "They sum to " << sum << endl;
cout << "and average to " << sum / 5 << ".\n";
return 0;
}
上面的代碼生成以下結(jié)果。
如果您在塊中聲明與塊外的其他名稱相同的塊中的變量,則新變量會(huì)從塊內(nèi)的點(diǎn)隱藏舊變量。
那么舊的可以再次變得可見,如下例所示:
#include <iostream>
using std::cout;
using std::endl;
int main() {
int x = 20; // original x
{ // block starts
cout << x << endl; // use original x
int x = 100; // new x
cout << x << endl; // use new x
} // block ends
cout << x << endl; // use original x
return 0;
}
上面的代碼生成以下結(jié)果。
以下代碼顯示如何反轉(zhuǎn)數(shù)組。
#include <iostream>
#include <string>
using namespace std;
int main() {
cout << "Enter a word: ";
string word;
cin >> word;
char temp;
int i, j;
for (j = 0, i = word.size() - 1; j < i; --i, ++j)
{ // start block
temp = word[i];
word[i] = word[j];
word[j] = temp;
} // end block
cout << word << "\nDone\n";
return 0;
}
上面的代碼生成以下結(jié)果。
以下代碼顯示如何跳過非數(shù)字輸入。
#include <iostream>
using namespace std;
const int Max = 5;
int main()
{
int golf[Max];
cout << "You must enter " << Max << " rounds.\n";
int i;
for (i = 0; i < Max; i++)
{
cout << "round #" << i+1 << ": ";
while (!(cin >> golf[i])) {
cin.clear(); // reset input
while (cin.get() != "\n")
continue; // get rid of bad input
cout << "Please enter a number: ";
}
}
double total = 0.0;
for (i = 0; i < Max; i++)
total += golf[i];
cout << total / Max << " = average score " << Max << " rounds\n";
return 0;
}
上面的代碼生成以下結(jié)果。
更多建議: