CIS 361 Midterm Exam Guide
The midterm exam will contain 8 questions. Half of them will be
short answer, and half will be programming. For short answer
questions, I am expecting approximately 1 paragraph (several
sentences), or a few bullet points in response. Answers that are just
a couple words will generally not recieve full credit. Coding
questions may require you to write or fix a function, a small program,
or a makefile. You will be allowed a single one-sided page of notes
for this exam. This may be no bigger than a standard letter-sized
piece of paper. You may use your own computer or the eos machines for
the exam, but may only use the compiler (gcc), debugger (gdb), and a
text editor of your choice.
Any topic covered in lecture prior to the midterm exam is valid material for the exam. The topic list below is not guaranteed to be comprehensive.
- C programming concepts
- Data types (signed vs unsigned, float vs int, sizes)
- C89 vs C99 differences
- Pointers (what is it conceptually, why is it useful)
- C programming skills
- Command line arguments
- Input/output (including making input operations safe)
- File operations
- Control structures (conditionals, loops, goto)
- Common operators, including logical operators
- Multi-process programs (fork, exec, system, popen)
- Program organization (declaration before use, files as modules, header files)
- gcc command line options (--std, -c, -o, -Wall, -O2, etc)
- Compiling multi-file programs
- Write a function that finds both the highest and lowest values in an array. These values should be returned through function arguments.
- What is the difference between a float and a double? Why might I choose to use a double? Why might I choose to use a float instead?