Quiz submission record for quiz2-2-1 at Wed Jun 30 01:19:33 2004: Your Answer for Question 1: C's loop statements (while, for, and do-while) are in fact not absolutely needed. All loops can be achieved through if and goto statements. For example, while (!x) { a++; } can be done like this: if (!x) { LOOP: a++ if (!x) goto LOOP; } The same applies for "for" (which simply initializes and increments on top of while) and "do-while" (which only checks condition at the end). I believe that the C designers included them for (1) it's easier to read and straight-forwarded to program, and (2) it reduces possibility of bugs because the code is simpler. In conclusion, convenience for the programmers and the fancy-ness of the code were of the main concern. Your Answer for Question 2: C's conditional statements are: - if - if...else - if...else if...else ... - ? : - switch - for - while - do-while And potentially more. MIPS have only four: - beq - bne - slt (all of the above may be used in conjunction with j) - jr The designers of MIPS did not include all the fancy statements like those of C because they wanted to keep MIPS as simple as possible so as to directly and efficiently communicate with the machine. If there were to be more features (which are not absolutely necessary), the hardware designs also had to be more complicated, making it bigger, more costly and slower. Your Answer for Question 3: The usage of jump registers was hard to understand. Also, I did not quite get how word variables are addressed in memory. Your unique submission ID is quiz2-2-1-cs61c-ew-1088583573-628.