上、下底面都是正方形,且侧棱垂直于底面的棱柱叫做正四棱柱.故a和b错,因为它们有可能是斜棱柱,c也错,因为其上下底面有可能是菱形不是正方形,对于d:底面是正方形,相邻两个侧面是矩形,能保证上、下底面都是正方形,且侧棱垂直于底面.故正确.故选d.
C解:因为底面必须是正方形,由于有一个顶点处的三条棱两两垂直说明三个侧面都互相垂直,保证了直棱柱,又因为底面是菱形,那么就可以得到为正方形,因此选择C