Computer Fundamentals and C Programming
ANSI C Programming
C Programming Skills
Computer Science: A Structured Programming Approach Using C
Computer Science: A Structured Programming Approach in C
Higher Education
Author(s): Behrouz A. Forouzan | Richard F. Gilberg | Adapted by Dr L. Sumalatha
ISBN: 9789353502638
1st Edition
Copyright: 2020
India Release: 2020
Binding: Digital
Imprint: Course Technology
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.
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.