第6章 2重ループ&配列 2重ループと配列をやります.

Slides:



Advertisements
Similar presentations
C 言語講座第 5 回 構造体. 構造体とは ... 異なる型の値をまとめて新しい型とする 機能がある . つまり , 複数の変数を 1 つのまとまりにできる . 配列と違って同じ型でデータをまとめるのではな く違った型のデータをまとめられる .
Advertisements

第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
1 第5回 配列. 2 今回の目標 マクロ定義の効果を理解する。 1次元配列を理解する。 2次元配列を理解する。 ☆2 × 2の行列の行列式を求めるプログラ ムを作成する.
オブジェクト指向言語・ オブジェクト指向言語演習 中間試験回答例. Jan. 12, 2005 情報処理技術基礎演習 II 2 オブジェクト指向言語 中間試験解説 1  (1) 円柱の体積(円柱の体積 = 底面の円の面積 x 高さ) を求めるプログラムを作成しなさい。ただし、出力結果は、入 力した底面の円の半径.
配列の宣言 配列要素の初期値 配列の上限 メモリ領域 多次元配列 配列の応用
初年次セミナー 第8回 データの入力.
ループで実行する文が一つならこれでもOK
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
第2章 数値の入力と変数 scanfと変数をやります.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
基礎プログラミングおよび演習 第9回
C言語講座 第4回 ポインタ.
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
理由:文字数より要素数の多い配列を用いた時に,文字列の最後を示すため
問題 1 キーボードから入力した数の合計を計算するプログラムを 作成せよ。最初に、何個の数を入力するかその数を入力 するようにする。
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
第7回 条件による繰り返し.
C言語講座 第3回 ポインタ、配列.
ちょっとした練習問題① 配列iroを['R', 'W', 'R', 'R', 'W' , 'W' , 'W']を宣言して、「W」のときの配列の番号をprintfで表示するようなプログラムを記述しなさい。
プログラミング2 関数
プログラミング論 ファイル入出力
繰り返し計算 while文, for文.
C言語講習 第0章 Hello, world!.
関数の定義.
プログラミング論 II 2008年10月30日 文字列
第10章 これはかなり大変な事項!! ~ポインタ~
前回の練習問題.
indentについて forやifの「中身」を右に寄せる. forやifの「外枠」は右に寄せない. int x; x = 3;
第7回 条件による繰り返し.
プログラミング論 ファイル入出力
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラムの制御構造 配列・繰り返し.
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
復習 一定回数を繰り返す反復処理の考え方 「ループ」と呼ぶ false i < 3 true i をループ変数あるいはカウンタと呼ぶ
配列変数とポインタ 静的確保と動的確保 ポインタ配列 2次元配列 時間計測 第1回レポートの課題
メモリとメモリアドレス, ポインタ変数,関数へのポインタ渡し
プログラミング 3 2 次元配列.
プログラミングⅡ 第2回.
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
復習 Cにおけるループからの脱出と制御 break ループを強制終了する.if文と組み合わせて利用するのが一般的. continue
プログラミング入門 電卓を作ろう・パートI!!.
地域情報学 C言語プログラミング 第4回 while文、do~while文、switch文、 2次元配列、ポインタ 2017年11月10日
復習 if ~ 選択制御文(条件分岐) カッコが必要 true 条件 false 真(true)なら この中が aを2倍する 実行される
復習 breakとcontinueの違い int i; for (i = 1; i <= 100; i++) { ・・・処理1・・・・
第5章 まだまだ続く反復処理!! ~繰り返しその2 for~
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
変数を一度にたくさん宣言するよ! それだけじゃないよ!
第2章 printf(“変数と入力”); scanf(“%d”,&num);
ループだよ!難しいよ! 第5章 while(ループ);.
第4章 double 小数型の変数;.
プログラミング 4 文字列.
ループだよ! 第7章 for(ループ応用);.
第7章 そろそろ int 以外も使ってみよう! ~データ型 double , bool~
2005年度 データ構造とアルゴリズム 第2回 「C言語の復習:配列」
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
知能情報工学演習I 第11回(後半第5回) 課題の回答
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
C言語講座第5回 2017 構造体.
分岐(If-Else, Else if, Switch) ループ(While, For, Do-while)
第5回 配列.
知能情報工学演習I 第10回( C言語第4回) 課題の回答
プログラミング演習I 補講用課題
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
第1章 文字の表示と計算 printfと演算子をやります.
= 55 課題6-1 #define _CRT_SECURE_NO_WARNINGS
Presentation transcript:

第6章 2重ループ&配列 2重ループと配列をやります

今回の内容 2重ループ 配列 コメント define

以下のプログラムを実行してみよう ★★★★★ int main() { int x, y; for (y = 0; y < 3; y++) for (x = 0; x < 5; x++) printf("★"); } printf("\n"); return 0; ★★★★★

2重ループ 「ループ」とは、繰り返しのこ と(while文とfor文) 「2重ループ」とは、ループを2 重にしたもの int i, j; for (i = 0; i < 繰り返す回数; i++) { for (j = 0; j < 繰り返す回数; j++) }

九九の表のy行目を表示 「%2d」は、2ケタで表示するという意味 これをy=1から9まで繰り返すと、九九の 表ができそう int main() { int x, y; y = 2; for (x = 1; x <= 9; x++) printf("%2d ", x * y); } printf("\n"); return 0; 「%2d」は、2ケタで表示するという意味 1ケタならスペースが入って2文字になる %2d は表を作るときによく使う これをy=1から9まで繰り返すと、九九の 表ができそう 2 4 6 8 10 12 14 16 18

練習問題1 掛け算の九九の表を表示するプログラ ムを作りなさい 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 2 4 6 8 10 12 14 16 18 3 6 9 12 15 18 21 24 27 4 8 12 16 20 24 28 32 36 5 10 15 20 25 30 35 40 45 6 12 18 24 30 36 42 48 54 7 14 21 28 35 42 49 56 63 8 16 24 32 40 48 56 64 72 9 18 27 36 45 54 63 72 81 掛け算の九九の表を表示するプログラ ムを作りなさい

練習問題1 解答例 int main() { int x, y; for (y = 1; y <= 9; y++) 練習問題1 解答例 int main() { int x, y; for (y = 1; y <= 9; y++) for (x = 1; x <= 9; x++) printf("%2d ", x * y); } printf("\n"); return 0;

以下のプログラムを実行してみよう int main() { int hp[3]; hp[0] = 100; hp[1] = 80; printf("%d %d %d\n", hp[0], hp[1], hp[2]); return 0; } 100 80 200

配列 ? ? ? 配列とは、変数(箱)がいくつか並んでいるもの 配列の宣言を1回行うだけで、たくさんの変数(箱)ができる hp[0] ? hp[1] ? hp[2] int 名前[大きさ]; int hp[3]; 配列とは、変数(箱)がいくつか並んでいるもの 配列の宣言を1回行うだけで、たくさんの変数(箱)ができる 「int hp[3];」と宣言すると、 hp[0], hp[1], hp[2] という名前の3つの箱 ができる hp[3]という箱はありません(0番から始まるため)

配列の初期化 100 80 200 配列の宣言のときに初期化を行うことで、最初から箱の中身を指定する ことができる hp[0] 80 hp[1] 200 hp[2] int hp[3] = { 100, 80, 200 }; int hp[] = { 100, 80, 200 }; 配列の宣言のときに初期化を行うことで、最初から箱の中身を指定する ことができる イコールと中カッコ「 = { } 」を使い、コンマ「 , 」で区切る 初期化をする場合、配列の大きさは省略してもよい

初期化と代入 初期化 代入 初期化は変数を作るときに行える、代入はいつでも行える int x = 5; int hp[3] = { 100, 80, 200 }; hp[0] = 100; hp[1] = 80; hp[2] = 200; 代入 x = 5; hp = { 100, 80, 200 }; 初期化は変数を作るときに行える、代入はいつでも行える 配列は初期化ができるが、代入はできない(代入したいなら、変数1つ1 つに代入するしかない)

練習問題2 入力された3つの整数を表示するプログラム を作りなさい 1P > 100 2P > 200 3P > 300

練習問題2 解答例 int main() { int i; int hp[3]; for (i = 0; i < 3; i++) 練習問題2 解答例 int main() { int i; int hp[3]; for (i = 0; i < 3; i++) printf("%dP > ", i + 1); scanf("%d", &hp[i]); } printf("%dP:%d ", i + 1, hp[i]); printf("\n"); return 0;

CとC++ C++ C 実は今使っている Visual Studio は、C++ という 言語を使う

以下のプログラムを実行してみよう int main() { // ハローワールド printf("Hello, world!\n"); // ハローワールド printf("Hello, world!\n"); printf("%d\n", 1 /* + 2 */ ); return 0; } Hello, world! 1

コメント コメントは、C言語として実行されない(無視される) /* ここはコメント */ // 行の最後までコメント コメントは、C言語として実行されない(無視される) 「/*」から「*/」までの部分、 「//」から行の最後までの部分、がコメン トになる 例えば、このプログラムが何をするのかをメモする、プログラムの一部 をコメントにして一時的に消す、などなど、いろいろと役に立つかもし れない ちなみに、Cのコメントは「/* */」のみで「//」は使えない(はずだが、最近のCは 「//」が使える)

define #define 名前 値 defineは定数 同じ数字を何度も使うときはdefine がおすすめ #define NUM 3 int main() { int i; int hp[NUM]; for (i = 0; i < NUM; i++) hp[i] = 100; printf("%dP:%d ", i + 1, hp[i]); printf("\n"); return 0; } defineは定数 同じ数字を何度も使うときはdefine がおすすめ defineの値を変えると全部変わる #define 名前 値 1P:100 2P:200 3P:300

終わり お疲れ様でした