プログラミング入門2 第1回 導入 情報工学科 篠埜 功.

Slides:



Advertisements
Similar presentations
第 2 章 数値の入力と変数 scanf と変数をやります 第 2 章 数値の入力と変数 1. 以下のプログラムを実行してみよう  C 言語では文の最後に「 ; 」(セミコロン)が付きます 第 2 章 数値の入力と変数 2 #include int main() { int x; x = 3; printf("x.
Advertisements

システムプログラミング 情報工学科 篠埜 功 情報工学科 3 年生対象 専門科目 第5回 シェルスクリプトの続 き レポート課題 main 関数の引数 usage メッセージ.
プログラミング入門2 第1回 イントロダクション 芝浦工業大学情報工学科 青木 義満
初年次セミナー 第8回 データの入力.
プログラミング入門2 第1回 導入、型と演算、条件分岐、式の評価 情報工学科 篠埜 功.
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
プログラミング入門2 第4回 配列 for文 変数宣言 初期化
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
情報基礎演習B 後半第5回 担当 岩村 TA 谷本君.
プログラミング入門2 第10回 動的な領域確保 情報工学科 篠埜 功.
第2章 数値の入力と変数 scanfと変数をやります.
ファーストイヤー・セミナーⅡ 第8回 データの入力.
配列(2) 第10回[平成15年6月26日(木)]:PN03-10.ppt 今日の内容 1 素数を求める(教科書の例):復習
6/19 前回復習 for文による繰り返し計算 演習1:1から10まで足して画面に結果を表示する 提出者: 1人
プログラミング入門2 第1回 導入、型と演算、条件分岐、式の評価 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
プログラミング言語論 第6回 型 情報工学科 篠埜 功.
IT入門B2 (木曜日1限) 第一回 講義概要 2004年月9日30日.
情報科学1(G1) 2016年度.
配列の扱い、探索 有効範囲と記憶域期間 第12回 [7月10日、H.15(‘03)] 今日のメニュー 1 前回の課題の復習
プログラミング演習Ⅰ 課題2 10進数と2進数 2回目.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
精密工学科プログラミング基礎 第9回資料 (12/11 実施)
初年次セミナー 第2回 文字の出力.
プログラミング入門2 第2回 複合文、繰り返し 情報工学科 篠埜 功.
プログラミング入門2 第3回 繰り返し文 芝浦工業大学情報工学科 青木 義満
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
学籍番号順に着席のこと 001~056までは741教室へ 057~110までは743教室へ
プログラミング入門2 第8回 ポインタ 情報工学科 篠埜 功.
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
プログラミング入門2 第11回 情報工学科 篠埜 功.
プログラミング入門2 第11回 情報工学科 篠埜 功.
第7回 プログラミングⅡ 第7回
プログラミング演習(’04) ・ガイダンス ・簡単なプログラムの作成 ・aucopyの練習 ・今日の課題・宿題
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
プログラミング基礎B 文字列の扱い.
岩村雅一 知能情報工学演習I 第9回(後半第3回) 岩村雅一
精密工学科プログラミング基礎Ⅱ 第4回資料 今回の授業で習得してほしいこと: 文字列の扱い ファイル入出力の方法 コマンドライン引数の使い方
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
プログラミング入門2 第10回 構造体 情報工学科 篠埜 功.
情報工学科 3年生対象 専門科目 システムプログラミング 第4回 シェルスクリプト 情報工学科 篠埜 功.
C言語 はじめに 2016年 吉田研究室.
プログラミング入門2 第9回 ポインタ 情報工学科 篠埜 功.
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
プログラミング入門2 第13回、14回 総合演習 情報工学科 篠埜 功.
プログラミング入門 電卓を作ろう・パートI!!.
第5回 プログラミングⅡ 第5回
プログラミング入門2 第5回 配列 for文 変数宣言 初期化
プログラミング入門2 第2回 型と演算 条件分岐 篠埜 功.
標準入出力、変数、演算子、エスケープシーケンス
情報実習I (第1回) 木曜4・5限 担当:北川 晃.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
情報工学科 3年生対象 専門科目 システムプログラミング 第3回 makeコマンド 動的リンクライブラリ 情報工学科 篠埜 功.
プログラミング入門2 第6回 関数 情報工学科 篠埜 功.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
湘南工科大学 2013年10月22日 情報理論2 湘南工科大学情報工学科 准教授 小林 学.
プログラミング入門2 第5回 配列 変数宣言、初期化について
プログラミング入門2 第3回 条件分岐(2) 繰り返し文 篠埜 功.
printf・scanf・変数・四則演算
第2章 数値の入力と変数 scanfと変数をやります.
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります.
岩村雅一 知能情報工学演習I 第9回(C言語第3回) 岩村雅一
Presentation transcript:

プログラミング入門2 第1回 導入 情報工学科 篠埜 功

