Should you power up your Pokémon’s CP first, then evolve? Or should you evolve your Pokémon, then power it up?
It’s important to note that your trainer level affects the CP of the Pokémon you see out in the wild. Your best bet is actually to catch the highest-possible CP of whatever Pokémon you’re looking for rather than powering up its CP manually with Stardust and candies, and it takes a higher player level to start catching those high-CP Pokémon.
Since the CP ceiling for wild Pokémon will keep getting higher the more your level increases, it’s best not to power up your Pokémon when you’re still a low-level trainer. This just wastes Stardust and candies that can be used more effectively on a fully evolved Pokémon, which will be stronger for having started out with that higher CP.
Ideally, you’ll level up by catching multiple of the same Pokémon and getting all those candies for it. Then, you’ll evolve a wild-caught Pokémon whose CP is already at least three-quarters of its bar, which will make its evolution that much stronger without using all that dust powering up a weak Pokémon first. Powering up the evolved Pokémon seems to be a better use of your Stardust and candies.
It is also worth noting that with each level increase, you will have to power up your Pokémon again because their CP ceiling will increase accordingly.
Should you always level up your highest CP Pokémon?
In general, yes, but there is one exception: when the Pokémon you’re considering has a unique, powerful moveset that will help you take down a tough Gym or a rarer Pokémon type down the road.
When your Pokémon evolves, one of its moves may be rerolled completely. There is no way to predict what move will change when you evolve a Pokémon, or if any moves will change at all, so evolve a Pokémon to make sure you like its moveset before using candies and Stardust on it to power it up further. Check out the Bulbapedia type chart for Pokémon strengths and weaknesses.
Note that when you evolve a Pokémon, all candies you need to evolve it are of the lowest-evolved Pokémon. This means to evolve from Bulbasaur to Ivysaur and then to Venusaur, you’ll need increasing amounts of Bulbasaur candies. There’s no such thing as Ivysaur and Venusaur candies. Furthermore, trading in an evolved Pokémon will only give you a single additional candy of its base type, same as trading in an unevolved Pokémon.