これからどうやって、C言語のスキルを向上すればいいのですか?
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答6件
0
ADT(抽象データ型)の実装を
してみてはどうでしょうか。
ツリー、リスト、キュー、
スタック、ハッシュテーブル等。
リストは双方向リストが
おすすめです。
これらのそれぞれのデータ構造を
検索、(一覧)表示、追加、更新、削除…
する処理を実装します。
メモリリークしないように
気をつけてください。
ボインタ理解の確認テストにも
なると思います。
ソケット通信を使った簡単な
クライアント/サーバー型の
プログラムを実装してみるのは
どうでしょうか。
サーバ側のプログラムは
デーモン(常駐プログラム)と
して実装します。
クライアントの要求を待ち、
リクエストがあったら自分を複製して
クライアントとソケット通信を
行います。終了後は消滅します。
例えば、rcatd と、rcat を
実装します。
SQLを使ってRDBにアクセス
するのも良いでしょう。
デーモンプロセスがゾンビに
ならないよう気をつけてください。
簡単なC/S型プログラミングの
基礎が理解できると思います。
グラフィックスライブラリを
使用してGUIアプリケーションを
作ってみるのはどうでしょうか。
イベント駆動プログラミングの
基礎が理解できると思います。
投稿2015/10/16 00:17
総合スコア101
0
現在のスキルや、数ある言語の中でなぜCを選んだのか(=目的)にもよりますが、ポイントをまとめると以下の3つになります。
- 良いコードを真似る
- 取り組む分野を具体的に絞る
- 周辺知識を積極的に学ぶ
###1. 良いコードを真似る
何事も良いお手本を真似るのが進歩の近道です。
幸い、今やネット上で簡単かつ無料で膨大なソースを閲覧出来ます。しかしそれらは玉石混交ですから、最初に見つけたものを闇雲に真似るのではなく、良いお手本を見極める練習がしてください。
そして苦労して見つけたお手本は、色々な場面で使い方倒してください。
そうした努力を続けて行くと、どんな場面でどの様に実装すると素早く高品質のプログラムを書くための道具をたくさん身に着けられると同時にプログラミングのセンスも磨かれます。
###2. 取り組む分野を具体的に絞る
C言語は、頑張ればほとんど何でも出来ます。しかし、適用分野によって独特のTipsがありますので、当面取り組む分野を具体的に絞った方が、より深く効率良く学習出来ます。
学ぶ上で一番重要なのはモチベーションを高く保つ事なので、今最も関心のある分野に的を絞りましょう。
一例を挙げると、一口にゲームアプリと言ってもゲームのジャンルによって実装方法がかなり変わるので、先ずは一つのジャンルに的を絞って、最初はとにかく動く程度の簡単なものから始め、徐々にグレードアップして行くことで技術に深堀りが出来ます。
これは次項とも深く関わっているのですが、このように興味が続く限り対象とする分野を具体的に絞って取り組むのはスキルアップに有用なアプローチ方法だと思います。
###3. 周辺知識を積極的に学ぶ
ある程度実用的なアプリを作ろうとすると、途端にプログラミング言語の知識だけでは全く不足している事に気づかされます。
例えば、Windowsのデスクトップアプリを作るならAPIを通してOSの機能を利用する方法とか、プロセス間で連携が必要ならソケットについて学ばねばならないかもしれません。
そのどれを学ぶにも分厚い参考書が必要な問題です。このように、プログラミングの世界を取り巻く外洋はとても広くて深いので、無闇に漕ぎ出せば遭難するかもしれません。
ですから、そういう意味でも最初は分野を具体的に絞り、着実に前進して行く事が重要だと考えます。
結局、スキルの高さは、プログラミングそのものと言うよりも、関連技術や周辺知識、実務上の経験などがモノを言ってくる世界なのだと思います。
投稿2015/10/16 05:22
総合スコア5936
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
C言語の基礎を覚えたら次どうしたらいいのか。
まずは基礎を固めることです。本当に基礎が身についているのか確認するのが先決でしょう。
基本情報処理のC言語の問題を解いてみるのもいいでしょう。
問題・解答ともに公開されています。
IPA 独立行政法人 情報処理推進機構:過去問題
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_mondai.html
穴埋め方式なので比較的簡単です。これが解けないようだと基礎を身につけたとはいえません。その結果によって、もう少し丁寧に基礎を勉強すべきか、次に進むべきか判断できるでしょう。
投稿2015/10/16 05:42
総合スコア902
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
こんばんは。
C言語のスキルの向上ということで質問されていましたが、あなたのCのスキルが今如何ほどなのか、もう少し具体的に書いていただけると皆さんも回答しやすくなると思います。
私の持論ですが全てのプログラミング言語に共通で本やwebにあるサンプルコードをまねたり、改造したりするなんて結構力になると思います。
そしてなんといってもCの壁はポインタでしょうか?リストやハッシュなどのデータ構造をCで実装したりすると、いっそうC言語、コンピュータへの理解は深まると思います。
こんな感じの回答でいかがでしょうか?
投稿2015/10/15 14:27
総合スコア91
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。