Christopher KuszajewskiによるPixabayからの画像
こんにちは。倉内です。
C言語は1972年に開発されたプログラミング言語で、WindowsやLinuxのOS開発、自動車や家電の組み込み開発などでよく利用されています。
情報系学部ではプログラミングの授業で扱われることが多いため、「はじめて学んだプログラミング言語はCです」という方も多いかもしれません。
C言語は仕様としてはそれほど難しくはないシンプルな言語なのですが、メモリ管理やポインタなど初めてプログラミングを学ぶ方にとっては少々難解な部分があります。ただ、C++やC#といったC系の言語はもちろん、PHPやJavaもC言語の影響を受けて作られており、学んでおいて損はない言語です。
そこで今回は、C言語を基礎から学びたい方、問題集をこなしてもっと勉強したい方向けに、演習問題があるサイトや書籍を集めましたのでご紹介します。言語の仕組みを理解するには、問題に取り組むのがとても効果的です。短期間で実力を伸ばしたいと考えている人はぜひ利用してみてください。
基礎から固めたい人におすすめ
【 一週間で身につくC言語の基本 】
C言語の基本を学んでから練習問題にも挑戦できるサイトです。
C言語を初めて学ぶ人はまず「基本編」を学習しましょう。「発展」ではC言語をより理解するために重要な「アドレスとポインタ」、「構造体」などについてサンプルコードを見ながら詳しく学べます。
練習問題も充実していて、こちらも基本と応用に分かれています。
サンプルコードを動かすには自分のPCに開発環境を構築する必要があります。手順を説明したページもありますので参考にしてみてください。
もしくはpaizaが提供している、ブラウザでさまざまな言語のプログラムを実行できるpaiza.IOを利用するとすぐに試せます。
【 paizaラーニング 】
C言語の講座はこちら
paizaラーニングでは、主要言語のプログラム入門講座やWebフレームワークを使ったアプリケーション開発講座を公開しています。
「C言語入門編」は現在8レッスンあります。動画講座を見ながらブラウザ上で演習問題も解けるので、手を動かしながら学びたい方にはぴったりです!
基本を学んだあとは「レベルアップ問題集」でたくさんプログラミング問題を解いて力をつけましょう。
レベルアップ問題集では、足し算・掛け算や文字列の結合など簡単な問題から、アルゴリズム力が問われる難問までレベル別に問題をご用意しています。
【 C言語練習問題集 】
演習問題はこちら
C言語の基本と演習問題が用意されていて、初心者向けに順を追って解説されています。
演習問題は、解説と解答コードも掲載されているので、分からなかった場合でもしっかり復習することができます。
【 北ソフト工房 】
C言語の練習問題集はこちら
関数の問題、変数の問題、分岐処理の問題…のように問題集が作られているため、学んだ内容の確認をするのにおすすめです。
サイトにはC言語の基本を学べる「C言語入門 とりあえずのC言語」もありますので、分からない内容はそちらを確認して進めていくことができます。
【 苦しんで覚えるC言語 】
C言語の基本を初心者向けに解説した入門サイトです。各単元に演習問題があり、基礎知識からしっかり学ぶことができます。
テキストが非常に見やすく、スマートフォンで見ることも想定して作られているので、テキスト部分は移動中などに読んで学習するのにも向いています。
【 問題集 - C言語標準 】
言語問わずプログラミング学習で押さえておきたい基本的な内容の問題が掲載されています。解答例のコードが用意されているのもありがたいです。(ただしコピペできないので自分でコードを書きましょう!)
ちなみに難易度が少し上がった「上級問題集」もありますので、標準は簡単に解けるという方はこちらもチャレンジしてみてください。
【 らんすの本棚 】
C言語入門はこちら
C言語の基礎から応用まで網羅的に学べて、あいだにある理解度チェック問題で演習もできます。(解答例は旧サイトを参照してください。)
サンプルコードが豊富なのでぜひご自分で動かしながら勉強を進めてみてください。
【 TECH Projin 】
C言語の練習問題一覧はこちら
C言語の練習問題が50記事あり、各記事に複数の問いが用意されているというボリュームたっぷりな問題集になっています。
解答コード・解説もあるため初心者でも分からなくなって挫折することなく解き進められます。
【 C/C++ 演習問題まとめ 】
冒頭でC言語は大学のプログラミング授業で扱うことが多いと書いたのですが、このように外部に演習問題を公開してくださっている場合があります。
この演習問題がすべて解ければC言語を十分使えるようになったと言ってもいいのではないでしょうか。C言語とC++の解答コードが用意されています。
ちなみに「C/C++ 自学・自習」という問題を解くために必要な知識を学べるページも公開されています。
【 初心者のためのポイント学習C言語 】
演習問題一覧はこちら
四則演算や条件・ループ文を使った基本的な問題から文字列処理の関数を使った問題、ポインタや構造体を理解するのに役立つ問題まで幅広く用意されています。
問題の多くは社員情報や成績データなど、身近なものを例にして出題されているため分かりやすいのが特徴です。
演習問題を解く前に基本を学びたい方はこちらのページを先に参照するとよいでしょう。
ゲーム感覚で楽しみながら学びたい人におすすめ
【 コードガールこれくしょん 】
paizaが提供しているプログラミングゲームのひとつで、プログラミング問題を解くことでステージをクリアしていきます。問題を解くとコインやダイヤが集まり、ガチャを引くことができます。
最初はコードの間違いを修正する(「”」が全角になっているのを半角に直すなど)といった単純な内容ですが、徐々に難易度が上がっていきます。
ゲームを進めていたらいつの間にか基礎文法が身についていた!という感じで手軽に&楽しみながら勉強したい方におすすめです。
【 エンジニアでも恋がしたい! 】
通称『エン恋』は、プログラミング問題を解くことで漫画の続きを読み進めることができ、解答コードによってストーリーが変化するのが特徴です。
問題内容も物語に関係したテーマになっており、楽しく考えることができるので普通の学習に疲れた方は息抜きにやってみてください。
paizaでは他にもC言語で問題を解けるプログラミングゲームコンテンツをたくさんご用意しています。
【 CodinGame 】
CodinGameは、シューティングゲームやコードゴルフなど、さまざまな遊び方でプログラミングが学べるWebゲームです。
グラフィックがかなり作り込まれており、わくわくしながらプログラミングをすることができます。C言語はもちろんさまざまな言語で遊ぶことができます。
演習問題があるおすすめ書籍
【 C言語プログラミング基本例題88+88 】
プログラミングは文法だけを習得してもなかなかコードを書けるようにはなりません。学んだことをアウトプットするためにはたくさん演習をしましょう!
これまで紹介したWebサービスを利用するのもよいですが、この本には88問の例題と88問の発展問題が掲載されておりC言語の基本を網羅的に習得することができます。
出版社のサイトで解答コードも用意されているので初心者~中級者に役立つ1冊だと思います。
【 新・明解C言語 入門編 】
- 作者:柴田 望洋
- 発売日: 2014/08/09
- メディア: 単行本
シリーズ累計100万部を突破しているロングセラーのC言語入門書です。
メインはC言語の解説ですが、演習問題が205個用意されており、問題をたくさん解きたい方にもおすすめの1冊と言ってよいでしょう。
まとめ
ここまで、C言語の問題がたくさん解けるサイトや書籍を中心にご紹介してきました。
C言語は歴史が長いため利用人口が多く、大学の授業で扱ったりOSや組み込み制御で利用されたりと重要なシーンで使われています。
難しいイメージがあり、趣味でプログラミングを始める方があえて選ぶことはあまりないかもしれませんが、コンピューターのしくみを深く知るには欠かせない言語です。興味がある方はぜひ学んでみてくださいね!
そして基礎が身についてきたら、ぜひpaizaでご自分のスキルをはかってみてください。
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら