Buch, Englisch, 576 Seiten, Format (B × H): 217 mm x 282 mm, Gewicht: 1058 g
Buch, Englisch, 576 Seiten, Format (B × H): 217 mm x 282 mm, Gewicht: 1058 g
ISBN: 978-0-19-807888-3
Verlag: Oxford University Press
Includes numerous examples and programs with outputs to illustrate the concepts
Provides several end-chapter exercises to test the understanding of the theory
Gives a thorough overview of the concept of data structures including linked lists, stacks, queues, trees, and graphs
Contains numerous appendices on topics such as Model test papers, ASCII chart, ANSI C library functions, algorithms and calculating program efficiency, and interview questions with answers etc. for further reference
Computer Fundamentals and Programming in C is designed to serve as a textbook for the undergraduate students of engineering, computer science, computer applications, and information technology. The book seeks to provide a thorough overview of all the fundamental concepts related to computer science and programming. It lays down the foundation for all the advanced courses that a student is expected to learn in the following semesters.
The book is divided into three parts, beginning with an introduction to computers illustrating the evolution, characteristics, basic orgranisation, and classification of computers along with their applications. It then delves into the concepts of input/output devices in detail and number representation including binary, octal, and hexadecimal number systems. Separate chapters on computer's memory, computer software, Internet, and introduction to algorithms and programming languages are covered next.
Part two entails the fundamentals of C programming including a thorough introduction to programming in C language, decision control and loop statements, functions, arrays, strings, pointers, structure and union, file management, and preprocessor directives. Part three introduces all the important data structures, namely, linked lists, stacks, queues, trees, and graphs.
A highly detailed pedagogy entailing plenty of examples, figures, programming tips, keywords, and end-chapter exercises makes this a must-have book for all engineering students.
Zielgruppe
Primary: B.Tech; B.Sc. Computer Science Engineering/Information Technology; Secondary: Postgraduate Students
Autoren/Hrsg.
Fachgebiete
Weitere Infos & Material
1: Introduction to Computers
1.1 What is a Computer?
1.2 Characteristics of Computers
1.3 Generation of Computers
1.3.1 First Generation
1.3.2 Second Generation
1.3.3 Generation
1.3.4 Generation
1.3.5 Generation
1.4 Classification of Computers
1.5 Applications of Computer
1.6 Basic Computer Organization
1.7 Lab Session - Inside a Computer
1.8 The Motherboard
2: Number representation in computers
2.1 Binary Number System
2.2 Working with Binary Numbers
2.2.1 Convert a Binary Number into Decimal
2.2.2 Convert a Decimal Number into Binary
2.2.3 Adding Two Binary Numbers
2.2.4 Subtracting Two Binary Numbers
2.2.5 Subtracting Two Binary Numbers Using Two's Complement
2.2.6 Multiplication of Two Binary Numbers
2.2.7 Division of Binary Numbers
2.3 Octal Number System
2.3.1 Convert an Octal Number into Decimal
2.3.2 Convert a Decimal Number into Octal
Hexadecimal Number System
2.4 Convert a Hexadecimal Number into Binary
2.4.1 Convert a Hexadecimal Number into Binary
2.4.2 Convert a Hexadecimal Number into Decimal
2.4.3 Convert a Decimal Number into Hexadecimal
2.5 Working with Fractions
2.6 Signed Number Representation in Binary
2.6.1 Sign-and-magnitude
2.6.2 One's Complement
2.6.3 Two's Complement
2.7 BCD Code
2.8 Other Codes
2.8.1 ASCII Codes
2.8.2 EBCDIC Codes
2.8.3 Excess 3 Code
2.8.4 Other Weighted Codes
2.8.5 Gray Code
2.9 Logic Gates
2.10 Universal Gates
3: Input/ Output Devices
3.1 Input Devices
3.1.1 Keyboard
3.1.2 Pointing Devices
3.1.2.1 Mouse
3.1.2.2 Trackball
3.1.2.3 Touch Pad
3.1.3 Handheld Devices
3.1.3.1 Joystick
3.1.3.2 Stylus
3.1.3.3 Touch Screen
3.1.4 Optical Devices
3.1.4.1 Bar Code Reader
3.1.4.2 Image Scanner
3.1.4.3 Optical Character Recognition
3.1.4.4 Optical Mark Recognition
3.1.4.5 Magnetic Ink Character Reader
3.1.5 Audio Visual Devices
3.1.5.1 Audio Input Devices
3.1.5.2 Video Input Devices
3.2 Output Devices
3.2.1 Soft Copy Output Devices
3.2.1.1 Monitor
3.2.1.1.1 CRT Monitor
3.2.1.1.2 LCD Monitor
3.2.1.1.3 Plasma Monitor
3.2.1.2 Projector
3.2.1.3 Speaker
3.2.2 Hard Copy Output Devices
3.2.2.1 Dot Matrix
3.2.2.2 Daisy Wheel
3.2.2.3 Line Printer
3.2.2.4 Inkjet Matrix
3.2.2.5 Laser Matrix
3.2.2.6 Plotters
4: Computer's Memory
4.1 Introduction
4.2 Memory Hierarchy
4.3 Processor Registers
4.4 Cache Memory
4.5 Primary Memory
4.5.1 RAM
4.5.2 ROM
4.5.3 How does CPU finds the required data from the main memory?
4.6 Secondary Storage Devices
4.6.1 Offline Storage
4.6 Hard Disk
4.7 Optical Drive
4.7.1 CDROM
4.7.2 DVD ROM
4.7.3 CD-R
4.7.4 CD-RW
4.8 USB Flash Drive
4.9 Floppy Disk
4.10 Magnetic Tape
4.11 Memory Cards
5: Computer Software
5.1 Introduction to Computer Software
5.2 Classification of Computer Software
5.2.1 System Software
5.2.1.1 Computer BIOS and Device Drivers
5.2.1.2 Operating System
5.2.1.3 Utility Software
5.2.1.4 Compiler, Interpreter, Linker, Loader
5.2.2 Application Software
5.3 Some popular applications software
5.3.1 Productivity software
5.3.2 Introduction to Office Package
5.3.3 Graphics Software
5.3.4 Multimedia Software
5.4 Operating System
5.4.1 Windows Operating System
5.4.2 UNIX
5.4.3 LINUX
6: The Internet
6.1 Introduction to Computer Networks
6.1.1 Advantages of Computer Networks
6.2 The Connecting Media
6.3 Data Transmission Mode
6.3.1 Simplex, Half Duplex and Full Duplex Connections
6.3.2 Serial and Parallel Transmission
6.3.3 Synchronous and Asynchronous Transmission Mode
6.4 Network Topologies
6.4.1 Bus Topology
6.4.2 Star Topology
6.4.3 Ring Topology
6.4.4 Mesh Topology
6.4.5 Hybrid Topology
6.5 Types of Network
6.5.1 LAN
6.5.2 WAN
6.5.3 MAN
6.5.4 CAN
6.5.5 PAN
6.6 Networking Devices
6.6.1 Hub
6.6.2 Repeaters
6.6.3 Switch
6.6.4 Bridges
6.6.5 Router
6.6.6 Gateway
6.6.7 NIC Card
6.7 The Internet
6.7.1 History
6.8 Internet Services
6.8.1 Electronic Mail
6.8.2 File Transfer Protocol
6.8.3 Chatting
6.8.4 Internet Conferencing
6.8.5 Electronic Newspaper
6.8.6 World Wide Web
6.8.7 Online Shopping
6.8.8 Internet Glossary
7: Introduction to Algorithms and Programming Languages
7.1 Concept of Algorithms
7.2 Key Features of an Algorithm
7.3 Some More Algorithms
7.4 Flowcharts
7.4.1 Significance of Flowchart
7.4.2 Advantages of Flowchart
7.4.3 Limitations of Flowchart
7.5 Pseudocode
7.6 Programming Languages
7.7 Generation of Programming Languages
7.7.1 First Generation
7.7.2 Second Generation
7.7.3 Third Generation
7.7.4 Fourth Generation
7.7.5 Fifth Generation
7.8 Structured Programming Language
7.8.1 Advantages
7.8.2 Example
7.9 Introduction to the Design and Implementation of correct, efficient and maintenance programs
8: INTRODUCTION TO C (76)
8.1 Introduction
8.1.1 Background
8.1.2 Characteristics of C
8.1.3 Uses
8.2 Structure of a C program
8.3 Writing the First C Program
8.4 Files Used in a C Program
8.4.1 Source Code File
8.4.2 Header Files
8.4.3 Object File
8.4.4 Binary Executable File
8.5 Compiling and Executing C Program
8.6 Using Comments in a C Program
8.7 Keywords
8.8 Identifiers
8.9 Basic data types in C
8.9.1 How are floats and doubles stored?
8.10 Variables
8.10.1 Declaring Variables
8.10.2 Initializing Variables
8.11 Constants
8.11.1 Integer Constant
8.11.2 Floating Point Constant
8.11.3 Character Constant
8.11.4 String Constant
8.11.5 Declaring Constant
8.12 Input/Output Statements in C
8.12.1 Streams in C
8.12.2 Formatting input/output
8.12.3 printf()
8.12.4 scanf()
8.12.5 printf() and scanf() examples
8.12.6 Detecting errors while data input
8.13 Operators in C
8.13.1 Arithmetic operators
8.13.2 Relational Operators
8.13.3 Equality Operators
8.13.4 Logical Operators
8.13.4.1 Logical AND
8.13.4.2 Logical OR
8.13.4.3 Logical NOT
8.13.5 Unary Operators
8.13.5.1 Unary Minus
8.13.5.2 Increment Operator (++) and Decrement Operator (--)
8.13.6 Conditional Operators
8.13.7 Bitwise Operators
8.13.7.1 Bitwise AND
8.13.7.2 Bitwise OR
8.13.7.3 Bitwise XOR
8.13.7.4 Bitwise NOT
8.13.7.5 Shift Operator
8.13.8 Assignment operators
8.13.9 Comma Operator
8.13.10 Sizeof Operator
8.13.11 Operator precedence
8.14 Type conversion and type casting
8.14.1 Type Conversion
8.14.2 Type Casting
Programming Tips
Keywords
9: DECISION CONTROL AND LOOPING STATEMENTS (73)
9.1 Introduction to Decision Control Statements
9.2 Conditional Branching Statement
9.2.1 If Statement
9.2.2 If-Else Statement
9.2.3 If-Else-If Statement
9.2.4 Switch Case Statement
9.3 Iterative Statements
9.3.1 While Loop
9.3.2 Do- While Loop
9.3.3 For Loop
9.4 Nested Loops
9.5 C Break and Continue Statement
9.6 Go to Statement
Programming Tips
Keywords
Case Study for Chapters 8 and 9
10: FUNCTIONS (53)
10.1 Introduction
10.1.1 Why are functions needed?
10.2 Using functions
10.3 Function Declaration
10.4 Function Definition
10.5 Function Call
10.6 Return Statement
10.7 Passing parameters to function
10.7.1 Call by value
10.7.2 Call by reference
10.8 Variable scope
10.8.1 Block scope
10.8.2 Function scope
10.8.3 Program scope
10.8.4 File scope
10. 9 Storage Classes
10.9.1 auto
10.9.2 register
10.9.3 extern
10.9.4 static
10.9.5 Comparison of Storage Classes
10.10 Recursive functions
10.10.1 Reverse the characters
10.10.2 Greatest Common Divisor
10.10.3 Finding exponents
10.10.4 Fibonacci Series
10.11 Types of Recursion
10.12 Tower of Hanoi problem
10.13 Recursion vs iteration
Programming Tips
Keywords
Annexure 1: User-defined Header files
11: ARRAYS (74)
11.1 Introduction
11.2 Declaration of arrays
11.3 Accessing all the elements of array
11.3.1 Calculating the address of array elements
11.4 Storing values in arrays
11.4.1 Initialization of arrays
11.4.2 Inputting values
11.4.3 Assigning values
11.5 Calculating the length of arrays
11.6 Operations that can be performed on arrays
11.6.1 Traversal
11.6.2 Insertion
11.6.3 Deletion
11.6.4 Merging the arrays
11.6.5 Searching the array elements
11.6.5.1 Linear search
11.6.5.2 Binary search
11.7 One dimensional array for inter-function communication
11.8 Two dimensional arrays
11.8.1 Declaration of two dimensional arrays
11.8.2 Initialization of two dimensional arrays
11.8.3 Accessing the elements
11.9 Operation on two dimensional arrays
11.10 Two dimensional arrays for inter-function communication
11.11 Multi dimensional arrays
11.12 Sparse matrices
Annexure 2: Sorting
Case Study for Chapters 10 and 11
12: STRINGS (77)
12.1 Introduction
12.1.1 Reading Strings
12.1.2 Writing Strings
12.1.3 Summary of functions used to read and write characters
12.2 Suppressing inputs
12.3 String Taxonomy
12.4 String operations
12.4.1 Length
12.4.2 Converting into upper case
12.4.3 Converting into lower case
12.4.4 Concatenation
12.4.5 Appending
12.4.6 Comparison
12.4.7 Reverse
12.4.8 Extracting a substring from left of a string
12.4.9 Extracting a substring from right of a string
12.4.10 Extracting a substring from middle of a string
12.4.11 Insertion
12.4.12 Indexing
12.4.13 Deletion
12.4.14 Replacement
12.5 Miscellaneous string and character functions
12.6 Array of strings
13: POINTERS (74)
13.1 Understanding the computer's memory
13.2 Introduction to Pointers
13.3 Declaring pointer variables
13.4 Pointer expressions and pointer arithmetic
13.5 Null pointers
13.6Generic pointers
13.7 Passing arguments to functions using pointers
13.8 Pointers and arrays
13.9 Passing array to a function7.9 Difference between array name and pointer
13.10Pointers and strings
13.11 Array of pointers
13.12Pointers and two dimensional arrays
13.13 Array of function pointers
13.14 Pointers and two dimensional arrays
13.15 Pointers and three dimensional arrays
13.16 Pointer to function
13.16.1 Initializing function pointer
13.16.2 Calling a function using a function pointer
13.16.3 Comparing function pointers
13.16.4 Passing a function pointer as an argument to a function
13.17 Array of function pointers
13.18 Pointer to pointers
13.19 Memory allocation in C programs
13.20 Memory usage
13.21 Dynamic memory management
13.21.1 Memory allocation process
13.21.2 Allocating a block of memory
13.21.3 Releasing the used space
13.21.4 Altering the size of allocated memory
13.22 Drawback of pointers
Annexure 3: Pointers
Case Study for Chapters 12 and 13
14: STRUCTURE AND UNION (49)
14.1 Introduction
14.1.1 Structure declaration
14.1.2 Typedef declaration
14.1.3 Initialization of structures
14.1.4 Accessing members of structures
14.1.5 Copying and Comparing structures
14.2 Nested structures
14.3 Array of structures
14.4 Structures and functions
14.4.1 Passing individual members
14.4.2 Passing the entire structure
14.4.3 Passing structures through pointers
14.5 Self Referential Structures
14.6 Union
14.6.1 Declaring a union
14.6.2 Accessing a member of a union
14.6.3 Initializing union
14.7 Array of union variables
14.8 Unions inside structures
14.9 Enumerated Data types
14.9.1 enum variables
14.9.2 Using the typedef keyword
14.9.3 Assigning values to enum variables
14.9.4 Enumeration type conversion
14.9.5 Comparing enumerated types
14.9.6 Input/output operations on enumerated types
Annexure 4: Bit & Byte
15: FILE MANAGEMENT (59)
15.1 Introduction
15.1.1 Streams in C
15.1.2 Buffers associated with file streams
15.1.3 Types of files
15.1.3.1 ASCII text files
15.1.3.2 Binary files
15.2 Using files in C
15.2.1 Declaring a file pointer
15.2.2 Opening a File
15.2.2.1 The file name
15.2.2.2 File mode
15.2.3 Closing a File
15.3 Reading data from files
15.3.1 fscanf()
15.3.2 fgets()
15.3.3 fgetc()
15.3.4 fread()
15.4 Writing data to files
15.4.1 fprintf()
15.4.2 fputs()
15.4.3 fputc()
15.4.4 fwrite()
15.5 Detecting the End of File
15.6 Error Handling during file operations
15.6.1 fclearerr()
15.6.2 perror()
15.7 Accepting command line arguments
15.8 Function for selecting a record randomly
15.8.1 fseek()
15.8.2 ftell()
15.8.3 rewind()
15.8.4 fgetpos()
15.8.5 fsetpos()
15.9 The remove() function
15.10 Renaming a File
15.11 Creating a temporary file
16: THE PREPROCESSOR DIRECTIVE (27)
16.1 Introduction
16.2 Types of Preprocessor Directives
16.3 #define
16.3.1 Object-Like Macros
16.3.2 Function-Like Macros
16.3.2.1 Invoking a function-like macro
16.3.3 Nesting of Macros
16.3.4 Rules for using macros
16.3.5 Operators Related to Macros
16.3.5.1 Operator to convert to string literal
16.3.5.2 Merge operator
16.4 #include
16.5 #undef
16.6 #line
16.7 Pragma Directives
16.8 Conditional Directives
16.8.1 #ifdef
16.8.2 #ifndef
16.8.3 #if
16.8.4 #else
16.8.5 #elif
16.8.6 #endif
16.9 The defined operator
16.10 #error
16.11 Pre-defined Macros
17: INTRODUCTION TO DATA STRUCTURES
17.1 Introduction to Data Structures
17.2 Linear and Non-linear Data Structures
17.2.1 Linked List
17.2.1.1 Linked list versus arrays
17.2.1.2 Traversing a singly linked list
17.2.1.3 Searching a linked list
17.2.1.4 Inserting a new node in a linked list
17.2.1.5 Deleting a node from a linked list
17.2.2 Stacks
17.2.2.1 Array Representation of stack
17.2.2.2 Operations on Stacks
17.2.3 Queues
17.2.3.1 Operations on a queue
17.2.4 Trees
17.2.4.1 Key terms
17.2.4.2 Representation of Binary Trees in Memory
17.2.4.3 Traversing a binary tree
17.2.5 Graphs
17.2.5.1 Why graphs are useful
17.2.5.2 Definition
17.2.5.3 Graph Terminology
17.2.5.4 Representation of Graphs
Case Study for Chapter 176R
APPENDICES
Appendix Ia ASCII Chart
Appendix Ib Bitwise Operations
Appendix II- ANSI C Library Functions
Appendix IIIa- Advanced Type Qualifiers like volatile and restrict
IIIb- Inline Functions in C
Appendix IV - Versions of C
Appendix V- Algorithms and Calculating Program Efficiency
Appendix VI- Interview Questions with Solutions
Appendix VII- Model test papers