講義情報 担当教員 篠埜 功 居室 豊洲校舎 14階 14K32 E-mail: sasano@sic.shibaura-it.ac.jp 講義用web page http://www.sic.shibaura-it.ac.jp/~sasano/lecture/lecture.html ここへ毎回講義用資料を置く。 時間・場所 月曜日 3~4限 2号館PC実習室6,7,8 12:50-13:10はホームルームの時間とする。 11/21(月) 中間試験(3限のみ) 持ち込み不可 1/16(月) 期末試験(3限のみ) 持ち込み不可 1回目 プログラミング入門2

本講義(演習)の目的 現在世界で広く用いられているC言語に触れる。 → C言語を知っていればJava, C++,C#等、Cの影響を受けている言語の理解にも役立つ。 C言語を通して、プログラミングをする際に必要な考え方を身につける。 C言語のすべてを扱うには時間が足りないので、C言語の核となる部分のみを扱う。 扱わなかった内容は各自で教科書等を読んで補う。(他人の書いたプログラムを読むためには、あらゆる構文に対応できる必要がある。必要に応じて補う。) 1回目 プログラミング入門2

講義情報 授業の進め方 評価方法 内容説明(3限) 内容説明(3限)  演習課題(4限) ---第12回までは毎回、基本課題を2問ずつ出題する(1問0.5点)。できた人はTAに確認してもらう。その日に終わらなかったら次の回に確認してもらう。次回以降でも受け付けるが、なるべく早めに終わらせる。(中間試験があるので、この部分は11回分で合計11点。) 基本課題が2問ともできて時間に余裕がある人は発展課題を解いてTAに確認してもらう。 第13回は総合演習とする。出題は第12回に行う。3問出題する(1問1点、計3点)。 演習の合計得点は14点。(端数が出た場合は切り上げる。) 演習問題の解答のTAによる確認の締め切りは第13回の終了時(16:10)とする。これ以降は受け付けない。 評価方法 授業時の演習 (14点) 中間試験 (36点) --- 筆記試験 期末試験 (50点) --- 筆記試験 出欠、遅刻は記録するが、得点には算入しない。 1回目 プログラミング入門2

教科書、参考書 教科書 参考書 新版明解C言語入門編,柴田望洋著, 2,310円, ソフトバンククリエイティブ 新版明解C言語実践編, 柴田望洋著, 2,310円, ソフトバンククリエイティブ 図解C言語 ポインタの極意, 柴田望洋著, 2,520円, ソフトバンククリエイティブ 新ANSI C言語辞典, 平林雅英著, 2,300円,技術評論社(現在入手困難) (推奨はしない) プログラミング言語C, カーニハン, リッチー, 石田晴久訳, 共立出版 ISO規格書 規格番号 ISO/IEC 9899:1999 Programming languages – C (日本規格協会から入手可能。3-4万円程度。) 1回目 プログラミング入門2

講義スケジュール(予定) 第1回 導入(入出力のある簡単なプログラムの実行) 第2回 型と演算、条件分岐、式の評価 第3回 複合文、繰り返し、ラベル 第4回 式文、代入式、論理演算子、ループの脱出、スキップ 第5回 配列、変数宣言、初期化 第6回 関数 第7回 基本型、文字列 第8回 中間試験(持ち込み不可) 第9回 ポインタ 第10回 構造体 第11回 動的な領域確保 第12回 種々の構文の紹介、ファイル、総合演習課題出題 第13回 総合演習 第14回 期末試験(持ち込み不可) 1回目 プログラミング入門2

TeraTermを起動し、oli.shibaura-it.ac.jpへログイン 準備 TeraTermを起動し、oli.shibaura-it.ac.jpへログイン 1回目 プログラミング入門2

プログラムのコンパイル、実行の手順(例) mkdirコマンドで自分の好きなディレクトリ(1kaiなど)を作成する。 $ mkdir 1kai ($はプロンプト。各自、設定により異なる) cdコマンドでそのディレクトリへ移動 $ cd 1kai emacsコマンドでEmacsを起動 $ emacs Emacs上でファイルを開く(C-x C-fの後ファイル名(test.cなど)を入力) プログラムを記述した後、保存(C-x C-s) Emacsを終了する(C-x C-c)か、あるいは中断する(C-z) gccコマンドでコンパイル $ gcc test.c –o test 実行 $ ./test test.cを再編集する場合は、Emacsをemacsコマンドでもう一度起動する(さきほど終了した場合)か、あるいはfgコマンドで再開させる(さきほど中断した場合)。 注意: プログラムは(日本語部分以外は)半角英数字で記述する 1回目 プログラミング入門2

例(打ち込んで実行) 前ページの手順で、上記プログラムを実行してください。 #include <stdio.h> int main (void) { printf(“test\n”); return 0; } 前ページの手順で、上記プログラムを実行してください。 注意: C言語プログラムのファイル名は.cで終わる名前にしてください。(gccがファイル名の拡張子部分を見るため) 1回目 プログラミング入門2

コンパイル時にエラーになった場合 全て(スペースも)半角英数字で書く。 記号の書き忘れに注意する。 1回目 プログラミング入門2

