C言語の演習問題を解けるおすすめのWebサイトを教えて!
こういった悩みにお答えします.
本記事の信頼性
- リアルタイムシステムの研究歴12年.
- 東大教員の時に,英語でOS(Linuxカーネル)の授業.
- 2012年9月~2013年8月にアメリカのノースカロライナ大学チャペルヒル校(UNC)コンピュータサイエンス学部で客員研究員として勤務.C言語でリアルタイムLinuxの研究開発.
- プログラミング歴15年以上,習得している言語: C/C++,Python,Solidity/Vyper,Java,Ruby,Go,Rust,D,HTML/CSS/JS/PHP,MATLAB,Assembler (x64,ARM).
- 東大教員の時に,C++言語で開発した「LLVMコンパイラの拡張」,C言語で開発した独自のリアルタイムOS「Mcube Kernel」をGitHubにオープンソースとして公開.
- 2020年1月~現在はアメリカのノースカロライナ州チャペルヒルにあるGuarantee Happiness LLCのCTOとしてECサイト開発やWeb/SNSマーケティングの業務.2022年6月~現在はアメリカのノースカロライナ州チャペルヒルにあるJapanese Tar Heel, Inc.のCEO兼CTO.
- 最近は自然言語処理AIとイーサリアムに関する有益な情報発信に従事.
- (AI全般を含む)自然言語処理AIの論文の日本語訳や,AIチャットボット(ChatGPT,Auto-GPT,Gemini(旧Bard)など)の記事を50本以上執筆.アメリカのサンフランシスコ(広義のシリコンバレー)の会社でプロンプトエンジニア・マネージャー・Quality Assurance(QA)の業務委託の経験あり.
- (スマートコントラクトのプログラミングを含む)イーサリアムや仮想通貨全般の記事を200本以上執筆.イギリスのロンドンの会社で仮想通貨の英語の記事を日本語に翻訳する業務委託の経験あり.
こういった私が解説していきます.
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!
目次
本記事の対象読者
本記事の対象読者は以下になります.
- コンピュータの初級レベルを習得していること
- 英語で学べること
- プログラミング言語を初級~中級レベルで1つ以上習得していること
- わからないことを自分で調べたり質問できて解決できること(独学できること)
C言語はWeb系の言語であるHTMLやCSSと比較すると難易度の高い言語ですので,注意して下さい.
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
やっぱり独学は難しいなと思ったあなたに,C言語を学べるプログラミングスクールをおすすめします.
C言語の演習問題を解けるおすすめWebサイト
C言語の演習問題を解けるおすすめWebサイト3選を紹介します.
3つとも英語のWebサイトですが,世界中のエンジニアに使われています.
C言語の腕試しをしたい方は,是非これらのWebサイトを利用しましょう.
また,他の言語も学べますので,C言語だけでなく他の言語も学びたい方にもおすすめです.
ハッカーランク(HackerRank)
ハッカーランクは,C言語を含む様々なプログラミングの演習問題を解くことのできるWebサイトです.
解いた演習問題の数によってランキング化され,成績が良いと企業からオファーが来ることもあります.
Prepare
Prepareは,プログラミングの演習問題を解くことができます.
自分で使ってみた感じでは,計算ドリルみたいな印象でした.
時間制限はなく,難易度はEasy,Medium,Hardの3段階となっていますので,自分が必要な演習問題を選んで解きましょう.
項目 | 学べる内容 |
---|---|
C/C++,Java,Python,Ruby言語 | プログラミング言語 |
アルゴリズム(Algorithms),データ構造(Data Structures),数学(Mathematics) | プログラミングの基本となる概念. |
Linux シェル(Shell),関数プログラミング(Functional Programming),人工知能(Artificial Intelligence),SQL,データベース(Databases),正規表現(Regex) | プログラミングの応用となる実践的な内容. |
Get Your Skills Certified
Get Your Skills Certifiedではスキルを認定してもらえます.
スキルを認定してもらえることで,企業からオファーをもらいやすくなります.
これらのスキル認定テストは,時間制限があります.
項目 | 認定スキル | 時間制限 |
---|---|---|
Angular (Basic) | 初級レベルのAugular.js | 1時間 |
Angular(Intermediate) | 中級レベルのAugular.js | 1時間30分 |
C#(Basic) | 初級レベルのC# | 1時間 |
CSS | 初級レベルのCSS | 20分 |
Go(Basic) | 初級レベルのGo | 50分 |
Go(Intermediate) | 中級レベルのGo | 1時間 |
Java (Basic) | 初級レベルのJava | 1時間 |
JavaScript (Basic) | 初級レベルのJavaScript | 1時間30分 |
JavaScript(Intermediate) | 中級レベルのJavaScript | 1時間30分 |
Node(Basic) | 初級レベルのNode.js | 1時間 |
Node(Intermediate) | 中級レベルのNode.js | 1時間 |
Problem Solving (Basic) | 初級レベルのアルゴリズムやデータ構造を利用した問題解決 | 1時間30分 |
Problem Solving (Intermediate) | 中級レベルのアルゴリズムやデータ構造を利用した問題解決 | 1時間30分 |
Python (Basic) | 初級レベルのPython | 1時間30分 |
R(Basic) | 初級レベルのR | 1時間30分 |
R(Intermediate) | 中級レベルのR | 1時間30分 |
React (Basic) | 初級レベルのReact.js | 1時間30分 |
Rest API (Intermediate) | 中級レベルのRest API ※RESTはHTTPを利用した呼び出しインターフェース | 1時間30分 |
SQL(Basic) | 初級レベルのSQL | 30分 |
SQL(Intermediate) | 中級レベルのSQL | 35分 |
SQL(Advanced) | 上級レベルのSQL | 1時間 |
Contests
Contestsはプログラミングコンテストで,週1~月1くらいの頻度で不定期で開催されます.
自分の実力を試したい方は,是非参加しましょう!
リートコード(LeetCode)
リートコード(LeetCode)は,GAFA(Google,Amazon,Facebook,Apple)(現在FacebookはMeta Platformsなので正確にはGAMA) のコーディング面接で使われたことのある,もしくは似たような演習問題をオンラインで解くことができるWebサイトです.
C言語を含む様々なプログラミング言語の演習問題があります.
ハッカーランクと比較すると若干難易度が高めですが実践的です.
演習問題の難易度はリートコードと同様にEasy,Medium,Hardの3段階から選べます.
Problems
Problemsは,プログラミングの演習問題を解くことができます.
ハッカーランクのPrepareのようなものですが,主な違いは演習問題毎に書く言語を選べることです.
項目 | 学べる内容 |
---|---|
アルゴリズム(Algorithms) | C/C++,C#,Java,Python/Python3,JavaScript,Ruby,Swift,Go,Scala,Kotlin,Rust,PHP,TypeScript,Racket,Erlang,Elixir,Dart言語でプログラミングの基本的な手順や作法. |
データベース(Database) | MySQL,MySQL Server,Oracle言語でデータベースの基礎. |
シェル(Shell) | Bashでファイルからデータを読み込んで処理. |
コンカレンシー(Concurrency) | 並行プログラミング.これらの項目で一番高難易度. |
Explore
Exploreには,Featured,Interview,Learn,Challengeがありますので,それぞれ解説します.
- Featured:LeetCodeがおすすめする内容です.あなたが興味のあるコンテンツがあれば積極的に読んでみましょう!
- Interview:Google,Amazon,Facebook,Apple,Microsoft,Adobe,Bloomberg,Uberのコーディング面接の模擬問題(過去問題)を解くことができます.標準アカウントでは利用できず,有料のプレミアムアカウント限定です.これらの会社に絶対受かりたいのであればプレミアムアカウントの購入をおすすめします.
- Learn:Learnは個々の演習問題を解く計算ドリルのようなものですが,再帰(Recursion)や連結リスト(Linked List)のようなテーマで連続した演習問題を用意しているので,特定のスキルを集中して学びたい方におすすめです.
- Challenge:プログラミングコンテストです.リートコードだとContestsですね.こちらも不定期で開催されます.
Project Based Learning
Project Based Learningは,C言語でカーネルレベルプログラミングを学べます.
具体的には,C言語でOSをフルスクラッチで開発します.
他にもネットワークプログラミングやOpenGLを学べます.
上記の2つのWebサイトと比較すると難易度が高いので,C言語の中級者~上級者におすすめします.
Project Based Learningで学べる言語は以下になります.
- C#
- C/C++
- Clojure
- Elixir
- Erlang
- F#
- Go
- Haskell
- HTML/CSS
- Java
- JavaScript
- Kotlin
- Lua
- OCaml
- PHP
- Python
- R
- Ruby
- Rust
- Scala
- Swift
- Additional Resources(React等)
まとめ
C言語の演習問題を解けるおすすめWebサイト3選を紹介しました.
C言語の腕試しをしたい方は,是非これらのWebサイトを利用しましょう.
グーグルのソフトウェアエンジニアとして働いている教え子の学生から聞いた情報ですが,GAFAのコーディング面接の実践練習をしたい方はPrampがおすすめです.
Prampは,面接を相互評価するWebサービスで,無料で使えます.面接の練習に是非!
C言語を独学で習得することは難しいです.
私にC言語の無料相談をしたいあなたは,公式LINE「ChishiroのC言語」の友だち追加をお願い致します.
私のキャパシティもあり,一定数に達したら終了しますので,今すぐ追加しましょう!
独学が難しいあなたは,元東大教員がおすすめするC言語を学べるオンラインプログラミングスクール5社で自分に合うスクールを見つけましょう.後悔はさせません!