skip to content
Covid-19 virus
COVID-19 Resources

Reliable information about the coronavirus (COVID-19) is available from the World Health Organization (current situation, international travel). Numerous and frequently-updated resource results are available from this search. OCLC’s WebJunction has pulled together information and resources to assist library staff as they consider how to handle coronavirus issues in their communities.

Image provided by: CDC/ Alissa Eckert, MS; Dan Higgins, MAM
C how to program Preview this item
ClosePreview this item

C how to program

Author: Paul J Deitel; Harvey M Deitel
Publisher: Upper Saddle River, NJ Prentice Hall 2012
Edition/Format:   Print book : English : 7. edView all editions and formats

(not yet rated) 0 with reviews - Be the first.

Find a copy in the library

&AllPage.SpinnerRetrieving; Finding libraries that hold this item...


Document Type: Book
All Authors / Contributors: Paul J Deitel; Harvey M Deitel
ISBN: 9780132990448 013299044X
OCLC Number: 1027221433
Notes: Paperback
Replaces: 9780136123569
Description: xxviii, 947 Seiten Illustrationen, Diagramme 23 x 18 x 4 cm
Contents: Appendices E through I are PDF documents posted online at the book's Companion Website (located at xxi1 Introduction to Computers, the Internet and the Web 11.1 Introduction 21.2 Computers: Hardware and Software 31.3 Computer Organization 41.4 Personal, Distributed and Client/Server Computing 51.5 The Internet and the World Wide Web 51.6 Machine Languages, Assembly Languages and High-Level Languages 61.7 History of C 71.8 C Standard Library 81.9 C++ 91.10 Java 91.11 Fortran, COBOL, Pascal and Ada 101.12 BASIC, Visual Basic, Visual C++, C# and .NET 101.13 Key Software Trend: Object Technology 111.14 Typical C Program Development Environment 121.15 Hardware Trends 141.16 Notes About C and This Book 151.17 Web Resources 162 Introduction to C Programming 232.1 Introduction 242.2 A Simple C Program: Printing a Line of Text 242.3 Another Simple C Program: Adding Two Integers 282.4 Memory Concepts 332.5 Arithmetic in C 342.6 Decision Making: Equality and Relational Operators 383 Structured Program Development in C 543.1 Introduction 553.2 Algorithms 553.3 Pseudocode 553.4 Control Structures 563.5 The if Selection Statement 583.6 The if...else Selection Statement 593.7 The while Repetition Statement 633.8 Formulating Algorithms Case Study 1: Counter-Controlled Repetition 643.9 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 2: Sentinel-Controlled Repetition 663.10 Formulating Algorithms with Top-Down, Stepwise Refinement Case Study 3: Nested Control Structures 733.11 Assignment Operators 773.12 Increment and Decrement Operators 784 C Program Control 974.1 Introduction 984.2 Repetition Essentials 984.3 Counter-Controlled Repetition 994.4 for Repetition Statement 1004.5 for Statement: Notes and Observations 1034.6 Examples Using the for Statement 1034.7 switch Multiple-Selection Statement 1074.8 do...while Repetition Statement 1134.9 break and continue Statements 1144.10 Logical Operators 1164.11 Confusing Equality (==) and Assignment (=) Operators 1194.12 Structured Programming Summary 1215 C Functions 1405.1 Introduction 1415.2 Program Modules in C 1415.3 Math Library Functions 1425.4 Functions 1445.5 Function Definitions 1445.6 Function Prototypes 1485.7 Function Call Stack and Activation Records 1515.8 Headers 1515.9 Calling Functions By Value and By Reference 1525.10 Random Number Generation 1535.11 Example: A Game of Chance 1585.12 Storage Classes 1615.13 Scope Rules 1645.14 Recursion 1675.15 Example Using Recursion: Fibonacci Series 1705.16 Recursion vs. Iteration 1746 C Arrays 1956.1 Introduction 1966.2 Arrays 1966.3 Defining Arrays 1986.4 Array Examples 1986.5 Passing Arrays to Functions 2126.6 Sorting Arrays 2166.7 Case Study: Computing Mean, Median and Mode Using Arrays 2186.8 Searching Arrays 2236.9 Multiple-Subscripted Arrays 2297 C Pointers 2537.1 Introduction 2547.2 Pointer Variable Definitions and Initialization 2547.3 Pointer Operators 2557.4 Passing Arguments to Functions by Reference 2577.5 Using the const Qualifier with Pointers 2617.6 Bubble Sort Using Call-by-Reference 2677.7 sizeof Operator 2707.8 Pointer Expressions and Pointer Arithmetic 2737.9 Relationship between Pointers and Arrays 2757.10 Arrays of Pointers 2807.11 Case Study: Card Shuffling and Dealing Simulation 2807.12 Pointers to Functions 2858 C Characters and Strings 3098.1 Introduction 3108.2 Fundamentals of Strings and Characters 3108.3 Character-Handling Library 3128.4 String-Conversion Functions 3178.5 Standard Input/Output Library Functions 3228.6 String-Manipulation Functions of the String-Handling Library 3268.7 Comparison Functions of the String-Handling Library 3298.8 Search Functions of the String-Handling Library 3318.9 Memory Functions of the String-Handling Library 3378.10 Other Functions of the String-Handling Library 3419 C Formatted Input/Output 3569.1 Introduction 3579.2 Streams 3579.3 Formatting Output with printf 3579.4 Printing Integers 3589.5 Printing Floating-Point Numbers 3599.6 Printing Strings and Characters 3619.7 Other Conversion Specifiers 3629.8 Printing with Field Widths and Precision 3639.9 Using Flags in the printf Format Control String 3669.10 Printing Literals and Escape Sequences 3689.11 Reading Formatted Input with scanf 36910 C Structures, Unions, Bit Manipulations and Enumerations 38210.1 Introduction 38310.2 Structure Definitions 38310.3 Initializing Structures 38610.4 Accessing Structure Members 38610.5 Using Structures with Functions 38810.6 typedef 38810.7 Example: High-Performance Card Shuffling and Dealing Simulation 38910.8 Unions 39110.9 Bitwise Operators 39410.10 Bit Fields 40310.11 Enumeration Constants 40611 C File Processing 41711.1 Introduction 41811.2 Data Hierarchy 41811.3 Files and Streams 42011.4 Creating a Sequential-Access File 42111.5 Reading Data from a Sequential-Access File 42611.6 Random-Access Files 43011.7 Creating a Random-Access File 43111.8 Writing Data Randomly to a Random-Access File 43311.9 Reading Data from a Random-Access File 43611.10 Case Study: Transaction-Processing Program 43712 C Data Structures 45412.1 Introduction 45512.2 Self-Referential Structures 45612.3 Dynamic Memory Allocation 45612.4 Linked Lists 45812.5 Stacks 46612.6 Queues 47212.7 Trees 47813 C Preprocessor 49513.1 Introduction 49613.2 #include Preprocessor Directive 49613.3 #define Preprocessor Directive: Symbolic Constants 49613.4 #define Preprocessor Directive: Macros 49713.5 Conditional Compilation 49913.6 #error and #pragma Preprocessor Directives 50013.7 # and ## Operators 50013.8 Line Numbers 50113.9 Predefined Symbolic Constants 50113.10 Assertions 50214 Other C Topics 50714.1 Introduction 50814.2 Redirecting I/O 50814.3 Variable-Length Argument Lists 50914.4 Using Command-Line Arguments 51114.5 Notes on Compiling Multiple-Source-File Programs 51214.6 Program Termination with exit and atexit 51414.7 volatile Type Qualifier 51514.8 Suffixes for Integer and Floating-Point Constants 51614.9 More on Files 51614.10 Signal Handling 51814.11 Dynamic Memory Allocation: Functions calloc and realloc 52014.12 Unconditional Branching with goto 52115 C++ as a Better C; Introducing Object Technology 52815.1 Introduction 52915.2C++ 52915.3 A Simple Program: Adding Two Integers 53015.4 C++ Standard Library 53215.5 Header Files 53315.6 Inline Functions 53515.7 References and Reference Parameters 53715.8 Empty Parameter Lists 54215.9 Default Arguments 54215.10 Unary Scope Resolution Operator 54415.11 Function Overloading 54515.12 Function Templates 54815.13 Introduction to Object Technology and the UML 55115.14 Wrap-Up 55416 Introduction to Classes and Objects 56016.1 Introduction 56116.2 Classes, Objects, Member Functions and Data Members 561xiv Contents16.3 Defining a Class with a Member Function 56216.4 Defining a Member Function with a Parameter 56616.5 Data Members, set Functions and get Functions 56916.6 Initializing Objects with Constructors 57616.7 Placing a Class in a Separate File for Reusability 57916.8 Separating Interface from Implementation 58316.9 Validating Data with set Functions 58916.10 Wrap-Up 59417 Classes: A Deeper Look, Part 1 60117.1 Introduction 60217.2 Time Class Case Study 60317.3 Class Scope and Accessing Class Members 60917.4 Separating Interface from Implementation 61117.5 Access Functions and Utility Functions 61217.6 Time Class Case Study: Constructors with Default Arguments 61517.7 Destructors 62017.8 When Constructors and Destructors are Called 62117.9 Time Class Case Study: A Subtle Trap-Returning a Reference to a private Data Member 62417.10 Default Memberwise Assignment 62717.11 Wrap-Up 62918 Classes: A Deeper Look, Part 2 63518.1 Introduction 63618.2 const (Constant) Objects and const Member Functions 63618.3 Composition: Objects as Members of Classes 64518.4 friend Functions and friend Classes 65118.5 Using the this Pointer 65418.6 static Class Members 65918.7 Data Abstraction and Information Hiding 66418.8 Wrap-Up 66619 Operator Overloading 67219.1 Introduction 67319.2 Fundamentals of Operator Overloading 67419.3 Restrictions on Operator Overloading 67519.4 Operator Functions as Class Members vs. Global Function 67619.5 Overloading Stream Insertion and Stream Extraction Operators 67819.6 Overloading Unary Operators 68119.7 Overloading Binary Operators 68219.8 Dynamic Memory Management 68219.9 Case Study: Array Class 68419.10 Converting between Types 69619.11 Building a String Class 69719.12 Overloading ++ and -- 69819.13 Case Study: A Date Class 70019.14 Standard Library Class string 70419.15 explicit Constructors 70819.16 Proxy Classes 71119.17 Wrap-Up 71520 Object-Oriented Programming: Inheritance 72720.1 Introduction 72820.2 Base Classes and Derived Classes 72920.3 protected Members 73220.4 Relationship between Base Classes and Derived Classes 73220.4.1 Creating and Using a CommissionEmployee Class 73320.4.2 Creating a BasePlusCommissionEmployee Class Without Using Inheritance 73820.4.3 Creating a CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy 74320.4.4 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using protected Data 74820.4.5 CommissionEmployee-BasePlusCommissionEmployee Inheritance Hierarchy Using private Data 75520.5 Constructors and Destructors in Derived Classes 76220.6 public, protected and private Inheritance 77020.7 Software Engineering with Inheritance 77120.8 Wrap-Up 77221 Object-Oriented Programming: Polymorphism 77821.1 Introduction 77921.2 Polymorphism Examples 78021.3 Relationships Among Objects in an Inheritance Hierarchy 78121.3.1 Invoking Base-Class Functions from Derived-Class Objects 78221.3.2 Aiming Derived-Class Pointers at Base-Class Objects 78921.3.3 Derived-Class Member-Function Calls via Base-Class Pointers 79021.3.4 Virtual Functions 79221.3.5 Summary of the Allowed Assignments Between Base-Class and Derived-Class Objects and Pointers 79821.4 Type Fields and switch Statements 79921.5 Abstract Classes and Pure virtual Functions 79921.6 Case Study: Payroll System Using Polymorphism 80121.6.1 Creating Abstract Base Class Employee 80321.6.2 Creating Concrete Derived Class SalariedEmployee 80621.6.3 Creating Concrete Derived Class HourlyEmployee 80821.6.4 Creating Concrete Derived Class CommissionEmployee 81121.6.5 Creating Indirect Concrete Derived Class BasePlusCommissionEmployee 81321.6.6 Demonstrating Polymorphic Processing 81421.7 (Optional) Polymorphism, Virtual Functions and Dynamic Binding "Under the Hood" 81821.8 Case Study: Payroll System Using Polymorphism and Runtime Type Information with Downcasting, dynamic_cast, typeid and type_info 82221.9 Virtual Destructors 82621.10 Wrap-Up 82622Templates 83222.1 Introduction 83322.2 Function Templates 83322.3 Overloading Function Templates 83722.4 Class Templates 83722.5 Nontype Parameters and Default Types for Class Templates 84422.6 Notes on Templates and Inheritance 84522.7 Notes on Templates and Friends 84522.8 Notes on Templates and static Members 84622.9 Wrap-Up 84623 Stream Input/Output 85123.1 Introduction 85223.2 Streams 85323.2.1 Classic Streams vs. Standard Streams 85323.2.2 iostream Library Header Files 85423.2.3 Stream Input/Output Classes and Objects 85423.3 Stream Output 85723.3.1 Output of char * Variables 85723.3.2 Character Output Using Member Function put 85723.4 Stream Input 85823.4.1 get and getline Member Functions 85823.4.2 istream Member Functions peek, putback and ignore 86123.4.3 Type-Safe I/O 86123.5 Unformatted I/O Using read, write and gcount 86123.6 Introduction to Stream Manipulators 86223.6.1 Integral Stream Base: dec, oct, hex and setbase 86323.6.2 Floating-Point Precision (precision, setprecision) 86423.6.3 Field Width (width, setw) 86523.6.4 User-Defined Output Stream Manipulators 86623.7 Stream Format States and Stream Manipulators 86823.7.1 Trailing Zeros and Decimal Points (showpoint) 86823.7.2 Justification (left, right and internal) 86923.7.3 Padding (fill, setfill) 87123.7.4 Integral Stream Base (dec, oct, hex, showbase) 87223.7.5 Floating-Point Numbers; Scientific and Fixed Notation(scientific, fixed) 87323.7.6 Uppercase/Lowercase Control (uppercase) 87423.7.7 Specifying Boolean Format (boolalpha) 87423.7.8 Setting and Resetting the Format State via Member Function flags 87523.8 Stream Error States 87723.9 Tying an Output Stream to an Input Stream 87923.10 Wrap-Up 87924 Exception Handling 88924.1 Introduction 89024.2 Exception-Handling Overview 89124.3 Example: Handling an Attempt to Divide by Zero 89124.4 When to Use Exception Handling 89724.5 Rethrowing an Exception 89824.6 Exception Specifications 90024.7 Processing Unexpected Exceptions 90124.8 Stack Unwinding 90124.9 Constructors, Destructors and Exception Handling 90324.10 Exceptions and Inheritance 90424.11 Processing new Failures 90424.12 Class auto_ptr and Dynamic Memory Allocation 90724.13 Standard Library Exception Hierarchy 90924.14 Other Error-Handling Techniques 91124.15 Wrap-Up 912A Operator Precedence Charts 919B ASCII Character Set 923C Number Systems 924C.1 Introduction 925C.2 Abbreviating Binary Numbers as Octal and Hexadecimal Numbers 928C.3 Converting Octal and Hexadecimal Numbers to Binary Numbers 929C.4 Converting from Binary, Octal or Hexadecimal to Decimal 929C.5 Converting from Decimal to Binary, Octal or Hexadecimal 930C.6 Negative Binary Numbers: Two's Complement Notation 932D Game Programming: Solving Sudoku 937D.1 Introduction 937D.2 Deitel Sudoku Resource Center 938D.3 Solution Strategies 938D.4 Programming Sudoku Puzzle Solvers 942D.5 Generating New Sudoku Puzzles 943D.6 Conclusion 945Appendices on the Web 946Appendices E through I are PDF documents posted online at the book's Companion Website (located at Game Programming with the Allegro C Library IE.1 Introduction IIE.2 Installing Allegro IIE.3 A Simple Allegro Program IIIE.4 Simple Graphics: Importing Bitmaps and Blitting IVE.5 Animation with Double Buffering IXE.6 Importing and Playing Sounds XVIE.7 Keyboard Input XXE.8 Fonts and Displaying Text XXVE.9 Implementing the Game of Pong XXXIE.10 Timers in Allegro XXXVIIE.11 The Grabber and Allegro Datafiles XLIIE.12 Other Allegro Capabilities LIE.13 Allegro Resource Center LIIF Sorting: A Deeper Look LVIIIF.1 Introduction LIXF.2 Big O Notation LIXF.3 Selection Sort LXF.4 Insertion Sort LXIVF.5 Merge Sort LXVIIG Introduction to C99 LXXVIIIG.1 Introduction LXXIXG.2 Support for C99 LXXIXG.3 New C99 Headers LXXXG.4 // Comments LXXXG.5 Mixing Declarations and Executable Code LXXXIG.6 Declaring a Variable in a for Statement Header LXXXIIG.7 Designated Initializers and Compound Literals LXXXIVG.8 Type bool LXXXVIIG.9 Implicit int in Function Declarations LXXXVIIIG.10 Complex Numbers LXXXIXG.11 Variable-Length Arrays XCG.12 The snprintf Function: Helping Avoid Hacker Attacks XCIIIG.13 Additions to the Preprocessor XCVG.14 Other C99 Features XCVIG.15 Web Resources XCIXH Using the Visual Studio Debugger CIVH.1 Introduction CVH.2 Breakpoints and the Continue Command CVH.3 Locals and Watch Windows CIXH.4 Controlling Execution Using the Step Into, Step Over, Step Out and Continue Commands CXIIH.5 Autos Window CXIVH.6 Wrap-Up CXVII Using the GNU Debugger CXVIIII.1 Introduction CXIXI.2 Breakpoints and the run, stop, continue and print Commands CXIXI.3 print and set Commands CXXIVI.4 Controlling Execution Using the step, finish and next Commands CXXVII.5 watch Command CXXVIIII.6 Wrap-Up CXXXIndex 947
Responsibility: Paul Deitel ; Harvey Deitel
More information:


