Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword or section
Like this
2Activity

Table Of Contents

1.1Why learn C?
1.2Program organization
1.3.2What are “function parameters” ?
1.3.3Console mode programs and windows programs
1.3.4An overview of the compilation process
1.3.5The run time environment
1.4An overview of the standard libraries
1.4.1The “stdheaders.h” include file
1.4.2Passing arguments to a program
1.5Iteration constructs
1.6.2Types classification
1.6.5Compatible types
1.6.6Incomplete types
1.7Declarations and definitions
1.7.1Variable declaration
1.7.4Scope of identifiers
1.7.5Linkage and duration of objects
1.7.6Variable definition
1.7.7Statement syntax
1.8Errors and warnings
1.9Input and output
1.9.1Predefined devices
1.9.2The typical sequence of operations
1.9.4Other input/output functions
1.10Commenting the source code
1.10.1Describing a function
1.11An overview of the whole language
1.11.4Windows specific defined symbols
1.11.5Structured exception handling
1.11.7Windows specific syntax
1.12Extensions of lcc-win
1.13A closer view
1.13.8The four operations
1.13.24Break and continue statements
1.13.33Sequential expressions
1.13.37Predefined identifiers
1.13.38Precedence of the different operators
1.14The printf family
1.14.2The conversion flags
1.14.3The size specification
1.15.1Operations with pointers
1.15.3Pointers and arrays
1.16.2Register variables and longjmp()
1.17Simple programs
1.17.4Write ispowerOfTwo without any loops
1.18Using arrays and sorting
1.18.2Other qsort applications
1.18.3Summary of Arrays and sorting
1.19Pointers and references
1.20Structures and unions
1.21Using structures
1.21.1Fine points of structure use
1.22Identifier scope and linkage
1.23Top-down analysis
1.24Extending a program
1.25Improving the design
1.26Traditional string representation in C
1.27The problems with C-“Strings“
1.28Buffer-overflows
1.28.1A buffer overflow in the C standard document
1.29Memory management and memory layout
1.29.1Functions for memory allocation
1.29.2Memory layout under windows74
1.30Memory management strategies
1.30.2Stack based allocation
1.30.3“Arena” based allocation
1.30.4The malloc / free strategy
1.30.5The malloc with no free strategy
1.30.6Automatic freeing (garbage collection)
1.30.8A debugging implementation of malloc
1.31Counting words
1.31.1The organization of the table
1.31.2Memory organization
1.31.3Displaying the results
1.32Time and Date functions
1.33Using structures (continued)
1.34A closer look at the pre-processor
1.34.1Preprocessor commands
1.34.2Things to watch when using the preprocessor
1.35Using function pointers
1.36Advanced C programming with lcc-win
1.36.1Operator overloading
1.36.5Structured exception handling
1.36.6The signal function
1.37Numerical programming
1.37.1Floating point formats
1.37.2What can we do with those numbers then?
1.1Using the floating point environment
1.1.1The status flags
1.1.2Reinitializing the floating point environment
1.1The libraries of lcc-win
1.1.1The regular expressions libraries
1.1.2Console formatting routines
1.1.3Statistics library
1.1.4Linear algebra library
1.1.5Network utilities
1.1.6Advanced math functions
1.1.7Compression/decompression functions
1.1.8Structured Query Language (SQL)
1.1.10The regular expressions library. A “grep” clone
1.2Programming with security in mind
1.2.1Always include a ‘default’ in every switch statement
1.2.2Pay attention to strlen and strcpy
1.2.3Do not assume correct input
1.2.4Watch out for trojans
1.3Pitfalls of the C language
1.3.1Defining a variable in a header file
1.3.2Confusing = and ==
1.3.3Forgetting to close a comment
1.3.4Easily changed block scope
1.3.5Using the ++ or -- more than once in an expression
1.3.6Unexpected Operator Precedence
1.3.7Extra Semi-colon in Macros
1.3.8Watch those semicolons!
1.3.9Assuming pointer size is equal to integer size
1.3.10Careful with unsigned numbers
1.3.11Changing constant strings
1.3.12Indefinite order of evaluation
1.3.13A local variable shadows a global one
1.3.14Careful with integer wraparound
1.3.15Problems with integer casting
1.3.17Wrong assumptions with realloc
1.3.18Be careful with overflow
1.4Fun with C
2.1Introduction to windows programming
2.1.3The dialog box procedure
2.3Libraries
2.4Dynamically linked libraries (DLLs)
2.6A more formal approach
2.6.2Event oriented programming
2.7A more advanced window
2.8Customizing the wizard generated sample code
2.8.1Making a new menu or modifying the given menu
2.8.2Adding a dialog box
2.8.3Drawing the window
2.8.4Initializing or cleaning up
2.8.5Getting mouse input
2.8.6Getting keyboard input
2.8.7Handling moving/resizing
2.9Window controls
2.10A more complex example: a "clone" of spy.exe
2.10.1Creating the child windows
2.10.2Moving and resizing the child windows
2.10.4Building the window tree
2.10.5Scanning the window tree
2.10.7Filling the status bar
2.10.8Auxiliary procedures
2.11Numerical calculations in C
2.12Filling the blanks
2.13 Using the graphical code generator
2.14Customizing controls
2.14.1Processing the WM_CTLCOLORXXX message
2.14.2Using the WM_DRAWITEM message
2.15Building custom controls
2.16.1The structure of the registry
2.16.2Enumerating registry subkeys
2.16.3Rules for using the registry
2.17.2Serial communications
2.17.7Inter-Process Communications
2.18Advanced windows techniques
2.18.1Memory mapped files
2.18.2Letting the user browse for a folder: using the shell
2.20.1Dialog will not display when you add a control
2.21Some Coding Tips
2.21.1Determining which version of Windows is running
2.21.2Translating the value returned by GetLastError() into a readable string
2.21.3Clearing the screen in text mode
2.21.4Getting a pointer to the stack
2.21.5Disabling the screen saver from a program
2.21.6Drawing a gradient background
2.21.7Capturing and printing the contents of an entire window
2.21.8Centering a dialog box in the screen
2.21.9Determining the number of visible items in a list box
2.21.10Starting a non-modal dialog box
2.21.11Displaying the environment variables
2.21.12Propagating environment variables to the parent environment
2.21.13Restarting the shell under program control
2.21.14Translating client coordinates to screen coordinates
2.21.15Passing an argument to a dialog box procedure
2.21.16Calling printf from a windows application
2.21.17Enabling or disabling a button or control in a dialog box
2.21.18Making a window class available for all applications in the system
2.21.19Accessing the disk drive directly without using a file system
2.21.20Retrieving the Last-Write Time
2.21.21Retrieving the file name from a FILE pointer
2.21.22Setting the System Time
2.21.23Getting the list of running processes
2.21.24Changing a File Time to the Current Time
2.21.25Converting from GMT (UTC) time to local time
2.21.26Displaying the amount of disk space for each drive
2.21.27Mounting and unmounting volumes in NTFS 5.0
2.22.1How do I create a progress report with a Cancel button?
2.22.2How do I show in the screen a print preview?
2.22.3How do I change the color of an edit field?
2.22.4How do I draw a transparent bitmap?
2.22.5How do I draw a gradient background?
2.22.6How do I calculate print margins?
2.22.7How do I calculate the bounding rectangle of a string of text?
2.22.8How do I close an open menu?
2.22.9How do I center a dialog box in the screen?
2.22.10How do I create non-rectangular windows?
2.22.11How do I implement a non-blinking caret?
2.22.12How do I create a title window (splash screen)?
2.22.13How do I append text to an edit control?
2.22.14How do I determine the color settings?
2.22.15How do I spawn a process with redirected stdin and stdout?
2.22.16How to modify the width of the list of a combo box
2.22.17How do I modify environment variables permanently?
2.22.18How do I add a new directory to the PATH variable permanently?
2.22.19How do I add a menu item to the explorer right click menu?
2.22.20How do I translate between dialog units and pixels?
2.22.21I initialize in WM_CREATE but the values of my variable change. Why?
2.22.22How do I translate between client coordinates to screen coordinates?
2.22.23When should I use critical sections and when is a mutex better?
2.22.24Why is my call to CreateFile failing when I use conin$ or conout$?
2.22.25How can I control the task bar under program control?
2.22.26How to erase a file into the recycle bin?
2.22.27Making a timed message box
2.22.28How do I build a “Property-sheet” control?
2.22.29How to tell Windows to run a program during startup ?
2.22.30How do I disable the screen saver?
2.22.31How do I play a sound?
2.22.32How do I simulate a key stroke to send it to another window?
2.22.33How can I encrypt and decrypt a character string?
2.23Finding more examples and source code
2.24Overview of lcc-win’s documentation
3.1.1What is a network?
3.2Protocols
3.3The HTTP Protocol
3.4The FTP protocol
3.4.1Implementing the ftp “GET”
3.5Querying the network parameters
3.6Writing “ping”
3.6.1How does it work?
3.7Client/Server programming using sockets
3.7.1Common steps for server and client
3.7.4Sending and receiving data
3.7.5Simplifying sockets programming with lcc-win
0 of .
Results for:
No results containing your search query
P. 1
C Tutorial

C Tutorial

Ratings: (0)|Views: 121 |Likes:
Published by Jesse de Oliveira

More info:

Published by: Jesse de Oliveira on Sep 27, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

12/01/2012

pdf

text

original

You're Reading a Free Preview
Pages 9 to 65 are not shown in this preview.
You're Reading a Free Preview
Pages 74 to 123 are not shown in this preview.
You're Reading a Free Preview
Pages 132 to 250 are not shown in this preview.
You're Reading a Free Preview
Pages 259 to 339 are not shown in this preview.
You're Reading a Free Preview
Pages 348 to 417 are not shown in this preview.

Activity (2)

You've already reviewed this. Edit your review.
1 thousand reads
1 hundred reads

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->