bigcovers/noimage.jpg
Programming with C
R S Bichkar
Price
850.00
ISBN
9788173717710
Language
English
Pages
672
Format
Paperback
Dimensions
180 x 240 mm
Year of Publishing
2012
Territorial Rights
World
Imprint
Universities Press

This book aims to make C programming language as simple as possible for beginners and yet to provide sufficient depth of coverage for intermediate as well as advanced users. It deals with the concepts of C programming in a carefully planned manner, with focus on commonly used concepts and topics, supported by numerous short as well as complete working programming examples. The chapters on flowcharts, standard C library, program development tools and Turbo C graphics, not usually available in most popular books on C, have been included to enable readers to follow a self-study approach successfully. The presentation of advanced topics in a separate section in each chapter also helps manage the complexity of the language, providing easy access to topics for both beginners and advanced users.

Main features:

  1. Written mainly for beginners, yet useful for intermediate and advanced users too
  2. Chapter on flowcharts included to illustrate the concept of program design
  3. Large number of examples (short examples as well as complete working programs) for explaining concepts and enabling rapid development of C programming skills
  4. Carefully designed exercises at the end of each chapter
  5. Chapter on Turbo C++ graphics
  6. Good coverage of ANSI standard C library, pointers, strings, structures and files
R S Bichkar obtained his BE and ME degrees in electronics from the SGGS Institute of Engineering and Technology, Nanded, in 1986 and 1990 respectively, and his PhD from IIT Kharagpur in 2000. He served as a faculty member in the computer engineering and electronics engineering departments in the SGGS Institute of Engineering and Technology from 1986 to 2007, and is presently a professor in the Department of Electronics and Telecommunication Engineering, G H Raisoni College of Engineering and Management, Pune. He has taught several subjects at the undergraduate and postgraduate levels, including programming in C and C++, data structures, computer algorithms, microprocessors, information technology, DBMS, and electronics devices and circuits. His research interests include application of genetic algorithms to various search and optimization problems in electronics and computer science.
Preface

1 Introduction to Computers, Programming and the C Language  
1.1 Computer Architecture 
1.2 Program Development Process 
1.3 Structured and Modular Programming 
1.4 Flowcharts 
1.4.1 Flowchart Symbols
1.4.2 Flowcharts for Sequencing
1.4.3 Flowcharts for Selection
1.4.4 Flowcharts for Loops  
1.5 The C Programming Language  
1.5.1 C Language Standards 
1.5.2 C Programs 
1.6 Program Development Environments 
1.6.1 Turbo C/C++ 
1.6.2 Dev-C++ 
1.6.3 Code::Blocks 
1.7 Advanced Concepts 
1.7.1 A Quick Tour of the C Language 
1.7.2 Main Memory Organization 
1.7.3 Binary Number System 
Exercises 
Exercises (Advanced Concepts) 

2 Representing Data 
2.1 Character Set 
2.2 Keywords 
2.3 Basic Data Types 
2.4 Constants 
2.4.1 Integer Constants 
2.4.2 Floating Constants 
2.4.3 Character Constants 
2.5 String Literals 
2.6 Identifiers 
2.7 Variables 
2.7.1 Variable Declaration 
2.7.2 Variable Initialization 
2.8 Symbolic Constants 
2.9 Advanced Concepts 
2.9.1 Type Suffixes 
2.9.2 Type Modifiers 
2.9.3 Type Qualifiers 
2.9.4 Character Strings 
2.9.5 Constants in Octal and Hexadecimal Form 
Exercises 
Exercises (Advanced Concepts) 

3 Arithmetic Operators and Expressions 
3.1 Operators 
3.1.1 Arithmetic Operators 
3.1.2 Precedence and Associativity of Operators 
3.2 Expressions 
3.2.1 Simple Arithmetic Expressions 
3.2.2 Parenthesized Expressions 
3.2.3 Initializing Variables Using Expressions 
3.2.4 Constant Expressions 
3.2.5 Avoiding Common Mistakes While Writing C Expressions 
3.3 Assignment 
3.3.1 Simple Assignment Expressions 
3.3.2 Simple Assignment Statement 
3.3.3 Compound Assignments 
3.3.4 Nested Assignments 
3.3.5 Explicit Type Conversion 
3.3.6 Assignments Containing Increment and Decrement Operators 
3.4 Advanced Concepts 
3.4.1 Expressions 
3.4.2 Assignments  
3.4.3 The Comma Operator 
3.4.4 Operations on Strings: Element Access and Assignment  
Exercises 
Exercises (Advanced Concepts) 

