My Account Log in

3 options

Cybernetics in C++ / Avi Bhattacharyya.

EBSCOhost Academic eBook Collection (North America) Available online

View online

Ebook Central Academic Complete Available online

View online

Ebook Central College Complete Available online

View online
Format:
Book
Author/Creator:
Bhattacharyya, Avi, author.
Series:
River Publishers Series in Software Engineering
Language:
English
Subjects (All):
C++ (Computer program language).
Cybernetics.
Computer programming.
Physical Description:
1 online resource (666 pages).
Edition:
1st ed.
Place of Publication:
Gistrup, Denmark : River Publishers, [2018]
Summary:
The thorough coverage ensures you will be trained to expert level in each of Imperative, Procedural, Memory & Resource Management, Object Oriented and Generic ProgrammingCybernetics in C++ combines a theoretical overview and practical approach in one book, which should prove to be a reference for computer scientists, engineers and students.
Contents:
Cover
Half Title
Title Page
Copyright Page
Contents at a Glance (1)
Contents at a Glance (2)
Table of Contents
Preface
Dedication
List of Figures
List of Programs
Introduction
Part I - Imperative Programming (1)
1. Getting Started
1.1 Setting Up the Programming Environment
1.1.1 Software IDE
1.2 Hello World
1.3 Writing C++ Source Code
1.3.1 Comments
1.3.1.1 Style with Primitive Tools
1.3.2 Source Code Files
1.4 Subsequent Stages in Building a Program
1.4.1 Compilation
1.4.1.1 Object Files
1.4.2 Linking
1.4.3 Running
1.5 Debugging (1)
1.5.1 What are Bugs/Errors?
1.5.2 Compile-Time Errors
1.5.2.1 Compiler Errors
1.5.2.2 Compiler Warning
1.5.3 Runtime Errors
2. Data Types &amp
Operators
2.1 Learning by Example
2.1.1 Performing Calculations
2.1.2 Interacting with the Console Window
2.2 Variables
2.2.1 Naming Variables
2.2.1.1 Rules
2.2.1.2 Guidelines
2.2.2 Initialising a Variable
2.2.2.1 Using Assignment Equals =
2.2.2.2 Using Parentheses ()
2.2.2.3 Which is Preferable?
2.2.3 Ensuring Read Only Status Using Const
2.3 Primitive Data Types
2.3.1 Type Casting
2.3.1.1 Prospective Problems with Certain Types
2.3.1.2 Static Casting of Types
2.3.1.3 Solution with Type Casting
2.3.1.4 C Style Casts
2.4 Operators
2.4.1 Mathematical Operators
2.4.1.1 Arithmetic Operators
2.4.1.2 Assignment &amp
Equality Operators
2.4.1.2.1 Assignment Operations Using =
2.4.1.2.2 = Operator in Mathematics and Computer Science
2.4.1.2.3 Equality Operations Using ==
2.4.1.2.4 Compound Assignment Operators
2.4.1.2.5 Assignment vs Compound Assignment Operators
2.4.1.3 Increment &amp
Decrement Operators
2.4.1.3.1 Post Increment
2.4.1.3.2 Pre Increment
2.4.1.3.3 Similarities &amp.
Differences: Pre Increment &amp
Post Increment
2.4.1.4 Bitwise Operators
2.4.2 Logical Operators
2.4.3 the Sizeof Operator
3. Control Statements
3.1 Conditional Statements
3.1.1 If Statements
3.1.1.1 What is a Condition?
3.1.2 The If, Then, Else Clause
3.1.2.1 Alternative Form Using the Ternary? : Operator
3.1.3 Cascaded/Nested If Statements
3.1.4 The If, Else If, Else Clause
3.1.5 Switch Statement
3.1.6 Switch Statement vs If, Else If, Else Clause
3.2 Problem Solving with Loops
3.2.1 What are Loops?
3.2.2 For Loop
3.2.3 While Loop
3.2.3.1 Empty While Loop
3.2.4 Do Loop/While Loop
3.3 C++ Statements &amp
Constructs
3.3.1 Blocks
3.3.2 Break Statement
3.3.3 Continue Statement
3.3.4 The Goto Statement
3.3.4.1 Prospective Evils of the Goto Statement
3.3.5 Dropping the Braces {} for 1 Action
3.3.5.1 Potential Hazards in Dropping the Braces
3.3.5.1.1 Breaking at the Wrong Place
3.3.5.1.2 Dangling Else Clause Issue
3.3.5.2 Guideline with Braces
3.4 Creating Aliases IN C &amp
C++
3.4.1 Defining Constants Using #Define - Avoid in C++
3.4.1.1 Issues with Macro Aliases
3.4.2 Typedef
3.4.2.1 Cannot Modify Typedef
4. Programming Practice
4.1 Good vs Bad Practices
4.2 Guidelines
4.2.1 Organisation
4.2.2 Naming of Variables
4.2.3 Formatting of Source Code
4.3 Debugging
4.3.1 Breakpoints
4.3.2 Viewing Variables
4.3.3 Single Stepping
Part II - Procedural Programming
5. Functions
5.1 Procedural Thinking
5.1.1 Procedural Thinking Outside the Programming World
5.1.2 Procedural Thinking Inside the Programming World
5.2 What are Functions?
5.2.1 Function Naming
5.2.2 Function Definitions
5.2.3 Function Declarations
5.2.3.1 Signature of a Function (1)
5.2.4 Function Invocation.
5.2.4.1 Caution: Circular Reference
5.2.5 Declarations vs Definitions
5.3 Functions: No Inputs, No Output
5.4 Functions: Some Inputs, No Output
5.4.1 Signature of a Function (2)
5.4.2 Formal Parameters vs. Actual Parameters
5.4.3 Passing a Copy of the Value
5.4.4 No Predetermined Order of Evaluation of Actual Parameters
5.4.5 Modifying Formal Parameters
5.4.5.1 Default Values
5.4.5.2 Const Formal Parameters
5.5 Functions: Some Inputs, an Output
5.5.1 Returning a Value
5.6 The Main Function
5.7 Scope of a Variable
5.7.1 Global Variables
5.7.1.1 Prospective Evils of Global Variables
5.7.2 Local Variables
5.7.2.1 Automatic Local Variables
5.7.2.2 Static Local Variables
5.7.2.2.1 Initialising Static Local Variables
5.7.2.2.2 Caution with Static Local Variables
5.8 Debugging: Single Step In
5.8.1 The Debug/Call Stack
5.9 Overloading Functions
5.9.1 Prospective Evils of Function Overloading
6. Inline Functions and Macros
6.1 Function Invocation Overhead
6.2 C Macros - For the Best Part Avoid in C++
6.2.1 Creating a Macro
6.2.2 Conditional Preprocessor Directives
6.2.2.1 the #ifdef, #ifndef #endif Clause
6.2.3 Prospective Evils of Macros
6.2.3.1 Losing Track of Types
6.2.3.2 Losing Track of the Name
6.2.3.3 Operator Precedence Problems
6.2.4 Rules of Thumb with Macros
6.3 Inline Functions
6.3.1 Defining &amp
Declaring Inline Functions
6.3.2 Using Inline Functions
6.3.3 The Inline Keyword: A Request, Not an Instruction
6.3.4 Macro Problems not Manifest in Inline Functions
7. Program Management Over Multiple Files
7.1 Software Projects
7.1.1 Source Code
7.2 Building C++ Projects
7.2.1 Compilation
7.2.2 Linking
7.3 Controlling Visibility
7.3.1 Creating External Visibility Using Extern.
7.3.1.1 Linker Error Caused by a Lack of Definition
7.3.2 Hiding External Visibility Using Static
7.3.2.1 Duplication of the Keyword Static
7.4 Namespaces
7.5 Potential Problem: Multiple Inclusions
7.6 Preventing Multiple Inclusions
7.6.1 Ensuring Single Inclusions Using Macros
7.6.1.1 Using #ifndef to Prevent Multiple Inclusions
7.6.2 Ensuring Single Inclusions Using Preprocessor Directives
8. Recursion
8.1 What is Recursion?
8.1.1 Recursion Outside the Programming World
8.1.2 Recursion Inside the Programming World
8.2 Caution with Recursion
8.3 Computing Factorials
8.3.1 Iterative Algorthm: Using Loops
8.3.2 Using Recursion
8.4 Fibonacci Sequence
8.4.1 Applications of the Fibonacci Sequence
8.5 Generating Permutations
8.5.1 Recursive
8.5.2 The Next Permutation Algorithm
8.6 Hanoi Towers
8.6.1 Strategy for 3 Rings
8.6.2 Strategy for 4 Rings
8.6.3 Iterative Strategies
8.6.4 Recursive Strategies
8.6.5 Implementing Recursion in Hanoi Towers
8.6.6 Traditional Legends of Hanoi Towers
8.7 Further Recursive Problems
8.7.1 Triangular Numbersv
8.7.2 Knapsack/Rucksack Problem
8.7.3 N Queens Problem
Part III - Data Structures &amp
Algorithms
9. Arrays
9.1 What are Arrays?
9.1.1 Homogeneous Nature of Data Structures
9.1.2 Indexing in Arrays
9.1.3 The Array Operator
9.1.4 Storage in Runtime Memory
9.2 Defining Arrays
9.3 Writing Data to an Array
9.4 Defining and Initialising Arrays
9.4.1 Defining and Initialising Separately
9.4.1.1 Stand Alone Definition
9.4.1.2 Initialisation
9.4.2 Defining and Initialising on the Same Line
9.5 Reading Data from an Array
9.6 Using Arrays
9.7 Arrays as Function Inputs
9.8 Issues with Arrays
9.9 Multidimensional Arrays
9.10 Dynamic Arrays
Part IV - Memory &amp.
Resource Management Programming
10. Pointers
10.1 What is the Practice of Addressing?
10.1.1 Addressing Outside the Programming World
10.1.2 Addressing Inside the Programming World
10.2 What are Pointers?
10.2.1 L-Value vs R-Value
10.2.2 The Importance of Pointers
10.3 Implementing Pointers in C &amp
10.3.1 Defining Pointers: The * Operator
10.3.1.1 Placing the Asterisk BEFORE the Space
10.3.1.2 Placing the Asterisk AFTER the Space
10.3.2 Populating Pointers: The &amp
Operator
10.3.2.1 Definition and Population in the Same Line
10.3.3 Decoding Pointers: The * Operator
10.3.4 Demonstration: Creating &amp
Using Pointers
10.3.5 Potential Problem: Type Mismatch
10.3.6 Equating Pointers
10.3.7 Review: 2 Uses of the Asterisk Operator
10.4 The NULL Pointer
10.4.1 What is the NULL Pointer?
10.4.1.1 Do Not Confuse NULL Pointers and NUL Characters
10.4.2 Defining the NULL Pointer
10.4.3 Applications of the NULL Pointer
10.5 The Void Pointer
10.5.1 Issues with the Void Pointer
10.6 Pointers as Function Inputs
10.6.1 Problems: Lack of Addressing
10.6.2 Passing Function Inputs as Pointers
10.6.2.1 Formal Parameters as Pointers
10.6.2.2 Actual Parameters as Pointers
10.6.3 Fixing the Problems Using Pointer Inputs
10.6.4 The Importance of Pointer Inputs
10.7 The Pointer as the Function Output
10.7.1 Prospective Dangling Pointer Problem
11. Advanced Pointers
11.1 Pointer to Pointer Hierarchies
11.1.1 One Level: Pointer to a Pointer
11.1.2 Multiple Level Pointers
11.2 Read-Only Pointers Using Const
11.3 Pointers to Functions
11.4 Arrays of Pointers
11.4.1 Array of Pointers to Primitive Variables
11.4.2 Array of Pointers to Functions
12. References
12.1 What are References?
12.1.1 L-Value vs R-Value.
12.1.2 Restrictions with References.
Notes:
Includes bibliographical references and index.
Description based on print version record.
ISBN:
1-000-79186-6
1-00-333779-1
1-003-33779-1
1-000-79496-2
87-93609-44-2
9781003337799
OCLC:
1049914167

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account