{"publishers": ["Prentice-Hall"], "identifiers": {"goodreads": ["515607"], "librarything": ["1577043"]}, "ia_box_id": ["IA100511"], "series": ["Prentice-Hall software series"], "covers": [86178], "key": "/books/OL4558528M", "authors": [{"key": "/authors/OL946967A"}], "publish_places": ["Englewood Cliffs, N.J"], "contributions": ["Ritchie, Dennis M., 1941- joint author."], "pagination": "x, 228 p. ;", "source_records": ["marc:marc_loc_updates/v39.i42.records.utf8:1226275:703", "ia:cprogramminglang00kern", "marc:marc_columbia/Columbia-extract-20221130-001.mrc:11665132:1271", "marc:harvard_bibliographic_metadata/ab.bib.00.20150123.full.mrc:638036893:1280", "idb:9780131101630", "marc:harvard_bibliographic_metadata/20220215_007.bib.mrc:120360146:3208"], "title": "The C Programming Language", "notes": "Includes index.", "number_of_pages": 228, "languages": [{"key": "/languages/eng"}], "subjects": ["C (Computer program language)"], "publish_date": "1978", "publish_country": "nju", "by_statement": "Brian W. Kernighan, Dennis M. Ritchie.", "works": [{"key": "/works/OL4617640W"}], "type": {"key": "/type/edition"}, "ocaid": "cprogramminglang00kern", "isbn_10": ["0131101633"], "lccn": ["77028983"], "oclc_numbers": ["3608698"], "classifications": {}, "dewey_decimal_class": ["001.6/424"], "lc_classifications": ["QA76.73.C15 K47"], "table_of_contents": [{"level": 0, "label": "", "title": "Preface", "pagenum": "ix"}, {"level": 0, "label": "Chapter 0", "title": "Introduction", "pagenum": "1"}, {"level": 0, "label": "Chapter 1", "title": "A Tutorial Introduction", "pagenum": "5"}, {"level": 1, "label": "1.1", "title": "Getting Started", "pagenum": "5"}, {"level": 1, "label": "1.2", "title": "Variables and Arithmetic", "pagenum": "8"}, {"level": 1, "label": "1.3", "title": "The For Statement", "pagenum": "11"}, {"level": 1, "label": "1.4", "title": "Symbolic Constants", "pagenum": "12"}, {"level": 1, "label": "1.5", "title": "A Collection of Useful Programs", "pagenum": "13"}, {"level": 1, "label": "1.6", "title": "Arrays", "pagenum": "20"}, {"level": 1, "label": "1.7", "title": "Functions", "pagenum": "22"}, {"level": 1, "label": "1.8", "title": "Arguments - Call by Value", "pagenum": "24"}, {"level": 1, "label": "1.9", "title": "Character Arrays", "pagenum": "25"}, {"level": 1, "label": "1.10", "title": "Scope; External Variables", "pagenum": "28"}, {"level": 1, "label": "1.11", "title": "Summary", "pagenum": "31"}, {"level": 0, "label": "Chapter 2", "title": "Types, Operators and Expressions", "pagenum": "33"}, {"level": 1, "label": "2.1", "title": "Variable Names", "pagenum": "33"}, {"level": 1, "label": "2.2", "title": "Data Types and Sizes", "pagenum": "33"}, {"level": 1, "label": "2.3", "title": "Constants", "pagenum": "34"}, {"level": 1, "label": "2.4", "title": "Declarations", "pagenum": "36"}, {"level": 1, "label": "2.5", "title": "Arithmetic Operators", "pagenum": "37"}, {"level": 1, "label": "2.6", "title": "Relational and Logical Operators", "pagenum": "38"}, {"level": 1, "label": "2.7", "title": "Type Conversions", "pagenum": "39"}, {"level": 1, "label": "2.8", "title": "Increment and Decrement Operators", "pagenum": "42"}, {"level": 1, "label": "2.9", "title": "Bitwise Logical Operators", "pagenum": "44"}, {"level": 1, "label": "2.10", "title": "Assignment Operators and Expressions", "pagenum": "46"}, {"level": 1, "label": "2.11", "title": "Conditional Expressions", "pagenum": "47"}, {"level": 1, "label": "2.12", "title": "Precedence and Order of Evaluation", "pagenum": "48"}, {"level": 0, "label": "Chapter 3", "title": "Control Flow", "pagenum": "51"}, {"level": 1, "label": "3.1", "title": "Statements and Blocks", "pagenum": "51"}, {"level": 1, "label": "3.2", "title": "If-Else", "pagenum": "51"}, {"level": 1, "label": "3.3", "title": "Else-If", "pagenum": "53"}, {"level": 1, "label": "3.4", "title": "Switch", "pagenum": "54"}, {"level": 1, "label": "3.5", "title": "Loops - While and For", "pagenum": "56"}, {"level": 1, "label": "3.6", "title": "Loops - Do-while", "pagenum": "59"}, {"level": 1, "label": "3.7", "title": "Break", "pagenum": "61"}, {"level": 1, "label": "3.8", "title": "Continue", "pagenum": "62"}, {"level": 1, "label": "3.9", "title": "Goto's and Labels", "pagenum": "62"}, {"level": 0, "label": "Chapter 4", "title": "Functions and Program Structure", "pagenum": "65"}, {"level": 1, "label": "4.1", "title": "Basics", "pagenum": "65"}, {"level": 1, "label": "4.2", "title": "Functions Returning Non-Integers", "pagenum": "68"}, {"level": 1, "label": "4.3", "title": "More on Function Arguments", "pagenum": "71"}, {"level": 1, "label": "4.4", "title": "External Variables", "pagenum": "72"}, {"level": 1, "label": "4.5", "title": "Scope Rules", "pagenum": "76"}, {"level": 1, "label": "4.6", "title": "Static Variables", "pagenum": "80"}, {"level": 1, "label": "4.7", "title": "Register Variables", "pagenum": "81"}, {"level": 1, "label": "4.8", "title": "Block Structure", "pagenum": "81"}, {"level": 1, "label": "4.9", "title": "Initialization", "pagenum": "82"}, {"level": 1, "label": "4.10", "title": "Recursion", "pagenum": "84"}, {"level": 1, "label": "4.11", "title": "The C Preprocessor", "pagenum": "86"}, {"level": 0, "label": "Chapter 5", "title": "Pointers and Arrays", "pagenum": "89"}, {"level": 1, "label": "5.1", "title": "Pointers and Addresses", "pagenum": "89"}, {"level": 1, "label": "5.2", "title": "Pointers and Function Arguments", "pagenum": "91"}, {"level": 1, "label": "5.3", "title": "Pointers and Arrays", "pagenum": "93"}, {"level": 1, "label": "5.4", "title": "Address Arithmetic", "pagenum": "96"}, {"level": 1, "label": "5.5", "title": "Character Pointers and Functions", "pagenum": "99"}, {"level": 1, "label": "5.6", "title": "Pointers are not Integers", "pagenum": "102"}, {"level": 1, "label": "5.7", "title": "Multi-Dimensional Arrays", "pagenum": "103"}, {"level": 1, "label": "5.8", "title": "Pointer Arrays; Pointers to Pointers", "pagenum": "105"}, {"level": 1, "label": "5.9", "title": "Initialization of Pointer Arrays", "pagenum": "109"}, {"level": 1, "label": "5.10", "title": "Pointers vs. Multi-dimensional Arrays", "pagenum": "110"}, {"level": 1, "label": "5.11", "title": "Command-line Arguments", "pagenum": "110"}, {"level": 1, "label": "5.12", "title": "Pointers to Functions", "pagenum": "114"}, {"level": 0, "label": "Chapter 6", "title": "Structures", "pagenum": "119"}, {"level": 1, "label": "6.1", "title": "Basics", "pagenum": "119"}, {"level": 1, "label": "6.2", "title": "Structures and Functions", "pagenum": "121"}, {"level": 1, "label": "6.3", "title": "Arrays of Structures", "pagenum": "123"}, {"level": 1, "label": "6.4", "title": "Pointers to Structures", "pagenum": "128"}, {"level": 1, "label": "6.5", "title": "Self-referential Structures", "pagenum": "130"}, {"level": 1, "label": "6.6", "title": "Table Lookup", "pagenum": "134"}, {"level": 1, "label": "6.7", "title": "Fields", "pagenum": "136"}, {"level": 1, "label": "6.8", "title": "Unions", "pagenum": "138"}, {"level": 1, "label": "6.9", "title": "Typedef", "pagenum": "140"}, {"level": 0, "label": "Chapter 7", "title": "Input and Output", "pagenum": "143"}, {"level": 1, "label": "7.1", "title": "Access to the Standard Library", "pagenum": "143"}, {"level": 1, "label": "7.2", "title": "Standard Input and Output - Getchar and Putchar", "pagenum": "144"}, {"level": 1, "label": "7.3", "title": "Formatted Output - Printf", "pagenum": "145"}, {"level": 1, "label": "7.4", "title": "Formatted Input - Scanf", "pagenum": "147"}, {"level": 1, "label": "7.5", "title": "In-memory Format Conversion", "pagenum": "150"}, {"level": 1, "label": "7.6", "title": "File Access", "pagenum": "151"}, {"level": 1, "label": "7.7", "title": "Error Handling - Stderr and Exit", "pagenum": "154"}, {"level": 1, "label": "7.8", "title": "Line Input and Output", "pagenum": "155"}, {"level": 1, "label": "7.9", "title": "Some Miscellaneous Functions", "pagenum": "156"}, {"level": 0, "label": "Chapter 8", "title": "The UNIX System Interface", "pagenum": "159"}, {"level": 1, "label": "8.1", "title": "File Descriptors", "pagenum": "159"}, {"level": 1, "label": "8.2", "title": "Low Level I/O - Read and Write", "pagenum": "160"}, {"level": 1, "label": "8.3", "title": "Open, Creat, Close, Unlink", "pagenum": "162"}, {"level": 1, "label": "8.4", "title": "Random Access - Seek and Lseek", "pagenum": "164"}, {"level": 1, "label": "8.5", "title": "Example - An Implementation of Fopen and Getc", "pagenum": "165"}, {"level": 1, "label": "8.6", "title": "Example - Listing Directories", "pagenum": "169"}, {"level": 1, "label": "8.7", "title": "Example - A Storage Allocator", "pagenum": "173"}, {"level": 0, "label": "Appendix A", "title": "C Reference Manual", "pagenum": "179"}, {"level": 1, "label": "1", "title": "Introduction", "pagenum": "179"}, {"level": 1, "label": "2", "title": "Lexical conventions", "pagenum": "179"}, {"level": 1, "label": "3", "title": "Syntax notation", "pagenum": "182"}, {"level": 1, "label": "4", "title": "What's in a name?", "pagenum": "182"}, {"level": 1, "label": "5", "title": "Objects and Lvalues", "pagenum": "183"}, {"level": 1, "label": "6", "title": "Conversions", "pagenum": "183"}, {"level": 1, "label": "7", "title": "Expressions", "pagenum": "185"}, {"level": 1, "label": "8", "title": "Declarations", "pagenum": "192"}, {"level": 1, "label": "9", "title": "Statements", "pagenum": "201"}, {"level": 1, "label": "10", "title": "External definitions", "pagenum": "204"}, {"level": 1, "label": "11", "title": "Scope rules", "pagenum": "205"}, {"level": 1, "label": "12", "title": "Compiler control lines", "pagenum": "207"}, {"level": 1, "label": "13", "title": "Implicit declarations", "pagenum": "208"}, {"level": 1, "label": "14", "title": "Types revisited", "pagenum": "209"}, {"level": 1, "label": "15", "title": "Constant expressions", "pagenum": "211"}, {"level": 1, "label": "16", "title": "Portability considerations", "pagenum": "211"}, {"level": 1, "label": "17", "title": "Anachronisms", "pagenum": "212"}, {"level": 1, "label": "18", "title": "Syntax Summary", "pagenum": "214"}, {"level": 0, "label": "", "title": "Index", "pagenum": "221"}], "latest_revision": 22, "revision": 22, "created": {"type": "/type/datetime", "value": "2008-04-01T03:28:50.625462"}, "last_modified": {"type": "/type/datetime", "value": "2026-05-11T01:42:17.538564"}}