The generated layout is representative of the seams you marked on the mesh.
Since you only have one seam ring around the lower cap of the cylinder, Blender generates one UV islands from the lower cap and another from the rest of the mesh, which is the cylinders main part (or perimeter), and the upper cap - together in one island.
I normally prefer to mark both caps and then to add another seam on one of the vertical edges of the perimeter, so that the layout of the perimeter will be in the shape of a(n easily textured) rectangle, rather than a circle:
To reproduce this mark the seems as seen in the image (in Edit Mode --> Edge Selection Mode, select seam edges and mark seams via AltE --> Mark Seam.
Then select all edges (A), then UV unrwap via U --> Unrwap.