プログラムの作成と実行

2017-09-22 (金) 11:31:08 (665d) | Topic path: Top / 授業 / C言語基礎 / プログラムの作成と実行

この授業では、Cプログラムのコンパイルと実行はLinuxで行います。

Cプログラムを書くのはLinuxでもWindowsでも構いませんが、家でも勉強できるように、自分のパソコンのWindowsでもプログラムを作成できるようにしておきましょう。

この説明はWindows 10を対象にしています。

Windowsをプログラム開発用に設定する

プログラミングするときは、ファイル名の拡張子が大切です。 ところが、Windowsの初期設定では、ファイル名の拡張子は表示されないようになっています。 そこで、Windowsでファイル名の拡張子が表示されるように設定します。

まず、Windowsのデスクトップ画面でフォルダーを開きます。

次に、「表示」メニューを開き、「ファイル名拡張し」のチェックボックスにチェックを入れます。

Windows10.png

これで、ファイル名の拡張子が表示されるようになりました。

演習1

ファイル名の拡張子が表示されるようにWindowsを設定せよ。

開発用ソフトウェアのダウンロード

この授業では次の3つのソフトウェアを使用します。

  • TeraPad(ファイル編集)
  • WinSCP(ファイル転送)
  • PuTTY(リモート・ログイン)

TeraPad

TeraPadは、エディターという種類のアプリケーションで、プログラムを作成するために使います。

TeraPadは、以下のページからダウンロードできます。

インストーラー付きでないものをダウンロードし、ダウンロードしたファイルを右クリックして「全て展開...」を選択し、圧縮されているファイルを展開します。

展開したフォルダーを、授業用のフォルダー(例えば「C言語基礎」)に移動させます。

フォルダー名のtpad109をTeraPadに変更しておくとわかりやすいです。

WinSCP

WinSCPは、FTPクライアントという種類のアプリケーションで、Windows PCからLinuxサーバーへ(またはLinuxサーバーからWindows PCへ)ファイルを転送するために使います。

WinSCPは以下のページからダウンロードできます。

Portable executablesをダウンロードし、ダウンロードしたファイルを右クリックして「全て展開...」を選択し、圧縮されているファイルを展開します。

展開したフォルダーを、授業用のフォルダーに移動させます。

フォルダー名のWinSCP-5.11.1-PortableをWinSCPに変更しておくとわかりやすいです。

総合情報センターのWindowsにはWinSCPがインストールされているので、インストールする必要はありません。

PuTTY

PuTTYは、SSHクライアントという種類のアプリケーションで、WindowsからLinuxサーバーにログインするために使います。

PuTTYを日本語化したICE IV版のPuTTY PRIVATE PATCHESが、以下のページからダウンロードできます。

一番新しい日付のものをダウンロードし、ダウンロードしたファイルを右クリックして「全て展開...」を選択し、圧縮されているファイルを展開します。

授業用のフォルダーの中に、PuTTYという名前のフォルダーを新規に作成します。

作成したPuTTYフォルダーの中に、iniという名前のフォルダーを新規に作成します。

展開したフォルダーの中のiniフォルダーの中にあるputty.iniを、PuTTYフォルダーの中に作成したiniフォルダーの中にコピーします。

64ビット版Windows(C:¥Program Files(x86)というフォルダーが存在するWindows)の場合、展開したフォルダーの中にあるx64フォルダーの中にあるputty.exeをPuTTYフォルダーの中にコピーします。

32ビット版Windows(C:¥Program Files(x86)というフォルダーが存在しないWindows) の場合、展開したフォルダーの中にあるputty.exeをPuTTYフォルダーの中にコピーします。

最後に、展開したフォルダーの中にあるja-JPフォルダーの中にあるputty.lngを同じPuTTYフォルダーの中にコピーします。

PuTTY.png

演習2

自分のPCにTeraPad, WinSCP, PuTTYをダウンロードせよ。

TeraPadをプログラミング用に設定する

プログラミングを始めたばかりのときによくある間違いの一つに、「日本語変換した空白(全角空白)を入力してしまったが、空白文字が見えないために、何が間違っているのかわからない」というものがあります。 そこで、TeraPadで見えない文字を表示するように設定します。

TeraPadを起動し、「表示」メニューの「オプション」を選択し、表示されたウィンドウの「表示」タブを選択、「マーク」の中にある「TAB」「半角空白」「全角空白」にチェックを入れて(「改行」と「EOF」はチェックを入れたままで)「OK」ボタンをクリックします。 (「EOF」というのは「End Of File」のことで、ファイルの終わりを表す文字です。)

TeraPad_options.png

これで、TeraPadで見えない文字が表示されるようになりました。

演習3

TeraPadでTAB, 半角空白、全角空白が表示されるように設定せよ。

TeraPadでCプログラムを作成する

まずはじめに、TeraPadを起動した状態で、「表示」メニューの「編集モード」から「C/C++」を選択します。

TeraPad_mode.png

それから、次のように入力します。

#include <stdio.h>

int main(void) {
  printf("Hello World!\n");
  return 0;
}

日本語版Windowsでは、バックスラッシュ \ の代わりに円記号 ¥ を使います。

プログラムを入力したら、「ファイル」メニューの「文字/改行コード指定保存」を選択します。

