Higher Education

shoe image

Programming for Problem Solving (JNTU, Kakinada)

Author(s): Behrouz A. Forouzan | Richard F. Gilberg | Adapted by Dr L. Sumalatha

ISBN: 9789353502638

1st Edition

Copyright: 2020

India Release: 2020

₹499

Binding: Paperback

Pages: 708

Trim Size: 279 x 216 mm

Refer Book

Order Inspection Copy

Programming for Problem Solving is designed to meet the requirements of undergraduate students of India. This book offers a fully updated, comprehensive survey of computer science theory and the C programming language. A highly visual approach has been used to explain fundamental programming concepts. Detailed discussions on several important topics pertaining to C programming have been included in the book, such as functions, arrays, pointers, strings, structures and unions, dynamic memory allocation functions, applications of programming in C, and many more. Each topic has been supplemented with an illustrative program to aid in faster and effective understanding for the students. The chapters include useful pedagogical features such as chapter objectives, solved examples, tables and illustrations, and end-of-chapter exercises including review questions, practice sets, problems, and projects. In addition, the chapters incorporate a list of common programming errors that programmers are most prone to make during programming.

  • Offers a ground-breaking visual approach, including a wide variety of figures, tables, and programs
  • Uses a large number of examples, ranging from code snippets to complete implementations requiring several functions, providing the student with a range of techniques to study and practice
  • Contains extensive end-of-chapter pedagogy, including a robust problem set featuring review questions, exercises, problems, and projects
  • Covers all the requirements of computer science theory and C programming course offered by all the universities in India
  • Following a non-modular approach to programming in C by introducing functions at the end of the textbook. However, by the end of the syllabus, the student will be able to write functions to perform specific tasks.
  • Keeping It Simple and Short discussing the Just in Needs of the students at large. Concise presentation of the required concepts.
  • Online material containing:  A Lab Supplement which provides hints to the Computer Programming Lab exercises outlined in the JNTU syllabus and offers students a comprehensive set of additional lab exercises;  Five appendices which provide useful auxiliary information for a C programming course;  A glossary of important terms introduced in the book;  Addendum to Chapter 16

Chapter 1 Introduction to Computers

1.1 Computer Systems

1.2 Computing Environments

1.3 Computer Languages 

1.4 Creating and Running Programs

1.5 Computer Numbering System

1.6 Storing Integers

1.7 Storing Real Numbers

1.8 Flowcharting

1.9 Tips and Common Errors

1.10 Key Terms

1.11 Summary

1.12 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 2 Introduction to the C Language

2.1 Background

2.2 C Programs

2.3 Identifiers

2.4 Types

2.5 Variables

2.6 Constants

2.7 Input/Output

2.8 Programming Examples

2.9 Scope

2.10 Storage Classes and Type Qualifiers

2.11 Tips and Common Programming Errors

2.12 Key Terms 

2.13 Summary

2.14 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 3 Structure of a C Program

3.1 Expressions

3.2 Precedence and Associativity

3.3 Side Effects

3.4 Evaluating Expressions

3.5 Type Conversion

3.6 Statements

3.7 Sample Programs

3.8 Command Line Arguments

3.9 Tips and Common Errors

3.10 Key Terms

3.11 Summary

3.12 Practice Sets, Review Questions,

Exercises, Problems, Projects

 

Chapter 4 Bitwise Operators

4.1 Exact Size Integer Types

4.2 Logical Bitwise Operators

4.3 Shift Operators

4.4 Tips and Common Programming Errors

4.5 Key Terms

4.6 Summary

4.7 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 5 Selection—Making Decisions 5.1 Logical Data and Operators

5.2 Two-Way Selection

5.3 Multiway Selection

5.4 More Standard Functions

5.5 Tips and Common Programming Errors

5.6 Key Terms

5.7 Summary

5.8 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 6 Repetition

6.1 Concept of a Loop

6.2 Pretest and Post-test Loops

6.3 Initialization and Updating

6.4 Event- and Counter-Controlled Loops

6.5 Loops in C

6.6 Loop Examples

6.7 Other Statements Related to Looping

6.8 Looping Applications

