GPGPU technology provides a new effective way for achieving high performance heterogeneous computing. However, how to restructure traditional programs is the key to use GPGPU technology under CPU+GPU heterogeneous environment. This paper studies the partition strategies for C source programs to support CPU+GPU coordination computing. By analyzing characteristics of c source programs in memory access, arithmetic density, control flow structure and data parallelism, while considering the difference between CPU and GPU hardware, some strategies and algorithms for partitioning the target programs are presented. Finally, some experiments are conducted by using some typical programs to verify the effectiveness of proposed strategies and algorithms.