User-contributed reviews
Retrieving GoodReads reviews...
Retrieving DOGObooks reviews...


Be the first.
Confirm this request

You may have already requested this item. Please select Ok if you would like to proceed with this request anyway.

Linked Data

Primary Entity<\/h3>
<http:\/\/\/oclc\/1027221433<\/a>> # C how to program<\/span>\u00A0\u00A0\u00A0\u00A0a schema:CreativeWork<\/a>, schema:Book<\/a> ;\u00A0\u00A0\u00A0library:oclcnum<\/a> \"1027221433<\/span>\" ;\u00A0\u00A0\u00A0library:placeOfPublication<\/a> <http:\/\/\/vocabulary\/countries\/nju<\/a>> ;\u00A0\u00A0\u00A0schema:about<\/a> <http:\/\/\/class\/005.133\/<\/a>> ;\u00A0\u00A0\u00A0schema:bookEdition<\/a> \"7. ed.<\/span>\" ;\u00A0\u00A0\u00A0schema:bookFormat<\/a> bgn:PrintBook<\/a> ;\u00A0\u00A0\u00A0schema:contributor<\/a> <http:\/\/\/entity\/work\/data\/3798850264#Person\/deitel_harvey_m_1945<\/a>> ; # Harvey M. Deitel<\/span>\u00A0\u00A0\u00A0schema:creator<\/a> <http:\/\/\/entity\/work\/data\/3798850264#Person\/deitel_paul_j_1969<\/a>> ; # Paul J. Deitel<\/span>\u00A0\u00A0\u00A0schema:datePublished<\/a> \"2012<\/span>\" ;\u00A0\u00A0\u00A0schema:exampleOfWork<\/a> <http:\/\/\/entity\/work\/id\/3798850264<\/a>> ;\u00A0\u00A0\u00A0schema:inLanguage<\/a> \"en<\/span>\" ;\u00A0\u00A0\u00A0schema:name<\/a> \"C how to program<\/span>\" ;\u00A0\u00A0\u00A0schema:productID<\/a> \"1027221433<\/span>\" ;\u00A0\u00A0\u00A0schema:workExample<\/a> <http:\/\/\/isbn\/9780132990448<\/a>> ;\u00A0\u00A0\u00A0wdrs:describedby<\/a> <http:\/\/\/title\/-\/oclc\/1027221433<\/a>> ;\u00A0\u00A0\u00A0\u00A0.<\/div>

