計算技術研究会 C言語講座 第3回 Loops (for文 while文)
始め方を忘れた人は 「ファイル」→「新規作成」→「プロジェクト」 「win32コンソールアプリケーション」にチェック プロジェクト名を適当に付ける 保存場所がいつも保存している場所になっているか確認 「コンソールアプリケーション」と「空のプロジェクト」にチェックを入れて「完了」 ソースファイルを右クリック→「追加」→「新しい項目」→「C++ファイル」を選択→適当な名前を付けて → 「追加」
簡単に前回の復習 … } 条件式を満たす時に Swich文 If文 if(条件式){ カッコ内の命令を実行する。 switch(式){ case 値1: ←コロン 処理1 break; case 値2: 処理2 default: 処理3 } If文 if(条件式){ … } 条件式を満たす時に カッコ内の命令を実行する。
今週の内容 その1 for文 何回も同じことを繰り返したいときに使う。 今週の内容 その1 for文 何回も同じことを繰り返したいときに使う。 -------------------------------------- for(初期化式 ; 条件式 ; 繰り返す毎に行われる式) { 繰り返したい内容 }
for文 #include<stdio.h> int main(void){ int i; for(i = 0 ; i<=3 ; i++){ printf("現在のiの値:%d \n",i); }
#include<stdio.h> int main(void){ int i; i=0; printf(“現在のiの値: %d \n” ,i); i++; } #include<stdio.h> int main(void){ int i; for(i=0;i<=3;i++){ printf("現在のiの値:%d \n",i); }
例 2のn乗を計算する #include<stdio.h> int main(void){ int i; int a; int b=1; printf("0以上の数を入力してください:"); scanf("%d",&a); if(a<0){ printf("エラー\n"); } else{ for(i = 0;i<a;i++){ b *= 2; printf("2の%d乗の値は%dです。\n" ,a,b);
問:nの階乗を計算する プログラム 念のため 5の階乗は 5*4*3*2*1=120 ヒント #include<stdio.h> int main(void){ int i; int n; int b=1; printf("0以上の数を入力してください:"); scanf("%d",&n); if(n<0){ printf("エラー\n"); } else{ for(~~~~~~){ ~~~~~~ printf("%dの階乗は%dです。\n" ,n,b); 念のため 5の階乗は 5*4*3*2*1=120
解答 #include<stdio.h> int main(void){ int i; int n; int b=1; printf("0以上の数を入力してください:"); scanf("%d",&n); if(n<0){ printf("エラー\n"); } else{ for(i = n;i>0;i--){ b *= i; printf("%dの階乗は%dです。\n" ,n,b);
今週の内容 その2 while文 while (条件式) { 繰り返したい内容 }
簡単な例 #include<stdio.h> int main(void){ int i=0; while(i<=3){ printf("現在のiの値は:%d \n",i); i++; }
例:0を入力するまで足し算する #include<stdio.h> int main(void){ int i=1; int sum=0; while(i != 0){ scanf("%d",&i); sum += i; printf("0を入力して終了.%d \n",sum); }
問:平均値を 計算する プログラム 出力例 ヒント #include<stdio.h> int main(void){ int i=1; int count =-1; int sum=0; printf(“0を入力して終了\n”); while(i != 0){ ~~~~~~; } if(count == 0){ printf("入力はありませんでした\n"); else{ printf(“平均値は%d \n",~~~~~); 問:平均値を 計算する プログラム 出力例
解答 #include<stdio.h> int main(void){ int i=1; int count =-1; int sum=0; printf("0を入力して終了\n"); while(i != 0){ scanf("%d",&i); sum += i; count ++; } if(count == 0){ printf("入力はありませんでした\n"); else{ printf("平均値は%d \n",sum/count);