質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

6回答

1786閲覧

C言語の基礎を覚えたら次どうしたらいいのか。

退会済みユーザー

退会済みユーザー

総合スコア0

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

1クリップ

投稿2015/10/15 14:12

これからどうやって、C言語のスキルを向上すればいいのですか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答6

0

ADT(抽象データ型)の実装を
してみてはどうでしょうか。

ツリー、リスト、キュー、
スタック、ハッシュテーブル等。
リストは双方向リストが
おすすめです。

これらのそれぞれのデータ構造を
検索、(一覧)表示、追加、更新、削除…
する処理を実装します。

メモリリークしないように
気をつけてください。
ボインタ理解の確認テストにも
なると思います。

ソケット通信を使った簡単な
クライアント/サーバー型の
プログラムを実装してみるのは
どうでしょうか。

サーバ側のプログラムは
デーモン(常駐プログラム)と
して実装します。

クライアントの要求を待ち、
リクエストがあったら自分を複製して
クライアントとソケット通信を
行います。終了後は消滅します。

例えば、rcatd と、rcat を
実装します。

SQLを使ってRDBにアクセス
するのも良いでしょう。

デーモンプロセスがゾンビに
ならないよう気をつけてください。
簡単なC/S型プログラミングの
基礎が理解できると思います。

グラフィックスライブラリを
使用してGUIアプリケーションを
作ってみるのはどうでしょうか。
イベント駆動プログラミングの
基礎が理解できると思います。

投稿2015/10/16 00:17

umeaji

総合スコア101

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

現在のスキルや、数ある言語の中でなぜCを選んだのか(=目的)にもよりますが、ポイントをまとめると以下の3つになります。

  1. 良いコードを真似る
  2. 取り組む分野を具体的に絞る
  3. 周辺知識を積極的に学ぶ

###1. 良いコードを真似る
何事も良いお手本を真似るのが進歩の近道です。

幸い、今やネット上で簡単かつ無料で膨大なソースを閲覧出来ます。しかしそれらは玉石混交ですから、最初に見つけたものを闇雲に真似るのではなく、良いお手本を見極める練習がしてください。

そして苦労して見つけたお手本は、色々な場面で使い方倒してください。

そうした努力を続けて行くと、どんな場面でどの様に実装すると素早く高品質のプログラムを書くための道具をたくさん身に着けられると同時にプログラミングのセンスも磨かれます。

###2. 取り組む分野を具体的に絞る
C言語は、頑張ればほとんど何でも出来ます。しかし、適用分野によって独特のTipsがありますので、当面取り組む分野を具体的に絞った方が、より深く効率良く学習出来ます。

学ぶ上で一番重要なのはモチベーションを高く保つ事なので、今最も関心のある分野に的を絞りましょう。

一例を挙げると、一口にゲームアプリと言ってもゲームのジャンルによって実装方法がかなり変わるので、先ずは一つのジャンルに的を絞って、最初はとにかく動く程度の簡単なものから始め、徐々にグレードアップして行くことで技術に深堀りが出来ます。

これは次項とも深く関わっているのですが、このように興味が続く限り対象とする分野を具体的に絞って取り組むのはスキルアップに有用なアプローチ方法だと思います。

###3. 周辺知識を積極的に学ぶ
ある程度実用的なアプリを作ろうとすると、途端にプログラミング言語の知識だけでは全く不足している事に気づかされます。

例えば、Windowsのデスクトップアプリを作るならAPIを通してOSの機能を利用する方法とか、プロセス間で連携が必要ならソケットについて学ばねばならないかもしれません。

そのどれを学ぶにも分厚い参考書が必要な問題です。このように、プログラミングの世界を取り巻く外洋はとても広くて深いので、無闇に漕ぎ出せば遭難するかもしれません。

ですから、そういう意味でも最初は分野を具体的に絞り、着実に前進して行く事が重要だと考えます。

結局、スキルの高さは、プログラミングそのものと言うよりも、関連技術や周辺知識、実務上の経験などがモノを言ってくる世界なのだと思います。

投稿2015/10/16 05:22

pi-chan

総合スコア5936

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

ポインタを制覇するべきでしょう。

下記の書籍を勉強するといいですよ。
C言語ポインタ完全制覇 (標準プログラマーズライブラリ)

投稿2015/10/15 14:57

yona

総合スコア18155

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

C言語の基礎を覚えたら次どうしたらいいのか。

まずは基礎を固めることです。本当に基礎が身についているのか確認するのが先決でしょう。
基本情報処理のC言語の問題を解いてみるのもいいでしょう。

問題・解答ともに公開されています。
IPA 独立行政法人 情報処理推進機構:過去問題
https://www.jitec.ipa.go.jp/1_04hanni_sukiru/_index_mondai.html

穴埋め方式なので比較的簡単です。これが解けないようだと基礎を身につけたとはいえません。その結果によって、もう少し丁寧に基礎を勉強すべきか、次に進むべきか判断できるでしょう。

投稿2015/10/16 05:42

miu_ras

総合スコア902

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

... C言語のスキルを向上...

なんの為に C を学んでいるのでしょうか?

そのゴールを達成するのに不足していることを学んでいくのが良いとおもいます。
あるいは現時点のスキルだけを駆使してどこまでつくれるかを試してみるという方法を試しみても良いかもしれません。

投稿2015/10/15 15:18

katoy

総合スコア22324

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんばんは。

C言語のスキルの向上ということで質問されていましたが、あなたのCのスキルが今如何ほどなのか、もう少し具体的に書いていただけると皆さんも回答しやすくなると思います。

私の持論ですが全てのプログラミング言語に共通で本やwebにあるサンプルコードをまねたり、改造したりするなんて結構力になると思います。
そしてなんといってもCの壁はポインタでしょうか?リストやハッシュなどのデータ構造をCで実装したりすると、いっそうC言語、コンピュータへの理解は深まると思います。

こんな感じの回答でいかがでしょうか?

投稿2015/10/15 14:27

drumath2237

総合スコア91

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問