【2023最新】「C言語」のおすすめ本!人気ランキング
この記事では、「C言語」のおすすめ本をランキング形式で紹介していきます。インターネット上の口コミや評判をベースに集計し独自のスコアでランク付けしています。
Amazonで詳しく見る
紹介文
累計60万部を突破した「スッキリわかる入門シリーズ」の新世代C言語入門書に、待望の進化改訂版が登場! この第2版では、クラウド学習環境「dokoC」に対応し、初学者がつまづきがちな開発環境導入の手間を省いて、すぐに学習を開始できるようになりました。本書は、通常の解説文の中に、適度な間隔で、学び手役の新人と指導役の先輩の対話を織り交ぜる展開と、豊富な図解で、わきあがる疑問を置き去りにせず、じっくり楽しく正確に、難所ポインタですらスッキリ理解できる、他の入門書では見られない、唯一無二の構成となっています。
Amazonで詳しく見る
紹介文
最も簡単なC言語入門書の『Cの絵本』が改訂、シリーズラインナップもリニューアル!
C言語入門書の定番『Cの絵本』がリニューアルされました!
10年以上にわたって親しまれてきたC言語解説書『Cの絵本』は、プログラムのことを何も知らなくても勉強が始められるように考えられた、とてもやさしい入門書です。新版では、従来の分かりやすい部分はそのままに、内容を全体的に見直してお届けします。難しいと言われるC言語のポインタについても無理なくハードルを越えられるように配慮しました。従来は扱いが小さかった一部の項目についてはより実践的に解説し、現在のコンピュータの環境で気軽にC言語を試していただけるよう環境構築を新規に書きおろしました。
本書を読むのにプログラム言語の知識は一切不要です。もっとも親しみやすいC言語の入門書として、現代の環境に合わせてアップデートされた、安心して勉強を始められる一冊です。
【翔泳社の「絵本」シリーズのラインナップをアップデート】
翔泳社の「絵本シリーズ」は名前のとおり、絵本のように豊富なイラストと要点を押えた簡潔な解説でコンピュータ技術に入門できる初心者向けのシリーズです。すべての単元を2ページ単位で読みやすくまとめ、基礎に徹した内容で、言語/技術の初心者や手軽に習得したい方のお役にたてるようになっています。
このたび、翔泳社は「絵本シリーズ」を全面的に改訂し、内容を現在の技術にあわせて見直しました。シリーズラインナップ全体をリニューアルし、新パッケージでお届けします。
新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、基礎に徹した内容というコンセプトはそのままに、Web/ネットが全盛となった現在のコンピュータ技術の潮流に合わせた解説を心掛けます。『Cの絵本』『Javaの絵本』を皮切りにラインナップを順次刷新、さらに新しい仲間を増やしてラインナップを充実していきます。
C言語をはじめる前に
第1章 基本的なプログラム
第2章 演算子
第3章 制御文
第4章 配列とポインタ
第5章 関数
第6章 ファイルの入出力
第7章 構造体
第8章 プログラムの構成
付録
Amazonで詳しく見る
紹介文
しっかり習得できる信頼のロングセラー
【シリーズ累計100万部突破!】
プログラミング教科書のベストセラー、高橋麻奈の「やさしい」シリーズの『やさしいC++』を、新装丁+スッキリとした本文デザインで、より親しみやすく、より読みやすく改訂します。
プログラミング経験がなく、はじめての人にも、無理なくプログラミングの基本から学習してもらえるように、次の点を心がけています。
・読みやすい解説でスラスラ読み進められます。
・豊富なイラスト図解で、概念をイメージでわかるようにしています。
・たくさんのサンプルプログラムで、試して理解できます。
難しいと思われがちなC++プログラミングですが、基本文法からオブジェクト指向まで、とことん丁寧に解説していますので、はじめての人でも必ず習得できる書籍です。
Amazonで詳しく見る
紹介文
C言語入門書の最高峰!!
【シリーズ累計120万部突破!】
わが国最大のC言語のベストセラー&ロングセラーの大改訂版。
「最も明快で、最も正確なC言語入門書」として、日本で最も多くの読者を獲得しているC言語入門書の改訂版です。プログラミング教育界の巨匠 柴田望洋が、実際に動作するサンプルプログラムと視覚的なイメージをつかみやすい図表を使って、C言語の基礎を語り口調で丁寧に解説しています。
初めてC言語を学ぶ初心者から、これまでの入門書では理解できなかった経験者まで、すべての学習者にとって最良の入門書です。
第1章 まずは慣れよう
第2章 演算と型
第3章 プログラムの流れの分岐
第4章 プログラムの流れの繰返し
第5章 配 列
第6章 関 数
第7章 基本型
第8章 いろいろなプログラムを作ってみよう
第9章 文字列の基本
第10章 ポインタ
第11章 文字列とポインタ
第12章 構造体
第13章 ファイル処理
Amazonで詳しく見る
紹介文
超ベスト&超ロングセラーの大改訂版
「最も明快で、最も正確なC言語入門書」として、日本で最も多くの読者から圧倒的な支持を受けているC言語入門書の大改訂版です。
プログラミング教育界の巨匠 柴田望洋が、適切なサンプルプログラム205編と図表220点を使って、C言語の基礎を語り口調で丁寧に解説しています。
初めてC言語を学ぶ初心者から、これまでの入門書では理解できなかった経験者まで、すべての学習者にとって最良の入門書です。
Amazonで詳しく見る
紹介文
Cはなんでこんな言語に「なっちゃった」のか。そもそもこの悪名高いポインタとは何か。初心者が必ずひっかかる、配列とポインタのまぎらわしい文法とは。Cはメモリを実際にどんなふうに使うのか。Cの宣言は英語で読め。ポインタの真の使い方は。Cの文法を深く知ることで見えてくること納得できること。
第0章 本書の狙いと対象読者-イントロダクション
第1章 まずは基礎から-予備知識と復習
第2章 実験してみよう-Cはメモリをどう使うのか
第3章 Cの文法を解き明かす-結局のところ、どういうことなのか?
第4章 定石集-配列とポインタのよくある使い方
第5章 データ構造-ポインタの真の使い方
第6章 その他-落ち穂拾い
Amazonで詳しく見る
紹介文
真面目にC言語を覚えたい初心者向けに、C言語の基本機能を体系立てて習得できるC言語の入門書です。ネットで人気になった同名のC言語講座をサイト運営者自らが書籍化。C言語の入門書はたくさんありますが、苦しんで覚えるC言語はひとつひとつの要素をスローモーションでゆっくり確実に解説していることが特徴です。本書は、はじめてプログラミングやC言語に挑戦する人、既存の入門書ではC言語を習得できなかった人を対象に、C言語の基礎からC言語で使われている機能のうち一部のマニアックな機能を除いた全ての機能をやさしく丁寧に解説しています。最初はわからなくても、はじめからじっくり読み進め、各章に準備された問題を解いていくことで確実にC言語が身につきます。iPhoneアプリ開発のはじめの一歩にもおすすめします。
0章 コンピュータとは何か?
0.1 コンピュータとは何か?
0.1.1 現代人とコンピュータ
0.1.2 コンピュータとは
0.1.3 CPUとは?
0.1.4 メモリとは?
0.2 プログラムとは何か?
0.2.1 プログラムとは
0.2.2 単純な文法
0.2.3 明確な意味
0.2.4 まだまだ曖昧
1章 世界最小のプログラム
1.1 何もしないプログラム
1.1.1 C言語の構造
1.1.2 関数の作り方
1.1.3 main関数は特別
1.1.4 プログラムを動作させる
1.2 コンパイラは翻訳ソフト
1.2.1 すべては機械語
1.2.2 プログラミング言語の登場
1.2.3 C言語翻訳ソフト
2章 プログラムの書き方
2.1 書き方のルール
2.1.1 トークン
2.1.2 フリーフォーマット
2.1.3 そのほかのルール
2.2 書き方の慣習
2.2.1 関数の書き方
2.2.2 インデント
2.2.3 コメント
3章 画面への表示
3.1 文字列の表示
3.1.1 どうしても必要
3.1.2 printf関数
3.1.3 どこに書くのか?
3.1.4 説明書の取り込み
3.1.5 お待たせしました
3.2 改行文字
3.2.1 改行問題
3.2.2 エスケープシーケンス
4章 数値の表示と計算
4.1 数値の表示
4.1.1 文字列と数値
4.1.2 数値を表示する
4.1.3 文字列との組み合わせ表示
4.1.4 複数の数値の表示
4.2 基本的な計算
4.2.1 計算とその結果の表示
4.2.2 四則演算子
4.2.3 複雑な式
4.3 数値の種類
4.3.1 さまざまな数値
4.3.2 実数の計算
5章 数値の記憶と計算
5.1 数値を記憶する
5.1.1 記憶の必要性
5.1.2 変数というメモリ
5.1.3 変数の宣言
5.1.4 変数への値の代入
5.1.5 変数を数値の代わりに使う
5.1.6 代入と演算を同時に
5.2 変数の種類
5.2.1 データ型
5.2.2 実数を記憶する変数
5.3 型の変換
5.3.1 整数と実数の混合計算
5.3.2 強制的に変換
5.4 数値の桁そろえ
5.4.1 整数の桁そろえ
5.4.2 コンピュータ的な表示
5.4.3 実数の桁そろえ
6章 キーボードからの入力
6.1 入力用の関数
6.1.1 入力の必要性
6.1.2 scanf関数
6.1.3 数値の入力
6.1.4 複数の入力
6.1.5 簡易シグマプログラム
6.2 入力の恐怖
6.2.1 恐怖の入力ミス
6.2.2 区切り記号のミス
6.2.3 大きすぎる数値
6.2.4 文字列の恐怖
6.2.5 解決法について
7章 比較と判断
7.1 比較を行う文
7.1.1 条件判断
7.1.2 条件判断をする文
7.1.3 比較のための演算子
7.2 比較のための演算子
7.2.1 等値演算子
7.2.2 関係演算子
7.2.3 論理演算子
7.3 複数の処理の実行
7.3.1 複数の処理の必要性
7.3.2 ブロック文
8章 場合分け処理を行う
8.1 2つの場合分け
8.1.1 偽の場合の処理
8.1.2 使い方は同じ
8.1.3 読みやすくする
8.2 3つ以上の場合分け
8.2.1 条件が複数の場合の処理
8.2.2 見やすい書き方
8.3 番号による場合分け
8.3.1 番号と対応させる処理
8.3.2 当てはまらない場合の処理
8.3.3 同様の処理をまとめる
8.3.4 判断力の弱さ
9章 回数が決まっている繰り返し
9.1 繰り返しを行う文
9.1.1 繰り返し動作
9.1.2 回数の表示
9.2 ループ動作の仕組み
9.2.1 初期化と条件
9.2.2 いつまでも…
9.2.3 強制脱出
10章 回数がわからない繰り返し
10.1 回数不明ループ
10.1.1 回数を求めるループ
10.1.2 for文との交換性
10.2 入力チェック
10.2.1 後判定と先判定
10.2.2 入力チェック
11章 関数の作り方
11.1 自作関数を作る
11.1.1 プログラムの部品化
11.1.2 自作関数を作る
11.1.3 プロトタイプ宣言
11.1.4 自作関数を呼び出す
11.2 関数に数値を渡す
11.2.1 引数を持つ関数
11.2.2 関数に数値を渡す
11.2.3 複数の引数
11.3 関数から数値を返す
11.3.1 戻り値を返す関数
11.3.2 戻り値の制限
12章 変数の寿命
12.1 関数内で寿命が尽きる変数
12.1.1 ローカル変数の寿命
12.1.2 同じ名前でも別の変数
12.1.3 関数の独立性
12.1.4 正確にはブロック内
12.2 最後まで生き残る変数
12.2.1 グローバル変数の寿命
12.2.2 すべての関数で共有される
12.2.3 ローカル変数は独立する
12.3 関数内で生き残る変数
12.3.1 静的なローカル変数の寿命
13章 複数の変数を一括して扱う
13.1 複数の変数をまとめて扱う
13.1.1 配列の概念
13.1.2 配列の宣言
13.1.3 配列の取り扱い
13.2 配列の使い方
13.2.1 初期値の代入
13.2.2 全要素の表示
13.2.3 要素数を求める
13.2.4 配列のコピー
14章 文字列を扱う方法
14.1 文字の扱い方
14.1.1 文字列を扱う変数
14.1.2 文字を扱うには
14.1.3 文字コード
14.1.4 文字に対する計算
14.2 文字列を扱う方法
14.2.1 配列にしてしまおう
14.2.2 文字列の初期化
14.3 文字列処理関数
14.3.1 数値への変換
14.3.2 文字列のコピー
14.3.3 文字列の連結
14.3.4 究極の文字列合成関数
14.3.5 文字列の入力
14.3.6 文字数を数える
14.3.7 文字列の比較
15章 ポインタ変数の仕組み
15.1 メモリの仕組み
15.1.1 メモリ?
15.1.2 超巨大な1列ロッカー
15.1.3 CPUのビット数
15.1.4 32ビットのロッカー
15.2 変数とメモリの関係
15.2.1 変数はメモリ上に存在する
15.2.2 メモリ上の番号を表示する
15.2.3 複数の変数の番号
15.2.4 配列の番号
15.3 &付けが必要な変数の正体
15.3.1 &付き変数の正体
15.3.2 すべては値渡しである
15.3.3 scanf関数で&をつける理由
15.4 アドレスを記憶する変数
15.4.1 ポインタという単語
15.4.2 ポインタ型
15.4.3 ポインタ値
15.4.4 ポインタ変数
15.5 ポインタ変数を使ってみる
15.5.1 ポインタ変数の宣言
15.5.2 アドレスを代入する
15.5.3 モードの切り替え
15.5.4 すなわちショートカット
15.6 引数による情報の受け渡し
15.6.1 ポインタ型の引数
15.6.2 配列型の引数
15.6.3 配列型引数の奇妙な性質
15.6.4 アドレスを渡している
15.7 配列とポインタの奇妙な関係
15.7.1 配列のような使い方
15.7.2 ポインタ専用の書き方
15.7.3 古き悪きポインタ演算
15.7.4 アドレスのことは忘れましょう
16章 複数の型をまとめる
16.1 異なる型の変数をまとめる
16.1.1 まとめてデータを扱いたい場合
16.1.2 構造体の使い方
16.1.3 構造体変数自体の処理
16.1.4 構造体の簡潔な宣言
16.2 構造体の引数
16.2.1 構造体で情報を渡す
16.2.2 構造体でもポインタ変数
16.2.3 構造体でもポインタ引数
16.3 構造体の配列
16.3.1 構造体の配列
16.3.2 構造体配列の引数
17章 ファイルの取り扱い
17.1 テキストファイルの読み書き
17.1.1 ファイルの取り扱い
17.1.2 ファイルの開閉
17.1.3 ファイルへの書き込み
17.1.4 ファイルからの読み込み
17.2 バイナリファイルの読み書き
17.2.1 テキストとバイナリ
17.2.2 ファイルの開閉
17.2.3 ファイルへの書き込み
17.2.4 ファイルからの読み込み
17.3 ドラッグへの対応
17.3.1 ドラッグされたファイル名の取得
17.3.2 オプションの解析
18章 マクロ機能
18.1 不変の値の取り扱い
18.1.1 始めから終わりまで不変の値
18.1.2 数値に名前をつける
18.1.3 文字列に名前をつける
18.2 その他の方法による定数
18.2.1 const定数
18.2.2 enum定数
18.2.3 数値指定enum定数
18.3 簡易的な関数の実現
18.3.1 #define疑似命令の高度な機能
18.3.2 マクロという簡易関数
18.3.3 副作用の恐怖
19章 動的配列
19.1 配列を自由自在に作る
19.1.1 配列の欠点
19.1.2 メモリの確保
19.1.3 動的配列の要素数を拡大する
20章 複数のソースファイル
20.1 最小限の分割
20.1.1 複数ファイルを使う理由
20.1.2 ソースとヘッダーファイル
20.1.3 最小限のヘッダーファイル
20.2 分割の定石
20.2.1 変数の共有
20.2.2 extern宣言
20.2.3 ヘッダーファイルの重複防ぎ
21章 キーボード入力
21.1 1行の文字列として入力する
21.1.1 gets関数によるキーボード入力
21.1.2 バッファオーバーラン対策
21.1.3 文字列から数値などを取り出す
Addendum
A 単語と記号
A.1 予約語
A.2 出力変換指定子
A.3 入力変換指定子
A.4 演算子と優先順位
A.5 記憶クラス指定子
A.6 エスケープ文字
A.7 定義済み定数
B 標準ライブラリ関数一覧
B.1 入出力
B.2 汎用
B.3 文字処理
B.4 文字列処理
B.5 数学関数
B.6 時間
B.7 制御
Amazonで詳しく見る
紹介文
中級者へのステップアップ!!
【シリーズ累計120万部突破!】
楽しいプログラムを作りながら、中級者への道を着実に歩もう。様々なプログラム作りを通して、プログラム開発能力と応用力が身につきます。読むプログラマ(入門者)が書くプログラマ(中級者)へステップアップするための最良の解説書。
入門書のプログラムは理解できるけれど、自分でプログラムを作ることができない。配列やポインタなどの文法的なことは分かるけれど、実際の応用例が分からない。
本書は、このような悩みを持っている、C言語入門者のための解説書です。
「数当てゲーム」「マスターマインド」「タイピング練習」「記憶力トレーニング」など、たくさんのプログラム作りとその改良を通して、さまざまなC言語のテクニックをマスターし、真のプログラム開発能力と応用力を身につけることができます。『新・明解C言語 入門編』でC言語の基礎を学んだ後に、ぜひとも手にとっていただきたい一冊です。
第 1 章 数当てゲーム
第 2 章 表示に凝ろう
第 3 章 じゃんけんゲーム
第 4 章 マスターマインド
第 5 章 記憶力トレーニング
第 6 章 カレンダー
第 7 章 右脳トレーニング
第 8 章 タイピング練習
第 9 章 ファイル処理
第10 章 英単語学習ソフト
Amazonで詳しく見る
紹介文
たくさんの問題を解いてC言語力を高めよう
C言語入門書の最高峰『新・明解C言語入門編第2版』の全演習問題を収録。一つ一つの問題を解きながら、C言語の基礎を身につけ、プログラミング能力を高めることができる、新しいスタイルの入門書です。
「C言語のテキストに掲載されているプログラムは理解できるのだけど、自分では作ることができない」という初心者に最適です。C言語の再入門書として、またC言語のサンプルプログラム集としても活用できる一冊です。
なお、本書は、2016年2月に刊行され、大ロングセラーとなった『新・解きながら学ぶC言語』の改訂版です。
第1章 まずは慣れよう 第2章 演算と型 第3章 プログラムの流れの分岐 第4章 プログラムの流れの繰返し 第5章 配 列 第6章 関 数 第7章 基本型 第8章 いろいろなプログラムを作ってみよう 第9章 文字列の基本 第10章 ポインタ 第11章 文字列とポインタ 第12章 構造体 第13章 ファイル処理
Amazonで詳しく見る
紹介文
最高のC言語入門書『新・明解C言語入門編』の著者であり、C++の原典ストラウストラップ『プログラミング言語C++第4版』の名訳でも名高い柴田望洋が贈る、最も明快で最も平易なC++言語入門書の決定版。
たくさんの図表とサンプルプログラムを使って、C++の基礎を分かりやすく、ていねいに解説しています。
一つ一つのステップを着実に進んでいく、著書一流の解説により、読者は目から鱗が落ちるように、C++の基本をマスターすることができるでしょう。
初めてプログラミングを学ぶ人、他の入門書ではマスターできなかった人、本当にC++をマスターしたい人など、すべてのC++ユーザにとって、最良の1冊です。
Amazonで詳しく見る
紹介文
最初に学ぶ言語の定番書
【本書の概要】
本書は、長く愛されてきた「独習C」の完全新作です。
著者は大手ベンダーで働く敏腕プログラマーで著書も多数のarton(アートン)氏。
旧版では不足気味だった「図による解説」や「補足説明」を大幅に追加。
さらに練習問題は学習効果を図りやすいサンプルを用意しています。
独習シリーズの「わかりやすい解説」「理解が深まる例題」「力試しの練習問題」
という3ステップを踏襲していますので、自力でC言語を習得できます。
学習用のCコンパイラについては「clang」(オープンソースで現在多くの
C言語系プログラマーが利用)を利用します。
【ターゲット】
独学でC言語について学びたい方(学生や社会人1年生)
【Cの規格】
C11
【対応OS対応】
Windows、macOS、Linux
【著者】
arton(アートン)
1980年代後半から垂直統合システムメーカーに勤務し、デバイス制御プログラムから
センターサーバー用アプリケーションプラットフォームまで多数のソフトウェアの開発に従事。
2000年頃からRubyコミュニティに参加してASR、RJBなどのブリッジを公開するとともに、
Ruby、Java、C#などの入門書を執筆。2017年12月からロボット投信株式会社に勤務。
第1章 学習の準備
第2章 Cの基礎
第3章 数と変数
第4章 制御文:真偽と条件分岐
第5章 制御文:配列とループ
第6章 制御文:条件付きループ
第7章 文字と文字列
第8章 アドレスとポインター
第9章 関数の作成
第10章 IO
第11章 構造体
第12章 共用体とビットフィールド
第13章 高度なデータ型、演算子
第14章 プリプロセッサ
付録A 「練習問題」「前章の復習問題」「この章の理解度チェック」解答
付録B 標準ヘッダーファイル
付録C キーワード
Amazonで詳しく見る
紹介文
プログラミング学習シリーズのC言語がリニューアル!C言語ならではのプログラミングのコツがしっかりわかる
定番の入門書シリーズに『C言語』が装い新たに登場!
本書は、「C言語」をこれから学ぶ初心者を対象に、
文法やプログラミングの基本知識をわかりやすく解説する入門書です。
これまで数多くの学生に対してプログラミングの授業をしてきた著者が、その経験を活かし、
基本的な文法から、学習の難所とされるアドレスとポインタの概念まで、
つまずきやすい内容を1つひとつ丁寧に解説します。
本書を読めば、C言語ならではの、
自由度が高く高速なプログラムを書くための、
知識の土台をしっかりと身につけることができます。
掲載するサンプルプログラムはシンプルなものを選び、
何をしているのかがよくわかるように、コメントをしっかりつけています。
また章の最後には練習問題があり、力試しや理解度の確認に活用できます。
・何から学習すれば良いかわからない
・C言語をはじめて学ぶ、あらためて基本から学びたい
・開発現場で通用する基礎を身につけたい
という方に手に取っていただきたい1冊です。
■特別付録:学習用スライド教材について
本書を授業などで活用していただくことを前提に作成した、
学習用のスライド教材をダウンロード付録として提供しています。
詳細は本書の奥付をご覧ください。
■著者プロフィール
三谷純(みたに・じゅん)
筑波大学システム情報系教授。コンピュータ・グラフィックスと折り紙に関する研究に従事。
1975年静岡県生まれ。2004年東京大学大学院博士課程修了、博士(工学)。
小学生のころからプログラミングに熱中。大学時代に本格的にプログラミングを学び、
Java、C/C++、PHP、JavaScriptなどによるプログラムを多数開発。
その後、CG分野における、さまざまな研究開発に取り組んできた。
(主な著書)
『Java 第3版 入門編 ゼロからはじめるプログラミング』
『Java 第3版 実践編 アプリケーション作りの基本』
『Python ゼロからはじめるプログラミング』(いずれも2021年・翔泳社)
『立体折り紙アート』(2015年・日本評論社)
第1章 C言語に触れる
1-1 C言語に触れる
1-2 C言語のプログラム構成
1-3 プログラムの作成と実行
第2章 C言語の基本
2-1 出力
2-2 変数
2-3 算術演算子と式
2-4 演算と型
第3章 条件分岐と繰り返し
3-1 条件分岐
3-2 論理演算子
3-3 処理の繰り返し
3-4 配列
第4 章 関数
4-1 関数とは
4-2 関数の引数
4-3 関数の戻り値
第5章 アドレスとポインタ
5-1 アドレスとポインタ
5-2 ポインタの活用
5-3 配列とポインタ
5-4 関数ポインタ
第6章 文字列の扱いと構造体
6-1 文字列と配列
6-2 文字列の操作
6-3 構造体
6-4 構造体の応用
第7章 一歩進んだC言語プログラミング
7-1 ファイル入出力
7-2 グローバル変数と複数ファイルへの分割
7-3 マクロと列挙
第8章 データ構造とアルゴリズム
8-1 アルゴリズムと計算量
8-2 データの格納
8-3 整列(ソート)
Amazonで詳しく見る
紹介文
本書は,アメリカの標準規格として1988年末に提出されたC言語のANSI規格にもとづいて第1版を全面的に書き直した新版である。ごく常識的に言えば,C言語はリッチー博士がベル研で1973年に開発して以来,多くのプログラマに使われているから,その仕様変更はちょっと不可能ということになるが,アメリカはあえて,そのCの仕様変更・機能拡張をやってのけた。これでCが近代的なプログラミング言語としてよみがえったのだからすばらしい。
本書の付録Cの要約でもわかる通り,ANSI規格による変更(機能拡張)はそう大幅なものではないが,重要な改良点を多く含んでいる。Cによるプログラミングは,これまで自由度がありすぎて危険だとよくいわれてきたが,ANSIによって改良された結果,Cによるプログラミングの安全性は大いに向上した。これでCの寿命は一段と長くなり,Cは今後ますます広く使われることになるであろう。
第0章 はじめに
第1章 やさしい入門
1.1 手始めに
1.2 変数と算術式
1.3 For 文
1.4 記号定数
1.5 文字入出力
1.6 配列
1.7 関数
1.8 引数―値による呼出し(call by value)
1.9 文字配列
1.10 外部変数と通用範囲
第2章 データ型・演算子・式
2.1 変数名
2.2 データ型とサイズ
2.3 定数
2.4 宣言
2.5 算術演算子
2.6 関係演算子と論理演算子
2.7 型変換
2.8 インクレメントとデクレメントの演算子
2.9 ビットごとの論理演算子
2.10 代入演算子と式
2.11 条件式
2.12 優先度と評価順序
第3章 制御の流れ
3.1 文とブロック
3.2 If-Else
3.3 Else-If
3.4 Switch
3.5 ループ(While と for)
3.6 ループ(do-While)
3.7 Break 文と Continue 文
3.8 Goto と名札
第4章 関数とプログラム構造
4.1 関数についての基本事項
4.2 非整数を返す関数
4.3 外部変数
4.4 通用範囲に関する規則
4.5 ヘッダ・ファイル
4.6 静的変数
4.7 レジスタ変数
4.8 ブロック構造
4.9 初期化
4.10 再帰(Recursion)
4.11 C のプリプロセッサ
第5章 ポインタと配列
5.1 ポインタとアドレス
5.2 ポインタと関数引数
5.3 ポインタと配列
5.4 アドレス計算
5.5 文字ポインタと関数
5.6 ポインタ配列:ポインタへのポインタ
5.7 多次元配列
5.8 ポインタ配列の初期化
5.9 ポインタ対多次元配列
5.10 コマンド行の引数
5.11 関数へのポインタ
5.12 複雑な宣言
第6章 構造体
6.1 構造体についての基本事項
6.2 構造体と関数
6.3 構造体の配列
6.4 構造体へのポインタ
6.5 自己参照的構造体
6.6 テーブル参照
6.7 Typedef
6.8 共用体
6.9 ビット・フィールド
第7章 入出力
7.1 標準入出力
7.2 書式付き出力―Printf
7.3 可変引数リスト
7.4 書式付き入力―Scanf
7.5 ファイル・アクセス
7.6 エラー処理―Stderr と Exit
7.7 行の入出力
7.8 雑関数
第8章 UNIX システム・インタフェース
8.1 ファイル記述子
8.2 低水準入出力―Read と Write
8.3 Open,Creat,Close,Unlink
8.4 ランダム・アクセス―Lseek
8.5 例―Fopen と Getc の実現
8.6 例―ディレクトリのリスティング
8.7 例―記憶割当て
付録A 参照マニュアル
付録B 標準ライブラリ
付録C 変更点の要約
付録D パソコン用のC処理系と日本語処理機能
索引
Amazonで詳しく見る
紹介文
C++の標準教科書、完全書き下ろしリニューアルで9年ぶりに新登場!C++17に対応して、より丁寧に、より詳しく!
標準教科書がC++17に対応し、
完全書き下ろしリニューアルで9年ぶりに新登場!
システム開発者、ゲームプログラマーをはじめ、
すべてのC++学習者、待望の解説書。
boostコミッターの著者により、
旧版の特徴である「扱う内容の深さは」そのままに、
より自然でわかりやすい解説に完全リニューアルしました。
言語仕様の初歩から標準ライブラリの基礎まで、
より丁寧で、より詳しい解説となった一冊です。
===目次===
- 第1章 C++の基本的な言語機能(1)
- 第2章 C++の基本的な言語機能(2)
- 第3章 クラス
- 第4章 分割コンパイル、ビルド
- 第5章 配列、ポインター、右辺値参照
- 第6章 演算子オーバーロード
- 第7章 継承
- 第8章 入出力システム
- 第9章 テンプレート
- 第10章 例外処理
- 第11章 実行時型情報とキャスト演算子
- 第12章 データ構造とアルゴリズム
- 第13章 文字列処理
第1章 C++の基本的な言語機能(1)
1.1 Hello, world
1.2 変数と関数
1.3 演算子
1.4 条件分岐
1.5 組み込み型とポインター
1.6 配列と文字列
1.7 繰り返し
この章の理解度チェック
第2章 C++の基本的な言語機能(2)
2.1 構造体・共用体・列挙体
2.2 クラス概要
2.3 参照
2.4 型推論
2.5 型の別名定義
2.6 コンソールからの入力
2.7 関数オーバーロード
2.8 ラムダ式
この章の理解度チェック
第3章 クラス
3.1 constメンバー関数とmutable
3.2 コンストラクターとデストラクター
3.3 初期値を受け取るコンストラクター
3.4 デフォルトの初期値
3.5 継承の概要
3.6 オブジェクトポインター
3.7 クラス、構造体、共用体の関係性
3.8 フレンド関数の概要
3.9 staticクラスメンバー
この章の理解度チェック
第4章 分割コンパイル、ビルド
4.1 識別子とC++のキーワード
4.2 宣言と定義
4.3 スコープ
4.4 初期化構文付き条件分岐
4.5 分割コンパイル
4.6 インライン関数
4.7 名前空間
4.8 リンケージ
4.9 プリプロセッサー
この章の理解度チェック
第5章 配列、ポインター、右辺値参照
5.1 配列とポインター
5.2 オブジェクトの配列
5.3 newとdeleteの使用
5.4 newとdeleteの詳細
5.5 {}による初期化とstd::initializer_list
5.6 参照渡し
5.7 参照を返す関数
5.8 右辺値参照
5.9 関数ポインターと関数リファレンス
5.10 thisのキャプチャ
5.11 関数ポインターに変換可能なラムダ式
この章の理解度チェック
第6章 演算子オーバーロード
6.1 演算子オーバーロードの基本
6.2 算術演算子のオーバーロード
6.3 項数の異なる算術演算子のオーバーロード
6.4 ビット演算子のオーバーロード
6.5 関係演算子と論理演算子のオーバーロード
6.6 添字演算子のオーバーロード
6.7 ポインター関連演算子のオーバーロード
6.8 関数呼び出し演算子のオーバーロード
6.9 フレンドな演算子オーバーロード
6.10 代入演算子の詳細
6.11 変換関数の作成方法
この章の理解度チェック
第7章 継承
7.1 アクセス制御
7.2 継承時のコンストラクター/デストラクターの動作
7.3 派生クラスへのポインター
7.4 仮想関数の詳細
7.5 多重継承
7.6 仮想基底クラス
7.7 派生、オーバーライドの抑止
この章の理解度チェック
第8章 入出力システム
8.1 C++の入出力の基礎
8.2 書式設定された出力
8.3 その他のテキスト入出力関数
8.4 入出力マニピュレーターの使用
8.5 ファイル入出力の基本
8.6 書式不定のバイナリ入出力
8.7 ランダムアクセス
8.8 入出力状態のチェック
この章の理解度チェック
第9章 テンプレート
9.1 関数テンプレート
9.2 クラステンプレート
9.3 仮想関数とstaticメンバー
9.4 特殊化
9.5 型推論
9.6 非型テンプレートパラメーター
9.7 参照の推論と完全転送
9.8 依存名
9.9 可変引数テンプレート
9.10 型特性
9.11 ラムダ式の引数の型推論
9.12 クラステンプレートのテンプレートパラメーターの型推論
この章の理解度チェック
第10章 例外処理
10.1 例外処理の基礎
10.2 例外処理の詳細
10.3 new演算子の例外処理
10.4 標準例外
この章の理解度チェック
第11章 実行時型情報とキャスト演算子
11.1 実行時型情報(RTTI)
11.2 キャスト演算子
11.3 dynamic_castの利用
この章の理解度チェック
第12章 データ構造とアルゴリズム
12.1 コンテナクラス
12.2 std::vector
12.3 std::list
12.4 タプル
12.5 std::setとstd::map
12.6 アルゴリズム
この章の理解度チェック
第13章 文字列処理
13.1 文字列処理の概要
13.2 文字コード
13.3 文字列操作
13.4 数値・文字列間の変換
13.5 正規表現
この章の理解度チェック
Amazonで詳しく見る
紹介文
脱初心者を目指すC言語プログラマーへ柔軟なプログラミングスタイルの獲得。コーディングを楽にする「設計」ノウハウ。バグを出さないコーディング手法。デバッグを素早く行うためのテクニック。
第1章 分割コンパイル
第2章 ライブラリの作成
第3章 設計
第4章 バグを出さないために
第5章 デバッグ
第6章 開発の例
Amazonで詳しく見る
紹介文
最も簡単なC++入門書が待望の新版に、シリーズラインナップもリニューアルで続々刊行!
絵で見てわかるC++の定番書がリニューアル!
翔泳社絵本シリーズの定番ライナップ『C++の絵本』が新しくなりました。
オブジェクト指向を含むC++言語には苦手意識を持つ人も多いものですが、
本書はイラストを多用し、短い単元で内容をまとめて、分かりやすく
解説していきます。
「C++で何か作ってみたい」「本格的言語をマスターしてみたい」という方の
要望にも十分こたえられる一冊です。オブジェクト指向の概念や最新のC++の
機能もフォローし、プロでも通じる本格的プログラミングの世界に一歩を
踏み出していただけます。
【翔泳社の「絵本」シリーズのラインナップをアップデート】
翔泳社の「絵本シリーズ」は名前のとおり、絵本のように豊富なイラストと
要点を押えた簡潔な解説でコンピュータ技術に入門できる初心者向けの
シリーズです。すべての単元を2ページ単位で読みやすくまとめ、基礎に
徹した内容で、言語/技術の初心者や手軽に習得したい方のお役に
たてるようになっています。
このたび、翔泳社は「絵本シリーズ」を全面的に改訂し、内容を現在の
技術に合わせて見直しました。シリーズラインナップ全体をリニューアルし、
新パッケージでお届けします。
新しい「絵本シリーズ」では、旧来の分かりやすさ、親しみやすさ、基礎に
徹した内容というコンセプトはそのままに、Web/ネットが全盛となった
現在のコンピュータ技術の潮流に合わせた解説を心掛けます。『Cの絵本』
『Javaの絵本』を皮切りにラインナップを順次刷新、さらに新しい仲間を
増やしてラインナップを充実していきます。
C++言語をはじめる前に
第1章 C++の基本
第2章 C++プログラムの書き方
第3章 C++の機能
第4章 参照
第5章 クラスの構築
第6章 クラスの継承
第7章 オブジェクトとメンバ
第8章 C++上級編
付録
Amazonで詳しく見る
紹介文
オブジェクト指向と関数型言語の本質をズバリ解説。10年後も通用する"基本"を身につけよう。
オブジェクト指向はソフトウエア開発を楽にする技術
オブジェクト指向と現実世界は似て非なるもの
OOPを理解する近道はプログラミング言語の歴史にあり
OOPは無駄を省いて整理整頓するプログラミング技術
メモリの仕組みの理解はプログラマのたしなみ
OOPがもたらしたソフトウエアとアイデアの再利用
汎用の整理術に化けたオブジェクト指向
UMLは形のないソフトウエアを見る道具
現実世界とソフトウエアのギャップを埋めるモデリング
擬人化して役割分担させるオブジェクト指向設計〔ほか〕
Amazonで詳しく見る
紹介文
本書には、Linuxの概要、カーネル、Cライブラリ、Cコンパイラなどプログラミングの基礎知識から、ファイルI/O、バッファサイズ管理、メモリマッピング、最適化技術、システムコール、メモリ管理まで、プログラマの観点から実践的なトピックが多く盛り込まれている。Linuxカーネル動作についても、その内部実装よりもプログラマがソースコードを書くために必須の知識が凝縮。カーネル2.6対応。
1章 概要および主要概念
2章 ファイルI/O
3章 I/Oのバッファリング
4章 高度なファイルI/O
5章 プロセス管理
6章 高度なプロセス管理
7章 ファイル、ディレクトリの管理
8章 メモリ管理
9章 シグナル
10章 時間
付録 C言語のGCC拡張
Amazonで詳しく見る
紹介文
最高の翻訳で贈るC++のバイブル!!
C++のバイブル(第4版)、ついに刊行。C++の開発者ストラウストラップがC++11の全貌を完全解説。翻訳は、名著『新・明解C言語入門編』『新版明解C++入門編』の著者 柴田望洋。本書を読まずしてC++は語れない。すべてのC++プログラマ必読。
第Ⅰ部 はじめに
第1章 本書の読み進め方
第2章.C++を探検しよう:基礎編
第3章 C++を探検しよう:抽象化編
第4章 C++を探検しよう:コンテナとアルゴリズム編
第5章 C++を探検しよう:並行性とユーティリティ編
第Ⅱ部 基本機能
第6章 型と宣言
第7章 ポインタと配列と参照
第8章 構造体と共用体と列挙体
第9章 文
第10章 式
第11章 主要な演算子
第12章 関数
第13章 例外処理
第14章 名前空間
第15章 ソースファイルとプログラム
第Ⅲ部 抽象化のメカニズム
第16章 クラス
第17章 構築と後始末とコピーとムーブ
第18章 演算子の多重定義
第19章 特殊な演算子
第20章 派生クラス
第21章 クラス階層
第22章 実行時型情報
第23章 テンプレート
第24章 ジェネリックプログラミング
第25章 特殊化
第26章 具現化
第27章 テンプレートと階層
第28章 メタプログラミング
第29章 行列の設計
第Ⅳ部 標準ライブラリ 853
第30章 標準ライブラリの概要
第31章 標準ライブラリの概要
第32章 STLアルゴリズム
第33章 STL反復子
第34章 メモリと資源
第35章 ユーティリティ
第36章 文字列
第37章 正規表現
第38章 文字列とストリーム
第39章 ロケール
第40章 数値演算
第41章 並行処理
第42章 スレッドとタスク
第43章 標準Cライブラリ
第44章 互換性
Amazonで詳しく見る
紹介文
本当の基礎の基礎から始まり、C++のすべてをやさしく解説!最も基本的なところから段階的にステップアップしていくので、まったくのプログラミング初心者でも安心してお読みいただけます。C++の言語仕様はほぼ網羅。C++をやり直したい中級者の方にもオススメの一冊。
まずは使い方
C++の基本
ほんの少し深く
ポインタ天国
クラスの前に
クラスの基礎
クラスの本領
ファイルとストリーム
テンプレート
エラー処理と例外
もっと高く
もっともっと高く
もっと深く
もっともっと深く
データ構造
C++の落ち穂拾い
Amazonで詳しく見る
紹介文
たくさんの問題を解いてC言語力を高めよう
C言語入門書の最高峰『新・明解C言語入門編』の全演習問題を収録。一つ一つの問題を解きながら、C言語の基礎を身につけ、プログラミング能力を高めることができる、新しいスタイルの入門書。「C言語のテキストに掲載されているプログラムは理解できるのだけど、自分ではなかなか作ることができない」という初心者に最適です。C言語の再入門書として、またC言語のサンプルプログラム集としても活用できる一冊です。
なお、本書は、2004年11月に刊行され、大ロングセラー(累計19刷)となった『解きながら学ぶC言語』の改訂版です。
第1章 まずは慣れよう
第2章 演算と型
第3章 プログラムの流れの分岐
第4章 プログラムの流れの繰返し
第5章 配列
第6章 関数
第7章 基本型
第8章 いろいろなプログラムを作ってみよう
第9章 文字列の基本
第10章 ポインタ
第11章 文字列とポインタ
第12章 構造体
第13章 ファイル処理
Amazonで詳しく見る
紹介文
プログラミング初体験のあなたでも、1週間でC言語がちょっとだけ使えるようになれる!C言語でプログラミングを始めてみたいのだけど、どんな本を読んで勉強しても分からない…理解できない…。そんな方にオススメの1冊!本書を読み進めながら、一緒にサンプルプログラミングを入力してみることで、プログラミングの基礎&C言語の基礎が分かるようになり、ちょっとだけC言語でプログラムが書けるようになります。途中で読むことを挫折しないよう、ゆるいペースでナビゲートします!
Amazonで詳しく見る
紹介文
真に初心者の立場に立った最高の入門書
『Java言語プログラミングレッスン第3版(上・下)』『増補改訂版Java言語で学ぶデザインパターン入門』などの大ヒット作で、多くのファンをもつ結城浩のC言語入門書です。
初めてC言語を学ぶ読者を対象に、C言語の基礎をやさしく、ていねいに解説しています。主な特徴は、次の通りです。
●ゆっくり、ていねいに進む
・初学者に必須の事項を厳選し、できるだけゆっくりと解説をしています。
・重要な事柄に対しては、文章・例題・図・比喩・クイズなどの手法を用いて、ていねいに解説しています。
●実践的な解説
・実践的なプログラミング練習ができるように、「まちがい探し」のコーナーを設けています。
・他の人が描いたプログラムを読み解く練習ができるように、「読解練習」のコーナーを設けています。
・「セキュリティを意識しよう」という注意書きを設け、プログラミングの初めからセキュリティを意識して学べるようにしてあります。
●独学者への配慮
・C言語を一人で学ぶ読者のために、専門用語や読み誤りしそうな用語、英単語にルビを振っています。
C言語の入門者はもちろん、これまでの入門書でC言語をマスターできなかった読者の再入門書としても最良の一冊です。
なお、本書は、2006年に弊社より刊行された『新版C言語プログラミングレッスン入門編』の改訂版であり、文章とプログラムを全面的に見直すとともに、レイアウトも大きく変更しています。
第0章 C言語とは
第1章 表示
第2章 計算をやってみよう
第3章 変数
第4章 if文
第5章 switch文
第6章 for文
第7章 while文
第8章 関数
第9章 配列
第10章 構造体
第11章 ポインタ
第12章 ファイル解析
付録
Amazonで詳しく見る
紹介文
国内の理工系教育現場におけるプログラミング導入教育では、現在でもC言語が多く採用されています。また、組込み系の開発現場でもC言語は現役です。本書は、そのような環境に身をおく人のための、Raspberry Piによる電子工作の解説書です。
OSやプログラム開発環境のセットアップからGPIO、カメラモジュールなど各種制御方法、さらに自走ロボットのアクチュエータ制御まで、電子工作に必要なポイントをやさしく説明しています。必要なパーツの型番も記載しているので、自作しながら読み進められます。
■Chapter 1:Raspberry Piの概要
1.1:Raspberry Pi誕生の背景
1.2:Raspberry Piでできること
1.3:Raspberry Piの製品群
1.4:Raspberry Piの各部の名称
1.5:拡張コネクタの信号
1.6:GPIOの電気的仕様
■Chapter 2:OSのセットアップ
2.1:本章で準備するもの
2.2:Raspbianとは
2.3:Raspbianのダウンロード
2.4:Raspbianのインストール
2.5:シャットダウンの方法
2.6:デスクトップ画面の構成
2.7:ターミナルで使用するコマンド
2.8:日本語入力システムのインストール
2.9:Raspberry Piの設定メニュー
システム/インターフェイス/パフォーマンス/ローカライゼーション
■Chapter 3:プログラムの開発環境
3.1:本章で準備するもの
3.2:ファイル保存用のフォルダ「MyApp」の作成
3.3:Geanyの基本操作
3.4:コンパイラの設定
3.5:WiringPiとは
3.6:数値のデータ型
■Chapter 4:LEDへの信号の出力(GPIOの出力を使う)
4.1:本章で準備するもの
4.2:LEDとは
4.3:LEDの点灯回路の設計
4.4:ブレッドボードによる試作
4.5:LEDを点滅させる
4.6:4個のLEDを点灯させる
■Chapter 5:タクタイルスイッチによる信号の入力(GPIOの入力を使う)
5.1:本章で準備するもの
5.2:タクタイルスイッチとは
5.3:タクタイルスイッチでLEDを点灯させる
5.4:GPIOの内部抵抗を使う
5.5:オルタネート動作をさせる
5.6:バウンシングとは
5.7:割込みとは
5.8:割込み処理をする
■Chapter 6:PWM信号を使う
6.1:本章で準備するもの
6.2:PWMとは
6.3:ソフトウェア方式のPWM
6.4:LEDの明るさを変える
6.5:ハードウェア方式のPWM
6.6:圧電サウンダとは
6.7:圧電サウンダを鳴らす
■Chapter 7:I2Cバスを使う
7.1:本章で準備するもの
7.2:I2Cバスとは
7.3:ラズパイのI2Cバス
7.4:LCDとは
7.5:LCD AQM1602の仕様と内部レジスタ
7.6:LCDを制御する関数
7.7:LCDに文字や数字を表示させる
7.8:ライブラリファイルの作成
7.9:センサで温度を測る
■Chapter 8:SPIバスを使う
8.1:本章で準備するもの
8.2:SPIバスとは
8.3:ラズパイのSPIバス
8.4:D/Aコンバータとは
8.5:DAC MCP4922の仕様
8.6:DACから電圧を出力させる
8.7:A/Dコンバータとは
8.8:ADC MCP3208の仕様
8.9:ADCを使用して電圧を測定する
■Chapter 9:Piカメラで撮影する
9.1:本章で準備するもの
9.2:イメージセンサとは
9.3:ラズパイのカメラモジュール
9.4:Piカメラモジュールのコマンド
9.5:静止画の撮影
■Chapter 10:自走ロボットを製作する
10.1:本章で準備するもの
10.2:自走ロボットの概要
10.3:自走ロボットの仕組み
10.4:ライン検出基板の製作
10.5:メインボードの製作
10.6:シャーシの組み立て
10.7:自走ロボットのテスト走行
10.8:自走ロボットの組み立て
■Chapter 11:自走ロボットを制御する(基礎編)
11.1:基礎編について
11.2:VNCの設定
11.3:LEDを点滅させる
11.4:LCDに変数の値を表示させる
11.5:赤色SWと白色SWをテストする
11.6:圧電サウンダを鳴らす
11.7:フォトセンサの信号を表示する
11.8:DCモータを回転させる
11.9:DCモータを正転、逆転させる
11.10:シャットダウンボタンを追加する
11.11:緩やかなラインをトレースする
■Chapter 12:自走ロボットを制御する(応用編)
12.1:応用編について
12.2:RCサーボモータの位置決めする
12.3:センサで距離を測る
12.4:障害物を検出して自動停止して撮影する
■本書のChapter4~8で使用する配線図
■Appendix
A.1:SDカードをフォーマットする
A.2:SDXCをFAT32形式でフォーマットする
A.3:ラズパイでSDカードを複製する
A.4:PCとファイル転送をするWinSCP
A.5:SSHのポート番号の変更
A.6:LCDなどの小型部品のはんだ付けの方法
A.7:ユニバーサル基板のはんだ付けのポイント
Amazonで詳しく見る
紹介文
どうしてポインタのところでわからなくなっちゃうんだろう?なぜCのポインタはこれほどまでに難しいといわれてしまうのか-その理由は、Cの宣言まわりの混乱した文法と、ポインタと配列の間の妙な交換性にあった。
第1章 まずは基礎から-予備知識と復習
第2章 実験してみよう-Cはメモリをどう使うのか
第3章 Cの文法を解き明かす-結局のところ、どういうことなのか?
第4章 定石集-配列とポインタのよくある使い方
第5章 データ構造-ポインタの真の使い方
第6章 その他-落ち穂拾い
Amazonで詳しく見る
紹介文
C言語開発をモダンにしよう!
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。
本書は、統合開発環境、デザインパターン、エクストリーム・プログラミング、テスト駆動開発、リファクタリング、継続的インテグレーションなどのモダンな開発スタイルを組込み開発に適用する方法を解説します。
Amazonで詳しく見る
紹介文
多くのプログラミング言語の祖として、あらゆる分野で使用されているC言語の基本から応用までを、その背景と豊富なサンプルとともに丁寧に解説。gccの利用を想定し、Makeを使った実行方法をとっているので、大規模開発にも対応できます。
イントロダクション
データを識別して保持する
データを加工して評価する
プログラムの流れを記述する
プログラムを機能でまとめる
さまざまな前処理を行う
データをまとめて場所を指し示す
異なるデータ型をまとめる
文字列を操作し使いこなす
動的メモリでデータの置く場所を自ら作る〔ほか〕
Amazonで詳しく見る
紹介文
本書では、リンカとローダについて、実践を交えながら説明します。コア・ダンプからの実行再開やリンカの自作など、興味深い実験も行います。
第1章 リンカとローダの役割
第2章 ELF形式の解析
第3章 ライブラリ・アーカイブの解析
第4章 実験-リンカで遊んでみよう
第5章 リンカ・スクリプトの役割と動作
第6章 リンカ・スクリプトを使った実験
第7章 コマンド・ライン指定による動作の違いとリンカの利用法
第8章 ローダの原理と簡易ローダの作成
第9章 コア・ダンプの解析
第10章 簡易リンカの作成
第11章 共有ライブラリの使い方
Amazonで詳しく見る
紹介文
中級者へのステップアップ!!
入門書のプログラムは理解できるけれど、自分でプログラムを作ることができない。配列やポインタなどの文法的なことは分かるけれど、実際の応用例が分からない。
本書は、このような悩みを持っている、C言語入門者のための解説書です。
「数当てゲーム」「マスターマインド」「タイピング練習」「記憶力トレーニング」など、たくさんのプログラム作りとその改良を通して、さまざまなC言語のテクニックをマスターし、真のプログラム開発能力と応用力を身につけることができます。『新・明解C言語 入門編』でC言語の基礎を学んだ後に、ぜひとも手にとっていただきたい一冊です。
第 1 章 数当てゲー無
第 2 章 表示に凝ろう
第 3 章 じゃんけんゲーム
第 4 章 マスターマインド
第 5 章 記憶力トレーニング
第 6 章 カレンダー
第 7 章 右脳トレーニング
第 8 章 タイピング練習
第 9 章 ファイル処理
第10 章 英単語学習ソフト
Amazonで詳しく見る
紹介文
その「C言語」を開発の現場で使うためのノウハウを、
エンジニア歴20年の現役プログラマーの筆者がC言語を伝授。
プログラミング言語「C言語」は、20年以上前からコンピュータの基幹に使われ続けています。
その「C言語」を開発の現場で使うためのノウハウを、エンジニア歴20年の現役プログラマーの筆者が伝授。
プログラムを作る上で基本的な概念、機能をはじめ、「ソースコードを読み解く能力の身に着け方」や「工数の見積もりの計算方法」など、ハードウェア開発などの現場で役立つノウハウを解説。
「C言語」を開発の現場で使うためのノウハウを、エンジニア歴20年の現役プログラマーの筆者が伝授。
■「C言語」の学習方法
「C言語」はどこで使われているか
「C言語」は学びやすい
開発環境の実例
「ソースコード読解スキル」の習得方法
■はじめての「C言語」
「コンパイラ」による翻訳段階
エントリ・ポイント
main関数
■はじめての「hello world」
最初に書くプログラム
プログラムを解明する
「printf」とは何者なのか
「printf関数」はどこにあるのか
「includeヘッダ」の役割
ステップ数と工数の関係
■データ型
変数とデータ型
固定したサイズの「データ型」
「printf」の書式指定と数値表現
負数と2進数
整数拡張
■スコープ
「スコープ」とは何か
ローカル変数
「ローカル変数」の定義位置
「forループ」内での「ローカル変数定義」
「static」なローカル変数
グローバル変数
「static」なグローバル変数
■ポインタ
なぜ「ポインタ」は必要か
「ポインタ」とは何か
さまざまな「変数」のアクセス方法
「ポインタ」の読み書き
「ポインタ」のデータ型
voidポインタ
NULLポインタ
「ポインタ」の演算
ポインタのポインタ
■「配列」とポインタ
「配列」へのアクセス
配列名の正体
配列のサイズ
「配列」を関数に渡す
■付録 「バグ修正」の話
Amazonで詳しく見る
紹介文
C言語入門の究極の決定版!!C99(標準C第2版)のポイントについても解説。
Cの基本的な知識
定数
変数とデータ型
配列と文字列
型変換
記憶クラス
初期化
演算子
制御文
ポインタ〔ほか〕
Amazonで詳しく見る
紹介文
実用プログラム開発技術と問題解決能力を磨いて、次の飛翔へ。
【シリーズ累計120万部突破!】
本書は、C言語の基礎を理解したあとに、次のステップを目指しているみなさんのためのテキストです。
Cプログラミングの学習や開発の現場で起きた失敗談、問題点、疑問点を取り上げ、その解決法をわかりやすく解説します。
本書では、見えないエラー/見えにくいエラー/見落としやすいエラーから始まって、次のようなことがらを学習していきます。
・型変換にまつわる落とし穴の回避方法
・ライブラリ開発のための基本テクニック
・コンソール画面の文字色やカーソル位置などを制御するライブラリの開発
・呼び出す関数をコンパイル時ではなく実行時に決定する手法
・要素型に依存することなく処理を行うプログラム作成のテクニック
・あらゆる要素型の配列の探索やソートなどを行う汎用ユーティリティライブラリの開発
・処理系の特性を提供するヘッダライブラリを自動生成するプログラムの開発
・動的に生成したポインタの配列を多次元配列として扱う技術
・整数型の内部表現を文字列化するライブラリの開発
・文字列の複製や置換などを行う文字列処理ライブラリの開発
・データやキーの型に依存しない汎用の2分探索木ライブラリの開発
・テキストファイルとバイナリファイルの取扱い上の注意点
また標準Cの第2版(C99)から第5版(C23)までの変更点などについても、必要に応じて学習を進めます。
本書を通じて、実用プログラム開発技術を身につけることができます。
第1章 見えないエラー
第2章 型と処理系特性
第3章 ライブラリの開発
第4章 動的なアクセスと生成
第5章 文字列を使いこなす
第6章 構造体と共用体
第7章 汎用ライブラリの開発
第8章 ファイルの活用
第9章 汎用2分探索木ライブラリ
Amazonで詳しく見る
紹介文
本書は全部で12の章に分かれており、順を追って進めていく形のチュートリアルとなっています。各章では1つずつ、Cに関する項目をテーマとして取り上げています。また、各章には次のようなコーナーがあり、理解を深めることができるよう工夫されています。
Cの基礎
制御文
データ型、変数、式の詳細
配列と文字列
ポインタ
関数
コンソールI/O
ファイル入出力
構造体と共用体
高度なデータ型と演算子
Cのプリプロセッサとその他の高度なトピック
Amazonで詳しく見る
紹介文
名著「C言語によるPICプログラミング大全」がさらに使いやすくなりました。
PICのプログラム開発のためには、統合開発環境である「MPLAB X IDE」が便利です。さらに、ここに組み込めるプラグイン「MCC(MPLAB Code Configurator)」を使えば、GUI操作でレジスタを設定したC言語のソースコードを作成してくれるので、いちいちレジスタの設定を調べる必要はありません。ただ、便利なツールなのに、あまりにも多機能すぎて、初心者はどこになにがあるのか、どう操作すればよいのかがわかりにくいというデメリットもあります。本書では、これらの使い方を詳しく解説します。
なお、初心者にとって、学習用ハードウェアの製作は少しハードルが高かったのですが、本書では既製品を活用することで、お手軽にPICマイコンの各種機能を試せるようにしました。
電子工作をマイコンボードで始めたけれど、そろそろ、PICマイコンが気になってきたなという方、また、これまではデータシートにくびっぴきでレジスタ設定コードを書いていたという方、最新のPICの新しい機能を試してみたい方にも、必ず役に立つ1冊です。
第1部 PICマイコンと開発環境の概要
第1章 マイコンとプログラミング
1-1 マイコンとは
1-1-1 マイコンの出現と進歩
1-1-2 マイクロプロセッサとマイクロコントローラの差異
1-2 マイコンのプログラムとは
1-2-1 マイコンの構成とプログラム
1-2-2 プログラムと命令
1-3 2進数と16進数
コラム なぜ1バイトが8ビットになったか
1-4 マイコンの動かし方
1-4-1 動かすために必要なこと
1-4-2 マイコンでできないこと
第2章 PICマイコンの概要
2-1 F1ファミリの位置付けと種類
2-1-1 PIC16F1ファミリの位置付け
2-1-2 PIC16F1ファミリの種類
2-2 PIC16F1ファミリのアーキテクチャ
2-2-1 全体アーキテクチャ
2-2-2 クロックと命令実行
2-2-3 プログラムメモリのアーキテクチャ
2-2-4 データメモリのアーキテクチャ
2-3 コアインデペンデントペリフェラル
2-3-1 CIPの種類
2-3-2 CIPの適用例
第3章 ハードウェア開発環境の概要
3-1 ハードウェア開発環境概要
3-1-1 ハードウェアツール
3-1-2 評価ボード
3-2 Curiosity HPCボード
3-2-1 Curiosity HPCボードの概要と実装内容
3-2-2 回路構成
3-3 Clickボード
3-3-1 Clickボードとは
3-3-2 mikroBUSとは
3-4 ブレッドボード
3-4-1 ブレッドボードとは
3-4-2 ブレッドボードへの部品実装の仕方
第4章 ソフトウェア開発環境と使い方
4-1 ソフトウェア開発環境概要
4-1-1 2種類の開発環境スタイル
4-1-2 ソフトウェアツール
4-2 ソフトウェアの入手とインストール
4-2-1 ファイルのダウンロード
4-2-2 MPLAB X IDEのインストール
4-2-3 MPLAB XC8コンパイラのインストール
4-2-4 MPLAB X IDEの外観
4-3 プロジェクトの作成
4-3-1 MPLAB X IDEの起動
4-3-2 プロジェクトの作成
4-3-3 ソースファイルの作成
4-3-4 既存プロジェクトの取り扱い
4-3-5 プロジェクトのプロパティ
4-3-6 DFPの役割と選択
4-4 エディタの使い方
4-4-1 エディタの画面構成と基本機能
4-4-2 エディタの基本機能とツールバーの使い方
4-4-3 エディタの各種設定
4-5 コンパイルと書き込み実行
4-5-1 コンパイル
4-5-2 書き込み
4-5-3 SNAP/PICkit4の詳細
4-5-4 ICSPの詳細
4-5-5 書き込み時の注意とツールのエラー対策
4-5-6 ファームウェア不具合の修理方法
4-6 実機デバッグの仕方
4-6-1 デバッグに使う例題プログラム
4-6-2 実機デバッグの開始とデバッグ用アイコン
4-6-3 デバッグオプション機能
4-6-4 メモリ内容表示
コラム コンパイルエラーの原因発見のコツ
第5章 MPLAB X IDEの便利機能
5-1 MPLAB X IDEの便利機能
5-1-1 ファイルの登録と削除
5-1-2 複数プロジェクトの扱い
5-1-3 複数構成のプロジェクト
5-1-4 プロジェクトのコピーとRename
5-1-5 Dashboard
5-1-6 プロジェクト内検索
5-1-7 コンパイラの追加と削除
5-2 エディタの便利機能
5-2-1 ショートカットキー
5-2-2 構造体やレジスタの要素選択
5-2-3 検索と置換
5-3 デバッグ時の便利機能
5-3-1 Hyper Navigation
5-3-2 Navigationメニュー
5-3-3 Call Graph
第2部 MPLAB XCコンパイラの詳細
第1章 XCコンパイラの動作
1-1 コンパイル処理の流れ
1-1-1 MPLAB XC8コンパイルの処理の流れ
1-1-2 セクションとMAPファイル
1-2 プログラム実行時の環境
1-2-1 実行時のメモリレイアウト
1-2-2 main関数とスタートアップコード
1-3 プリプロセッサの使い方
1-3-1 プリプロセッサ指示命令の種類
1-3-2 #defineとマクロ機能の使い方
1-3-3 #includeの使い方
1-3-4 #ifによる条件付きコンパイル
1-4 デバイスヘッダファイルの役割
1-4-1 ヘッダファイルの呼び出し
1-4-2 デバイスヘッダファイルの内容
1-4-3 マクロ機能と組み込み関数の使い方
1-5 pragma指示命令の使い方
1-6 コンパイラの最適化
1-6-1 最適化のレベルと最適化の内容
1-6-2 最適化の設定方法
1-6-3 最適化のサイズ見積もり
第2章 XCコンパイラの仕様
2-1 準拠するC標準
2-1-1 C90標準とC99標準
2-1-2 C90とC99の切り替え
2-2 変数のデータ型
2-2-1 変数の宣言書式
2-2-2 データ型の種類
2-2-3 データ型の修飾子
2-3 定数の書式と文字定数
2-3-1 定数の記述書式
2-3-2 定数の修飾 接尾語
2-3-3 文字の扱い
2-4 変数の宣言位置とスコープ
2-4-1 宣言位置とスコープ
2-4-2 変数の格納方法
2-4-3 自動配置の変数(autoタイプ)
2-4-4 指定配置の変数(Non-autoタイプ)
2-4-5 実際の使用例
2-5 変数の型変換
2-5-1 自動型変換(暗黙の型変換)
2-5-2 明示的型変換(キャスト)
2-6 標準入出力関数
2-6-1 コンソールデバイスと低レベル入出力関数
2-6-2 C90とC99の標準入出力関数の差異
2-6-3 標準入出力関数一覧
2-6-4 入出力関数の使い方
第3章 割り込み処理関数
3-1 割り込み処理の流れとメリット
3-1-1 割り込み処理の流れ
3-1-2 割り込みのメリット
3-2 割り込み要因と許可禁止
3-2-1 割り込み回路ブロックの動作と割り込み許可
3-2-2 割り込み関連レジスタの詳細
3-2-3 割り込み動作の詳細
3-3 割り込み処理の記述方法
第3部 MCCと内蔵モジュールの使い方
第1章 MCCの概要
1-1 MCCとは
1-1-1 MCCの役割と自動生成される内容
1-1-2 MCCの対応デバイス
1-2 MCCのインストール
1-2-1 最新バージョンのインストールの場合
1-2-2 旧バージョンのインストールの場合
1-3 MCCの起動方法
1-3-1 MelodyとClassic
1-3-2 Classicのライブラリの追加方法
1-4 MCCを使ったプログラミング手順
1-5 自動生成されるコードとその関係
1-6 MCCによる割り込み処理の記述
1-6-1 割り込み処理の流れ
1-6-2 ユーザ割り込み処理の記述方法
第2章 システム関連の設定
2-1 コンフィギュレーションビットとその設定方法
2-1-1 コンフィギュレーションビットの役割
2-1-2 コンフィギュレーションビットの種類と内容
2-1-3 MCCによるコンフィギュレーションビットの設定方法
2-1-4 コンフィギュレーションビット設定専用ダイアログの使い方
2-2 マイコンの実行速度を決める
2-2-1 クロック生成ブロックの構成
2-2-2 発振モードの種類
2-2-3 MCCによるクロック指定方法
2-2-4 内蔵クロックの周波数微調整
2-3 時間を高精度にしたい
2-3-1 クリスタル/セラミック発振子モードの使い方
2-3-2 外部発振器モードの使い方
2-4 クロック発振の監視をしたい
2-4-1 リファレンスクロックモジュールの使い方
2-4-2 クロック発振モニタ
2-5 電源変動しても安定に動作させたい
2-5-1 リセットとは
2-5-2 PORとBOR
第3章 LEDやスイッチを使いたい
3-1 入出力ピンとは
3-1-1 入出力ピンとSFRレジスタの関係
3-1-2 実際の使い方と電気的特性
3-2 接続する入出力ピンを自由に選びたい
3-2-1 ピン割り付け機能とは
3-2-2 MCCのPin Manager Gridによるピン割り付け設定
3-3 入出力ピンのオプション機能
3-3-1 MCCのPin Moduleの役割
3-3-2 アナログ入力かデジタル入出力か
3-3-3 スイッチのプルアップ抵抗を省略したい
3-3-4 電圧の異なる相手と接続したい
3-3-5 ピンに名前を付けるとその名前で関数が生成される
3-3-6 その他のオプション機能
3-3-7 突然の短時間の入力変化を知りたい
3-4 入出力ピンの使い方の実際例
第4章 一定のインターバルで実行したい
4-1 長時間のインターバル動作をしたい-タイマ0の使い方
4-1-1 16ビットモードのタイマ0の内部構成と動作
4-1-2 16ビットモードのMCCの設定と生成される関数の使い方
4-1-3 例題による16ビットモードの使い方の説明
4-1-4 8ビットモードのタイマ0の内部構成と動作
4-1-5 8ビットモードのMCCの設定と生成される関数
4-1-6 例題による8ビットモードの使い方の説明
4-2 ゲート制御でパルス幅を測定したい-タイマ1/3/5 の使い方
4-2-1 タイマ1/3/5の内部構成と動作
4-2-2 MCCによる設定と生成される関数の使い方
4-2-3 例題によるタイマ1の使い方の説明
4-3 正確なインターバル動作をしたい-タイマ2/4/6/8/10の使い方
4-3-1 基本構成のタイマ2/4/6の内部構成と動作
4-3-2 MCCによるタイマ2/4/6の設定と生成される関数の使い方
4-3-3 外部リセット付きタイマ2/4/6/8/10の内部構成と動作
4-3-4 HLTタイマのMCCによる設定と生成される関数の使い方
4-3-5 例題によるHLTタイマの使い方の説明
4-4 長周期パルスの高精度測定をしたい-SMTタイマの使い方
4-4-1 SMTの内部構成と動作
4-4-2 MCCによる設定方法と生成される関数の使い方
4-4-3 例題によるSMTの使い方の説明
第5章 パソコンやセンサと通信したい
5-1 パソコンと通信したい-EUSARTモジュールの使い方
5-1-1 同期式と非同期式とは
5-1-2 EUSARTモジュールの内部構成と動作
5-1-3 マルチドロップ方式と9ビットモードの使い方
5-1-4 MCCによる設定と生成される関数の使い方
5-1-5 パソコンとの通信の例題-割り込みを使わないEUSARTの使い方
5-1-6 標準入出力関数による例題
5-1-7 パソコンとの通信の例題-割り込みを使ったEUSARTの使い方
5-2 センサやLCDをデジタル通信で接続したい-I2Cモジュールの使い方
5-2-1 I2C通信とは
5-2-2 I2C通信データフォーマット
5-2-3 MSSPモジュール(I2Cモード)の内部構成と動作
5-2-4 MCCによるMSSP(I2Cマスタモード)の設定と生成される関数の使い方
5-2-5 MCCによるMSSP(I2Cスレーブモード)の設定と生成される関数の使い方
5-2-6 例題によるMSSPモジュール(I2Cモード)の使い方
5-2-7 接続デバイスの仕様
5-2-8 MCCによる例題のI2Cマスタ側のプログラム製作
5-2-9 MCCによるI2Cスレーブ側のプログラム製作
5-2-10 例題の動作確認
5-3 ICやセンサを高速で接続したい-SPIモジュールの使い方
5-3-1 SPI通信とは
5-3-2 SPIの4つの通信モード
5-3-3 MSSPモジュール(SPIモード)の内部構成と動作
5-3-4 MCCによるMSSP2(SPIマスタモード)の設定と生成される関数の使い方
5-3-5 MCCによるMSSP2(SPIスレーブモード)の設定と生成される関数の使い方
5-3-6 例題によるMSSPモジュール(SPIモード)の使い方
5-3-7 接続デバイスの仕様
5-3-8 SPIマスタ側のプログラム製作
5-3-9 MCCによるSPIスレーブ側のプログラム製作
5-3-10 例題の動作確認
5-4 センサを単線シリアル通信で接続したい
5-4-1 1-Wire通信とは
5-4-2 単線シリアル通信の温湿度センサの使い方
5-4-3 例題による単線シリアル通信の使い方
5-4-4 MCCによる例題プログラム製作
第6章 モータの速度制御やLEDの調光制御をしたい
6-1 パルス幅測定やPWM制御をしたい-CCPモジュールの使い方
6-1-1 パルス幅、周期の測定をしたい-キャプチャモード
6-1-2 一定の遅延を生成したい-コンペアモード
6-1-3 PWM制御をしたい-CCPモジュールのPWMモード
6-1-4 フルブリッジをPWM制御したい-ECCPモジュールのPWMモード
6-1-5 MCCによるCCPモジュールの設定と生成される関数の使い方
6-1-6 例題によるCCPモジュールのキャプチャモードの使い方6-1-7 例題のプログラム作成
6-1-8 LEDの調光制御の例題-CCPのPWMモードの使い方
6-1-9 例題のプログラム作成
6-2 Power LEDの調光制御をしたい-PWMモジュールの使い方
6-2-1 10ビット PWMモジュールの内部構成と動作
6-2-2 MCCによるPWMモジュールの設定と生成される関数の使い方
6-2-3 Power LEDの調光制御の例題-PWMモジュールの使い方
6-2-4 例題のプログラム作成
6-3 モータの速度制御をしたい-CWGモジュールの使い方
6-3-1 CWGモジュールの構成と動作
6-3-2 MCCによるCWGモジュールの設定と生成される関数の使い方
6-3-3 フルブリッジによるモータ制御の例題-CWGモジュールの使い方
6-3-4 例題のプログラム作成
第7章 いろいろな種類のパルスを生成したい
7-1 広範囲の周波数のパルスを生成したい-NCOモジュールの使い方
7-1-1 NCOモジュールの内部構成と動作
7-1-2 MCCによるNCOモジュールの設定方法と生成される関数の使い方
7-1-3 例題によるNCOモジュールの使い方-1Hz単位のパルス出力
7-1-4 MCCによる例題のプログラム作成
7-1-5 書き込みと動作確認
7-2 信号を変調したい-DSMモジュールの使い方
7-2-1 DSMモジュールの内部構成と動作
7-2-2 MCCによるDSMモジュールの設定と生成される関数の使い方
7-2-3 例題によるDSMモジュールの使い方
7-2-4 送信側のプログラム製作
7-2-5 受信側のプログラムの製作
7-2-6 書き込みと動作確認
7-3 特殊なパルスを生成したい-16ビットPWMモジュールの使い方
7-3-1 16ビットPWMの内部構成と動作
7-3-2 MCCによる16ビットPWMの設定方法と生成される関数の使い方
7-3-3 例題による16ビットPWMの使い方-RCサーボの使い方
7-3-4 例題のプログラム作成
第8章 消えないメモリにデータを保存したい
8-1 内蔵の消えないメモリを使いたい-EEPROMの使い方
8-1-1 データEEPROMメモリの内部構成と動作
8-1-2 MCCによるEEPROMの使い方
8-1-3 例題によるEEPROMの使い方-EEPROMの読み書き
8-1-4 書き込みと動作確認
8-2 内蔵のフラッシュメモリにデータを保存したい
8-2-1 フラッシュメモリの内部構成と動作
8-2-2 フラッシュメモリのMCCによる設定と関数の使い方
8-2-3 例題によるフラッシュメモリの使い方
8-2-4 書き込みと動作確認
8-3 外付けの大容量フラッシュメモリにデータを保存したい
8-3-1 フラッシュメモリの使い方
8-3-2 例題によるフラッシュメモリの使い方
8-3-3 例題のプログラム作成
8-3-4 書き込みと動作確認
第9章 センサなどの電圧や電流を扱いたい
9-1 センサなどの電圧や電流を計測したい-10/12ビットADコンバータの使い方
9-1-1 10/12ビットADコンバータの内部構成と動作
9-1-2 10ビットADコンバータのMCCの設定と生成される関数の使い方
9-1-3 例題による10ビットADCモジュールの使い方
9-2 ノイズを減らして電圧を計測したい-演算機能付きADCCの使い方
9-2-1 ADCCコンバータモジュールの内部構成と動作
9-2-2 MCCの設定方法と生成される関数の使い方
9-2-3 例題によるBasic_modeの使い方
9-2-4 例題によるADCCのAverage_modeの使い方
9-2-5 例題によるLow_pass_filter_modeの使い方
9-2-6 例題によるAccumulate_modeの使い方
9-3 音やセンサなどの瞬時電圧変化を知りたい-アナログコンパレータの使い方
9-3-1 コンパレータの内部構成と動作
9-3-2 MCCの設定方法と生成される関数の使い方
9-3-3 例題によるコンパレータの使い方
9-4 交流信号の位相を制御したい-ZCDの使い方
9-4-1 ZCDモジュールの内部構成と動作
9-4-2 ZCDのMCCの設定方法と生成される関数の使い方
9-4-3 例題によるZCDの使い方
9-5 任意の一定電圧を出力したい-5/10ビットDAコンバータの使い方
9-5-1 5/8/10ビットDAコンバータの内部構成と動作
9-5-2 MCCによるDAコンバータの設定方法と生成される関数の使い方
9-5-3 FVRモジュールの内部構成と動作
9-5-4 例題によるDAコンバータの使い方
9-6 センサなどの小さな電圧を増幅したい-オペアンプの使い方
9-6-1 オペアンプの内部構成と動作
9-6-2 オペアンプのMCCの設定方法
9-6-3 例題によるオペアンプの使い方
第10章 その他の内蔵モジュールの使い方
10-1 内蔵モジュールの入出力を合成したい-CLCモジュールの使い方
10-1-1 CLCモジュールの内部構成と動作
10-1-2 CLCのMCCの設定方法
10-1-3 例題によるCLCの使い方
10-2 極低消費電力にしたい-スリープと間欠動作
10-2-1 省電力モードの種類と動作
10-2-2 スリープと間欠動作
10-2-3 例題 WDTによる間欠動作
10-3 プログラムの異常動作を知りたい-WDTの使い方
10-3-1 プログラム異常監視とは
10-3-2 ウォッチドッグタイマ(WDT)の内部構成と動作
10-3-3 窓付きウォッチドッグタイマ(WWDT)の内部構成と動作
10-4 メモリ破壊の監視をしたい-CRCとSCANの使い方
10-4-1 CRCモジュールとSCANモジュールの内部構成と動作
10-4-2 CRCモジュールとSCANモジュールのMCCの設定と生成される関数の使い方
10-4-3 例題によるCRCモジュールとSCANモジュールの使い方
第11章 ミドルウェアの使い方
11-1 SDカードにデータを保存したい-FATファイルシステムの使い方
11-1-1 FATファイルシステムとは
11-1-2 例題の構成
11-1-3 MCCによる設定方法と生成される関数の使い方
11-1-4 例題のプログラム作成
Amazonで詳しく見る
紹介文
ロングセラー書! C言語の改訂版登場!!
C言語は、OSからゲームまで、特に「速度を要求するジャンル」で幅広く使われている人気の高いプログラミング言語です。 はじめて覚えるプログラミング言語にC言語を選ぶ人も多く、学校の教材に選ばれることもあります。
ただし、C言語を勉強するにあたって1つ問題があります。それは、かなり学習が進まないと、画像を表示したり音楽を再生したりといった派手なことができない点です。C言語の学習がひととおり終わってから、場合によってはC言語の拡張版のC++(シープラスプラス)も勉強し、WindowsやMacなどのOS用のプログラムの書き方を学んで、それからようやく派手なことができるようになるのです。
ですからC言語の入門書は、文章の説明を読んで、プログラムを入力して、結果も文字で表示されるという、最初から最後まで文字ばかりです。地味だと興味を持ち続けるのもつらいのですが、基礎を飛ばして派手なことをしようとするとたいてい挫折せつします。
そこで本書では、簡単なプログラムでちょっと派手なことができる学習支援ツール「グラフィカルコンソール」を用意しました。 たとえば画像を表示したいときは、次のように1行書くだけでOKです。
gimage(" 画像ファイル名", 横位置, 縦位置);
このツールのおかげで、本書のサンプルプログラムは「ロールプレイングゲーム」や「恋愛シミュレーションゲーム」といった楽しそうなミニゲームになっています。でも、解説内容は一般的なC言語の入門書と同じ範囲を押さえているので、楽しんで基礎を学ぶことができます。タイトルどおり「ゼロから」学びたい人におすすめの1冊です。
Amazonで詳しく見る
紹介文
1冊で身につくC言語入門の決定版
網羅性とわかりやすさが大好評の『Python[完全]入門』の著者が贈る、C言語の入門書です。圧倒的な情報量で、入門者から中上級者まで満足間違いなしの1冊です。
<基礎編>■Chapter1 C言語を学ぶための準備そもそもプログラミングとは何かC言語の特長を理解する開発環境を導入する■Chapter2 Cプログラミングを始めよう最初のCプログラムを実行するCプログラムの基本形を読み解く最初のプログラムを改造してみようエラーや警告が出たときの対処方法■Chapter3 まずは書いた値をそのまま出力しよう整数を書いてみよう浮動小数点数を書いてみようprintf関数を使いこなそう■Chapter4 Cプログラムの醍醐味は式の計算式を計算して結果を出力する2進数を操作するビット演算子とシフト演算子環境によるプログラムの動作の違いに注意する■Chapter5 後で必要な値は変数に格納しておく変数は宣言してから使う整数型と浮動小数点型には多くの種類がある変数の値を変更するキーボードから値を入力する値を変更できない定数を宣言する■Chapter6 選択文でプログラムの流れを変える演算子を使って条件を書く条件に応じて分岐するif文条件演算子で分岐を簡潔に書く値に応じて分岐するswitch文■Chapter7 繰り返し文で処理を反復するインクリメントとデクリメントで+1と-1を簡潔に書くfor文で大部分の繰り返しは書けるwhile文は条件式だけの繰り返しに向く繰り返し文の流れを変えるbreak文・continue文・goto文カンマ演算子で複数の式をまとめて書く■Chapter8 配列を使って多数の値を管理する配列は複数の要素から構成されている配列を初期化して宣言と同時に値を格納する配列のコピーは要素ごとに行う多次元配列で表や行列などを表現する実行時に要素数を決める可変長配列■Chapter9 文字と文字列を操作する文字の正体は文字コード文字列の正体は文字の配列文字列を操作する<応用編>■Chapter10 何度も使う処理は関数にまとめる独自の関数を定義して呼び出す関数に配列を渡す関数に文字列を渡す変数は宣言の方法で有効範囲と生存期間が変わる■Chapter11 関数をさらに使いこなすある種のアルゴリズムで役立つ再帰呼び出し可変長引数を使って任意個の引数を受け取る関数の呼び出しを効率化するインライン関数と関数マクロ総称選択を使って呼び出す関数を切り替える■Chapter12 構造体で関連する値を一括して扱う独自の構造体を定義して利用する構造体を関数と組み合わせる構造体を配列にするメンバの配置を左右するパディングとアライメント同じメモリを複数の型で操作できる共用体ビット単位で値を詰め込めるビットフィールド■Chapter13 ポインタはアドレスを使って対象を指し示すポインタを宣言してアドレスを格納するポインタを使って配列を操作するポインタを使って文字列を操作するポインタを使って構造体を操作する■Chapter14 ポインタでメモリを自在に操作するコマンドライン引数でプログラムの実行時に値を渡すポインタを指すポインタ動的メモリ確保で自由なサイズのメモリを手に入れる動的に確保したメモリのサイズを変える関数ポインタで柔軟な処理を実現する■Chapter15 ファイルを読み書きするテキストファイルの入出力文字単位のファイル入出力バイナリファイルの入出力書式付きのファイル入出力■Chapter16 プログラムを分割する別のソースファイルで定義した関数を呼び出す複数のソースファイルで変数を共有するソースファイルの内部だけで使う関数や変数を作成する<実践編>■Chapter17 仕事の自動化に役立つプログラムを作るプログラムを設計するファイルの一覧を出力する拡張子ごとに集計する結果をソートする■Chapter18 ゼロからのプログラミングでAIの仕組みを学ぶプログラムを設計するCSVファイルを読み込むk-meansでクラスタリングするSVGとHTMLで可視化する■Chapter19 インタラクティブなプログラムを作るプログラムを設計する迷路を作るプログラム迷路を解くプログラム迷路を歩くプログラム
Amazonで詳しく見る
紹介文
仮想環境(VM:バーチャルマシン)に開発環境を構築して配布しています。開発ツールがインストールなしですぐに試せる!プログラミングできても開発ツールの使い方が良く分からない方にもおススメ!
「体験」のための準備をしよう(準備編1)-VMとCentOS
シェルの操作を覚えよう(準備編2)-コマンド操作
さまざまなコマンドを覚えよう(準備編3)-コマンド操作
テキストエディタを使ってみよう(ツール編1)-nanoエディタ
C言語に入門しよう(C言語プログラミング編1)-文字列の出力
複数のスクリーンを使おう(ツール編2)-screenコマンド
変数を使ってみよう(C言語プログラミング編2)-変数
パッチを作ってみよう(ツール編3)-diff/patchコマンド
条件分岐をしてみよう(C言語プログラミング編3)-if文
ソースコードを管理しよう(ツール編4)-gitコマンド
ループを使ってみよう(C言語プログラミング編4)-while/for文
デバッガで動作を追ってみよう(ツール編5)-GDB
アルゴリズムを考えてみよう(C言語プログラミング編5)-配列
コンパイルを自動化してみよう(ツール編6)-makeコマンド
関数を使ってみよう(C言語プログラミング編6)-関数
スクリプト言語を書いてみよう(ツール編7)-Perl
ソースコードを分割しよう(C言語プログラミング編7)-分割コンパイル
アーカイブにして配布しよう(ツール編8)-zipコマンド