105 Topics, Midterm 1 concept of an "operating system" compilation editor shell parts of the computer (computer organization) 4 kinds of memory (disk, ram, cache, registers) pre-processor directives (include, define) resources in computer science six stages of a C program (edit, preprocess, compile, link, load, execute) expressions statements declarations initialization blocks data types (int, double) variables (and memory) assignment statements math operators, esp / and % function calls function prototypes function definitions logical operators, and operator precedence defined constants truth values (zero, other), boolean expressions (zero/one), logical operators (zero/one) conditionals (if, if/else) printf, scanf, format control statements, format specifiers arrays (index/subscript, declaration, initialization, traversal w/loops) read in from a file, write to a file; fprintf, fscanf iteration definite iteration (for loops, while loops) indefinite iteration (while loops, sentinel loops) pre-defined function libraries, including stdio.h, stdlib.h binary, hex, decimal number systems and conversions directories, . and .. structured programming (sequence, selection, and repetition) finding min, max, count, sum, average of a sequence of data values (from user input, in an array, or from a file) return value from main program shell commands: cp, mv, rm, ls, cat, pwd, mkdir, script switch break do-while nested loops function with return values 2-d arrays pass-by-reference vs. pass-by-value addresses ternary operator recursion other file I/O: fgets, other? pre-defined function libraries, including math.h C-strings, and string functions basic html and chmod to create simple web pages directories compiler commands command line arguments scope linear search binary search ************************************************************ future topics: structs more pass-by-reference vs. pass-by-value more addresses pointers distinguish between actual and formal parameters/arguments malloc and free DeMorgan's law functional decomposition dereferencing operators pointer expressions more shell commands: man, rmdir, chmod, more sorting: either selection or insertion sort menu driven programs return value from main program, and relation to shell scripts. linked lists optional (covered in CISC181)