6.9 Programming Example—The Calculator Program

6.10 Tips and Common Programming Errors

6.11 Key Terms

6.12 Summary

6.13 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 7 Arrays 

7.1 Concepts

7.2 Using Arrays in C

7.3 Array Applications

7.4 Two-Dimensional Arrays

7.5 Multidimensional Arrays

7.6 Programming Example—Calculate Averages

7.7 Tips and Common Programming Errors

7.8 Key Terms

7.9 Summary

7.10 Practice Sets, Review Questions, Exercises, Problems, Projects

Chapter 8 Strings

8.1 String Concepts

8.2 C Strings

8.3 String Input/Output Functions

8.4 Arrays of Strings

8.5 String Manipulation Functions

8.6 String/Data Conversion

8.7 A Programming Example—Morse Code

8.8 Tips and Common Programming Errors

8.9 Key Terms

8.10 Summary

8.11 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 9 Enumerated, Structure, and Union Types

9.1 The Type Definition (typedef)

9.2 Enumerated Types

9.3 Structure

9.4 Unions

9.5 Programming Application

9.6 Tips and Common Programming Errors

9.7 Key Terms

9.8 Summary

9.9 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 10 Pointers

10.1 Introduction

10.2 Pointers to Pointers

10.3 Compatibility

10.4 L value and R value

10.5 Tips and Common Programming Errors

10.6 Key Terms

10.7 Summary

10.8 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 11 Pointer Applications

11.1 Arrays and Pointers

11.2 Pointer Arithmetic and Arrays

11.3 Memory Allocation Functions

11.4 Array of Pointers

11.5 Programming Application

11.6 Tips and Common Programming Errors

11.7 Key Terms 

11.8 Summary 

11.9 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 12 Processor Commands

12.1 Preprocessor Commands

12.2 Tips and Common Programming Errors

12.3 Key Terms

12.4 Summary

12.5 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 13 Text Input/Output

13.1 Files

13.2 Streams

13.3 Standard Library Input/Output Functions

13.4 Formatting Input/Output Functions

13.5 Character Input/Output Functions

13.6 Tips and Common Programming Errors 

13.7 Key Terms

13.8 Summary

13.9 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 14 Binary Input/Output

14.1 Text versus Binary Streams

14.2 Standard Library Functions for Files

14.3 Converting File Type

14.4 Tips and Common Programming Errors

14.5 Key Terms

14.6 Summary

14.7 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 15 Functions

15.1 Designing Structured Programs 

15.2 Functions in C 

15.3 User-Defined Functions

15.4 Inter-Function Communication 

15.5 Standard Functions 

15.6 Passing Array to Functions 

15.7 Passing Pointers to Function

15.8 Recursion 

15.9 Passing an Array to A Function 

15.10 Tips and Common Programming Errors

15.11 Key Terms

15.12 Summary

15.13 Practice Sets, Review Questions, Exercises, Problems, Projects

 

Chapter 16 Searching and Sorting

16.1 Sorting 

16.2 Searching

16.3 Key Terms 

16.4 Summary

16.5 Practice Sets, Review Questions, Exercises, Problems, Projects

Algorithms and Time Complexities 

 

Online Material

 

Appendix A Character Sets

Appendix B Integer and Float Libraries

Appendix C Function Libraries

Appendix D Program Development

Appendix E Understanding Complex Declarations

Let’s C: A Supplement to Computer Programming Lab

Glossary

Behrouz A. Forouzan

Behrouz Forouzan has more than 32 years of electronics and computer science experience in industry and academia. His industry experience includes designing electronic systems. After leaving industry, he joined De Anza College as a professor of computer science. He has co-authored nine other textbooks on computer science.

 

Richard F. Gilberg

Richard Gilberg has more than 40 years of computer science experience in industry and academia. His industrial experience includes the development of large application systems, database administration, system testing, and data administration. After leaving industry, he joined De Anza College as a professor of computer science. He has co-authored several other textbooks on computer science.

 

L. Sumalatha

L. Sumalatha is Professor & Former Head, Department of CSE, University College of Engineering Kakinada, JNTU Kakinada.