プログラミング演習Ⅱ ガイダンス

Similar documents
プログラミング演習Ⅱ ガイダンス

スライド 1




Microsoft PowerPoint - InfPro_I6.pptx

Step2 入門

Microsoft Word - 51プログラム名簿目次070913w.doc

練習 4 ディレクトリにあるファイルを直接指定する (cat) cat コマンドを使う (% cat ファイル名 ) と ファイルの内容を表示できた ファイル名のところにパス名を使い ディレクトリ名 / ファイル名 のように指定すると ディレクトリ内にあるファイルを直接指定できる 1 % cat _

第 3 回情報基礎演習 UNIX / Linux: ファイルシステム シェルを理解しよう! 谷口貴志 Panda に login し 情報基礎演習クラスの VDI から Ubuntu に接続し Linux に login した後, 左 上の Activity 端末のアイオン をクリック 端末 を立ち

01_SWGuide_V8.50.fm

Javaと.NET

目次情報

学習内容と日常生活との関連性の研究-まえがき・概要・目次

™…

ii

3.Cygwin で日本語を使いたい Cygwin で以下のコマンドを実行すると それ以降 メッセージが日本語になります export LANG=ja_JP.UTF-8 これは 文字コードを日本語の UTF-8 に設定することを意味しています UTF-8 は Cygwin で標準の文字コードで, 多

パソコン機能ガイド

パソコン機能ガイド

SPP24_Program_WOC(J)-15

Microsoft PowerPoint - スハ?コン利用入門_ _UNIX利用の基礎知識.pptx

2004年度日本経団連規制改革要望

困ったときのQ&A

I

困ったときのQ&A

PowerPoint プレゼンテーション - 物理学情報処理演習

1 ログインとログアウト 1.1 ログイン ログイン画面で [ password ] 欄にパスワードを入力します (図 1) 図 1 ログイン画面 正しくログインができると Ubuntu のデスクトップ画面 図2 が表示されます 図2 Ubuntu デスクトップ画面 2


困ったときのQ&A

『保守の比較政治学』

k_seminar_hands_on_for_linux_beginner.pptx

はしがき・目次・事例目次・凡例.indd

01: 講義概要

vi アハ ート2 アハ ート3 アハ ート4 アハ ート5 アハ ート6 アハ ート7 アハ ート8 アハ ート9 アハ ート10 アハ ート11 アハ ート12 アハ ート13 アハ ート14 アハ ート15 アハ ート16 アハ ート17 アハ ート18 アハ ート19 アハ ート20 アハ

II

OFISTAR H7000ファクス編(2版 )

情報処理概論(第二日目)

Microsoft PowerPoint - Borland C++ Compilerの使用方法(v1.1).ppt [互換モード]

C ontents VI VII

活用ガイド (ハードウェア編)

情報処理概論(第二日目)

レーザビームプリンタ Satera ユーザーズガイド

橡6.プログラム.doc

図 1: 場所をクリックし ホームフォルダーをクリックすると (上図) ホーム フォルダー下にあるファイルやディレクトリの一覧を見ることができる 下図 2

untitled


I

エクセルカバー入稿用.indd


<4D F736F F F696E74202D C835B B E B8CDD8AB B83685D>

SC-85X2取説


このうち ツールバーが表示されていないときは メニューバーから [ 表示 (V)] [ ツールバー (T)] の [ 標準のボタン (S)] [ アドレスバー (A)] と [ ツールバーを固定する (B)] をクリックしてチェックを付けておくとよい また ツールバーはユーザ ( 利用者 ) が変更

01_.g.r..

ユーザーズマニュアル

PowerPoint プレゼンテーション

リファレンス

160420c_unix.pptx

PowerPoint Presentation

Color MultiWriter 9900C/9800C ユーザーズマニュアル

情報処理概論(第二日目)

困ったときのQ&A

Microsoft PowerPoint _2.プログラミングの基礎_final.pptx

スクールCOBOL2002

JDK のインストール (2012 年 8 月時点でのバージョン ) Java の実行環境 開発環境は さまざまな企業 団体が開発 配布を行っているが 当テキストでは Java の生みの親である Sun MicroSystems 社 ( 現 Oracle 社 ) の実行環境 開発環境を使用する Ja

目次 1. 動作環境チェック 動作必要環境 Java のインストール Java のインストール Firebird のインストール Firebird のインストール Adobe Reader のインストール

活用ガイド (ソフトウェア編)

ネットワークシステム管理 #01