Related Entities<\/h3>
<http:\/\/\/class\/005.133\/<\/a>>\u00A0\u00A0\u00A0\u00A0a schema:Intangible<\/a> ;\u00A0\u00A0\u00A0\u00A0.<\/div>
<http:\/\/\/entity\/work\/data\/3798850264#Person\/deitel_harvey_m_1945<\/a>> # Harvey M. Deitel<\/span>\u00A0\u00A0\u00A0\u00A0a schema:Person<\/a> ;\u00A0\u00A0\u00A0schema:birthDate<\/a> \"1945<\/span>\" ;\u00A0\u00A0\u00A0schema:familyName<\/a> \"Deitel<\/span>\" ;\u00A0\u00A0\u00A0schema:givenName<\/a> \"Harvey M.<\/span>\" ;\u00A0\u00A0\u00A0schema:name<\/a> \"Harvey M. Deitel<\/span>\" ;\u00A0\u00A0\u00A0schema:sameAs<\/a> <http:\/\/\/gnd\/129749311<\/a>> ;\u00A0\u00A0\u00A0\u00A0.<\/div>
<http:\/\/\/entity\/work\/data\/3798850264#Person\/deitel_paul_j_1969<\/a>> # Paul J. Deitel<\/span>\u00A0\u00A0\u00A0\u00A0a schema:Person<\/a> ;\u00A0\u00A0\u00A0schema:birthDate<\/a> \"1969<\/span>\" ;\u00A0\u00A0\u00A0schema:familyName<\/a> \"Deitel<\/span>\" ;\u00A0\u00A0\u00A0schema:givenName<\/a> \"Paul J.<\/span>\" ;\u00A0\u00A0\u00A0schema:name<\/a> \"Paul J. Deitel<\/span>\" ;\u00A0\u00A0\u00A0schema:sameAs<\/a> <http:\/\/\/gnd\/138556512<\/a>> ;\u00A0\u00A0\u00A0\u00A0.<\/div>
<http:\/\/\/vocabulary\/countries\/nju<\/a>>\u00A0\u00A0\u00A0\u00A0a schema:Place<\/a> ;\u00A0\u00A0\u00A0dcterms:identifier<\/a> \"nju<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.<\/div>
<http:\/\/\/isbn\/9780132990448<\/a>>\u00A0\u00A0\u00A0\u00A0a schema:ProductModel<\/a> ;\u00A0\u00A0\u00A0schema:isbn<\/a> \"013299044X<\/span>\" ;\u00A0\u00A0\u00A0schema:isbn<\/a> \"9780132990448<\/span>\" ;\u00A0\u00A0\u00A0\u00A0.<\/div>