Cargando…

Programming in C : a practical approach /

This book has a perfect blend of theory as well as practicals and it has been presented in a manner that helps the readers to learn the concepts through practice and programming.

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Mittal, Ajay
Formato: Electrónico eBook
Idioma:Inglés
Publicado: New Delhi, India : Dorling Kindersley (India), ©2010.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
Tabla de Contenidos:
  • Cover
  • Programming in C
  • Copyright
  • Contents
  • About the Author
  • Preface
  • 1 Data Types, Variables and Constants
  • 1.1 Introduction
  • 1.2 C Standards
  • 1.2.1 Kernighan & Ritchie (K&R) C Standard
  • 1.2.2 ANSI C/Standard C/C89 Standard
  • 1.2.3 ISO C/C90 Standard
  • 1.2.4 C99 Standard
  • 1.3 Learning Programming Language and Natural Language: An Analogy
  • 1.4 C Character Set
  • 1.5 Identifiers and Keywords
  • 1.5.1 Identifiers
  • 1.5.2 Keywords
  • 1.6 Declaration Statement
  • 1.7 Data Types
  • 1.7.1 Basic/Primitive Data Types
  • 1.7.2 Derived Data Types
  • 1.7.3 User-defined Data Types
  • 1.8 Type Qualifiers and Type Modifiers
  • 1.8.1 Type Qualifiers
  • 1.8.2 Type Modifiers
  • 1.9 Difference Between Declaration and Definition
  • 1.10 Data Object, L-value and R-value
  • 1.10.1 Data Object
  • 1.10.2 L-value
  • 1.10.3 R-value
  • 1.11 Variables and Constants
  • 1.11.1 Variables
  • 1.11.2 Constants
  • 1.12 Structure of a C Program
  • 1.12.1 Comments
  • 1.12.2 Section1: Preprocessor Directive Section
  • 1.12.3 Section 2: Global Declaration Section
  • 1.12.4 Section 3: Functions Section
  • 1.13 Executing a C Program
  • 1.14 More Programs for Startup
  • 1.15 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 2 Operators and Expressions
  • 2.1 Introduction
  • 2.2 Expressions
  • 2.2.1 Operands
  • 2.2.2 Operators
  • 2.3 Simple Expressions and Compound Expressions
  • 2.3.1 Precedence of Operators
  • 2.3.2 Associativity of Operators
  • 2.4 Classification of Operators
  • 2.4.1 Classification Based on Number of Operands
  • 2.4.2 Classification Based on Role of Operator
  • 2.5 Combined Precedence of All Operators
  • 2.6 Summary
  • Exercise Questions.
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 3 Statements
  • 3.1 Introduction
  • 3.2 Statements
  • 3.3 Classification of Statements
  • 3.3.1 Based Upon the Type of Action they Perform
  • 3.3.2 Based Upon the Number of Constituent Statements
  • 3.3.3 Based Upon their Role
  • 3.4 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 4 Arrays and Pointers
  • 4.1 Introduction
  • 4.2 Arrays
  • 4.3 Single-dimensional Arrays
  • 4.3.1 Declaration of a Single-dimensional Array
  • 4.3.2 Usage of Single-dimensional Array
  • 4.3.3 Memory Representation of Single-dimensional Array
  • 4.3.4 Operations on a Single-dimensional Array
  • 4.4 Pointers
  • 4.4.1 Operations on Pointers
  • 4.4.2 void pointer
  • 4.4.3 Null Pointer
  • 4.5 Relationship Between Arrays and Pointers
  • 4.6 Scaling up the Concept
  • 4.6.1 Array of Arrays (Multi-dimensional Arrays)
  • 4.6.2 Array of Pointers
  • 4.6.3 Pointer to a Pointer
  • 4.6.4 Pointer to an Array
  • 4.7 Advantages and Limitations of Arrays
  • 4.8 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 5 Functions
  • 5.1 Introduction
  • 5.2 Functions
  • 5.3 Classification of Functions
  • 5.3.1 Based Upon who Develops the Function
  • 5.3.2 Based Upon the Number of Arguments a Function Accepts
  • 5.4 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets.
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 6 Strings and Character Arrays
  • 6.1 Introduction
  • 6.2 Strings
  • 6.3 Character Arrays
  • 6.4 Reading Strings from the Keyboard
  • 6.5 Printing Strings on the Screen
  • 6.6 Importance of Terminating Null Character
  • 6.7 String Library Functions
  • 6.7.1 strlen Function
  • 6.7.2 strcpy Function
  • 6.7.3 strcat Function
  • 6.7.4 strcmp Function
  • 6.7.5 strcmpi Function
  • 6.7.6 strrev Function
  • 6.7.7 strlwr Function
  • 6.7.8 strupr Function
  • 6.7.9 strset Function
  • 6.7.10 strchr Function
  • 6.7.11 strrchr Function
  • 6.7.12 strstr Function
  • 6.7.13 strncpy Function
  • 6.7.14 strncat Function
  • 6.7.15 strncmp Function
  • 6.7.16 strncmpi Function
  • 6.7.17 strnset Function
  • 6.8 List of Strings
  • 6.8.1 Array of strings
  • 6.8.2 Array of Character Pointers
  • 6.9 Command Line Arguments
  • 6.10 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 7 Scope, Linkage, Lifetime and Storage Classes
  • 7.1 Introduction
  • 7.2 Scope
  • 7.2.1 Determination of Scope of an Identifier
  • 7.2.2 Termination of Scope of an Identifier
  • 7.2.3 Same Scope
  • 7.2.4 Visibility of an Identifier
  • 7.3 Linkage
  • 7.3.1 External linkage
  • 7.3.2 Internal Linkage
  • 7.3.3 No Linkage
  • 7.4 Storage Duration/Lifetime of an Object
  • 7.5 Storage Classes
  • 7.5.1 The auto Storage Class
  • 7.5.2 The register Storage Class
  • 7.5.3 The static Storage Class
  • 7.5.4 The extern Storage Class
  • 7.5.5 The typedef Storage Class
  • 7.6 Dynamic Memory Allocation
  • 7.6.1 Memory Leak
  • 7.7 Summary
  • Exercise Questions.
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 8 The C Preprocessor
  • 8.1 Introduction
  • 8.2 Translators
  • 8.3 Phases of Translation
  • 8.3.1 Trigraph Replacement
  • 8.3.2 Line Splicing
  • 8.3.3 Tokenization
  • 8.3.4 Preprocessor Directive Handling
  • 8.4 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 9 Structures, Unions, Enumerations and Bit-fields
  • 9.1 Introduction
  • 9.2 Structures
  • 9.2.1 Defining a Structure
  • 9.2.2 Declaring Structure Objects
  • 9.2.3 Operations on Structures
  • 9.3 Pointers to Structures
  • 9.3.1 Declaring Pointer to a Structure
  • 9.3.2 Accessing Structure Members Via a Pointer to a Structure
  • 9.4 Array of Structures
  • 9.5 Structures within a Structure (Nested Structures)
  • 9.6 Functions and Structures
  • 9.6.1 Passing Each Member of a Structure Object as a Separate Argument
  • 9.6.2 Passing a Structure Object by Value
  • 9.6.3 Passing a Structure Object by Address/Reference
  • 9.7 typedef and Structures
  • 9.8 Unions
  • 9.9 Practical Application of Unions
  • 9.9.1 Calling DOS and BIOS Functions
  • 9.9.2 Interrupt Programming
  • 9.10 Enumerations
  • 9.11 Bit-Fields
  • 9.12 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • 10 Files
  • 10.1 Introduction
  • 10.2 Files
  • 10.3 Streams
  • 10.4 I/O Using Streams
  • 10.4.1 Opening a Stream
  • 10.4.2 Closing Streams.
  • 10.4.3 Character Input
  • 10.4.4 Character Output
  • 10.4.5 File Position Indicator
  • 10.4.6 End of File and Errors
  • 10.4.7 Line Input
  • 10.4.8 Line Output
  • 10.4.9 Formatted Input
  • 10.4.10 Formatted Output
  • 10.4.11 Block Input
  • 10.4.12 Block Output
  • 10.4.13 Stream Buffering and Flushing the Streams
  • 10.5 File Type
  • 10.6 Files and Command Line Arguments
  • 10.7 Summary
  • Exercise Questions
  • Conceptual Questions and Answers
  • Code Snippets
  • Multiple-choice Questions
  • Outputs and Explanations to Code Snippets
  • Answers to Multiple-choice Questions
  • Programming Exercises
  • Test Yourself
  • Appendix A: Number Systems
  • A.1 Number systems
  • A.2 Number System Conversions
  • A.2.1 Conversion from Decimal Number System to any Other Number System
  • A.2.2 Conversion from Any Other Number System to Decimal Number System
  • A.2.3 Conversion from Binary Number System to Octal and Hexadecimal Number System
  • A.2.4 Conversion from Octal and Hexadecimal Number System to Binary Number System
  • Appendix B: Algorithms and Flowcharts
  • B.1 Algorithm
  • B.2 Flowcharts
  • Appendix C: Translation Limits
  • Appendix D: ROM-BIOS and DOS Services
  • Appendix E: Graphics Programming
  • E.1 Computer Graphics
  • E.2 Initializing Graphics Mode in Turbo C 3.0
  • E.3 Drawing Basic Shapes
  • E.3.1 Simple Line Drawing
  • E.3.2 Stylish Line Drawing
  • E.3.3 Drawing Other Basic Shapes
  • E.4 Region Filling
  • E.4.1 Filling Regions with Different Patterns and Colors
  • E.5 Pattern Drawing Based on Regular Polygons
  • E.5.1 Drawing Rosettes
  • E.5.2 Swirling Polygons
  • E.6 Motif and Tiling
  • E.7 Viewport and Clipping
  • Appendix F: Answers to Test Yourself Questions
  • Index.