この度は、弊社インターンシップにご応募いただき、ありがとうございます。
2021年 2月8日に弊社初のインターンシップを行います。

当日を迎えるにあたり、皆さんに準備いただきたいこと、確認しておいていただきたいことがありますので、以下をよく読んでいただき、不明点等ありましたらメールにてご連絡ください。

・実施予定

2/8(月) 10:00~17:00(12:00~13:00休憩)

 [オンラインにて実施いたします。接続には、Microsoft Teamsを用います。接続案内のメールをマイナビ登録メールアドレスに送付いたします。]
 始めに、会社説明および今回挑戦する課題についての説明を行います。
 その後に、課題をクリアするために必要な知識や考え方の習得に、講義・演習形式で取り組みます(途中、適宜休憩を挟みます)。
 課題を早々にクリアできた方には、追加課題も用意しておりますので、お楽しみに(?)。

2/15(月) 13:00~17:00

 [当初、対面形式を予定しておりましたが、昨今のコロナ感染状況を考慮し、オンライン開催の方向で社内調整中です。]
 個別に課題の達成状況・内容を確認し、アドバイス・問題点の確認、等を行いながら、課題の完成・ブラッシュアップをはかります。

・当日までに準備いただきたいこと

 今回のオンラインインターンシップでは、皆さんにWindows PCをご用意いただき、必要ソフトウェア(C言語用コンパイラ)のインストール環境を構築いただく想定です。
環境構築の手順は、以下を参考に当日までに完了させておいてください。

○Windows10
 MinGWのインストールと設定
 インストール手順書

推奨エディタ(VS Code)のインストールと設定
 ダウンロードはこちらから。
 インストール手順はこちらを参考に、インストールしてください。
 拡張機能はこちらを参考に、
・C/C++
・Japanese Language Pack for Visual Studio Code
をインストールしてください。

Windows以外のコンピュータをご利用の場合は以下のサイトを参考に、コンパイル環境を準備ください(当日はWindows10環境を想定した内容となりますので、ご了承ください)。

○Mac
 https://webkaru.net/clang/mac-compiler-gcc-install/

○Linux
 https://webkaru.net/clang/linux-compiler-gcc-install/

・確認しておいていただきたいこと

インターンシップでは、出される課題(ページ下部)をクリアするために必要なC言語の知識や考え方を学びますが、短時間ですべてを説明することは難しいです。また、短時間ですべてを理解することはできないと思います。

そこで、必要な知識を学ぶ前に、自分たちでざっくりで良いので、必要な知識をインプットしてもらいたいと思います。(調べる力もエンジニアとして必要なスキルです!!)

下記の各URL(苦しんで覚えるC言語)では、今回の課題に必要な知識を学ぶことができます。

インターンシップ当日にも説明はありますので、 これらをすべて理解する必要は有りません。(「こんな感じで、動くのか。」程度で大丈夫です。)

1.C言語の書き方

2.変数について

3.型の種類

4.演算子(四則演算のやり方)

5.条件分岐(比較を行う)

6.ループ処理(繰り返し処理)

7.”文字列”とは?

8.関数を作ってみる

9.ポインタとは? ←1番難しいです。。。

10.ファイルを操作する

課題: ファイルの内容を 16 進数でダンプ表示するプログラムを作成

○開発環境
 Windows: MinGW
○仕様
 実行環境:Windows コンソールアプリケーション
 実行ファイル名:filedump.exe
 引数:ファイル名を一つ指定する。
 ・引数の数が不正であればエラーメッセージを表示して終了する。
 ・引数で指定したファイルが存在しない場合はエラーメッセージを表示して終了する。
 ・引数で指定したファイルが256MByte(268,435,456Byte)を超過する場合はエラーメッセージを表示して終了する。

出力:以下の形式で出力する。


00000000: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx  AAAAAAAAAAAAAAAA
00000010: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx  AAAAAAAAAAAAAAAA
.
.
.
HHHHHHHH: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx  AAAAAAAAAAAAAAAA
↑         ↑                                    ↑
|         |                                 1Byte単位で表示可能(英数記号)であればその文字を表示
|         |                                 表示不可であれば代わりに'.'を表示 
|          1Byte単位で16進数小文字表示 
|
ファイル先頭からのバイト位置(16進数大文字表示)

注1  最終行は 16Byte 未満となる場合、以下のように表示する。(例:7Byte の場合)
HHHHHHHH: xxxxxxxx xxxxxx                      AAAAAAA 

注 2  最終行は 16Byte の場合、次の行にファイル先頭からのバイト位置のみ表示する。
HHHHHHHH: xxxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx  AAAAAAAAAAAAAAAA 
HHHHHHHH: