A function is an associator rules, in this case between numbers. This means that a function receives an input, and gives a rule to compute the output, in terms of that inuput.
For example, if you define g(x) = 2x-5, it means that you're defining a function, named g, which works as follows: you give a certain number x to g as input, and it returns twice that number (2x) minus five -5.
This works for any number you can think of: if you give 10 as input to g, it will return twice that number (so 20) minus five (so 15).
This means that when you write something like g(3), you want to evaluate that function for that explicit input. You are asking: what happens if I give 3 as input to g?
Well, g behaves always in the same way: it will return twice the number you gave it, minus five.
In this case, the number we gave it is 3, so the output will be 2*3 - 5 = 6-5 = 1
The same goes for h, except it is a different function, and thus follows different rules. So, since h(x) = 4x+5, the behaviour of h will be returning four times the number you gave it, plus five.
Again, we want to compute h(3), which means that the output is 4*3+5 = 12+5 = 17
Finally, we want to compute g(3)-h(3), but we already computed both numbers, so we can translate
g(3)-h(3) = 1-17 = -16