Come funziona FOR con IF

..e comunque, visto che HIGH=1 e LOW=0, e facciamo a gara di compattezza ;), direi che se i requisiti sono quelli indicati dall'OP si può fare così:

  int flag = 0;
  for(int i=0; i<=3; ++i)
    flag = (flag|term[i])&!res[i];
  if (flag) {
    ...