プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)

Slides:



Advertisements
Similar presentations
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
Advertisements

2014年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
2015年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
応用理工学情報処理 第1回(2015年10月 5日) 月曜日担当 前島展也 Manaba
Java I 第2回 (4/18)
プログラミング入門 (教科書1~3章) 2005/04/14(Thu.).
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
第1回プログラミング入門 (教科書1~3章).
2013年度 プログラミングⅡ ~ Cプログラミングやってみよう ~.
ファイルやフォルダを検索する ①「スタート」→「検索」→「ファイルとフォルダ」とクリックする。
ゲームプログラミング講習 第1章 DXライブラリ入門
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
プログラミング入門2 第1回 導入 情報工学科 篠埜 功.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
プログラミングとは Q.プログラムとは何か? A.コンピュータを制御するための,コンピュータに対する命令(指示)の集まり.
プログラミング演習II 2004年10月19日(第1回) 理学部数学科・木村巌.
xxxxxx . yyy xxxxxx Linuxにおける情報管理 一般的なファイル UNIX における情報管理の単位 ファイルの種類を表す
情報工学科 二宮 洋・鈴木 誠 小林 学・高畠俊徳 火曜日 1コマ目
初年次セミナー 第2回 文字の出力.
Cygwin の install.
データベース設計 第9回 Webインタフェースの作成(1)
Linux にログインし、以下の講義ページを開いておくこと
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
Linux にログインし、以下の講義ページを開いておくこと
Linux にログインし、以下の講義ページを開いておくこと
ネットワークプログラミング 中村 修.
関数の定義.
プログラミング応用 printfと変数.
第10回関数 Ⅱ (ローカル変数とスコープ).
リダイレクト パイプ 標準入出力プログラム コマンド行引数 関数 system()
コマンドプロンプトの起動と終了 最初に覚えるコマンド ディレクトリ構造とパス 各種コマンドの練習 Cコンパイルとプログラムの実行
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
高度プログラミング演習 (02).
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
地域情報学 C言語プログラミング 第1回 導入、変数、型変換、printf関数 2016年11月11日
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
Borland C++ のインストール 教科書 pp
UNIX演習 情報ネットワーク特論.
環境システム科学演習(後半) FORTRAN & C(以降FORTRANと省略して呼びます)は富士通
2017年度 プログラミングⅡ ~ はじめてのプログラミング ~.
Borland C++ のインストール.
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
C言語 はじめに 2016年 吉田研究室.
UNIX演習 情報ネットワーク特論資料.
高度プログラミング演習 (01).
第1章 いよいよプログラミング!! ~文章の表示 printf~
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
地域情報学 C言語プログラミング 第1回 導入、標準出力、変数 2017年10月13日
2013年度 プログラミングⅠ ~ はじめてのプログラミング ~.
地域情報学 C言語プログラミング 第2回 変数・配列、型変換、入力 2017年10月20日
コンパイラ 2012年10月1日
第5回 プログラミングⅡ 第5回
標準入出力、変数、演算子、エスケープシーケンス
エクスプローラ ● エクスプローラ: ファイルやフォルダを階層構造で表示してあり、これらを操作するのに便利。
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
Cp-1. Microsoft Visual Studio 2019 C++ の使い方 (C プログラミング演習,Visual Studio 2019 対応) 金子邦彦.
単語登録(1) ◎MS-IMEの「単語登録」に、単語、語句、記号など自分がよく使うものを登録しておくと、便利である。
情報処理Ⅱ 2005年11月25日(金).
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
printf・scanf・変数・四則演算
計算技術研究会 第5回 C言語勉強会 関数(function)を使う
岩村雅一 知能情報工学演習I 第7回(後半第1回) 岩村雅一
第1章 文字の表示と計算 printfと演算子をやります 第1章 文字の表示と計算.
プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)
第1章 文字の表示と計算 printfと演算子をやります.
Presentation transcript:

プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。) C言語入門 プログラミング言語Ⅰ(実習を含む。), 計算機言語Ⅰ・計算機言語演習Ⅰ, 情報処理言語Ⅰ(実習を含む。)

本日の内容 授業予定日の確認 授業教材の指示 C言語用プログラミング環境の整備 C言語プログラミングの導入部分

