Computer fundamentals and programming in C / Reema Thareja.
Material type:

Item type | Current library | Home library | Collection | Shelving location | Call number | Copy number | Status | Date due | Barcode |
---|---|---|---|---|---|---|---|---|---|
![]() |
National University - Manila | National University - Manila | Computer Engineering | General Circulation | GC QA 76.73.C15 .T43 2012 (Browse shelf (Opens below)) | c.1 | Checked out | 09/19/2024 | NULIB000006919 |
Includes index.
Machine generated contents note: 1. Introduction to Computers --
1.1. What is a Computer? --
1.2. Characteristics of Computers --
1.3. Generations of Computers --
1.3.1. First generation (1940-1956): Vacuum tubes --
1.3.2. Second generation (1956-1963): Transistors --
1.3.3. Third generation (1964-1971): Integrated circuits --
1.3.4. Fourth generation (1971-1989): Microprocessors --
1.3.5. Fifth generation (present and beyond): Artificial intelligence --
1.4. Classification of Computers --
1.4.1. Supercomputers --
1.4.2. Mainframe computers --
1.4.3. Minicomputers --
1.4.4. Microcomputers --
1.5. Applications of Computers --
1.5.1. Government --
1.5.2. Traffic control --
1.5.3. Legal system --
1.5.4. Retail business --
1.5.5. Sports --
1.5.6. Music --
1.5.7. Movies --
1.5.8. Travel and tourism --
1.5.9. Business and industry --
1.5.10. Hospitals --
1.5.11. Simulation --
1.5.12. Geology --
1.5.13. Astronomy --
1.5.14. Weather forecasting --
1.5.15. Education --
1.5.16. Online banking --
1.5.17. Industry and engineering --
1.5.18. Robots --
1.5.19. Decision support systems --
1.5.20. Expert systems --
1.6. Basic Organization of a Computer --
1.7. Lab Session --
Inside the Computer --
1.8. Motherboard --
1.8.1. Characteristics of a motherboard --
2. Input and Output Devices --
2.1. Input Devices --
2.1.1. Keyboard --
2.1.2. Pointing devices --
2.1.3. Handheld devices --
2.1.4. Optical devices --
2.1.5. Audiovisual input devices --
2.2. Output Devices --
2.2.1. Soft copy devices --
2.2.2. Hard copy devices --
3. Binary Number System --
3.1. Binary Number System --
3.1.1. Applications of binary numbers --
3.2. Working with Binary Numbers --
3.2.1. Conversion of binary number into decimal form --
^ 3.2.2. Conversion of decimal number into binary form --
3.2.3. Addition of two binary numbers Note continued: 3.2.4. Subtraction of two binary numbers --
3.2.5. Subtraction of binary numbers using two's complement --
3.2.6. Multiplication of two binary numbers --
3.2.7. Division of two binary numbers --
3.3. Octal Number System --
3.3.1. Conversion of octal number into decimal form --
3.3.2. Conversion of decimal number into octal form --
3.4. Hexadecimal Number System --
3.4.1. Conversion of hexadecimal number into binary form --
3.4.2. Conversion of binary number into hexadecimal form --
3.4.3. Conversion of hexadecimal number into decimal form --
3.4.4. Conversion of decimal number to hexadecimal form --
3.5. Working with Fractions --
3.6. Signed Number Representation in Binary Form --
3.6.1. Sign-and-magnitude --
3.6.2. One's complement --
3.6.3. Two's complement --
3.7. BCD Code --
3.8. Other Codes --
3.8.1. ASCII --
3.8.2. Extended binary coded decimal interchange code --
3.8.3. Excess-3 --
3.8.4. Other weighted codes --
3.8.5. Gray code --
3.9. Logic Gates --
3.10. Universal Gates --
4. Computer Memory --
4.1. Introduction --
4.2. Memory Hierarchy --
4.2.1. Processor registers --
4.2.2. Cache memory --
4.2.3. Primary memory --
4.2.4. Finding required data from main memory --
4.2.5. Secondary storage devices --
5. Computer Software --
5.1. Introduction to Computer Software --
5.2. Classification of Computer Software --
5.2.1. System software --
5.2.2. Application software --
5.3. Productivity Software --
5.3.1. Introduction to Microsoft Office --
5.4. Graphics Software --
5.5. Multimedia Software --
5.6. Database Management Software --
5.7. Operating Systems --
5.7.1. Windows --
5.7.2. UNIX --
5.7.3. Linux --
6. Computer Networks and the Internet --
6.1. Introduction to Computer Networks --
6.1.1. Advantages of computer networks --
6.2. Connecting Media Note continued: 6.2.1. Twisted-pair wires --
6.2.2. Coaxial cables --
6.2.3. Fibre optic cables --
6.2.4. Wireless technologies --
6.3. Data Transmission Mode --
6.3.1. Simplex, half-duplex, and full-duplex connections --
6.3.2. Serial and parallel transmissions --
6.3.3. Synchronous and asynchronous data transmission modes --
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. Local area network --
6.5.2. Wide area network --
6.5.3. Metropolitan area network --
6.5.4. Campus/corporate area network --
6.5.5. Personal area network --
6.6. Networking Devices --
6.6.1. Hub --
6.6.2. Repeater --
6.6.3. Switch --
6.6.4. Bridge --
6.6.5. Router --
6.6.6. Gateway --
6.6.7. Network interface card --
6.7. 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.9. Internet Glossary --
7. Introduction to Algorithms and Programming Languages --
7.1. Algorithm --
7.2. Key Features of Algorithms --
7.2.1. Sequence --
7.2.2. Decision --
7.2.3. Repetition --
7.3. Some More Algorithms --
7.4. Flowcharts --
7.4.1. Significance of flowcharts --
7.4.2. Advantages --
7.4.3. Limitations --
7.5. Pseudocode --
7.5.1. Keywords used while writing pseudocodes --
7.6. Programming Languages --
7.7. Generation of Programming Languages --
7.7.1. First generation: Machine language --
7.7.2. Second generation: Assembly language --
7.7.3. Third generation: High-level language --
^ 7.7.4. Fourth generation: Very high-level language --
7.7.5. Fifth generation programming language Note continued: 7.8. Structured Programming Languages --
7.8.1. Advantages --
7.8.2. Example of structured program --
7.9. Design and Implementation of Correct, Efficient, and Maintainable Programs --
8. Introduction to C --
8.1. Introduction --
8.1.1. Background --
8.1.2. Characteristics of C --
8.1.3. Uses of C --
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 files --
8.4.4. Binary executable file --
8.5. Compiling and Executing C Programs --
8.6. Using Comments --
8.7. Keywords --
8.8. Identifiers --
8.8.1. Rules for forming identifier names --
8.9. Basic Data Types in C --
8.9.1. Storing float and double data types --
8.10. Variables --
8.10.1. Numeric variables --
8.10.2. Character variables --
8.10.3. Declaring variables --
8.10.4. 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 constants --
8.12. Input/Output Statement in C --
8.12.1. Streams --
8.12.2. Formatting input/output --
8.12.3. printf() --
8.12.4. scanf() --
8.12.5. Examples of printf/scanf --
8.12.6. Detecting errors during 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.5. Unary operators --
8.13.6. Conditional operator --
8.13.7. Bitwise operators --
8.13.8. Assignment operators --
8.13.9. Comma operator --
8.13.10. Sizeof operator --
8.13.11. Operator precedence chart --
8.14. Programming Examples --
8.15. Type Conversion and Typecasting --
8.15.1. Type conversion --
8.15.2. Typecasting --
9. Decision Control and Looping Statements Note continued: 9.1. Introduction to Decision Control Statements --
9.2. Conditional Branching Statements --
9.2.1. If statement --
9.2.2. If-else statement --
9.2.3. If-else-if statement --
9.2.4. Switch case --
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. Break and Continue Statements --
9.5.1. Break statement --
9.5.2. Continue statement --
9.6. Goto Statement --
Case Study for Chapters 8 and 9 --
10. Functions --
10.1. Introduction --
10.1.1. Need for functions --
10.2. Using Functions --
10.3. Function Declaration/Function Prototype --
10.4. Function Definition --
10.5. Function Call --
10.5.1. Points to remember while calling a function --
10.6. Return Statement --
10.6.1. Using variable number of arguments --
10.7. Passing Parameters to the Function --
10.7.1. Call by value --
10.7.2. Call by reference --
10.8. Scope of Variables --
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. Greatest common divisor --
10.10.2. Finding exponents --
10.10.3. fibonacci series --
10.11. Types of Recursion --
10.11.1. Direct recursion --
10.11.2. Indirect recursion --
10.11.3. Tail recursion --
10.11.4. Linear and tree recursion --
10.12. Tower of Hanoi --
10.13. Recursion Versus Iteration --
Annexure 1 --
11. Arrays --
11.1. Introduction --
11.2. Declaration of Arrays --
11.3. Accessing Elements of the 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 Note continued: 11.5. Calculating the Length of the Array --
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 --
11.6.5. Searching array elements --
11.7. One-dimensional Arrays 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. Operations on Two-dimensional Arrays --
11.10. Two-dimensional Arrays for Inter-function Communication --
11.10.1. Passing a row --
11.10.2. Passing the entire array --
11.11. Multidimensional Arrays --
11.12. Sparse Matrices --
Annexure 2 --
Case Study for Chapters 10 and 11 --
12. Strings --
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 Input --
12.2.1. Using a scanset --
12.3. String Taxonomy --
12.4. String Operations --
12.4.1. Length --
12.4.2. Converting characters of a string into upper case --
12.4.3. Converting characters of a string into lower case --
12.4.4. Concatenating two strings to form a new string --
12.4.5. Appending strings --
12.4.6. Comparing two strings --
12.4.7. Reversing a string --
12.4.8. Extracting a substring from the left of a string --
12.4.9. Extracting a substring from the right of a string --
12.4.10. Extracting a substring from the 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.5.1. Character manipulation functions --
12.5.2. String manipulation functions --
12.6. Array of Strings --
13. Pointers --
13.1. Understanding Computer Memory --
13.2. Introduction to Pointers Note continued: 13.3. Declaring Pointer Variables --
13.4. Pointer Expressions and Pointer Arithmetic --
13.5. Null Pointers --
13.6. Generic Pointers --
13.7. Passing Arguments to Functions using Pointers --
13.8. Pointers and Arrays --
13.9. Passing an Array to a Function --
13.10. Difference between Array Name and Pointer --
13.11. Pointers and Strings --
13.12. Array of Pointers --
13.13. Pointers and 2D Arrays --
13.14. Pointers and 3D Arrays --
13.15. Function Pointers --
13.15.1. Initializing a function pointer --
13.15.2. Calling functions using function pointers --
13.15.3. Comparing function pointers --
13.15.4. Passing a function pointer as an argument to a function --
13.16. Array of Function Pointers --
13.17. Pointers to Pointers --
13.18. Memory Allocation in C Programs --
13.19. Memory Usage --
13.20. Dynamic Memory Allocation --
13.20.1. Memory allocation process --
13.20.2. Allocating a block of memory --
13.20.3. Releasing the used space --
13.20.4. Altering the size of allocated memory --
13.21. Drawbacks of Pointers --
Annexure 3 --
Case Study for Chapters 12 and 13 --
14. Structure, Union, and Enumerated Data Types --
14.1. Introduction --
14.1.1. Structure declaration --
14.1.2. Typedef declarations --
14.1.3. Initialization of structures --
14.1.4. Accessing the members of a structure --
14.1.5. Copying and comparing structures --
14.2. Nested Structures --
14.3. Arrays 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 unions --
^ 14.7. Arrays of Union Variables --
14.8. Unions inside Structures Note continued: 14.9. Enumerated Data Types --
14.9.1. enum variables --
14.9.2. Using the typedef keyword --
14.9.3. Assigning values to enumerated variables --
14.9.4. Enumeration type conversion --
14.9.5. Comparing enumerated types --
14.9.6. Input/output operations on enumerated types --
Annexure 4 --
15. Files --
15.1. Introduction to Files --
15.1.1. Streams in C --
15.1.2. Buffer associated with file stream --
15.1.3. Types of files --
15.2. Using Files in C --
15.2.1. Declaring a file pointer variable --
15.2.2. Opening a file --
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. clearerr() --
15.6.2. perror() --
15.7. Accepting Command Line Arguments --
15.8. Functions 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. Remove() --
15.10. Renaming a File --
15.11. Creating a Temporary File --
16. Preprocessor Directives --
16.1. Introduction --
16.2. Types of Preprocessor Directives --
16.3. #define --
16.3.1. Object-like macro --
16.3.2. Function-like macro --
16.3.3. Nesting of macros --
16.3.4. Rules for using macros --
16.3.5. Operators related to macros --
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. Defined Operator --
16.10. #error --
16.11. Predefined Macro Names --
17. Data Structures Note continued: 17.1. Introduction to Data Structures --
17.2. Linear and Non-linear Data Structures --
17.2.1. Linked lists --
17.2.2. Stacks --
17.2.3. Queues --
17.2.4. Trees --
17.2.5. Graphs --
Case Study for Chapter 17.
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.
There are no comments on this title.