1. | Character Input/Output | 1. Introduce strings and formatted I/O 2. Explain how to I/O a single character 3. Practice on input validation |
||
2. | Functions | 1. Explain how to simple functions 2. Explain the types of function arguments 3. Explain the use of the & operator 4. Answer the question "Can functions alter their arguments?" |
||
3. | Arrays and Pointers (I) | 1. Explain how define an array 2. Explain how assign values to arrays 3. Introduce multidimensional arrays 4. Explain how arrays are stored in memory |
||
4. | Arrays and Pointers (II) | 1. Explain the relationship between arrays and pointers 2. Explain how to protect arrays 3. Point operations and their restrictions 4. Explain pointer compatibility |
||
5. | Arrays and Pointers (III) | 1. Introduce multidimensional arrays 2. Assign values to multidimensional arrays 3. Explain how multidimensional arrays are stored in memory 4. Introduce pointers to multidimensional arrays |
||
6. | Character strings and string functions | 1. Explain how to handle character strings 2. Explain how to define a string 3. Again, explain the difference between pointer and array 4. Explain how to I/O a string |
||
7. | Storage classes, linkage, and memory management | 1. Explain variable scope, storage classes, and linkage 2. Explain memory allocation using malloc() 3. Explain memory allocation using calloc() 4. Explain how to release the reserved memory, using free() |
||
8. | File Input/Output | 1. File definition 2. Explain how C language views a file 3. Explain how to access text and binary files |
||
9. | Structures (I) | 1. Introduce structures 2. Explain the usage of structures 3. Introduce nested structures |
||
10. | Structures (II) | 1. More on the nested structures 2. Explain how to assign pointers to structures 3. Accessing structure members |
||
11. | Bit Fiddling | 1. Introduce several number systems 2. Explain bitwise operations |