4 The C Standard Library   
4.1 About the C Standard Library
4.1.1 Header Files
4.1.2 Functions
4.2 Input and Output Facilities
4.2.1 Formatted Output – the printf Function
4.2.2 Formatted Input – the scanf Function
4.2.3 Character I/O
4.2.4 String I/O - the gets and puts Functions
4.3 Mathematical Library
4.3.1 Powers and Logarithms
4.3.2 Trigonometric and Hyperbolic Functions
4.3.3 Other Mathematical Functions
4.4 Advanced Concepts
4.4.1 Streams
4.4.2 Function Prototypes
4.4.3 Formatted Output using the printf Function
4.4.4 Character Classification and Conversion
4.4.5 Manipulating Strings
4.4.6 Utility Functions
4.4.7 Miscellaneous Functions
Exercises
Exercises (Advanced Concepts)

5 Conditional Control   
5.1 Relational and Equality Operators
5.1.1 Relational and Equality Expressions
5.1.2 Evaluation of Relational and Equality Expressions
5.2 The if Statement
5.2.1 Using Block Statements in the if Statement
5.3 Logical Operators
5.3.1 Logical AND Operator    
5.3.2 Logical OR Operator
5.3.3 Logical NOT Operator
5.3.4 Evaluation of Boolean Expressions
5.4 Character Test, Classification and Conversion
5.5 The switch Statement
5.6 Conditional Expression Operator (? :)
5.7 Advanced Concepts
5.7.1 Common Mistakes in if Statements
5.7.2 Common Mistakes in Boolean Expressions
5.7.3 Alternative Forms of Boolean Expressions
Exercises
Exercises (Advanced Concepts)

6 Looping Control
6.1 The for Loop
6.1.1 Using Compound Statements in the for Loop
6.2 The while Loop
6.2.1 The while Loop for Known Number of Iterations
6.2.2 Text Input Using a Loop and the getchar Function
6.3 The do … while Loop
6.4 Advanced Concepts
6.4.1 Variations in for Loops
6.4.2 Variations in the while and do ... while Loops
Exercises
Exercises (Advanced Concepts)

7 Nested Control Structures
7.1 Nested if Statements
7.1.1 Two-Level Nested if Statements
7.1.2 Higher Level Nested if Statements    
7.1.3 if-else-if Statement
7.2 Using if Statements within Loops
7.2.1 Using if Statements within a for Loop
7.2.2 Using if Statements within while and do … while Loops
7.3 Nested Loops
7.4 Nested Control Structures involving switch Statement
7.5 Loop Interruption
7.5.1 The break Statement
7.5.2 The continue Statement
7.6 Advanced Concepts
7.6.1 Logical Operators and Nested if Statements
7.6.2 Nested Conditional Expression Operators
Exercises
Exercises (Advanced Concepts)   

8 Functions
8.1 About Functions
8.1.1 Function Call
8.1.2 Advantages of Functions
8.2 User-defined Functions
8.2.1 Function Definition
8.2.2 The return Statement
8.2.3 Function Declaration or Prototype
8.3 Program Structure
8.4 Methods of Parameter Passing
8.5 Recursion
8.6 Advanced Concepts
8.6.1 Function Parameter as a Loop Variable
8.6.2 const Parameters
8.6.3 Storage Classes
Exercises
Exercises (Advanced Concepts)   

9 Vectors or One-dimensional Arrays
9.1 Introduction
9.2 One-dimensional Arrays
9.2.1 Array Declaration
9.2.2 Accessing Array Elements
9.2.3 Operations on Array Elements
9.2.4 Operations on Entire Arrays
9.2.5 Array Initialization
9.3 Arrays as Function Parameters
9.4 Advanced Concepts
9.4.1 const Vectors
9.4.2 Static Arrays
9.4.3 External or Global Arrays
Exercises
Exercises (Advanced Concepts)   

