Let us C /

Salvato in:
Dettagli Bibliografici
Autore principale: Kanetkar, Yashavant P.
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.