TOPICS FOR THE COP 3223H EXAM on C Programming $Date: 2019/03/20 20:19:57 $ This exam covers topics from homework 5. It is related to the course outcome [Programming]. REMINDERS This exam is closed book and notes. If you need more space, use the back of a page. Note when you do that on the front. Before you begin, please take a moment to look over the entire test so that you can budget your time. Clarity is important; if your answers are sloppy and hard to read, you may lose some points. READINGS We recommend reading the materials referred to in the course syllabus. In particular the following: * Arup Guha. Programming Knights: An Introduction to Computer Programming in Python and C, Pearson Learning Solutions, 2013. Chapters 6-8, 11, 13-15. * See also the code examples page: http://www.cs.ucf.edu/~leavens/COP3223H/examples/index.html Note that you can start by looking at a test file (test_f.c) and then program the function (f) yourself for practice. If you have time, you might also read * Alex Allain. C Tutorial, 2011. Online at http://www.cprogramming.com/tutorial/c-tutorial.html. Chapters 1-9 TOPICS In the following, I use + to denote relatively more important topics, and - to denote relatively less important topics. Topics marked with ++ are almost certain to be on the exam. All of these are fair game, but if you have limited time, concentrate on the ones that are more important first (and in those, the ones you are most uncertain about). SKILLS [Programming] ++ Write a C function to make decisions about arguments (HW5: which_sort, below20int, below100int) ++ Write a C program to read input and produce output (HW5: eng2num) ++ Write a C function that manipulates arrays (HW5: average) CONCEPTS [Semantics] You should understand the following concepts and terms and be able to use them in solving problems. Note that you should have the syntax of the most useful parts of C memorized. ++ variable declarations ++ assignment statements + assignment sugars such as +=, ++, -=, -- ++ if-statements + switch statements + ternary operator (_ ? _ : _) ++ Boolean operators: &&, ||, ! - bitwise Boolean operators (&, |, ~) - equivalance of Booleans and ints ++ while loops and how to design them ++ for loops and how to design them + break and continue statements ++ built in types in C: char, bool (_Bool), int, float, double ++ C arrays + How strings are represented and manipulated in C + break and continue statements + Assertions in C with libtap (i.e., tap.h and tap.c, ok(), is, etc.) - Equivalence between arrays and pointers in C + const + void functions + declarations and definitions in C ++ I/O in C: scanf and printf ++ header files, #include, #define, #ifndef