• 締切済み

C言語・アルゴリズムの勉強法(編入試験)

今年の夏に筑波大学の編入試験を受けることになりました。 24年度の過去問(情報基礎の2問) http://www.coins.tsukuba.ac.jp/exam/kakomon/h24 http://www.coins.tsukuba.ac.jp/exam/kakomon/h23 情報処理基礎2問の対策にお勧めの参考書,勉強方法があれば教えてください。 現在は独習Cをやり終わりました。

みんなの回答

noname#208507
noname#208507
回答No.3

URLを少し変えると、H15年度の過去問までダウンロードできますね。ほぼ毎年C言語の読解力が問われるようですが、これはすでに取り組まれていますね。 他の点では、私の知っている文献の中では 「Cをさらに理解しながら学ぶデータ構造とアルゴリズム」(森元 逞, 共立出版, 2007) が過去問の範囲を比較的によくカバーして、分量も多すぎないと思います。 過去の出題はリスト処理や木構造、グラフ理論、文字列処理、整列、行列など多岐に渡りますね。しかし高度なアルゴリズムや数値計算は過去問に出てきていないようです。特定の専門分野よりも、広く浅く、アルゴリズムを考案するための基礎ができているかを問う傾向があるように見えます。 私見ですが、数を絞って高度な参考文献に集中するより、平易な文献に取り組んで数をこなした方が良いかと思います。

raiseupto
質問者

補足

参考になりました! さっそくamazonで注文しました

すると、全ての回答が全文表示されます。
回答No.2

辛口なコメントもあるようですが、個人的な意見としては、Cの基本的な所を勉強したいだけなら 別に何でもいいと思います。さっさと次のステップに進みましょう。 アルゴリズムについては、自分の学校では以下を使っていました。 「定本 Cプログラマのための アルゴリズムとデータ構造」 偉い先生方がいっぱい本を読んで教科書に採用した本なので、 きっと良書だと思いますよ。 章立ては以下のURLを参考にしてください。 後は、Cの標準ライブラリを使っている部分で何をしているのか解らない部分が無い様にしないと いけない様にも思いました。 Cの標準ライブラリを全部知っている必要は恐らく無いのですが、試験官(コードを書く人)の癖で 一般的でない(授業では出てこなかった)ものが頻発している事があります。 理由は、「それらが便利だから」です。 対策としては、過去問で出てきているソースコードは全部読んでください。そして、解らない関数は つど調べるなり聞くなりして理解して、自分でも使ってみてください。その際、「何の為にそれを使う のか」を明確にしておいてください。 「ANSI C言語辞典」が標準ライブラリの辞典で、まぁ、お勧めではないかと思います。

参考URL:
http://www.context.co.jp/~cond/books/algo/mokuji-detailed.html
すると、全ての回答が全文表示されます。
  • TT414
  • ベストアンサー率18% (72/384)
回答No.1

>現在は独習Cをやり終わりました。 無駄な勉強をしましたね、「独習C」はクズ本です、書いてあったことを全て忘れましょう。下記の(1)、(2)、(11)を書いたまま第4版まで出版を続けているようなバカです。 本を選ぶときは、以下のような記述をしている本は絶対に避けてください。 (1)if(式)文;else文; (2)do 文;while(式); (3)do 文;while(式) (4)「goto文はラベルへ飛ぶ」と書き、ラベルの定義を「ラベル名:」とする (5)exit文、書式は「exit 式;」、使うにはstdlib.hが必要 (6)a<b<cがコンパイルエラーになる (7)double intと宣言 (8)scanf文、printf文などの記述 (9)case文、default文などの記述 (10)#define文、#include文などの記述 (11)熟練者は「*p++=toupper(*p);」と書くと記述 (12)do 文 文 文 while(式);などと「do」と「while」の間に複数の文を書ける (13)do{文}while(式);などと「{}」が必要 (14)(10)と(11)を同一人物が別の本で書く (15)a<bの結果が0、1以外の値が返る (16)文字列の最後は文末コード (17)if(!expr)goto label; ... /* 処理 */ label; (18)「~」文字がC言語では未使用 (19)「^=」演算子は右辺を反転したものを左辺に代入する (20)for(文 式;式)文 (21)','で区切られた式は右から評価する (22)printfにはdouble専用の書式は無いと記述 (23)(float)x=15;は((float)x)=15;と同じ (A)printf("%lf",double型の式); (B)floatの出力には%f、doubleの出力には%lf、と書きながら浮動小数の出力は%e、%gだと書いてある。 (a)0<n<16という式を使う (b)int func(int n){int d;d=1/n;return d;}というサンプルを作る (c)関数形式マクロの説明で「パラメータに括弧をつける」と「全体に括弧をつける」の片方だけの記述 (d)関数形式マクロの説明で「パラメータに括弧をつける」を旧版に記述、「全体に括弧をつける」を新版に記述。

すると、全ての回答が全文表示されます。

関連するQ&A