C言語① 開発環境とプログラムの記述方法 2011.04.22 2011.04.22 C言語① 開発環境とプログラムの記述方法
持ち物 ・教科書 ・ノート ・筆記用具 ・ボールペン(黒) ・色ペン(2色以上) ・のり ・レポート用紙 ・テンプレート 鉛筆 シャーペン × ・教科書 ・ノート ・筆記用具 ・ボールペン(黒) ・色ペン(2色以上) ・のり ・レポート用紙 ・テンプレート (修正液、付箋、はさみ)
プログラミング実習の目的 実戦で役立つ自分を作る プログラムの学習 ものごとを順序立てて考える ひとつの問題を 細かくして考える ノートを活用するチカラ 論理的思考 実戦で役立つ自分を作る
開発環境 ※この画面は写さない。 プリントを後日配ります。 ノートを1ページあけて、貼るスペースを 確保してください。
プログラムの書き方 ①基本的に英小文字 ②適度のコメントを入れる(/*と*/で囲む 又は //よりうしろ) ②適度のコメントを入れる(/*と*/で囲む 又は //よりうしろ) ③mainはプロジェクトの中に1つしか存在が許されない ④#include<stdio.h> int main(void) はおまじない ⑤{ }で囲まれた部分は1段(TAB1個分)下げる。 字下げ (インデント) 美しいプログラムを書くよう心がける あとから見てわかりやすい。他人が見てもわかりやすい。
秘伝 ◎ プログラム上達のコツ ① ② ③ まずは例題を入力して動きをたしかめる(真似) よく解読して、1箇所変えてみる(改造) ◎ プログラム上達のコツ ① ② ③ まずは例題を入力して動きをたしかめる(真似) よく解読して、1箇所変えてみる(改造) 実行結果を予測してから実行。結果を確認する。 (②へ戻る)
レポート 題目 C言語①開発環境 内容 (1)プログラミング実習の目的 (2)開発環境(後日配るプリントをまとめる) (3)プログラムの書き方 (4)考察(C言語について調べたりする) (5)反省・感想
復習1 教科書p.21のプログラムを入力してみよう。 入力が終わったら、実行して動作を確認。 /*2数の和*/ #include<stdio.h> int main(void) { int a, b, wa; a = 20; b = 5; wa = a + b; printf("%d\n" , wa ); return 0; } 入力が終わったら、実行して動作を確認。
チャレンジ 「20」と「5」と書いてある部分を適当な数値に変えて実行してみよう!実行する前に結果を予測しよう! a = 20; b = 5; ? a = 5; b = 5; ? a = 33; b = 0; ? 25 プログラム上達の極意! 例題をちょっと改造して実行。
気付いた事 a と b は 数値(データ)を入れるための箱 → 変数 と wa 20 5 wa a b + 25
気付いた事2 = の 役割 a = 100; 変数 a に 数値の 100 を代入すると言う意味。 代入! =は 右から来たものを左へ = の 役割 a = 100; 変数 a に 数値の 100 を代入すると言う意味。 代入! =は 右から来たものを左へ 受け流している
解説 /*2数の和*/ #include<stdio.h> int main(void) { int a, b, wa; wa = a + b; printf("%d\n" , wa ); return 0; } 変数 a,b,wa を宣言 Cでは変数を使う時はあらかじめ 宣言する(作る)必要がある。 変数a に20を代入 変数b に5を代入 a と b を足し算したものを 変数wa に代入 変数wa の内容を表示 ※実行結果もノートに写す
変数宣言 [書式] 型指定子 変数名1, 変数名2, 変数名3,・・・・ ; (例) int a; ・・・・・・ 整数型の変数aを宣言 型指定子 変数名1, 変数名2, 変数名3,・・・・ ; 型指定子 バイト長 表現範囲 char 文字型 1 半角文字。または、±128ぐらい short int 単長整数型 2 ±32000ぐらいの整数 int 整数型 4 ±21億ぐらいの整数 long int 倍長整数型 〃 float 単精度実数型 ±10±38ぐらいの実数。有効桁数6~7桁。 double 倍精度実数型 8 ±10±308ぐらいの実数。有効桁数15~16桁。 (例) int a; ・・・・・・ 整数型の変数aを宣言 double b, c; ・・・・・・ 倍精度実数型の変数bとcを宣言 char moji; ・・・・・・ 文字型の変数mojiを宣言 int r = 20; ・・・・・・ 整数型の変数rを宣言し、20を代入。 注意!変数名は半角英数字で。但し、予約語は使えない。
例題1 教科書p.25のプログラムを入力してみよう。 入力が終わったら、実行して動作を確認。 /* E2-1 */ /* 文字列の出力 */ #include<stdio.h> int main(void) { printf("computer\n"); printf("programming\n"); return 0; } 入力が終わったら、実行して動作を確認。
例題1 1行節約してみる。 入力が終わったら、実行して動作を確認。 /* E2-1 */ /* 文字列の出力 */ 1行節約してみる。 /* E2-1 */ /* 文字列の出力 */ #include<stdio.h> void main(void) { printf("computer\n"); printf("programming\n"); return 0; } 入力が終わったら、実行して動作を確認。
例題1 解説 注釈 /* E2-1 */ /* 文字列の出力 */ #include<stdio.h> #include指令 解説 「ここからmain関数を書きますよ」 という宣言 注釈 /* E2-1 */ /* 文字列の出力 */ #include<stdio.h> void main(void) { printf("computer\n"); printf("programming\n"); } main関数の始まりの中かっこ #include指令 stdio.hを読み込む 基本的な命令(関数)が格納 されている標準ライブラリ printf関数を使いたいので ディスプレイに「computer」と 表示して改行 ディスプレイに「programming」と 表示して改行 main関数の終わりの中かっこ 中かっこで囲まれた部分{ } は、1段(Tab1個分(4文字ぐらい))下げる。 ところで・・・・ \n って 改行 って事らしいけど・・・ c\no\nm\np\nu\nt\ne\nr\n ってやったらどうなる?
やってみるじゃん エラー! printf("computer\n"); printf("computer"\n);
拡張表記 printfの中で¥とセットで記述する特殊な文字 改行 printf("computer\n"); printf("programing\n"); computer programing \n new line 復帰 printf("computerABCDE\r"); printf("programming\n"); programmingDE \r 1行目に2行目が上書きされた carriage return 後退 printf("computerABCDE\b\b"); printf("programming\n"); computerABCprogramming \b 1行目の末尾が2文字消えた back space
水平タブ printf("A\tAB\tABC\tABCD"); A AB ABC ABCD \t horizontal tab 水平方向の特定の位置へカーソルが 移動している。 Aの位置だけをみると均一である! ベル/アラート hello printf("hello\a"); \a helloを表示する時プーという音がした。 alert, alarm printf("computerABCDE\r"); printf("programming\n"); \r 復帰 carriage return programmingDE 1行目に2行目が上書きされた printf("computerABCDE\b\b"); printf("programming\n"); \b 後退 back space computerABCprogramming 1行目の末尾が2文字消えた
水平タブ printf("A\tAB\tABC\tABCD"); A AB ABC ABCD \t horizontal tab 水平方向の特定の位置へカーソルが 移動している。 Aの位置だけをみると均一である! ベル/アラート hello printf("hello\a"); \a helloを表示する時プーという音がした。 alert, alarm ナル文字 hello, printf("hello,\0world"); \0 \0以降は無いものとして処理される。 NULL (何も無い) 特殊文字の表示 printf("引用符\"、アポストロフィー\'、円マーク\\ 改行\n"); \" \' \\ 引用符"、アポストロフィー'、円マーク\、改行 特殊な文字は\とセットで記述することで表示できる
水平タブ printf("A\tAB\tABC\tABCD"); A AB ABC ABCD \t horizontal tab 水平方向の特定の位置へカーソルが 移動している。 Aの位置だけをみると均一である! ベル/アラート hello printf("hello\a"); \v helloを表示する時プーという音がした。 alert, alarm ナル文字 hello, printf("hello,\0world"); \0 \0以降は無いものとして処理される。 NULL (何も無い) 特殊文字の表示 printf("引用符\"、アポストロフィー\'、円マーク\\ 改行\n"); \" \' \\ 引用符"、アポストロフィー'、円マーク\、改行 特殊な文字は\とセットで記述することで表示できる
8進数で 文字入力 1:S 2:m \数値 printf("1:\123\n2:\155\n"); \123 → 53h → S \155 → 6Dh → m 8進数のコードに基づく文字が表示される 16進数で 文字入力 1:S 2:m \数値 printf("1:\x53\n2:\x6D\n"); 16進数コードに基づく文字表示 ナル文字 hello, printf("hello,\0world"); \0 \0以降は無いものとして処理される。 NULL (何も無い) 特殊文字の表示 printf("引用符\"、アポストロフィー\'、円マーク\\ 改行\n"); \" \' \\ 引用符"、アポストロフィー'、円マーク\、改行 特殊な文字は\とセットで記述することで表示できる
8進数で 文字入力 1:S 2:m \数値 printf("1:\123\n2:\155\n"); \123 → 53h → S \155 → 6Dh → m 8進数のコードに基づく文字が表示される 16進数で 文字入力 1:S 2:m \数値 printf("1:\x53\n2:\x6D\n"); 16進数コードに基づく文字表示 ナル文字 hello, printf("hello,\0world"); \0 \0以降は無いものとして処理される。 NULL (何も無い) 問1 Price \1,980 Now On "SALE" と表示し、更に内蔵ベルを鳴らすプログラムを作りなさい。
8進数で 文字入力 1:S 2:m \数値 printf("1:\123\n2:\155\n"); \123 → 53h → S \155 → 6Dh → m 8進数のコードに基づく文字が表示される 16進数で 文字入力 1:S 2:m \数値 printf("1:\x53\n2:\x6D\n"); 16進数コードに基づく文字表示 ナル文字 hello, printf("hello,\0world"); \0 \0以降は無いものとして処理される。 NULL (何も無い) 問1 Price \1,980 Now On "SALE" と表示し、更に内蔵ベルを鳴らすプログラムを作りなさい。
問1 Price \1,980 Now On "SALE" と表示し、更に内蔵ベルを鳴らすプログラムを作りなさい。 プログラムが完成したら、ソースと、実行画面が同時に見れるようにして 先生を呼んで確認してもらうこと。 それが完了したら、ソースと実行画面をノートに写す。 レポート 題目 C言語① 内容 ①復習1の「ソース」、「解説」、「実行結果」 ②変数宣言についてまとめる ③例題1の「ソース」、「解説」、「実行結果」 ④拡張表記についてまとめる ⑤考察 ⑥反省・感想
8進数で 文字入力 1:S 2:m \数値 printf("1:\123\n2:\155\n"); \123 → 53h → S \155 → 6Dh → m 8進数のコードに基づく文字が表示される 16進数で 文字入力 1:S 2:m \数値 printf("1:\x53\n2:\x6D\n"); 16進数コードに基づく文字表示 レポート 題目 C言語① 内容 ①復習1の「ソース」、「解説」、「実行結果」 ②変数宣言についてまとめる ③例題1の「ソース」、「解説」、「実行結果」 ④拡張表記についてまとめる ⑤考察 ⑥反省・感想