Re: A question about printf.
The symbols are format-specifiers. The first argument to printf is a format string which contains information on how printf should process/format the other arguments.
e.g.
int x = 5;
printf("%d", x); //tell printf that the first argument is a decimal/integer(%d), and pass x to be printed.
Or:
char* s = "hello";
int x = 5;
printf("%s %d", s, x); //prints "hello 5".
The most common specifiers are %s (string), %d (or %i, same thing) (integer), %f (float). There's more, and you can specify other things like precision. A C standard library reference will give you more info.