you should use $wp_query
to retrieve pages and posts because it’s the most efficient way and you can differentiate the loop with $current_post
parameter which returns the index of the loop.
It works like this
<?php
$args = array (
'posts_per_page' => -1, //Showing all the pages
'post_type' => 'page', //Retrieving pages not posts.
'post_parent' => $post->ID
);
$the_query = new WP_query($args);
while($the_query->have_posts()):
$the_query->the_post();
if ($the_query->current_post == 0){ // For first child page only
echo 'FIRST POST IS: ';
the_title();
}
else{ //For rest of the pages
the_title();
}
endwhile;
wp_reset_postdata();
?>
Have a look at the if structure. You can use the post index current_post
like that.
You can customize the query the way you like.
Reference: WP_Query Codex