TeraPad_save.png

文字/改行コード指定保存画面が表示されたら、文字コードを「EUC」、改行コードを「LF」にして「OK」ボタンをクリックします。

TeraPad_codes.png

Cプログラムのファイルを保存するときは、拡張子を.cにします。 ここでは、hello.cとして保存します。

演習4

上のプログラムをTeraPadで作成し、hello.c という名前で保存せよ。

CプログラムとTeraPadを関連付ける

Windowsのアプリケーションはファイルの拡張子と関連付けられているので、拡張子が.cのファイルをダブル・クリックしたときにTeraPadが起動するようにします。 (この作業は一回やればいいだけで、毎回やる必要はありません。)

hello.cファイルのアイコンをダブル・クリックします。 「このファイルを開く方法を選んでください」と出てくるので、「その他のアプリ」から「このPCで別のアプリを探す」を選択し、TeraPad.exeを選択します。

open.png

すると、hello.cファイルのアイコンがTeraPadのアイコンと同じになり、Cプログラム(名前の最後が.cのファイル)のファイルを開くと次回から自動的にTeraPadが起動します。

演習5

演習4で作成したhello.cとTeraPadを関連付け、hello.cをダブル・クリックしたらTeraPadが起動することを確認せよ。

WinSCPでCプログラムをLinuxサーバーに転送する

WinSCPを起動し、File protocol(転送プロトコル)は「SFTP」のまま、Host nme(ホスト名)に「luna7.isc.chubu.ac.jp」を入力、Port number(ポート番号)は「22」のまま、User name(ユーザー名)とPassword(パスワード)にLinuxアカウントとして登録したものを入力し、Save(保存)ボタンをクリックし、そのまま「OK」ボタンを押して保存します。

WinSCP_login.png

左のリストから保存したセッションを選択し、Login(ログイン)ボタンをクリックします。

初めてログインするときは、unknown server(不明なサーバー)として警告されますが、Yes(はい)ボタンをクリックしてこのサーバーのホストキーをキャッシュします。 ホストキーをキャッシュしておけば、次からは警告されません。

WinSCP_warning.png

ログインできると、左側に自分のPCのフォルダーが、右側にLinuxサーバーのフォルダー(ディレクトリー)が表示されます。

WinSCP_success.png

アイコンを左側から右側にドラッグ・アンド・ドロップすると、自分のPCからLinuxサーバーへファイルが転送されます。 Linuxサーバーから自分のPCにファイルを転送することもできます。

演習6

hello.cを総合情報センターのLinuxサーバーに転送せよ。

PuTTYでLinuxサーバーにログインする

PuTTYを起動し、左のカテゴリーから「ウィンドウ」の「変換」を選び、Remote character setのリストから「UTF-8」を選びます。

PuTTY_convert.png

次に、左のカテゴリーから「セッション」を選び、ホスト名に「luna7.isc.chubu.ac.jp」を入力、ポート番号は「22」のまま、接続タイプは「SSH」のままにして、セッション一覧から「Default Settings」を選択して「保存」ボタンをクリックします。

PuTTY_session.png

初めてログインするときは、セキュリティ警告が出ますが、「はい」ボタンをクリックしてPuTTYのキャッシュに鍵を追加します。

PuTTY_warning.png

ターミナルのウィンドウが表示されたら、ユーザー名とパスワードを入力してログインします。

PuTTY_login.png

演習7

PuTTYを使って総合情報センターのLinuxサーバーにログインせよ。

Cプログラムをコンパイルして実行する

Linuxにログインしたら、cdコマンドを使ってCプログラムを保存したディレクトリーに移動し、lsコマンドを使ってCプログラムのファイルがあることを確認します。

たとえば、basic_cというディレクトリーの中の01というディレクトリーにプログラムを転送したときは次のようにします。 (ここで、「luna7%」はコマンド・プロンプトを表していて、自分では入力しません。)

luna7% cd basic_c/01
luna7% ls
hello.c

現在の作業ディレクトリーを確認するときはpwd'コマンドを使います。

luna7% pwd
/usr2/gep00000/ep00000/basic_c/01

(実際には、ep00000のところは自分のユーザー名になります。)

現在の作業ディレクトリーに転送したCプログラムがあることを確認したら、catコマンドを使ってCプログラムの内容を確認します。

luna7% cat hello.c
#include <stdio.h>

int main(void) {
  printf("Hello World!\n");
  return 0;
}

Cプログラムが転送したものと同じであることを確認したら、gccコマンドを使ってCプログラムをコンパイルします。

luna7% gcc hello.c

プログラムに間違いがなければ、コンパイルが成功しても何も表示されません。 プログラムに間違いがあると、エラーが表示されます。

プログラムに間違いがあるときは、WindowsのTeraPadで修正して保存し、修正したファイルをWinSCPでLinuxへ転送し、コンパイルをやり直します。

コンパイルが成功したら、lsコマンドを使ってa.outというファイルができていることを確認します。

luna7% ls
a.out    hello.c

最後に、コンパイルしてできた実行ファイルを実行します。

luna7% a.out
Hello World!

これでC言語を勉強する準備は完了です!

演習8

hello.cをコンパイルして実行せよ。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS