Quiz submission record for quiz2-2-1 at Tue Jun 29 23:05:55 2004: Your Answer for Question 1: C does not need all these statements. For example, instead of goto, a programmer can write an if statement and then call a separate function. Instead of do while, a programmer can just use the combination of while/if/else. I feel the designers included these various features mainly because the C programming language is at the software level. These functions are available for use but does not cost anything if they are not being used/compiled during compile time. C is not like MIPS, which needs to consider the hardware aspect as well. Your Answer for Question 2: The statements that are involved in making decisions in C include: if, if-then-else, switch statements with a list of cases, loops involving an initial condition being continually satisfied, etc. MIPS has conditional branch instructions such as beq, bne, and slt as well as unconditional jumps like j and jr. The designers of MIPS limit themselves to just the most essential instructions simply because at the machine language level, the number of instructions is directly proportional to the amount of space of hardware it will take up, increasing cost/efficiency/etc. Thus, they wanted to keep the instructions at a bare minimum, reusing basic commands to do procedures fast. Your Answer for Question 3: I think it's really interesting to see how seemingly easy instructions in C can be so complex/long in MIPS, yet this actually means faster execution of these procedures. Also, at this point, I think I just need to get used to deciphering the MIPS code, since at first glance, you can never tell what is going on! Your unique submission ID is quiz2-2-1-cs61c-ei-1088575555-1913.