- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- 授業/C言語基礎/プログラムの作成と実行 へ行く。
この授業では、Cプログラムのコンパイルと実行はLinuxで行います。
Cプログラムを書くのはLinuxでもWindowsでも構いませんが、家でも勉強できるように、自分のパソコンのWindowsでもプログラムを作成できるようにしておきましょう。
Windowsをプログラム開発用に設定する †
プログラミングするときは、ファイル名の拡張子が大切です。 ところが、Windowsの初期設定では、ファイル名の拡張子は表示されないようになっています。 そこで、Windowsでファイル名の拡張子が表示されるように設定します。
まず、Windowsのデスクトップ画面で適当なフォルダーを開きます。
次に、「表示」メニューの「オプション」を選択します。
#ref(): File not found: "Windows1.png" at page "授業/C言語基礎/プログラムの作成と実行"
フォルダーオプションの画面が表示されたら、「表示」タブを選択し、下から3番目にある「登録されている拡張子は表示しない」のチェックを外します。
#ref(): File not found: "Windows2.png" at page "授業/C言語基礎/プログラムの作成と実行"
これで、ファイル名の拡張子が表示されるようになりました。
演習1 †
ファイル名の拡張子が表示されるようにWindowsを設定せよ。
開発用ソフトウェアのダウンロードとインストール †
この授業では次の3つのソフトウェアを使用します。
- TeraPad(ファイル編集)
- WinSCP(ファイル転送)
- PuTTY(リモート・ログイン)
TeraPad †
TeraPadは、エディターという種類のアプリケーションで、プログラムを作成するために使います。
自分のWindowsでのTeraPad †
TeraPadは以下のページからダウンロードできます。
インストーラー付きのものをダウンロードし、ダウンロードしたファイルをダブル・クリックしてインストールします。
総合情報センターのWindowsでのTeraPad †
総合情報センターのWindowsにはTeraPadがインストールされています。 しかし、設定が保存できないので、自分用のTeraPadをダウンロードして使います。
インストーラー付きでないものをダウンロードし、ダウンロードしたファイルを右クリックして「全て展開...」を選択し、圧縮されているファイルを展開します。
展開したフォルダーを、自分が自由に使えるフォルダーの中のわかりやすいところに移動させます。
デスクトップにterapad.exeへのショートカットを作っておくと便利です。
WinSCP †
WinSCPは、FTPクライアントという種類のアプリケーションで、Windows PCからLinuxサーバーへ(またはLinuxサーバーからWindows PCへ)ファイルを転送するために使います。
自分のWindowsでのWinSCP †
WinSCPは以下のページからダウンロードできます。
Installation packageをダウンロードし、ダウンロードしたファイルをダブル・クリックしてインストールします。 言語は「日本語」を選択します。
総合情報センターのWindowsでのWinSCP †
総合情報センターのWindowsにはWinSCPがインストールされているので、インストールする必要はありません。
PuTTY †
PuTTYは、SSHクライアントという種類のアプリケーションで、WindowsからLinuxサーバーにログインするために使います。
自分のWindowsでのPuTTY †
PuTTYを日本語化したICE IV版のPuTTY PRIVATE PATCHESが以下のページからダウンロードできます。
一番新しい日付のものをダウンロードし、ダウンロードしたファイルを右クリックして「全て展開...」を選択し、圧縮されているファイルを展開します。
C:¥Program Filesフォルダーの中に、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フォルダーの中にコピーします。
#ref(): File not found: "PuTTY0.png" at page "授業/C言語基礎/プログラムの作成と実行"
デスクトップにputty.exeへのショートカットを作っておくと便利です。
総合情報センターでのWinSCP †
C:¥Program Filesフォルダーは管理者でないとフォルダーを作れないので、自分が自由に使えるフォルダーの中のわかりやすいところにPuTTYフォルダーを作成し、同じようにファイルをコピーします。
演習2 †
自分のWindows PCにTeraPad, WinSCP, PuTTYをインストールせよ。
TeraPadをプログラミング用に設定する †
プログラミングを始めたばかりのときによくある間違いの一つに、「日本語変換した空白(全角空白)を入力してしまったが、空白文字が見えないために、何が間違っているのかわからない」というものがあります。 そこで、TeraPadで見えない文字を表示するように設定します。
TeraPadを起動し、「表示」メニューの「オプション」を選択し、表示されたウィンドウの「表示」タブを選択、「マーク」の中にある「TAB」「半角空白」「全角空白」にチェックを入れて(「改行」と「EOF」はチェックを入れたままで)「OK」ボタンをクリックします。 (「EOF」というのは「End Of File」のことで、ファイルの終わりを表す文字です。)
#ref(): File not found: "TeraPad1.png" at page "授業/C言語基礎/プログラムの作成と実行"
これで、TeraPadで見えない文字が表示されるようになりました。
演習3 †
TeraPadでTAB, 半角空白、全角空白が表示されるように設定せよ。
TeraPadでCプログラムを作成する †
まずはじめに、TeraPadを起動した状態で、「表示」メニューの「編集モード」から「C/C++」を選択します。
#ref(): File not found: "TeraPad2.png" at page "授業/C言語基礎/プログラムの作成と実行"
それから、次のように入力します。
#include <stdio.h> int main(void) { printf("Hello World!\n"); return 0; }
日本語版Windowsでは、バックスラッシュ \ の代わりに円記号 ¥ を使います。
プログラムを入力したら、「ファイル」メニューの「文字/改行コード指定保存」を選択します。
#ref(): File not found: "TeraPad3.png" at page "授業/C言語基礎/プログラムの作成と実行"
文字/改行コード指定保存画面が表示されたら、文字コードを「EUC」、改行コードを「LF」にして「OK」ボタンをクリックします。
#ref(): File not found: "TeraPad4.png" at page "授業/C言語基礎/プログラムの作成と実行"
Cプログラムのファイルを保存するときは、拡張子を.cにします。 ここでは、hello.cとして保存します。
演習4 †
上のプログラムをTeraPadで作成し、hello.c という名前で保存せよ。
CプログラムとTeraPadを関連付ける †
Windowsのアプリケーションはファイルの拡張子と関連付けられているので、拡張子が.cのファイルをダブル・クリックしたときにTeraPadが起動するようにします。 (この作業は一回やればいいだけで、毎回やる必要はありません。)
保存したhello.cファイルのアイコンを右クリックし、「プロパティ」を選択し、プログラムの「変更」を選びます。
#ref(): File not found: "TeraPad5.png" at page "授業/C言語基礎/プログラムの作成と実行"
「その他のオプション」や「このPCで別のアプリを探す」などを経て、「プログラムから開く...」画面が表示されたら、C:¥Program Files (x86)フォルダー(またはC:¥Program Filesフォルダー)の中にあるTeraPadフォルダーの中の「TeraPad.exe」を選択して「開く」ボタンを押します。
#ref(): File not found: "TeraPad6.png" at page "授業/C言語基礎/プログラムの作成と実行"
hello.cファイルのアイコンがTeraPadのアイコンと同じになり、Cプログラム(名前の最後が.cのファイル)のファイルを開くと次回から自動的にTeraPadが起動します。
演習5 †
演習4で作成したhello.cとTeraPadを関連付け、hello.cをダブル・クリックしたらTeraPadが起動することを確認せよ。
WinSCPでCプログラムをLinuxサーバーに転送する †
WinSCPを起動し、転送プロトコルは「SFTP」のまま、ホスト名に「luna.isc.chubu.ac.jp」を入力、ポート番号は「22」のまま、ユーザー名とパスワードはLinuxアカウントとして登録したものを入力し、「保存」ボタンをクリックし、そのまま「OK」ボタンを押して保存します。 (パスワードの保存はおすすめしません。)
#ref(): File not found: "WinSCP1.png" at page "授業/C言語基礎/プログラムの作成と実行"
左のリストから保存したセッションを選択し、「ログイン」ボタンをクリックします。
初めてログインするときは、不明なサーバーとして警告されますが、「はい」ボタンをクリックしてこのサーバーのホストキーをキャッシュします。 ホストキーをキャッシュしておけば、次からは警告されません。
ログインできると、左側にWindowsのフォルダーが、右側にLinuxサーバーのディレクトリーが表示されます。
#ref(): File not found: "WinSCP2.png" at page "授業/C言語基礎/プログラムの作成と実行"
Windowsに保存したCプログラムを左側から右側にドラッグ・アンド・ドロップすると、Window PCからLnuxサーバーへファイルが転送されます。
演習6 †
hello.cを総合情報センターのLinuxサーバーに転送せよ。
PuTTYでLinuxサーバーにログインする †
PuTTYを起動し、左のカテゴリーから「ウィンドウ」の「変換」を選び、Remote character setのリストから「EUC-JP」を選びます。
#ref(): File not found: "PuTTY1.png" at page "授業/C言語基礎/プログラムの作成と実行"
次に、左のカテゴリーから「セッション」を選び、ホスト名に「luna.isc.chubu.ac.jp」を入力、ポート番号は「22」のまま、接続タイプは「SSH」のままにして、セッション一覧から「Default Settings」を選択して「保存」ボタンをクリックします。
#ref(): File not found: "PuTTY2.png" at page "授業/C言語基礎/プログラムの作成と実行"
初めてログインするときは、セキュリティ警告が出ますが、「はい」ボタンをクリックしてPuTTYのキャッシュに鍵を追加します。
ターミナルのウィンドウが表示されたら、ユーザー名とパスワードを入力してログインします。
#ref(): File not found: "PuTTY3.png" at page "授業/C言語基礎/プログラムの作成と実行"
これでLinuxサーバーにログインできました。
演習7 †
PuTTYを使って総合情報センターのLinuxサーバーにログインせよ。
Cプログラムをコンパイルし実行する †
Linuxにログインしたら、cdコマンドを使ってCプログラムを保存したディレクトリーに移動し、lsコマンドを使ってCプログラムのファイルがあることを確認します。
たとえば、basic_cというディレクトリーにプログラムを保存しているときは次のようにします。 (luna%はコマンド・プロンプトを表していて、自分では入力しません。)
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をコンパイルして実行せよ。