C
分析:由题意求出a1,a2,a3,a4,a5,利用S5=31,即可求出p的值.
解答:数列{an}的前n项和Sn=2an+p(n∈N*),
所以,n=1时,S1=2a1+p,a1=-p,
n=2时,a1+a2=2a2+p,a1=-p,∴a2=-2p,
n=3时,a1+a2+a3=2a3+p,a1=-p,a2=-2p,∴a3=-4p
n=4时,a1+a2+a3+a4=2a4+p,a1=-p,a2=-2p,a3=-4p,∴a4=-8p,
n=5时,a1+a2+a3+a4+a5=2a5+p,a1=-p,a2=-2p,a3=-4p,a4=-8p,∴a5=-16p,
∵S5=31,∴31=2a5+p=-31p,∴p=-1.
故选C.
点评:本题是中档题,考查数列求法,递推关系式的应用,考查计算能力,本题由于考查项数和比较少,所以直接解答半径简洁,否则需要研究数列的特征,然后求解.