inal Exam Review for CS 201 1. Types 1. sizes are char <= short <= int <= long and float <= double 2. string is a class, not a built in type. 3. unsigned is a thing. 4. unsigned char is a thing. 2. Pointers 1. Address of a variable is &foo. 2. Can you take the address of an expression like this: &(1+2). 3. What does it mean to take the address of a pointer: &pointer 4. * dereferences. 5. int *a; *a = 1; // this is bad 6. int *a = 1; // this is also bad. 7. What does -> mean, and how does that relate to * and . 8. What happens if you follow a bad pointer. 9. Legal: pointer + int, pointer – int, pointer-pointer. Know what type each produces. 3. Arrays and pointers 1. An array name is like a read only pointer 2. data[5] == *(data+5) 3. pointer++ and pointer-- only make sense on arrays and move by sizeof(type) 4. Files. Know how to do these things: 1. ifstream 2. ofstream 3. fstream 4. tellg 5. seekg 6. read 7. write 8. getline 9. How do you open a file. 10. Which operations cause the file pointer to move, and how? 11. How can you decide if a file exists? 12. How can you find the file size? 13. How can you find the number of lines in a file. 5. Assert command 6. Recursion 1. There is a base case and a one or more recursive cases. 2. Know how to do simple recursion examples with math 7. Standard Template Library 1. I expect you can look up stuff 8. Linked Lists 1. How to make, insert, delete, and search them. 2. Know storage costs 3. Know run time costs. 9. Stacks 1. Can be done via array or via linked list 2. Only access the top 10. Operator Overloading 1. What can you overload 2. What’s the name of the method 3. How do I overload cout-things 11. Sorting 1. We learned one sort algorithm .. you should know it. ABOVE ALL ELSE I EXPECT YOU CAN WRITE CODE