Thinkers'Studio
JavaとC言語の自習ツール
プログラミングTips, クイズ, プログラミング例

 おもにプログラミング初心者の方向けに、参考になりそうな Tips やプログラミング例などをご紹介しています。
 プログラムに関するクイズもありますから、力試しにどうぞ。 随時追加や加筆を行っていきます。

 なお、C言語と Java で取り扱いが同じものは、なるべく両方で同じ話題を掲載しています。

 質問募集中 !  プログラムに関する質問を募集しています。
 お気軽にお問い合わせください。  >> プログラムの質問を送る
 

プログラミングの話題

6. オブジェクトの使い方
5. キュー(待ち行列)
4. スタック
3. アルゴリズム計算量(オーダ)
2. 再帰呼出しとは
1. オブジェクト指向が有効な場合とは

プログラミングのコツ

5. エラー処理の重要性
4. 素直に書くことの大切さ
3. 変数名のつけ方のコツ
2. プログラムが分からないとき
1. 読みやすいプログラムを書くには

C言語

 はじめての方は下から順に見てください。 各Tips のクイズの答えは、その上の回の Tips に掲載されています。

70. 全半角が混在する文字列に使えるsubString New!
69. 関数内スタティック変数の使用例 New!
68. 文字列を返す関数で注意すること New!
67. リスト構造(第4回)-- リスト構造からの削除操作 delete
66. リスト構造(第3回)-- リスト構造への挿入操作 insert
65. リスト構造(第2回)-- リスト構造の構造体定義
64. 電卓プログラムの考え方、書き方例
63. scanf の使い方、考え方
62. 配列を使ったキューの例
61. 構造体配列を使ったスタックの例
60. atofstrtod の違い
59. 構造体配列のデータを csvファイルに出力する例
58. atof 関数の自前処理解説(文字列を double型に変換する)
57. 関数からの return に関するTips
56. 入力時に不要なデータをスキップ(scanf,sscanf,fscanfのTips)
55. qsort構造体ポインタ配列をソートする例
54. C言語における NULLポインタ
53. qsort構造体配列をソートするプログラム例      *ご案内* 構造体のこれさえ分かれば!
52. 構造体関数の戻り値にする(指定日のn日後を調べる)      -> 要点講座「構造体編」
51. 変数の値を表示する便利なマクロ
50. 素数判定のプログラム例
49. 有効な日付かチェックする関数例
48. qsortint配列をソートするプログラム例
47. 曜日を調べるプログラム(Zeller の公式を使って)
46. 10進 → 2進で表示する関数の例(汎用版とビット演算子版)
45. fgets と sscanf でファイルから入力するには
44. 最大公約数を求めるプログラム例(ユークリッドの互除法、再帰呼出し)
43. substring の自作例(2) (文字列を返す関数の仕様を考える)
42. 文字列の一部を取り出すには (substring の自作例)
41. for文で複数の式を書く例(コンマ演算子)
40. リスト構造(第1回)-- リスト構造の概要
39. 文字列の前後の空白を除去する trim関数の自作例
38. 配列ポインタのプログラムクイズ(3)         *ご案内* ポインタがよく分かる!
37. バブルソートのプログラム例とソートの様子             -> 要点講座「配列とポインタ編」
36. fscanfcsvファイルから入力するには
35. 和暦を西暦年に変換するプログラム例
34. 西暦年を和暦に変換するプログラム例 (文字列を返す関数)
33. C言語における変数の初期化についての整理
32. 構造体へのポインタを関数に渡して操作する例(BMI指数)
31. 構造体配列関数に渡して操作する例
30. 構造体配列にデータを読み込むには
29. 数字当てゲーム(ヒットアンドブロー)のプログラム
28. 文字列を int型に変換する atoi関数の自前処理例
27. 2次元配列の初期化、関数に渡すサンプル (C言語版)
26. ゲームで使う乱数生成(rand, srand)の使用例
25. 連続した空白をひとつの空白にする関数 (文字列を関数に渡す例)
24. 小数点以下第1位で切り上げ/切り捨てするプログラム例 (C言語版)
23. 2次元配列のプログラム例(学生ごと教科ごとの平均点を求める) (C言語版)
22. 文字列を分割する split関数の自作例
21. 配列ポインタのプログラムクイズ(2)
20. argc, argv は何の略? (コマンドライン引数の使用例)
19. 構造体タグ名が必要なケース        *ご案内* 構造体のこれさえ分かれば!
18. よく使う構造体宣言の形 typedef              -> 要点講座「構造体編」
17. 配列ポインタのプログラムクイズ(1)
16. 文字列の終端 null文字('\0')に関すること
15. 文字列長配列サイズの使い分け
14. 配列の要素数を調べるには (C言語版)
13. 小数点以下第1位で四捨五入するプログラム例 (C言語版)
12. break と continue を活用しよう (C言語版)
11. マクロは機械的に置換するので注意
10. 文字列比較クイズ (C言語版)
9. 3桁ごとにカンマをはさむプログラム例 (C言語版)
8. 関数の値渡しと参照渡し (C言語版)
7. 空文を見逃さないようにしよう (C言語版)
6. ポインタの間違い探し              *ご案内* ポインタがよく分かる!
5. 演算子の結合規則を知っておこう (C言語版)      -> 要点講座「配列とポインタ編」
4. うるう年判定のプログラム例 (C言語版)
3. 演算子の前置と後置( ++, -- ) (C言語版)
2. 判断の switch文で使う default
1. 演算子の混同に気をつけよう( = と == )