目次 1. ログイン ログアウト デスクトップ ( 例 :Word Excel 起動中 ) Dock( 例 :Word Excel 起動中 ) Finder ウィンドウ メニューバー ( 例 :Word 起動中 )...

書式に示すように表示したい文字列をダブルクォーテーション (") の間に書けば良い ダブルクォーテーションで囲まれた文字列は 文字列リテラル と呼ばれる プログラム中では以下のように用いる プログラム例 1 printf(" 情報処理基礎 "); printf("c 言語の練習 "); printf

III


これわかWord2010_第1部_ indd

パワポカバー入稿用.indd

これでわかるAccess2010

untitled

i

2

Microsoft Word - macマニュアル【 】.doc

これを調べるには pwd というコマンドを使います pwd とは print working directory の頭文 字をとったもので これから意味は明らかですよね 演習 1 (a) pwd を実行した結果を書け なお 立ち上げた直後の作業用ディレクトリのことをホー ムディレクトリ もしくは単に

SR-53V[接続編]

i

memo

<4D F736F F F696E74202D E3F FC96E55F F554E CC8AEE D8EAF2E B8CDD8AB B83685D>

ユーザーズガイド

プログラミング基礎

平成18年版 男女共同参画白書

VB-C50i/VB-C50iR 使用説明書

170420_unix.pptx

活用ガイド (ソフトウェア編)

Microsoft Word - CygwinでPython.docx

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション

Microsoft PowerPoint _2.プログラミングの基礎_final

ネットワークシステム管理 #01

ポインタ変数

PowerPoint プレゼンテーション

PowerPoint プレゼンテーション


シェルプログラミング コマンドをパイプでつなげるだけでは済まないような ある程度まとまった処理を複数のコマンドを制御構文を用いたりしてファイルとしたものを ( シェル ) スクリプトと呼ぶ シェルプログラム バッチなどともいう.bash_profile もシェルスクリプトなので このファイルを解読し

Transcription:

プログラミング演習 Ⅰ 第 2 回 UNIX 入門 ( ファイルの操作 ) C 言語入門の入門今日の目標 :UNIX の基本コマンドの使用 最初の C プログラムをエディタで書く 1. 分らなければすぐ調べる UNIX コマンドで分らないことがあればすぐ調べられる ( オンラインマニュアル man) 日本語か英語のマニュアル 先週を思いだしてログインし 端末を起動する 端末に以下を入力 $ man コマンド名 [Enter キー ] 例 : man man [Enter] (man コマンドのマニュアル ) 例 : man ls [Enter] ( ファイルリストコマンド ls のマニュアル ) 2. UNIX 基本コマンド (i) ディレクトリ操作ディレクトリ :Windows のフォルダと同等 pwd: 現在のディレクトリ表示 ( カレントディレクトリと呼ぶ ) cd 移動するディレクトリ先 : ディレクトリを移動する 例 :$ cd /etc[enter] ディレクトリ /etc に移動 $ cd ~[Enter] ホームディレクトリ (~, チルダ ) に移動 mkdir 新ディレクトリ名 : 現在のディレクトリの下にディレクトリを作る (ii) rmdir ディレクトリ名 : 指定ディレクトリを削除する ( 使用注意!) 参考 :~ 以外に知っておくと便利なディレクトリ指定. ( ピリオド一つ ): 現在のディレクトリ.. ( ピリオド二つ ): 現在のディレクトリの一階層上のディレクトリファイル操作 ls: 現在のディレクトリにあるファイルのリスト表示 cp 複写元ファイル名新ファイル名 : 指定ファイルをコピーする ( ディレクトリも可 ) mv 移動元ファイル名新ファイル名 : 指定ファイルを移動する ( ディレクトリも可 ) rm ファイル名 : ファイルを削除 ( 使用注意!) cat ファイル名 : ファイルの内容を全て表示 ( テキストファイルを指定のこと!) less ファイル名 : ファイルの内容を一画面ずつ表示 ( 前後移動可能 ) head ファイル名 : ファイルの内容の先頭表示 tail ファイル名 : ファイルの内容の最後尾表示 プログラミング演習第 2 回 1

(iii) プリンタ操作 lpr ファイル名 : ファイルをプリンタ出力する ( テキストファイルを指定のこと!) 例 :$ lpr samp1.c[enter] % x pages were outputted. 注意 : 日本語は文字化けする エディタからプリントすれば OK( 後述 ) lpq: プリンタの状態表示例 :$ lpq[enter] EIBPR02 は準備ができていますランク所有者ジョブファイル合計サイズ 1st kkondo 21 samp1.c 1024 バイト cancel プリンタジョブ名 : プリントジョブをキャンセルする例 :$ cancel 21 使用可能なプリンタ 8-107( 大部屋 ):eibpr01 8-104( 小部屋 ):eibpr02 何も指定しなければ 8-107 のプリンタに出力されるログオン時表示されるポイント枚数しかプリントできないので 無駄にしないように! gedit から直接ソースをプリントできる プリンタを選べる (iv) プロセスの管理 w[enter]: ログインしているユーザの表示 例 :$ w 11:57:32 稼働 11 日間, 16:59, 3 ユーザ, 負荷平均率 : 1.98, 1.97, 1.91 ユーザ端末場所ログイン @ 待機 JCPU PCPU 現プロセス名 katoh pts/0 kat.yz.yamagata- 08 年 3 月 01 日 6 日間 0.50 秒 0.50 秒 tcsh kkondo pts/1 133.24.109.10 水 19 日 6:08 分 18.05 秒 0.21 秒 bash kkondo pts/2 enkkondo.dgw.yz. 11 時 52 分 0.00 秒 0.04 秒 0.00 秒 w ps: 動作プロセス名表示例 :$ ps t pts/1 ( 端末 pts/1 で動作しているプロセスの ) PID TTY TIME CMD 5157 pts/1 00:00:00 bash 5183 pts/1 00:00:01 kwrite kill: プロセスの強制終了 ( 使用注意! 自分のプロセスしか終了できない ) 例 :$ kill 9 5183 (kwrite の強制終了 ) (v) その他知っておきたい操作 [Ctrl]+c(Ctrl キーと c のキーを同時に押す ): 停止 [Ctrl]+z: プロセスのサスペンド ( 一時停止 ) [Ctrl]+s: 画面表示出力を一時停止 [Ctrl]+q: 画面表示出力を再開 3. エディタ Ubuntu Linux には emacs vim など各種エディタが付属しているが gedit テキストエデ ィタがお勧め プログラミング演習第 2 回 2

$ gedit ファイル名 & ( 例えば $ gedit program.c &) またはアプリケーション アクセサリ テキストエディタ C 言語の編集には以下を設定しておくと便利 編集 設定表示タブで 行番号を表示 と 対応するカッコを強調表示 にチェックエディタのタブで 自動インデントを有効にする にチェック 表示 ハイライトモード C を選んで 選択 ボタン英語と日本語入力してみよ 日本語と英語の切り替えは [Ctrl]+[Space]([Ctrl] キーとスペースを同時に押す ) または [ 半角 / 全角 ] キーで行う 4. C 言語入門 ( 教科書 1 章 2 章 ) (1) 特徴 (i) 標準的なプログラム言語 あらゆる場面で活躍 : 組み込みプログラム ( 携帯 家電 ) ゲーム ビジネスソフトなど IC の設計 ハードの設計なども C 言語をベースとした開発言語 UNIX などの OS も C 言語 (ii) メモリや入出力のかなり細かい操作ができる 逆にメモリ管理は自分で行う必要 バグ ( プログラムミス ) 多し! (iii) 関数の集合体として記述プログラムの実行は一連の関数の実行として実現 (iv) 豊富な演算 データ型 (2) プログラム記述時の注意 (i) 基本的に小文字で書く 大文字を使う時は慣習がある 慣習を守らないと他人が見にくいソースになる (ii) 基本的に一行に一文 (iii) インデント ( 字下げ ) を使う 徐々に慣れて行こう と } の間 ( ブロックという ) を 1 段階 ( タブを使うとよい ) 下げる 例 : インデントなし int main(void) int i,j,k; for (i=1;i<100;i++) j=i++;... インデントあり int main(void) int i,j,k; for (i=1;i<100;i++) j = i++; プログラミング演習第 2 回 3

}... http://www.eie.yz.yamagata-u.ac.jp/~kkondo/programming1/memo/1. html を参考にせよ (iv) コメントをたくさん付ける 自分でも忘れる /* と */ で囲むとコメントになる文法の解説ではなく, 処理の内容 ( 概要 ) を述べよ http://www.eie.yz.yamagata-u.ac.jp/~kkondo/programming1/m emo/2.html を参考にせよ (v) コメント内 文字列内以外は全て半角英数字で記述全角文字 特に全角スペースがコメントと文字列以外に入るとエラーになるので注意 (vi) その他 見やすいソースのコツはたくさん 少しずつ慣れよう (3) ソースファイル ( プログラムを記述したテキストファイル ) を保存したら コンパイルして実行ファイル ( 実行できるファイル ) に変換する ( 教科書 p.8) $ gcc Wall o 実行ファイル名ソースファイル名例 :gcc Wall o printname.exe printname.c gcc: Ubuntu で使う標準的な C 言語コンパイラ -Wall: 全ての警告 注意を出力 より正しい文法 -o 実行ファイル名 : 実行ファイル名指定 ( ファイル名.exe としましょう ) ソースファイル名 : ファイル名.c としましょう ファイル名には特殊文字 (/.,~ スペースなど ) 日本語 ( 可能だが トラブルの元 ) 内容を表さないもの ( 単に a.c や program.c など 何のプログラムか分らない ) は避けよう (4) コンパイルした実行ファイルを実行してみる ( 教科書 p.9) (3) で作成した実行ファイルをコンソールで実行してみる 実行ファイルがあるディレクトリも指定しなくてはならない 現在のディレクトリ ( カレントディレクトリ ) に実行ファイルがある場合は これを./ を先頭につけて明示する 例 : $./printname.exe[enter] 5. 本日の演習 (1) UNIX コマンドの演習 (i) ログインし コンソールを起動する (ii) 現在設定されているディレクトリを表示する $ pwd[enter] プログラミング演習第 2 回 4