10 Matrices and Multidimensional Arrays
10.1 Two-dimensional Arrays or Matrices
10.1.1 Declaration
10.1.2 Accessing Matrix Elements
10.1.3 Operations on Matrix Elements
10.1.4 Operations on Entire Matrices
10.1.5 Initialization
10.1.6 Matrices as Function Parameters
10.2 Multidimensional Arrays
10.2.1 Declaration
10.2.2 Element Access and Operations on Elements and Entire Arrays
10.2.3 Initialization
10.2.4 Multidimensional Arrays as Function Parameters
10.3 Advanced Concepts
10.3.1 const, static and extern Arrays
10.3.2 Memory Allocation
10.3.3 Eliminate the Row and Column of a Square Matrix
10.3.4 Determinant of a Square Matrix
10.3.5 Cofactor of a Matrix
10.3.6 Inverse of a Matrix
Exercises
Exercises (Advanced Concepts)

11 Pointers
11.1 Pointer Basics
11.1.1 What is a Pointer?
11.1.2 Declaring Pointer Variables
11.1.3 Address Operator (&) and Dereference Operator (*)
11.1.4 Pointer Assignment and Initialization
11.1.5 Simple Expressions Involving Pointers
11.2 Call by Reference
11.3 Vectors and Pointers
11.3.1 Operations with Pointers to Vector Elements
11.3.2 Accessing Vector Elements by Using Array Name as a Pointer
11.3.3 Accessing Vector Elements Using Another Pointer Variable
11.3.4 Passing a Vector to a Function Using a Pointer
11.4 Advanced Concepts
11.4.1 The Typecast and sizeof Operators
11.4.2 Returning a Pointer from a Function
11.4.3 Matrices and Pointers
11.4.4 Multidimensional Arrays and Pointers
11.4.5 Pointer to a Pointer
11.4.6 Array of Pointers
11.4.7 Dynamic Memory Management
11.4.8 Dynamic Arrays
11.4.9 Pointer to a Function
11.4.10 Polymorphic Functions using void Pointer
11.4.11 Complex Declarations Involving Pointers
Exercises
Exercises (Advanced Concepts) 

12 Strings
12.1 Processing Strings
12.1.1 Processing Strings Using Loops
12.1.2 Writing Functions for String Processing
12.2 Library Functions for String Processing
12.2.1 ANSI C Standard Library Functions for String Processing
12.3 Advanced Concepts
12.3.1 Nesting String Manipulation Functions
12.3.2 Avoiding Pitfalls in String Processing
12.3.3 Working with Words in a String
12.3.4 ANSI Functions for Advanced String Processing
12.3.5 Non-ANSI Functions for String Processing
12.3.6 Dynamic Memory Allocation
12.3.7 Command-Line Arguments
Exercises
Exercises (Advanced Concepts) 

13 Structures
13.1 Structures
13.1.1 Declaring Structures
13.1.2 Defining Structure Variables
13.1.3 Accessing Structure Members – the Dot Operator
13.1.4 Structure Initialization
13.1.5 Structure Assignment
13.1.6 Other Operations on Structures
13.2 Structures and Functions
13.2.1 Passing a Structure to a Function
13.2.2 Structure as a Function Value
13.3 Structure Containing Arrays
13.3.1 Declaring Structures Containing Arrays
13.3.2 Initializing Structures Containing Arrays
13.3.3 Accessing Member Arrays    
13.3.4 Accessing Elements of Member Arrays
13.3.5 Using Structure Containing Arrays as Function Parameter and Return Value
13.4 Nested Structures
13.4.1 Declaration of Nested Structures
13.4.2 Initializing Nested Structures
13.4.3 Processing Nested Structures
13.5 Advanced Concepts
13.5.1 Memory Organization of Structures
13.5.2 Pointer to a Structure
13.5.3 Array of Structures
13.5.4 Representing Complex Data Using Arrays and Structures
13.5.5 Structure Containing Pointer Members
Exercises
Exercises (Advanced Concepts) 