授業予定日の確認 授業予定日の変更があります 本来の授業予定日: ただし以下の授業予定日は出張のため、翌日または翌々日に変更になります。 毎週金曜日 7,8,9,10 時限 4/10、 4/17、 4/24、 5/1、 5/15、 5/22、 5/29、 6/5、 6/12、 6/19、 6/26、 7/3、 7/10、 7/17、 7/24、 7/31 以上16回、最終日は期末試験 ただし以下の授業予定日は出張のため、翌日または翌々日に変更になります。 金曜日: 4/24、5/22、6/19、7/10 休講 土曜日: 4/25、5/23、6/20、7/11 補講候補日1 日曜日: 4/26、5/24、6/21、7/12 補講候補日2

授業変更日の確認 4月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 5月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 6月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 7月 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

教材のページ 修学支援システムの講義情報から Moodle【学内外版】へ

コマンドプロンプト キーボードから直接命令を入力して実行する時に使います。本講義ではC言語によるプログラムのソースコードをコンパイル(=機械語に翻訳)する場合等に利用する。

コマンドプロンプトを開く キーボードから「田」を押したまま「R」を押して「ファイル名を指定して実行」を開く。 「田+R」のように表記された場合、慣例として上記のような複数キー同時押しを意味する。 「ファイル名を指定して実行」 の「名前」の欄に「cmd」と入力し、 「ENTER」キーを押すか、「OK」ボタンをクリックする。 「スタート」ボタンから、「すべてのプログラム」→「アクセサリ」→「コマンドプロンプト」でも開ける。

コマンドプロンプトの設定項目 「簡易編集モード」をONにしておくと、マウスの左右ボタンだけでコピペ出来る。

コマンドプロンプトの設定 ウインドウ左上のアイコンをクリックするとメニューが出る。 「プロパティ」で現在開いているプロンプトのみ、「規定値」で次回以降開くプロンプト全てに対する設定を変更出来ます。

コマンドプロンプトと作業ディレクトリ 「作業ディレクトリ」とはコマンドプロンプトで作業した際に、ファイルが入出力されるディレクトリの事。 ディレクトリとはフォルダの別の言い方。 つまり「ディレクトリ=フォルダ」 通常、コマンドプロンプトを開いた初期状態では、ユーザーのホームまたはプロファイルのディレクトリが作業ディレクトリ。

作業ディレクトリとコマンド コマンドプロンプトで「explorer .」と入力して ENTER キーを押す。 プログラムの実行ファイル名)で、スペースで区切って与えた「.」はコマンドライン引数と言います。この場合「.」は、現在の作業ディレクトリを表す。 「explorer」とは、Windows上で、いつもファイルを操作しているこのウインドウの事。

本来のディレクトリ名 explorer 上では本来のディレクトリ名が日本語も用いて分かり易く(?)表示されている。 異なる名前に見える ここをクリックすると、コマンドプロンプト上の作業ディレクトリの表示と一致していることが確認出来る。 これが本来のディレクトリ名 explore 以外ではこちらを使う。 「C:\Users\kou」は C ドライブの Users フォルダの中にある kou フォルダを意味する。

プログラミング言語、計算機言語、 情報処理言語とは? コンピュータに命令するための人工言語 AWK, BASIC, C, C++, C#, D, ECMAScript, Erlang, Fortran, F#, Haskell, Java, JavaScript, Lisp, Objective-C, OCaml, Perl, PHP, Python, Ruby, Smalltalk, Tcl, 等々

プログラムとは? 値の保存・参照、各種演算、条件分岐等を組み合わせた計算の手順 処理 データ 参照 偽 条件判定 処理 真 保存 処理

プログラムが出来ると 何が良いのか? コンピュータに仕事をやってもらえる!!! 工作の世界も広がる!!! 楽しい!!! 仕事にもあぶれない? ルーチンワークからの解放 工作の世界も広がる!!! 最近は Arduino 等の安くて高機能なキットがある http://thinkit.co.jp/story/2013/02/12/3960 楽しい!!! 遊び方は遊ぶ人次第 仕事にもあぶれない? Facebook元役員「プログラミングを学ぶのなら、生涯仕事に困らないことを私が保証しよう。」 http://goo.gl/I8nCDm

C言語 AT&T の Bell 研で UNIX を作ってた Brian Wilson Kernighan と Dennis MacAlistair Ritchie らによって UNIX を作成するための言語として生まれた。 K&R 「プログラミング言語C」がC言語のバイブルと言われる所以。

世界で最も有名なプログラム K&R の最初に出て来るプログラム hello.c 1 2 3 4 5 6 #include <stdio.h> main() { printf("hello, world\n"); } mintty + bash + GNU C $ gcc hello.c && ./a hello, world

