この章では、C言語ではじめのプログラムを書いて実行します。
C:¥msys64¥home¥ユーザー名
に保存するのが便利です。
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
C:¥msys64¥home¥ユーザー名
に、保存した場合は、MSYS2が起動した画面がそのディレクトリになります。
gcc hello.c
// macOSとLinuxではa.outという実行ファイルが作成されます
// Windowsではa.exeという実行ファイルが作成されます
// macOSとLinux実行するには次のようコマンドにします
./a.out
// WindowsのMSYS2で実行するには次のようコマンドにします
./a.exe
//もしくは
./a
// Windowsのコマンドプロンプトで実行するには次のようにコマンドします
a.exe
//もしくは
a
// 実行ファイルの名前を指定するこは次のようにします。名前は自由に決められます
gcc hello.c -o Hello
// macOSとLinuxではHelloという実行ファイルが作成されます
// WindowsではHello.exeという実行ファイルが作成されます
//macOSとLinuxで実行するには
./Hello
//WindowsのMSYS2で実行するには
./Hello
//Windowsのコマンドプロンプトで実行するには
Hello.exe
//もしくは
Hello
// 実行結果するとターミナルなどに次のように表示されます
Hello world!
なお、WindowsでMSYS2を使った場合には、作成されたa.exeなどの実行ファイルを デスクトップなどに移動させ、コマンドプロンプトでa.exeと実行しようとしても 「xxx.dll が見つかりません」などの警告が出て実行できません。 これを修正するには、MSYS2でコンパイルするときに次のようコマンドします。
gcc hello.c -static -lstdc++ -lgcc
// 作成されたa.exeをデスクトップなどに移動させてコマンドプロンプトを起動します
// コマンドプロンプトでa.exeを移動させたディレクトリに移動します
// そして次のように実行します
a.exe
// もしくは
a
// 実行結果
Hello world!
このダッシュ(dash、-)の後の文字列を「オプション(Option)」と言います。
最初からWindowsのコマンドプロンプトでコンパイルする場合は、 このオプションをつける必要はありません。
int
は整数という意味で、
main( )関数は処理を終了するときに整数を返すことを表しています。
関数には、名前の後に ( と ) が付いています。( と )が付いているものが
関数だと思っても大丈夫です。int
には整数、return
には何かを返すという意味がありました。このように C で意味が定められた単語を
キーワード(Key word)と言います。
int main( )は
int main ( ) と記述することができます。
intmain()
はダメです。intmain という意味不明の単語になっています。
#include<stdio.h>
int main(){printf("Hello world\n");return 0;}
これはOKです。ただし、#includeの行は独立した行にしなければなりません。
#include<stdio.h>
int
main
(
)
{
printf
(
"Hello world!\n"
);
return
0;
}
これもOKです。
#include <stdio.h>
int main()
{
printf("Hello world!\n"); // ここでインデントされています
return 0; // ここでもインデントされています
}
プログラムの中にメモを記述することができます。このメモのことをコメント言います。コメントはプログラムの動作になにも影響を与えません。
#include <stdio.h>
/*
hello.c
2019/12/22
(c) vivacocoa.jp
*/
int main()
{
printf("Hello world!\n"); // Hello world!と表示されます
return 0;
}