小古銀的官方網(wǎng)站(完整教程):http://www.xiaoguyin.com/
C++入門教程視頻:https://www.bilibili.com/video/av20868986/
接下來講解的是循環(huán)中的for
語句污秆。
for (int i = 0; i < 10; ++i)
{
// 執(zhí)行10次代碼
}
上面的變量i
作用域只在for
循環(huán)里面堪伍。for
后面的()
內(nèi)分成3部分,用分號;
隔開:第一部分是用來寫初始化語句的倒慧;第二部分是判斷條件卿操,是否繼續(xù)循環(huán)就看這里肺孵;第三部分一般寫對變量i
的操作正卧。他的執(zhí)行順序是:循環(huán)之前先執(zhí)行初始化語句惯豆,然后判斷條件池磁,成立則開始執(zhí)行,執(zhí)行完后就執(zhí)行++i
楷兽,執(zhí)行完++i
之后就判斷條件地熄,然后如此循環(huán)。
上面的代碼相當(dāng)于:
int i = 0;
while (i < 10)
{
// 執(zhí)行10次代碼
i = i + 1;
}
基礎(chǔ)示例 1
問題1:輸入5個整數(shù)數(shù)值芯杀,然后求這5個數(shù)的和端考。
#include <iostream> // std::cin std::cout std::endl
int main(void)
{
int sum = 0; // 用于保存所有數(shù)的和
// 當(dāng)輸入的數(shù)值小于5個時循環(huán)
// 達到5個數(shù)值時就不再執(zhí)行
for (int count = 0; count < 5; ++count)
{
// 聲明變量用于保存輸入的數(shù)值
int value = 0;
std::cin >> value;
// 每次新輸入的數(shù)值都加到前面數(shù)值的總和里面
sum = sum + value;
} // 執(zhí)行到這里時先執(zhí)行++count然后跳到for那一行重新判斷條件
// 輸出綜合
std::cout << "5個數(shù)值的總和是:" << sum << std::endl;
return 0;
}
基礎(chǔ)講解 1
變量count
用于記錄輸入數(shù)值的數(shù)量雅潭,由于初始時沒有輸入數(shù)值,所以初始化為0却特。當(dāng)每次執(zhí)行完{}
中的代碼之后扶供,count
都會+1
;當(dāng)count
達到5時裂明,也就是說已經(jīng)輸入了5個數(shù)值的時候椿浓,此時因為for
的條件不成立而跳出循環(huán),然后輸出變量sum
的值闽晦。值得注意的是:變量count
的作用域只在for
語句中扳碍。
基礎(chǔ)示例 2
問題2:循環(huán)輸入一個整數(shù)數(shù)值然后再輸出這個整數(shù)數(shù)值,當(dāng)輸入的數(shù)值是0時退出循環(huán)仙蛉,但不輸出這個0笋敞。
#include <iostream> // std::cin std::cout std::endl
int main(void)
{
// 聲明變量value用于保存輸入的數(shù)值
int value = 0;
std::cin >> value;
// 當(dāng)輸入的數(shù)值是0則退出循環(huán)
for (; value != 0; std::cin >> value)
{
// 輸出前面輸入的數(shù)值
std::cout << "你輸入的是:" << value << std::endl;
} // 執(zhí)行到這里時先執(zhí)行std::cin >> value然后跳到for那一行重新判斷條件
return 0;
}
基礎(chǔ)講解 2
先聲明一個變量value
,然后保存第一次輸入的數(shù)值荠瘪,然后判斷這個數(shù)值是否為0夯巷。當(dāng)這個數(shù)值不是0的時候執(zhí)行{}
內(nèi)的代碼,由于剛才已經(jīng)輸入了一個數(shù)值巧还,所以就需要輸出這個數(shù)值鞭莽,然后由于執(zhí)行完{}
內(nèi)的代碼,所以先執(zhí)行for
語句第三部分的代碼麸祷,接著再判斷這個數(shù)值是否為0澎怒。
由于for
語句中的第一部分和第三部分不是必須的所以可以不寫。上面代碼中由于必須先輸入一次數(shù)值阶牍,所以要在循環(huán)外先聲明出變量value
喷面,也就是說變量value
就不能寫在for
語句第一部分中。
for
語句{}
內(nèi)的代碼其實都可以寫在for
語句的第三部分里面走孽,但是題目的意思是要輸出新輸入的數(shù)值惧辈,主要在于輸出,所以將輸入寫到第三部分磕瓷,可以增加可讀性盒齿。寫代碼的經(jīng)驗越多,就越清楚什么代碼需要放到for
語句的第三部分中困食。
鞏固練習(xí)(用 for 語句實現(xiàn))
- 輸入n個小數(shù)边翁,求它們的最小值、最大值和平均值硕盹。首先輸入一個正整數(shù)n符匾,代表后面要輸入n個小數(shù),然后輸入n個小數(shù)瘩例,當(dāng)輸入完成后啊胶,輸出它們的最小值甸各、最大值和平均值。
- 輸入若干個整數(shù)數(shù)值焰坪,求它們的最小值趣倾、最大值和平均值。循環(huán)輸入整數(shù)數(shù)值直到輸入數(shù)值0琳彩,當(dāng)輸入完成后誊酌,輸出它們的最小值部凑、最大值和平均值露乏。
- 輸出
1*1 + 2*2 + 3*3 + ... + 100*100
的結(jié)果。 - 輸出
2^0 + 2^1 + 2^2 + ... + 2^63
的結(jié)果涂邀。 - 輸出
1! + 2! + 3! + ... + 10!
的結(jié)果瘟仿。 - 輸出
1 + 1/1! + 1/2! + 1/3! + ...
的結(jié)果。 - 求π的值比勉。提示
π/4 = 1 - 1/3 + 1/5 - 1/7 + ...
的結(jié)果劳较。 - 輸入5個數(shù),統(tǒng)計其中正數(shù)浩聋、負數(shù)和0的個數(shù)观蜗。
- 輸入若干個整數(shù)數(shù)值,求其中的奇數(shù)之和與偶數(shù)之和衣洁。循環(huán)輸入整數(shù)數(shù)值直到輸入數(shù)值0墓捻,當(dāng)輸入完成后,輸出它們的奇數(shù)之和與偶數(shù)之和坊夫。
- 輸入一個小數(shù)
x
和一個整數(shù)y
砖第,求x的y次方。(x
是正數(shù)环凿,y
包括正數(shù)負數(shù)和0) - 求水仙花數(shù)(一個三位數(shù)梧兼,其各位數(shù)字立方和等于該數(shù)字本身)。
- 求斐波那契數(shù)列的第n項智听。斐波那契數(shù)列定義:F(0)=0羽杰,F(xiàn)(1)=1, F(n)=F(n-1)+F(n-2)(n>=2,n∈N*)到推,求第n項的值考赛。
- 輸入一個整數(shù),輸出這個整數(shù)的各數(shù)字反序的數(shù)值环肘。如輸入
123456
就輸出654321
欲虚。 - 輸入一個整數(shù),輸出這個整數(shù)的各位數(shù)之和悔雹。如輸入
12345
就輸出15
复哆。 - 輸出1000以內(nèi)所有素數(shù)(素數(shù)定義:一個大于1的自然數(shù)欣喧,除了1和它自身外,不能被其他自然數(shù)整除的數(shù)叫做素數(shù)或者質(zhì)數(shù))梯找。
- 輸出九九乘法表唆阿。