世界で最も有名なプログラム K&R の最初に出て来るプログラム hello.c 1 2 3 4 5 6 #include <stdio.h> main() { printf("hello, world\n"); } ヘッダファイル(stdio.h)の取り込み main関数の定義 文字列の表示 mintty + bash + GNU C $ gcc hello.c && ./a hello, world プログラムのソースコードを コンパイルして実行

ヘッダファイル stdio.h 多くの入門書ではおまじないとして紹介 1 2 3 4 5 6 hello.c 1 2 3 4 5 6 #include <stdio.h> main() { printf("hello, world\n"); } ヘッダファイル(stdio.h)の取り込み printf 関数の呼び出し ・C言語は言語本体だけでは、四則演算、条件分岐、繰り返し等の基本的な処理以外ほとんど何も出来ない。 ・文字列の入出力や数学の関数等、基本的かつ必要性の高い機能は、標準ライブラリと呼ばれる、サブルーチン集として用意されている。 ・printf 関数は stdio.h (= STanDard Input Output Header file) で提供されている。 mintty + bash + GNU C $ gcc hello.c && ./a hello, world

C言語のプログラム コンパイラにより実行形式に変換する Preprocessor Source files Executable file .h ファイル Source files Preprocessor 実行ファイル Executable file C compiler .o ファイル Object files linker

C コンパイラによるコンパイル Cygwin の mintty で bash から gcc で行った例 $ ls hello.c $ gcc hello.c a.exe hello.c $ ./a hello, world ファイル一覧の表示 コンパイル ファイル一覧の表示 作成した実行ファイルを実行

Windows Help (.chm) 版を入れておくと便利です。 C/C++ リファレンス http://www.cppll.jp/cppreference/ Windows Help (.chm) 版を入れておくと便利です。

C 言語の規則 各処理の末尾はセミコロン「;」で終端する。 1 2 3 4 5 6 #include <stdio.h> hello.c 1 2 3 4 5 6 #include <stdio.h> main() { printf("hello, world\n"); } これがないとコンパイル時にエラーとなる。

セミコロン「;」を忘れたエラーの例 各処理の末尾はセミコロン「;」で終端する。 1 2 3 4 5 6 hello_err.c 1 2 3 4 5 6 #include <stdio.h> main() { printf("hello, world\n") } 本当はここに「;」が必要。 mintty + bash + GNU C $ gcc hello_err.c hello_err.c: 関数 ‘main’ 内: hello_err.c:6:1: エラー: expected ‘;’ before ‘}’ token } ^

エラーの例 hello.c の 関数「main」の内にある 6 行目の1文字目にあるトークン「}」の前に「;」が(あることが)予想されますよ、と言っている。 mintty + bash + GNU C $ gcc hello_err.c hello_err.c: 関数 ‘main’ 内: hello_err.c:6:1: エラー: expected ‘;’ before ‘}’ token } ^

C 言語の規則 { } で複数の処理をまとめる。 1 2 3 4 5 6 7 #include <stdio.h> main() hello1.c 1 2 3 4 5 6 7 #include <stdio.h> main() { printf("hello"); printf(", world\n"); } { } の間に ; で終端された複数の処理を書いてよい。

C 言語の規則 " " で囲まれた部分は文字列 1 2 3 4 5 6 7 #include <stdio.h> main() hello1.c 1 2 3 4 5 6 7 #include <stdio.h> main() { printf("hello"); printf(", world\n"); } { } の間に ; で終端された複数の処理を書いてよい。

C 言語の構造 プログラムは関数の形でまとめる。 1 2 3 4 5 6 戻り値の型 関数名(引数の宣言, ...) { // 処理; 関数定義の書式 1 2 3 4 5 6 戻り値の型 関数名(引数の宣言, ...) { // 処理; // ... // return 戻り値; } 関数は上記のように定義し、( ) の中に書かれた引数で(呼び出し元や呼び出し先の)他の関数と値の受け渡しを行う。

C 言語の規則 プログラムは main 関数から実行される。 1 2 3 4 main() { // ここに処理を書く } main.c 1 2 3 4 main() { // ここに処理を書く } これは何もしないで終わるだけのプログラム。 // から行末までと /* から */ までは プログラムとして解釈はされない。 コメントと呼ばれる要素で、 メモや覚書として主に人間が読む際の注釈を書くために使う他、一時的にプログラムの一部を無効にするために使う。 mintty + bash + GNU C $ gcc main.c && ./a

宿題 次回までに以下の事をやっておくこと。 教科書の第1章までを読み、指示された操作を試して動作を確認する。 不明な点、疑問点についてメモし、次回の授業に持参する。または、本講義の Moodle コース上にある第1週宿題用フォーラムに書き込んでおく。