Inspired by the genetic algorithm (GA), the genetic programming (GP) was proposed for searching a program that fits a certain behavior. There are many aspects that distinguish GP from GA a lot, though GP concepts were originating from GA. In this paper, we focus on the representation scheme for a GP program. A GP program contains both operators and operands. Without proper encoding, the GP crossover and mutation are likely to produce invalid programs. Based on our previous design experiences, we proposed an alternative approach. It is a binary expression tree based representation with conditional behavior of each node. Therefore, the scheme supports unary, binary, and ternary operators. It also reduce the probability of producing invalid programs. A feature of the scheme is that conditional operators are first-class member because each evaluation embeds conditional processing. A few image-processing experiments were conducted to show the effectiveness of the design. The experimental results are also discussed in this paper.