プログラミング入門2 第1回 導入 情報工学科 篠埜 功 講義情報 担当教員 篠埜 功 居室 豊洲校舎 14階 14K32 E-mail: [email protected] 講義用web page http://www.sic.shibaura-it.ac.jp/~sasano/lecture/lecture.html ここへ毎回講義用資料を置く。 時間・場所 月曜日 3~4限 大学会館2階 実習室 12:50-13:10はホームルームの時間とする。 第8回 11/16(月) 3限 中間試験 第15回 1/18(月) 3限 期末試験 1回目 プログラミング入門2 2 本講義の目的 現在世界で広く用いられているC言語に触れる → C言語を知っていればJava, C#等、Cの影響を受けて いる言語の理解に役立つ。 C言語を通して、プログラミングをする際に必要な考え方を 身につける 1回目 プログラミング入門2 3 講義情報 授業の進め方 内容説明(3限) 演習問題(4限) ---第12回までは毎回2問ずつ出題する(1問 0.5点)。できた人はTAに見てもらう。次の回までに解くこととするが、 それより遅れて提出しても期限内と同等の扱いとする。 第13回、14回は総合演習とし、3問出題する(1問1点)。 演習の合計得点は14点。(端数が出た場合は切り上げる。) 演習問題の解答の締め切りは第14回の終了時(16:20)とする。こ れ以降は受け付けない。 評価方法 授業時の演習 (14点) 中間試験 (36点) 期末試験 (50点) 出欠、遅刻は記録するが、得点には算入しない。 1回目 プログラミング入門2 4 教科書、参考書 教科書 新版明解C言語入門編,柴田望洋著, 2,310円, ソフトバンククリエイティブ 参考書 新版明解C言語実践編, 柴田望洋著, 2,310円, ソフトバンククリエイティブ 図解C言語 ポインタの極意, 柴田望洋著, 2,520円, ソフトバンククリエイティブ 新ANSI C言語辞典, 平林雅英著, 2,300円 (推奨はしない) プログラミング言語C, カーニハン&リッチー, 共立出版 1回目 プログラミング入門2 5 講義スケジュール(予定) 導入 演算と型 分岐 繰り返し 配列 関数1 関数2,文字列 ファイル入出力 中間試験(持ち込み不可) ポインタ1 ポインタ2 構造体 まとめの演習(総合演習課題3問) 期末試験(持ち込み不可) 1回目 プログラミング入門2 6 準備 TeraTermを起動し、oli.shibaura-it.ac.jpへログ イン 2つのターミナルを使用するとよい。 1つはemacs用 として使う 1つはコマンド実行用として使う 1回目 プログラミング入門2 7 まずはプログラムを書いて動かしてみよう ディレクトリの作成 mkdir エディタを起動 emacs プログラムを記述して保存 (test.c) コンパイル gcc test.c -o test ソースファイル名 出力ファイル名(コンパイル結果を格納するファイル) コンパイルコマンド 実行 出力ファイル名 指定オプション ./test 注意: プログラムは半角英数字で記述する 1回目 プログラミング入門2 8 例 (1) まず、以下を中身とするファイルtest.cを作成する。 #include <stdio.h> int main () { printf(“test”); return 0; } (2) コンパイル gcc test.c –o test (3) 実行 ./test 1回目 プログラミング入門2 9 コンパイル時にエラーになった場合 全て半角英数字で書かれているか? スペースも半角 (), ””(ダブルクォーテーション)などに注意する。 文の最後に;(セミコロン)を書き忘れていないか。 1回目 プログラミング入門2 10 コンパイル方式とインタプリタ方式 コンパイル方式 プログラムをコンピュータが直接実行できる形(機械語)に翻訳する方 式 インタプリタ方式 プログラムを1行ずつ解釈しながら実行する方式 コンパイル方式の方が実行速度は速い。(コンパイル時間は かかるが) 1回目 プログラミング入門2 11 printf関数 ~ 文字列を表示する関数 printf( “test” ); のように、””の中に表示したい文字列を入れる。 改行させたい時は、改行文字\nを入れる。 printf (“test1\ntest2\n”); などに変えてコンパイルして確認せよ。 1回目 プログラミング入門2 12 コメント ソースファイル中の /* と */ に挟まれた部分はコメント。 → コンパイル時に取り除かれる。複数行に渡っていてもよい。 プログラムを読みやすくするために適切なコメントをつける。 /* name.c 挨拶して自己紹介する プログラム */ #include <stdio.h> int main (void) { /* 挨拶、名前を表示して、改行 */ printf ( “こんにちは。\n私の名前は篠埜です。\n” ); return 0; } 1回目 プログラミング入門2 13 注意 コメントの中にコメントを書くことはCでは許されていない。 /* name.c 挨拶して自己紹介する プログラム /* test */ */ #include <stdio.h> int main (void) { /* 挨拶、名前を表示して、改行 */ printf ( “こんにちは。\n私の名前は篠埜です。\n” ); return 0; } 上記のようにコメントの中にコメントを書くと 3行目までがコメントとなり、コンパイル時にエラーになる。 1回目 プログラミング入門2 14 数字(計算結果)の表示 2つの整数の和を計算して、その値を表示するプログラム /* 2つの整数の和を計算して表示するプログラム */ #include <stdio.h> int main (void) { printf( “15と37の和は%dです。\n”, 15 + 37); return 0; } 早速書いて実行してみよう! 1回目 プログラミング入門2 15 変数 計算の途中結果を保持しておくために変数を用いる。 変数とは、数値などのデータを 格納するための箱である (数値などのデータを格納する場所に名前を付ける) 57 変数は使用前に宣言しなければならない。 整数値 int x; 型名 X 変数の名前 (わかりやすい名前をつける) 変数xは、整数値を入れることのできる int 型の箱である。 整数の場合、int (イント: integer の略) 1回目 プログラミング入門2 16 変数の値を表示するプログラム ファイル名: hensuu1.c /* 2つの整数値を変数を使って表示するプログラム */ #include <stdio.h> int main(void) { int x; int y; x = 80 ; y = 65 ; int型変数 x, y の宣言 変数の宣言はブロックの先頭(中括弧 の直後)で行う。 変数に整数値データを代入 printf( “変数 x に入っているデータは%dです。\n”, x ); printf( “変数 y に入っているデータは%dです。\n”, y ); 表示 return 0; } 1回目 プログラミング入門2 17 代入 int x ; x = 50 ; 代入演算子: 右辺の値を左辺に代入する 注: 「xと50が等しい」という意味ではない。 代入 50 X 整数値 xという箱に50を入れる。 1回目 プログラミング入門2 18 点数の合計を計算して表示するプログラム /* tensuu.c 2科目の点数の合計を表示するプログラム */ #include <stdio.h> int main (void) { int sugaku; int english; int goukei; sugaku = 90; english = 75; goukei = sugaku + english; printf (“sugaku=%d, english=%d, goukei=%d\n”, sugaku, english, goukei); return 0; } 1回目 プログラミング入門2 19 キーボードからのデータ入力 前のプログラム : 点数のデータをプログラム中で記述。 → 点数の値を変更するたびにコンパイルして実行する必要がある。 実行時にキーボードから点数を入力したい場合、 scanf関数を用いる。 1回目 プログラミング入門2 20 キーボードからのデータ入力と表示 ~ scanf 関数 /* twice.c キーボードから値を入力し、2倍した値を表示するプログラム */ #include <stdio.h> int main (void) { int x; printf( “整数を入力してください: ”); scanf (“%d”, &x); printf(“その数の2倍は%dです。\n”, 2*x); return 0; } 1回目 プログラミング入門2 21 今日の課題(第1回) 1. printf関数を用いて、 ・自分の名前 ・出身地 ・趣味 を表示するプログラムを作成せよ。(kadai1-1.c) (プログラム中に直接書いてよい。) 2. 数学、英語、国語の3科目の点数をキーボードから入力し、その 合計点を表示するプログラムを作成せよ。(kadai1-2.c) 1回目 プログラミング入門2 22
© Copyright 2024 ExpyDoc