I know your trainer has a level from 1-40, but the game doesn't show what level your pokemon are.
I've seen charts listing pokemon levels go up to 40 or 40.5, and sometimes even up to 80. Some of them mention "half-levels".
What's the real answer?
There is a stat calculator at https://docs.google.com/spreadsheets/d/1wbtIc33K45iU1ScUnkB0PlslJ-eLaJlSZY47sPME2Uk/htmlview?usp=sharing&sle=true# that does various calculations for pokemon to work out among other things max stats.
In that spreadsheet the pokemon level can go up to 40.5. I believe that this terminology is used because 40 is the highest player level and your pokemon max level is tied to your character level. Each character level up allows you to boost your pokemon twice which is why the half level terminology is used here.
Obviously the number for the level is a relatively arbitrary one and you could as easily use just whole numbers as would be more traditional to get a max level of 80.