C言語入門 初めてのプログラム

Last-modified: 2021-04-24 (土) 18:08:39
 

初めに

この文章は、はじめてプログラムを触る人向けに書かれています。
コンピューター環境は、高知工科大学の C-1WS を前提としています。

他の環境で C 言語によるプログラミングを行う場合、開発環境の構築 を見て、開発環境を先に用意してください。

目標

簡単なプログラムを自分で入力し, 実行することにより、プログラミングを行う環境に慣れる。

初めてのプログラム

実際に自分でコードを打ち、実行することが、プログラミングを身につけるための近道です。
いきなりですが、プログラムを打って、実際に動かしてみましょう。

以下のコードをテキストエディタ*1を使って入力し (コピペ禁止)、適当なディレクトリに「hello.c」というファイル名で保存してください*2

もちろん、プログラムの意味は、分からなくてもかまいません。

 #include<stdio.h>

 int main() {

     printf("Hello World!");

     return 0;
 }

保存したら、保存したディレクトリへ移動し、次のコマンドを実行します。

gcc -W -Wall hello.c

プログラムの入力ミスがあった場合、ここでエラーが表示されます。
その場合は、正しく入力されているか、確認してください。

エラーが表示されなかったら成功です。
次のコマンドを実行して、実際にプログラムを動かしてみましょう。

./a.out

次のように表示されたら成功です。

Hello World!

コンパイルとは

先ほどはコードを保存してから、コマンドを2回実行しました。

1回目のコマンドでは、プログラムをコンピューターが理解できる言葉 (機械語) に変換しています。
この、1回目の操作のことをコンパイルと呼びます。

2回目のコマンドで、実際にプログラムを実行しています。
C言語では、プログラムを実行する前に必ずコンパイルを行う必要があります*3

int main(){ ~ }

この中に書かれたプログラムを実行しなさい、という意味だと思ってください。

#include<stdio.h>

プログラムを書く際の、おまじないだと思っていてください。
stdio.h というファイルを読み込みなさいという意味です。
特に気にしないでください。

return 0

これもプログラムを書く際の、おまじないだと思っていてください。
後ほど詳しく解説します。

printf 関数

画面に文字を出力するには、printf 関数を使用します。
printf 関数は次のように使用します。

printf("Hello World!\n");

使用する際には、「"~"」ように表示する文字列を二重引用符 (ダブルクオーテーション) で囲みます

改行したいときは、その場所に「\n」と入れると、その場所で改行できます。
「\」はバックスラッシュと読みます。

また、行末に「;」(セミコロン) を必ず入れる必要があります

例1

printf("aaa\nbbb\nccc\n");

出力

aaa
bbb
ccc

例2

printf("Kochi ");
printf("University ");
printf("of ");
printf("Technology\n");

出力

Kochi University of Technology

課題

できた人は先輩等に見せてください。

課題1

自分の名前を日本語で表示してください。

注意

文字コードは UTF-8 で保存すること
Emacs の場合、「C-x Return f」で「utf-8」と入力して「Return」で変えられます。

課題2

自分の好きなものを3つ以上、改行区切りで表示してください。
(日本語, 英語問わない)

挑戦課題

外部サイトの問題です。
AOJ の登録方法は オンラインジャッジのススメ をご覧ください。

 


*1 UNIX 系 OS では Emacs と Vim が有名です。
*2 バックスラッシュは円記号の場合があります。
*3 プログラムを変更していない状態で、再度実行する場合にはコンパイルは不要です。