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