Hello World!

C言語のファイルと拡張子

まず、C言語のプログラムを書くためにファイルを用意します。

ファイルには、「拡張子」というものがあります。
例えば、画像ファイルには「.png」や「.jpeg」といった拡張子がついています。(Windowsやスマートフォンでは、拡張子を表示しない設定になっていることがあります)

C言語の拡張子は、「.c」です。[ファイル名].cのようなファイルを用意してください。
これから、プログラムを書くときは、毎回このようなファイルを作成してください。

C言語のプログラムのテンプレート

それでは、プログラムを用意します。
情報処理部の活動では、C言語のプログラムを書くときに、次のようなテンプレートを使用します。

#include <stdio.h>

int main() {
  //ここにプログラムを書く。
  return(0);
}

1行目の「#include <stdio.h>」は、入出力の機能を使うためのおまじないだと思っていてくれれば大丈夫です。

[補足]
「#include <stdio.h>」は、「stdio.h」というヘッダファイルをインクルードする命令です。

int main() { }は、「main関数」といい、C言語のプログラムの中で1番最初に実行される関数です。
関数は、プログラムのまとまりだと思っていてくれれば大丈夫です。
基本的には、このmain関数の中に、プログラムを書いていきます。

5行目の「return(0);」は、プログラムの終了を表します。
より、厳密には、OSに処理を返す意味があります。
競技プログラミングでは、0以外を返すことはしないでください

C言語では、プログラムの命令の末尾に「;(セミコロン)」をつけます。
忘れると、コンパイルエラーが発生するので、気を付けましょう。

インデンテーションとコメント

インデンテーション(字下げ)は、とても大切ですが、if文などが出てくるまでは、今のままで大丈夫です。
基本的には、VSCodeが自動的にインデンテーション(字下げ)の調整を行ってくれます。

コメントとは、コンパイルするときにプログラムの命令として判定されない部分のことです。

//一行コメント
/*
複数行コメント
*/

一行コメントは、プログラムの命令を書いた後に書くこともできます。
その場合は、「//」の後ろが全てコメントとなります。

Hello World!!

それでは、「Hello World!!」という文字列を出力します。
C言語で、出力をしたい場合には、printf()関数を使います。

  printf("Hello World!!\n");

文字列は、「”(ダブルクウォーテーション)」で囲います。
文字列とは、2文字以上の文字のことで、文字とは、1文字の文字のことです。

「\n」は、改行を意味します。
競技プログラミングをするときは、基本的に出力の末尾に改行を入れましょう。

ショートカットキー

少なくとも、次のショートカットキーは覚えて使えるようにしておきましょう。

ショートカットキー動作
Ctrl + Aすべて選択
Ctrl + X切り取り
Ctrl + Cコピー
Ctrl + V貼り付け
Ctrl + S保存する
Ctrl + Z戻す
Ctrl + Y進める
Win + ←ウィンドウを左半分にする
Win + →ウィンドウを右半分にする

コンパイルと実行

C言語のプログラムを実行するには、「コンパイラ」というプログラムを用いて、「コンパイル」をしなければいけません。

ターミナルで「cc [ファイル名].c」を実行することでコンパイルをすることができます。
すると、「a.out」というバイナリーファイル(0と1だけで表現されたコンピュータ用のファイル)が生成されます。

これをターミナルで「a.out」と実行することで、プログラムを実行できます。
何かエラーが出力された場合は、「コンパイルエラー」です。
プログラムの記述形式などが間違っているので、確認してみましょう。

提出と結果

提出は、HOJでは問題の右上か右下の「提出」ボタンで行うことができます。
「提出」ボタンを押すと、自動で「提出状況」のページに遷移します。

提出状況は、「Ctrl + R」または「F5」を押して、ページを更新することで、確認することができます。

提出結果は、次のいずれかの結果が表示されます。

状態状態説明原因
ACAccepted正答
CECompile Errorコンパイルエラー
TLETime Limit Exceeded実行制限時間超過時間計算量が大きい(無限ループなど)
MLEMemory Limit Exceededメモリ制限超過メモリの使い過ぎ
RERuntime Errorプログラムの異常終了配列外参照・戻り値が0でない・再帰のしすぎ・0除算
WAWrong Answer出力内容の不一致
WJWaiting for Judgingジャッジ待ち
WRWaiting for Re-judging再ジャッジ待ち

ACのみ正解で、赤字のものはすべて不正解です。
WJとWRは、ジャッジ結果ではなく、ジャッジ待ち状態です。

練習問題

0001 – Hello World! – Hamako Online Judge
1637 – [第1話]高木くんの自己紹介 – Hamako Online Judge

このページは役に立ちましたか?
役に立った役に立たなかった