Syllabus, MCS 275, Fall 1997 Prerequisites (chapters 1 through 7)

main() function returning values from functions comments writing strings writing integers writing floating-point numbers writing characters printf() field widths defining variables assigning values to variables initializers reading integers reading characters return value from scanf() prefix ++ and -- postfix ++ and -- a=b inside an expression += and other assignment operators equality and inequality numeric comparisons logical operations ?: expressions comma expressions short-circuit evaluation

while loops

do loops for loops

break
goto
continue

if statements else statements switch statements

default cases

defining functions calling functions function return type functions returning void return from functions returning void declaring functions defining function parameters defining functions with no parameters passing arguments to functions call-by-value character constants backslash in character constants

putchar()
getchar()
EOF
islower()
isupper()
tolower()
toupper()

other ctype.h macros the char type the short type the int type the long type

unsigned

the double type the sizeof operator how to compile programs using sin() the usual conversions casts

typedef

Pointers (beginning of chapter 8)

finding location of variable (“dereferencing”) finding variable at location (“referencing”) location types (“pointer types”) the 0 pointer using pointers for call-by-reference using pointers for return values

Arrays (chapter 9)

when arrays are useful defining array variables accessing array elements initializing array variables initializing array variables with [] the value of an array as a pointer pointer addition pointer subtraction array syntax in function parameters passing arrays to functions multidimensional arrays

Structures (chapter 12)

when structures are useful

struct types

union types (not in textbook) accessing struct components initializing struct variables using struct for first-class arrays (not in textbook) malloc() and free() (section 9.9) linked lists

Managing big projects (part of chapter 8)

the make tool (14.8) variable scope how to use extern how to use static for file scope what static means for local variables automatic 0 initialization

Strings (chapter 10)

C strings string initializers string constants

argc and argv
strcat()
strcpy()
strcmp()
strlen()

more standard string functions (part of Appendix A)

The standard I/O library (chapter 13)

printf() details
scanf() details
sprintf()
sscanf()

opening files for reading opening files for writing closing files

fprintf()
fscanf()
stdin
stdout
stderr
getc()
putc()
ftell()
fseek()

Miscellaneous topics

Macros (Appendix B) Bitwise operations (Appendix C) More useful standard functions (14.1, 14.2, Appendix A) More tools Recursion (chapter 11)