Name: cs202 login: Quiz 6 - Bit Operations and Program Memory 1) Program Memory Organization Given a complete C program, tell where each variable is stored in program memory. Example: Given: #include char c = 'a'; int main(int argc, char *argv[]) { int x = 20; int a[20]; int *b = malloc(10 * sizeof(int)); } Questions: 1.1) Where is x stored? 1.2) Where is argc stored? 1.3) Where is b stored? 1.4) Where is b[2] stored? 1.5) Where is a[1] stored? etc. Will be worth 10 points on the quiz. 2) Dynamic memory allocation 2.1) Give the line of C code that allocates enough space for 15 char type variables to a pointer called b. 2.2) Give the line of C code that changes the amount of space allocated to b to 20 char type variables. etc. 3) Operators (for pointers and bitwise operations) Describe the function(s) of the following operators given the context: 3.1) *a 3.2) char *a 3.3) a || b 3.4) b << 4 3.5) &x etc. 4) Bitwise Operations Assume we have the following functions defined: unsigned char set(unsigned char c, int i); unsigned char get(unsigned char c, int i); unsigned char clear(unsigned char c, int i); unsigned char toggle(unsigned char c, int i); Evaluate the following operations (show your work): 4.1) set(52, 3) 4.2) get(23, 0) 4.4) clear(963, 1) etc. 5) Complete C Program Write a complete C program for one of the following problems: - Read an integer n. Allocate enough memory for n int types in an array, then read n integers into the array. - Write a program that keeps reading integers into an array, growing the size of the array as needed. - Write a C program that reads an unsigned int from stdin, count the number of ones and zeros in its binary representation. - Write a C program that reads an unsigned int from stdin, determine if the binary representation of the integer is a palindrome. NOTE: A few for loop / control flow questions may be sprinkled throughout - Write the code for a for loop that prints every element in the following array in reverse order: int a[5]; - Write the code for an if statement that checks whether the char type varible c is an uppercase letter or lowercase letter or neither.