以前からの疑問なのですが
「リスト等を全検索して、一つも該当の対象が無ければ処理を終え、該当があれば処理を続ける」

というのを綺麗に実装する方法はあるのでしょうか

gotoを使ったり、小さい関数に分けるなら私にも思いつくのですが…
(useGoto()、及び useSmallFunc()は、配列に8があれば処理を続ける)

int array[10] = { 1, 3, 5, 8, 9, 2, 6, 0, 7, 4 };

void useGoto()
 for( int i=0; i < 10; ++i ){
  if( array[i] == 8 ) goto GOES_ON;
 }
 return; //処理中止
GOES_ON:
 printf( "処理を続ける" );
}

void useSmallFunc(){
 if( small_func( array, 10 ) )
  printf( "処理を続ける" );
 else
  return; //処理中止
}
bool small_func( int* array, int size ){ //順序が逆ですが
 for( int i=0; i < size; ++i ){
  if( array[i] == 8 ) return true;
 }
 return false;
}