Java

 はじめての方は下から順に見てください。 各Tips のクイズの答えは、その上の回の Tips に掲載されています。

36. Java における変数の初期化についての整理
35. 文字列に含まれる空白や改行を除去する自作メソッド
34. csvファイルの入出力(条件と一致するデータの抽出)
33. 別の配列を使った2次元配列の初期化や代入
32. メソッドからの return に関するTips
31. 指定日のn日後を調べるプログラム例
30. 素数判定のプログラム例(Java版)
29. 最大公約数を求めるプログラム例(ユークリッドの互除法、再帰呼出し) (Java版)
28. ゲームで使う乱数生成(Math.random)の使用例
27. 部分文字列を返す substringの使用例(ファイルサフィックスやプレフィクス)
26. 配列メソッドの戻り値とするには
25. 文字列の前後の空白を除去する trim
24. csvファイルから入力するには
23. 西暦年を和暦に変換するプログラム自作例(Java版)
22. BMI指数を求めるプログラム例 (Java版)
21. 2次元配列の初期化、メソッドに渡すサンプル (Java版)
20. 小数点以下第1位で切り上げ/切り捨てするプログラム例 (Java版)
19. 2次元配列のプログラム例(学生ごと教科ごとの平均点を求める) (Java版)
18. 文字列を分割する splitメソッドの使用例
17. args(コマンドライン引数)の使用例
16. クラス設計継承カプセル化
15. int のラッパークラス Integer を使ってみよう
14. 複数のコンストラクタを定義できることを知っておこう
13. final の変数について知っておこう
12. 配列の要素数を調べるには (Java版)
11. 小数点以下第1位で四捨五入するプログラム例 (Java版)
10. break と continue を活用しよう (Java版)
9. 演算子 == について知っておきたいこと
8. 文字列比較クイズ (Java版)
7. 3桁ごとにカンマをはさむプログラム例 (Java版)
6. メソッドの値渡しと参照渡し (Java版)
5. 空文を見逃さないようにしよう (Java版)
4. 演算子の結合規則を知っておこう (Java版)
3. うるう年判定のプログラム例 (Java版)
2. 演算子の前置と後置( ++, -- ) (Java版)
1. 文字列連結演算子 + で注意すること

プログラミングの学習をはじめる方へ

1. プログラミングの学習にどの言語を使うべきか