No problem, your questions are fairly simple.
Problem 1 :
The factorial of n i.e. n! = n * (n-1) * (n-2) * . . . * 2 * 1
= n * (n-1)!
So, we get a recursive factorial relation.
Problem 2 :
The arguments are evaluated right to left :
So, first ++i (2nd arg) increases i to 6 and passes it as b.
The second ++i (1st arg) increases i to 7 and passes it as a.
Problem 3 :
Simple, just create a file output stream, check if the file creation failed, and finally, write the structure !