Test format:
MOST of the questions are short answer.
One or more questions may ask for a short snippet of valid C code.
CUMULATIVE EXAM
OVERVIEW
What is an operating system?
What are the two main kinds of user interfaces?
What are the two main kinds of file contents?
What is the difference between a text file and a binary file?
What is a directory?
What are valid characters for a file name?
Paths
Unix commands
cd, ls, cp, rm,cd, man, mkdir, rmdir
wildcard characters
Submit utility
submit
submitls
submitproj
submitrm
Machine architecture
Major computer components
Bits, bytes, words
Number systems
Binary to decimal
Decimal to binary
Algorithms
Pseudocode
C PROGRAMMING
Three stages of compilation
Statements
gcc command
Execution
Errors
syntax, run-time, logical
Good programming practices (Lecture 5)
Preprocessor directives
Comments
Variables
What is a variable?
Naming rules
Reserved words
Legal identifiers vs naming conventions
Variable Declarations
Data types
Operators
Assignment
Arithmetic
Pre-increment
Post-increment
Assignment operators
Logical
Precedence
Promotion of data types within an expression
Functions
Basic form of a function
Minimal function
flow of control
Parameters
Actual and Formal
Pass by Reference
Pass by Value
Return types & values
Prototypes vs Definitions
Header files
Local variables
Function header comments
printf() & scanf()
formatting different data types
Selection - Conditional statements
Truth tables
Relational expressions
if-else
= vs ==
switch
Repetition - Loops
Counter controlled loops
Event controlled loops
Sentinel values
Priming reads
while
for
do-while
Nested loops
break
continue
Arrays
Declaration
Initialization
Accessing
Modifying
Passing to functions
Strings
static
declaring
null terminator
initializing
Basic string functions
strnlen
strncmp
strncpy
strncat
strstr