본관은 성주(星州). 아버지는 문순(文淳)이다. 경기도 용인 출생. 육군사관학교 8기생으로 5ㆍ16군사정변의 핵심 인물 가운데 1인이다. 6·7·8·9·10·13·15대 7선 국회의원을 역임했다.
1926년 8월 1일 경기도 용인의 빈한한 농가의 장남으로 출생하였다. 1946년 삼일중학교 고등과를 졸업한 뒤, 육군사관학교에 입교하여 1949년 8기로 졸업, 육군소위로 임관하였다. 1958년경희대학교 정치외교학과를 졸업하고, 1972년중국문화학원 명예철학박사학위를 받았으며, 1983년경희대학교에서 정치학박사학위를 취득하였다.
군에서는 정보계통(육군특무대)에서 오래 근무하였으며, 5·16군사정변 이후인 1962년 중앙정보부가 창설되었을 때 서울시 지부장을 지냈다. 김종필과 교분이 두터웠으며, 그 후 줄곧 정치적 행로를 함께 하였다.
1962년 육군대령으로 예편하여 공화당 창당에 참여하고, 이듬해 제6대 국회의원선거에 공화당 공천으로 수원에서 출마하여 당선되었다. 이후 7·8·9·10대 국회의원 총선거에서 공화당 공천으로 연속 당선되었고, 1980년 신군부 집권하에 정치규제로 묶였던 11·12대를 제외하고, 13·15대까지 지역구에서만 7선을 기록하였다.
의원직 재임 중 여러 당직과 국회의원직 및 내각에서도 활동하였는데, 1963년부터 1968년까지 민주공화당 청년분과위원장과 원내 부총무를 거쳐, 1964년부터 1996년까지는 아세아자유청년연맹 이사장을 역임하였다.
1969년에는 국회운영위원장을 역임하고, 1971년부터 1975년까지는 제1무임소장관을 지냈으며, 1971년부터 1980년까지는 한일의원연맹을 창설하여 간사장을 역임하였다. 한편으로는 1971년부터 1980년까지 민주공화당 당무위원과 정책위원회 부의장을 지내고, 1976년에는 민주공화당 중앙위 의장을 거쳐, 1979년부터 이듬해까지 같은 당 부의장 등을 두루 역임하였다.
1980년 신군부가 집권하면서 정치활동을 금지당하였다가, 1984년에 해금되어 1987년 김종필 등의 신민주공화당에 참여해서 수석부총재 및 경기지부위원장을 맡았으며, 1988년 신민주공화당 공천으로 13대 국회의원에 당선되었다. 그 뒤 1990년 민주정의당과 통일민주당·신민주공화당이 민주자유당으로 3당 합당할 때 이에 참여하여, 1992년부터 1994년 사이에 경기도 수원 장안지구당위원장·당무위원·상무위원회의장 및 총재상임고문 등을 역임하였다.
1995년에 김종필이 민자당에서 이탈하여 자유민주연합을 결성할 때 그 역시 행동을 같이 하여, 총재상임고문과 수원 장안지구당위원장 및 경기도지부위원장을 역임하였다, 그 뒤 1996년 15대 국회의원 총선거에서 자유민주연합 공천으로 당선되었으며, 1997년 1월 13일 지병으로 별세하였다.
그는 1964년에 대한농구협회 회장에 취임한 이래 1980년까지 연임하면서 한국농구발전에 기여하였다. 1965년 아주농구연맹 부회장을 지내고, 1967년에는 대한체육회 부회장 겸 한국올림픽위원회(KOC) 상임위원을 지냈으며, 1971년 아세아농구연맹회장 겸 세계농구연맹 부회장을 지냈다. 그리고 1980년부터 1997년까지 대한농구협회 명예회장 등 체육관련 직책을 겸임하였다.
대한민국 정부로부터 2등체육훈장과 1등근정훈장을 받았으며, 중화민국 정부로부터 대원경성훈장을 받았다.