Final Study Guide

This is simply a guide of topics that I consider important for the final. I don’t promise to ask you about them all, or about any of these in particular; but I may very well ask you about any of these, as well as anything we discussed in class, in the discussion section, or that is in the programs and handouts.

  1. Anything from the midterm study guide or sample (or actual!) midterm
  2. Function parameters
    1. How arguments are passed to functions
    2. Pointers and arrays as parameters
    3. Changing values in the caller using pointers as parameters
  3. Recursion
    1. The stack and how it is used in recursion
    2. Base case and recursive case
  4. Structures
    1. What it is
    2. Declarations, fields, and the . operator
    3. Pointers to structures and the -> operator
    4. Arrays of structures
  5. Dynamic memory allocation
    1. malloc(), realloc, free()
    2. Linked lists
  6. C operators
    1. sizeof operator
    2. Defining a type (typedef)
    3. ? :
  7. Bits and C bit operations
    1. Binary, hexadecimal numbers
    2. Operators &, |, ~
    3. Extracting a particular bit from a word
  8. File input and output
    1. File pointers, especially stdin, stdout, stderr
    2. Opening and closing files
    3. getc(), fgetc(), fscanf(), fgets(), fread
    4. putc(), fputc(), fprintf(), fputs(), fwrite
  9. Command-line arguments
    1. argc, argv
  10. C Preprocessor
    1. #define: macros with and without parameters
    2. #include: include files (like stdio.h)
  11. make and Makefile

UC Davis sigil
Matt Bishop
Office: 2209 Watershed Sciences
Phone: +1 (530) 752-8060
Email: mabishop@ucdavis.edu
ECS 36A, Programming and Problem Solving
Version of December 1, 2019 at 11:04PM

You can also obtain a PDF version of this.

Valid HTML 4.01 Transitional Built with BBEdit Built on a Macintosh