(iii) 現在のディレクトリのファイルを表示する $ ls [Enter] $ ls l[enter] 表示はどう違う? (iv) ファイルをコピーしてみる $ cp /etc/csh.cshrc [Space].( ピリオド )[Enter] (/etc ディレクトリにある csh.cshrc というファイルを現在のディレクトリにコピーする ) (v) コピーしたファイルを全部表示してみる $ cat csh.cshrc (vi) コピーしたファイルを 1 ページずつ表示してみる $ less csh.cshrc ( あまり大きなファイルではないので 1 ページに収まってしまうかもしれない そのときはもっと大きなファイルを表示 例えば $ less /usr/include/stdio.h (vii) ファイルの先頭だけ表示してみる $ head csh.cshrc $ head /usr/include/stdio.h (viii) ファイルの最後だけ表示してみる $ tail csh.cshrc $ tail /usr/include/stdio.h (ix) コピーしたファイルの名前を変えてみる $ mv csh.cshrc csh.cshrc2 (x) 新しいディレクトリを作ってみる $ mkdir test (xi) 新しいディレクトリにファイルを移動してみる コピーされたか確認する $ mv csh.cshrc2 test $ ls test (xii) ディレクトリごと新しいディレクトリにコピーしてみる コピーされたか確認する $ cp r test test2 $ ls test2 (xiii) 新しいディレクトリ内に移動してみる ディレクトリ内に入ったことを確認する プログラミング演習第 2 回 5

$ cd test2 $ pwd (xiv) 一下位層上のディレクトリに戻る 戻ったことを確認する $ cd.. $ pwd (xv) 作ったディレクトリを両方削除する 削除を確認する $ rm r test $ rm r test2 $ ls (xvi) 現在ログインしているユーザを確認する $ w (xvii) 現在自分が走らせているプロセスを確認する (xvi) の操作で自分の端末確認しておいてください ) $ ps t 端末名 以上を 2 回繰り返し 確実に操作を身につけておくこと (2) C 言語基礎の演習 (i) 教科書 p10 のプログラム例 1を gedit を使って入力し samp1.c として保存する (ii) コンパイルする エラーがあれば p10-12 を参考にエラー個所を直す (iii) 実行して Hello! と出力されるのを確認する (iv) samp1.c を変更して 自分の名前を出力してみよう 英語と日本語両方で出力するように改造してみよ samp1j.c として保存 コンパイルし 実行してみよう (v) 教科書 p20 の2つめのプログラムをインデントを忠実に再現して入力し samp2.c として保存 コンパイルして実行せよ これは何を計算しているプログラムか? (vi) 教科書 p 23 の数値を出力するプログラム p 29 の数値定数の確認 p. 32 のエスケープシーケンスの確認も入力して samp3.c, samp4.c, samp5.c として保存し コンパイルし エラーがないこと あれば修正してエラーが内容にする 実行してみよ 予想どおりの表示か? (3) 情報倫理まだ情報倫理の学習を終了していない人は終了すること 本日もレポートはありません 6. 来週の予習 教科書 ( 明快入門 C) の第 3 章と 4 章を読んでおくこと プログラミング演習第 2 回 6