改行について さきほどのプログラムで、1行目以外は改行をしなくてもよい。例えば、以下のプログラムはさきほどのプログラムと同じ意味である。 #include <stdio.h> int main (void) { printf(“test\n”); return 0;} [注意事項] #includeの行は特別で、改行が必要である。 int, main, void, printf, returnなどの途中で改行してはいけない。 空白がある場所は自由に改行してよい(ダブルクォートの中、#includeの行は除く)。 1回目 プログラミング入門2

printf関数 ~ 文字列を表示する関数 printf関数により、画面上に文字列を表示させることができる。 printf( “test” ); のように、””の中に表示したい文字列を入れる。 改行させたい時は、改行文字\nを入れる。 printf (“test1\ntest2\n”); などに変えてコンパイルして確認せよ。 1回目 プログラミング入門2

コメント(打ち込んで確認) ソースファイル中の /* と */ に挟まれた部分はコメント。 ソースファイル中の /* と */ に挟まれた部分はコメント。   → コンパイル時に取り除かれる。複数行に渡っていてもよい。 プログラムを読みやすくするために適切なコメントをつける。 ファイル名は自分で自由に考えてつけてください。 名前の部分は自分の名前に置き換えてください。 /* 挨拶して自己紹介する プログラム */ #include <stdio.h> int main (void) { /* 挨拶、名前を表示して、改行 */ printf ( “こんにちは。\n私の名前は篠埜です。\n” ); return 0; } 1回目 プログラミング入門2

注意 コメントの中にコメントを書くことはC言語では許されていない。 /* 挨拶して自己紹介するプログラム /* test */ */ /* 挨拶して自己紹介するプログラム /* test */ */ #include <stdio.h> int main (void) { /* 挨拶、名前を表示して、改行 */ printf ( “こんにちは。\n私の名前は篠埜です。\n” ); return 0; } 上記のようにコメントの中にコメントを書くと、 1-2行目がコメントとなり、3行目で(コンパイル時に)エラーになる。 1回目 プログラミング入門2

数字の表示(打ち込んで実行) /* 2つの整数の和を計算して表示するプログラム */ #include <stdio.h> 2つの整数の和を計算して、その値を表示するプログラム /* 2つの整数の和を計算して表示するプログラム */ #include <stdio.h> int main (void) { printf( “15と37の和は%dです。\n”, 15 + 37); return 0; } 1回目 プログラミング入門2

int x; 変数 変数とは、数値などのデータを 格納するための箱である (数値などのデータを格納する場所に名前を付ける) 57 X 計算の途中結果を保持しておくために変数を用いる。 変数とは、数値などのデータを 格納するための箱である (数値などのデータを格納する場所に名前を付ける) 57 整数値 変数は使用前に宣言しなければならない。 変数xは、整数値を入れることのできる int 型の箱である。 int x; X 変数の名前 型の名前 整数の場合、int (integer の略) 1回目 プログラミング入門2

変数の値を表示するプログラム(打ち込んで実行) /* 整数値を変数に代入し、 表示するプログラム */ #include <stdio.h> int main(void) { int x; x = 80; printf (“x=%d\n”, x); return 0; } int型の変数 x の宣言 変数xに整数値80を代入 画面へ表示 1回目 プログラミング入門2

int x ; x = 50 ; 代入 代入 50 X 代入演算子: 右辺の値を左辺に代入する 代入演算子: 右辺の値を左辺に代入する 注: 「xと50が等しい」という意味ではない。 代入 50 整数値 X xという箱に50を入れる。 1回目 プログラミング入門2

点数の合計を計算して表示するプログラム(打ち込んで確認) /* 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

キーボードからのデータ入力 実行時にキーボードから点数を入力したい場合、 scanf関数を用いる。 前のプログラム : 点数のデータをプログラム中で記述。 → 点数の値を変更するたびにコンパイルして実行する必要がある。 実行時にキーボードから点数を入力したい場合、 scanf関数を用いる。 1回目 プログラミング入門2

例(打ち込んで確認) /* twice.c キーボードから値を入力し、2倍した値を表示するプログラム */ #include <stdio.h> int main (void) { int x; printf( “整数を入力してください: ”); scanf (“%d”, &x); printf(“その数の2倍は%dです。\n”, 2*x); return 0; } 文字化けの問題がある人は文字コードをutf-8にしてください。 nkfだと-wオプションを指定。EmacsだとC-x RET f の後utf-8を入力。 1回目 プログラミング入門2

今日の課題(基本課題) printf関数を用いて、 ・自分の名前 ・出身地 ・趣味 を表示するプログラムを作成せよ。(kadai1-1.c)    ・自分の名前    ・出身地    ・趣味   を表示するプログラムを作成せよ。(kadai1-1.c) (プログラム中に名前等を直接書いてよい。) 2. 数学、英語、国語の3科目の点数をキーボードから入力し、その合計点を表示するプログラムを作成せよ。(kadai1-2.c) 1回目 プログラミング入門2

発展課題1 (基本課題が2問ともできた人用) 問2において、3科目の平均点(整数値)の表示も行うようにせよ。 ヒント:合計点を3で割ればよい。割り算は、/を用いる。例えば、合計が200の場合、それがgoukeiという変数に入っていると、goukei/3で66が得られる。 1回目 プログラミング入門2