独習C 新版(arton)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. 独習C 新版

独習C 新版


形式:
書籍
発売日:
ISBN:
9784798150246
定価:
3,300(本体3,000円+税10%)
仕様:
B5変・536ページ
カテゴリ:
プログラミング・開発
キーワード:
#プログラミング,#開発環境,#開発手法,#Web・アプリ開発
シリーズ:
独習
紙の書籍

【本書の概要】
本書は、長く愛されてきた「独習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 キーワード

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

  • Visual Studio 2022への対応

    Visual Studio 2022用にP.12とP.20についての追加情報です。

    2021年12月以降、Visual Studio Communityエディションは2022が最新です(2023年7月時点)。Visual Studio Community 2022を利用される場合は以下のように(P.12、P.20)設定してClangをインストールしてください。

    P.12
    ・手順1.Visual Studio Installer の最初の機能選択ページで「C++によるデスクトップ開発」を選択します。
    ・手順2.右側のツリーリストから「C++によるデスクトップ開発」をクリックして展開し、さらに「オプション」をクリックして展開します。
    ・手順3.「Windows用C++ Clangツール(12.0.0 - x64/x86)」をチェックします(図1参照)。デフォルトではチェックされていません。


    (画像クリックで拡大)
    ▲図1:「Windows用C++ Clangツール(12.0.0 - x64/x86)をチェック

    P.20
    Clangをインストールした場合、スタートメニューのVisual Studio 2022フォルダの「x86 Native Tools Command Prompt for VS 2022」から起動するコマンドプロンプト(図2参照)は、あらかじめClang.exeが実行可能となっています。そのため、P.20~21のclang.exeの検索やPATH環境変数の設定は不要です。


    (画像クリックで拡大)
    ▲図2:「x86 Native Tools Command Prompt for VS 2022」
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2024年01月11日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 010
ページ下部
3刷
脚注を追加します。
【1】最新のVisual Studioについての情報はVisual Studioのサイト(https://visualstudio.microsoft.com/ja/)を参照してください。

※リフローEPUBの場合、「1.2.5 Windows用clangのインストール(Visual StudioとClang)」の最初の段落の「Visual Studioには複数のエディションがありますが、エディションが2015以降であれば、どのエディションであっても利用可能です」に注を追加しています。
2022.02.04
1刷 103
8.関係演算子のコード説明
printf("%d\n", 5 < 8); // 偽なので0
printf("%d\n", 5 < 8); // 真なので1
2024.01.11
1刷 216
この章の理解度チェック 設問4 選択肢d
2刷
d. **xp
d. **xpp

※リフローEPUBの場合、第8章の章末の「この章の理解度チェック」が該当箇所になります。
2020.04.02
1刷 249
注意
例9.5-1のソースコードの…
例9.5-2のソースコードの…

※リフローEPUBの場合、図9.7のすぐ下にある「注意」の冒頭が該当箇所になります。
2022.03.30
1刷 257
リスト9.44、リスト9.45のいずれも2行目
2刷
リスト9.44(2行目) #include "7q09-c01.h" リスト9.45(2行目)の #include "7q09-c01.h"
リスト9.44(2行目) #include "ch09-7q01.h" リスト9.45(2行目)の #include "ch09-7q01.h"
2018.09.11
1刷 308
図11.3 左上のコード4行目(小文字xが大文字のX)
typedef struct {
    int x;
    int y;
}x;
typedef struct {
    int x;
    int y;
}X;
2022.03.23
1刷 383
上から2~3行目
2刷
(1) VP(x, y, z, 0, 1, 2);      // => printf("%i, %i, %i\n", x, y, z, (0 + 1 + 2));
(1) VP(x, y, z, 0, 1, 2);      // => printf("%i, %i, %i, %i\n", x, y, z, (0 + 1 + 2));

※リフローEPUBの場合、「練習問題14.3」の設問3が該当箇所になります。
2020.04.20
1刷 397
練習問題3.5 2.(3)の解答
2刷
9
10
2018.03.13
1刷 397
練習問題3.5、3.の(5)の解答
誤り。後置デクリメント式--xによって得られた値の-9は変数(lvalue)ではないため、前置デクリメント演算子を適用できない。
誤り。後置デクリメント式x--によって得られた値の9は変数(lvalue)ではないため、前置デクリメント演算子を適用できない。
2022.05.30
1刷 397
練習問題3.5 3.(2)
-9
9

「訂正個所」の内容を更新しました(2024.01.29)。

「- --x;」という式の値は、 前置デクリメント演算子によってxが9に変化した後に 単項演算式 -xによって-9と評価されます。
int x = 10;
printf("%i\n", - --x); // -9 が出力
printf("%i\n", x); // 9が出力
2022.05.30
1刷 397
練習問題3.5 3.(3)
-10
9

「訂正個所」の内容を更新しました(2024.01.29)。

「-x--;」という式の値は、-x によって-10と評価された後に後置デクリメント演算子によってxの値は9に変化します。
int x = 10;
printf("%i\n", -x--); // -10 が出力
printf("%i\n", x); // 9が出力
2022.05.30
1刷 436
この章の理解度チェック(P.215) 設問4. 選択肢b 
2刷
4
8
2020.02.06
1刷 487
練習問題 14.3  設問2の解答
2刷
#define INITXY(nm, val) int x ## nm = val, y ## nm = vall ## 0 INITXY(1, 0); INITXY(2, 1); INITXY(3, 2); INITXY(4, 3); INITXY(5, 4);
#define INITXY(nm, val) int x ## nm = val, y ## nm = vall ## 0 INITXY(0, 1); INITXY(1, 2); INITXY(2, 3); INITXY(3, 4); INITXY(4, 5);
2020.04.20
1刷 487
練習問題 14.3  設問3の(1)の解答
2刷
3. (1) #define VP(x, y, z, a, b, c) printf("%i, %i, %i\n", x, y, z, (a + b + c))
3. (1) #define VP(x, y, z, a, b, c) printf("%i, %i, %i, %i\n", x, y, z, (a + b + c))
2020.04.20
2刷 487
練習問題 14.3  設問2の解答(2刷で訂正した内容の修正です)
#define INITXY(nm, val) int x ## nm = val, y ## nm = vall ## 0 INITXY(0, 1); INITXY(1, 2); INITXY(2, 3); INITXY(3, 4); INITXY(4, 5);
#define INITXY(nm, val) int x ## nm = val, y ## nm = val ## 0 INITXY(0, 1); INITXY(1, 2); INITXY(2, 3); INITXY(3, 4); INITXY(4, 5);
2022.06.07