Here's the MIPS program that corresponds to the given C program, with comments explaining each step:
# 1) f = i + j + k + 1
add $s3, $s0, $s1 # $s3 = i + j
add $s3, $s3, $s2 # $s3 = i + j + k
addi $s3, $s3, 1 # $s3 = i + j + k + 1
move $s3, $s3 # f = $s3
# 2) f = i - 2
addi $s3, $s0, -2 # $s3 = i - 2
move $s3, $s3 # f = $s3
# 3) f = i
move $s3, $s0 # f = i
# 4) f = -i
sub $s3, $zero, $s0 # $s3 = 0 - i = -i
move $s3, $s3 # f = $s3
# 5) f = i ? (j + k)
beq $s0, $zero, skip # If i is zero, skip the next instruction
add $s3, $s1, $s2 # $s3 = j + k
skip:
move $s3, $s3 # f = $s3
# 6) f = i & j
and $s3, $s0, $s1 # $s3 = i & j
move $s3, $s3 # f = $s3
# 7) f = i/16
srl $s3, $s0, 4 # $s3 = i / 16 (shift right logical by 4 bits)
move $s3, $s3 # f = $s3
# 8) f = i*2 - 3
sll $t0, $s0, 1 # $t0 = i * 2 (shift left logical by 1 bit)
addi $s3, $t0, -3 # $s3 = i * 2 - 3
move $s3, $s3 # f = $s3
# 9) f = i++
addi $s0, $s0, 1 # $s0 = i + 1
move $s3, $s0 # f = i
# 10) f = ++i
addi $s0, $s0, 1 # $s0 = i + 1
move $s3, $s0 # f = i (since i was already incremented)