14 Files
14.1 File Basics
14.1.1 What is a File?
14.1.2 Streams
14.1.3 Standard Library Support for File Processing
14.2 File Access Functions
14.2.1 The fopen Function
14.2.2 The fclose Function 
14.3 Character I/O
14.3.1 The fgetc Function and the getc Macro
14.3.2 The fputc Function and the putc Macro 
14.3.3 The fgets and fputs Functions 
14.3.4 The ungetc Function
14.4 Formatted I/O 
14.5 Advanced Concepts
14.5.1 FILE Structure
14.5.2 Pagination Control in Display of Text Files
14.5.3 Direct Input/Output
14.5.4 File Positioning 
Exercises   
Exercises (Advanced Concepts) 

15 Searching and Sorting
15.1 Searching    
15.1.1 Linear (or Sequential) Search
15.1.2 Binary Search
15.1.3 Recursive Binary Search
15.2 Sorting
15.2.1 Bubble Sort
15.2.2 Selection Sort
15.2.3 Insertion Sort
15.3 Advanced Concepts
15.3.1 Alternative/Efficient Implementations for Sorting Functions
15.3.2 Sorting Strings
15.3.3 Standard Library Functions for Searching and Sorting
Exercises
Exercises (Advanced Concepts)  

16 Miscellaneous Concepts
16.1 Bitwise Operators
16.2 Enumerated Types    
16.2.1 Declaring Enumerated Types
16.2.2 Variables of Enumerated Types
16.2.3 Specifying Values for Enumerated Constants
16.2.4 Working with Enumerated Data
16.3 Renaming Types Using typedef    
16.3.1 Using typedef with Structures
16.3.2 Using typedef with Enumerated Types
16.4 More on Library Functions and Facilities
16.4.1 The printf Function
16.4.2 modf, frexp and ldexp Functions
16.4.3 Ranges of Integral Data Types
16.4.4 Traditional Math Constants
16.5 Advanced Concepts
16.5.1 Bitwise Operators
16.5.2 Renaming Types with typedef    
16.5.3 Unions
16.5.4 Writing Multi-File Programs
Exercises
Exercises (Advanced Concepts) 

17 Graphics in Turbo C and Turbo C++
17.1 Preliminaries
17.1.1 Capabilities of the Graphics Mode
17.1.2 Graphics Support in TC/TC++
17.1.3 Pixels and Resolution
17.1.4 Colours and Palettes
17.1.5 Graphics View Ports and Pages
17.1.6 Graphics Adapters, Drivers and Modes
17.1.7 Graphics Coordinate System and CP
17.2 Invoking the Graphics System
17.3 Setting Colours and the Current Position (CP)
17.4 Drawing Graphics Entities
17.4.1 Drawing Points and Lines
17.4.2 Drawing Rectangles and Polygons
17.4.3 Drawing Circular and Elliptical Shapes
17.4.4 Setting Line Styles and Fill Styles 
17.4.5 Drawing Filled Rectangles and Polygons 
17.4.6 Drawing Filled Circular and Elliptical Objects
17.5 Displaying Text  
17.5.1 Functions to Display Text  
17.5.2 Setting Text Characteristics 
17.5.3 Enquiring Text Attributes 
17.6 Animation
17.6.1 Animation of Simple Objects
17.6.2 Animation of Complex Objects 
Exercises 

Appendix A. The ASCII Character Set  
Appendix B. Summary of C Operators 
Appendix C. Summary of C Statements 
Appendix D. The C Standard Library 
Appendix E. Turbo C 

Index 
THE BOOKPOINT (INDIA) PVT. LTD.
3-6-752 Himayatnagar, Hyderabad,
500 029 Telangana
Phone: (040) 27662849, 27662850
Email: info@thebookpointindia.com
Copyright © The Bookpoint (India) Pvt. Ltd. All rights reserved.
Disclaimer and Privacy Policy
Terms and Conditions
Frequently Asked Questions