(第二次上課)
第二次上課
終於慢慢切入了最重要的地方了
就是重複迴圈 for() while() 等等
在c語言中這些用法都和php差不多(別的語法也是...)
所以還蠻容易上手的
= =
首先就是for()迴圈的應用
for(起始值;判斷值是否進行;每次判斷值得改變){
do something
}
接下來是範例,要算出階層 就是 "!"
不過在這邊要注意的是,由於宣告的最後放結果的a,的長度只有31位元,正整數只能存放15位元
,所以如果輸入太大,則會出現"溢位"。
ex2-1
#include
#include
int main(void){
int i,a=1,n;
printf("請輸入皆層\n");
scanf ("%d",&n);
for(i=1;i<=n;i++){ //i起始值為一,每執行一次就加一,直到>n停止
a = a*i;
}
printf("=%d\n",a);
system("pause");
return 0;
}
接下來當然就是for()迴圈加強版摟!!
這邊主要差是在一次跳兩個數字,就變成偶數
ex 2-2
#include
#include
int main(void){
int i,a=0,n;
printf("請輸入偶數連加的最終值\n");
scanf("%d",&n);
for(i=2;i<=n;i=i+2){
a=a+i;
}
printf("%d\n",a);
system("pause");
return 0;
}
for()迴圈其實就差不多就這樣
如果想更詳細了解的話可以參考 php重複迴圈
for()迴圈基本上是大同小異,不過在寫法上還是有些差異
接下來就進入下一個主題
while()迴圈
這邊同樣可以參考 php重複迴圈
這個範例就直接是while()迴圈較深入的範例,用了兩個迴圈(當初就寫在一起了,忘了分開)
第一個是可以重複執行
第二個就是要計算所有整數的和
這邊有多一個指令 system("cls") 就是每執行一次就清除螢幕
ex2-3
#include
#include
int main(void){
int i,s,n;
char f='y'; // 宣告字元 f = 'y'
while(f == 'y' || f == 'Y') // 由於上述 所以可以執行以下
{
int i=1;s=0; //這邊要將i s 歸位,否則會錯誤(迴圈的變數值會保留,所以要重設)
printf("求1~N所有整數之和\n");
scanf("%d",&n);
while(i<=n) //第二個迴圈,用來計算
{
s=s+i;
i++;
}
printf("1~%d所有和為%d\n",n,s);
printf("如果繼續請案y\n");
scanf(" %c",&f); //輸入值給f,如果不是 'y' or 'Y' 則第一個while()不會繼續執行
//這邊在設定 %c時,前面要加一個空白,是告訴c,把"\n"(換行)清除掉,(c預設有換行)
system("cls");
}
system("pause");
return 0;
}
------------------------------------------------
本人將會把在巨匠學的程式範例和一些重點 PO 上來
放在"C語言學習實錄"分類
供大家參考
此次暑假預計學習的有
C++ 初階 (其實還是C語言)
C++ 進階
C++ 物件導向
歡迎大家觀賞 (顆顆)
也當作自己的學習紀錄吧!!
------------------------------------------------
沒有留言:
張貼留言