Let us C /
Salvato in:
| Autore principale: | |
|---|---|
| Natura: | Libro |
| Lingua: | English |
| Pubblicazione: |
Hingham, MA ; New Delhi :
Infinity Science Press,
c2008.
|
| Edizione: | 8th ed. |
| Serie: | Computer science series
|
| Soggetti: | |
| Accesso online: | Table of contents only |
Sommario:
- Machine derived contents note: Contents
- 1. Getting Started 1
- What is C 2
- Getting Started with C 4
- The C Character Set 5
- Constants, Variables and Keywords 6
- Types of C Constants 7
- Rules for Constructing Integer Constants 8
- Rules for Constructing Real Constants 9
- Rules for Constructing Character Constants 10
- Types of C Variables 11
- Rules for Constructing Variable Names 11
- C Keywords 12
- The First C Program 13
- Compilation and Execution 19
- Receiving Input 21
- C Instructions 23
- Type Declaration Instruction 24
- Arithmetic Instruction 25
- Integer and Float Conversions 29
- Type Conversion in Assignments 30
- Hierarchy of Operations 32
- Associativity of Operators 35
- Control Instructions in C 37
- Summary 38
- Exercise 39
- 2. The Decision Control Structure 49
- Decisions! Decisions! 50
- The if Statement 51
- The Real Thing 55
- Multiple Statements within if 56
- The if-else Statement 58
- Nested if-elses 61
- Forms of if 62
- Use of Logical Operators 64
- The else if Clause 67
- The ! Operator 72
- Hierarchy of Operators Revisited 73
- A Word of Caution 74
- The Conditional Operators 76
- Summary 78
- Exercise 79
- 3. The Loop Control Structure 97
- Loops 98
- The while Loop 99
- Tips and Traps 101
- More Operators 105
- The for Loop 108
- Nesting of Loops 114
- Multiple Initialisations in the for Loop 115
- The Odd Loop 116
- The break Statement 118
- The continue Statement 120
- The do-while Loop 121
- Summary 123
- Exercise 124
- 4. The Case Control Structure 135
- Decisions Using switch 136
- The Tips and Traps 140
- switch Versus if-else Ladder 144
- The goto Keyword 145
- Summary 149
- Exercise 149
- 5. Functions & Pointers 155
- What is a Function 156
- Why Use Functions 164
- Passing Values between Functions 165
- Scope Rule of Functions 170
- Calling Convention 170
- One Dicey Issue 172
- Advanced Features of Functions 173
- Return Type of Function 174
- Call by Value and Call by Reference 175
- An Introduction to Pointers 175
- Pointer Notation 176
- Back to Function Calls 182
- Conclusions 186
- Recursion 186
- Recursion and Stack 191
- Adding Functions to the Library 194
- Summary 198
- Exercise 198
- 6. Data Types Revisited 211
- Integers, long and short 212
- Integers, signed and unsigned 214
- Chars, signed and unsigned 215
- Floats and Doubles 217
- A Few More Issues¿ 219
- Storage Classes in C 221
- Automatic Storage Class 222
- Register Storage Class 224
- Static Storage Class 226
- External Storage Class 229
- A Few Subtle Issues 232
- Which to Use When 234
- Summary 235
- Exercise 235
- 7. The C Preprocessor 243
- Features of C Preprocessor 244
- Macro Expansion 245
- Macros with Arguments 249
- Macros versus Functions 253
- File Inclusion 254
- Conditional Compilation 256
- #if and #elif Directives 260
- Miscellaneous Directives 261
- #undef Directive 262
- #pragma Directive 262
- The Build Process 265
- Preprocessing 267
- Compilation 267
- Assembling 267
- Linking 269
- Loading 270
- Summary 271
- Exercise 272
- 8. Arrays 277
- What are Arrays 278
- A Simple Program Using Array 280
- More on Arrays 283
- Array Initialization 283
- Bounds Checking 284
- Passing Array Elements to a Function 285
- Pointers and Arrays 287
- Passing an Entire Array to a Function 294
- The Real Thing 295
- Two Dimensional Arrays 297
- Initializing a 2-Dimensional Array 298
- Memory Map of a 2-Dimensional Array 299
- Pointers and 2-Dimensional Arrays 300
- Pointer to an Array 303
- Passing 2-D array to a Function 305
- Array of Pointers 308
- Three Dimensional Array 310
- Summary 312
- Exercise 312
- 9. Puppetting On Strings 335
- What are Strings 336
- More about Strings 337
- Pointers and Strings 342
- Standard Library String Functions 344
- strlen( ) 345
- strcpy( ) 347
- strcat( ) 351
- strcmp( ) 351
- Two-Dimensional Array of Characters 353
- Array of Pointers to Strings 356
- Limitation of Array of Pointers to Strings 359
- Solution 360
- Summary 362
- Exercise 362
- 10. Structures 371
- Why Use Structures 372
- Declaring a Structure 375
- Accessing Structure Elements 378
- How Structure Elements are Stored 378
- Array of Structures 379
- Additional Features of Structures 382
- Uses of Structures 391
- Summary 392
- Exercise 393
- 11. Console Input/Output 401
- Types of I/O 402
- Console I/O Functions 403
- Formatted Console I/O Functions 404
- sprintf( ) and sscanf( ) Functions 413
- Unformatted Console I/O Functions 414
- Summary 417
- Exercise 418
- 12. File Input/Output 423
- Data Organization 424
- File Operations 425
- Opening a File 426
- Reading from a File 427
- Trouble in Opening a File 428
- Closing the File 430
- Counting Characters, Tabs, Spaces, ¿ 430
- A File-copy Program 432
- Writing to a File 433
- File Opening Modes 433
- String (line) I/O in Files 435
- The Awkward Newline 437
- Record I/O in Files 438
- Text Files and Binary Files 441
- Record I/O Revisited 445
- Database Management 449
- Low Level Disk I/O 454
- A Low Level File-copy Program 455
- I/O Under Windows 461
- Summary 461
- Exercise 462
- 13. More Issues In Input/Output 473
- Using argc and argv 474
- Detecting Errors in Reading/Writing 478
- Standard I/O Devices 480
- I/O Redirection 481
- Redirecting the Output 482
- Redirecting the Input 484
- Both Ways at Once 485
- Summary 486
- Exercise 486
- 14. Operations On Bits 489
- Bitwise Operators 490
- One¿s Complement Operator 492
- Right Shift Operator 494
- Left Shift Operator 496
- Bitwise AND Operator 501
- Bitwise OR Operator 506
- Bitwise XOR Operator 507
- The showbits( ) Function 508
- Hexadecimal Numbering System 509
- Relationship between Binary and Hex 510
- Summary 512
- Exercise 513
- 15. Miscellaneous Features 517
- Enumerated Data Type 518
- Uses of Enumerated Data Type 519
- Are Enums Necessary 522
- Renaming Data Types with typedef 522
- Typecasting 525
- Bit Fields 526
- Pointers to Functions 529
- Functions Returning Pointers 531
- Functions with Variable Number of Arguments 533
- Unions 537
- Union of Structures 543
- Utility of Unions 544
- The volatile Qualifier 546
- Summary 547
- Exercise 547
- 16. C Under Windows 551
- Which Windows¿ 552
- Integers 553
- Heavy Use of typedef 553
- Size of Pointers 555
- DOS Programming Model 558
- Windows Programming Model 559
- Event Driven Model 563
- Windows Programming, a Closer Look 564
- The First Windows Program 566
- Hungarian Notation 570
- Role of the Message Box 570
- Here Comes the window¿ 571
- More Windows 574
- A Real-World Window 576
- Creation and Displaying of Window 578
- Interaction with Window 579
- Reacting to Messages 580
- Program Instances 583
- Summary 583
- Exercise 584
- 17. Graphics Under Windows 587
- Graphics as of Now 588
- Device Independent Drawing 588
- Hello Windows 590
- Drawing Shapes 594
- Types of Pens 598
- Types of Brushes 600
- Code and Resources 604
- Freehand Drawing, the Paintbrush Style 604
- Capturing the Mouse 608
- Device Context, a Closer Look 609
- Displaying a Bitmap 611
- Animation at Work 615
- WMCREATE and OnCreate( ) 619
- WMTIMER and OnTimer( ) 619
- A Few More Points¿ 620
- Windows, the Endless World¿ 622
- Summary 622
- Exercise 623
- 18. Internet Programming 624
- Network Communication 625
- Packets and Sockets 626
- Before We Start 627
- Protocols 627
- IP Addresses 629
- Port Numbers 629
- Byte Ordering 631
- Getting Started¿ 631
- What¿s The Time Now 634
- Creation of Socket 638
- Sending Data to a Time Server 639
- Receiving Date and Time 640
- Communicating with Whois Server 641
- Give Me the Home Page 645
- Sending and Receiving Emails 647
- Two-Way Communication 659
- Summary 666
- Exercise 666
- 19. C Under Linux 669
- What is Linux 670
- C Programming Under Linux 671
- The ¿Hello Linux¿ Program 672
- Processes 674
- Parent and Child Processes 675
- More Processes 679
- Zombies and Orphans 681
- One Interesting Fact 683
- Summary 684
- Exercise 685
- 20. More Linux Programming 687
- Communication using Signals 688
- Handling Multiple Signals 691
- Registering a Common Handler 693
- Blocking Signals 695
- Event Driven Programming 698
- Where Do You Go From Here 703
- Summary 704
- Exercise 704
- Index 731.