Something simpler if you are not after the alignment of the \colonlines
\documentclass{exam}
\newcommand{\colonline}{: \makebox[0.75in]{\hrulefill}}
\begin{document}
\begin{questions}
\question{Good} \colonline
\question{happy} \colonline
\question{sad} \colonline
\question{nervous} \colonline
\question{angry} \colonline
\end{questions}
\end{document}
As suggested by morbusg, it looks nicer to have the line align at the end.
\documentclass[twocolumn]{exam}
\newcommand{\colonline}{: \hrulefill}
\begin{document}
\begin{questions}
\question{Good} \colonline
\question{happy} \colonline
\question{sad} \colonline
\question{nervous} \colonline
\question{angry} \colonline
\end{questions}
\end{document}
You can combine the answers here to come up with your own command. Generally, the definition of commands in LaTeX is given by:
\newcommand{<command>}{<definition>}
In our second definition of \colonline, \colonline is the command and what it does is to print : \hrulefill.
Sometimes, you can also see something like
\newcommand{\bt}[1]{\textbf{#1}} where 1 is the number of optional arguments. (I usually do \newcommand{\bt}[1]{\textbf{#1}\index{#1}} so that all bold text are put in the index.)
It would be a good place to start reading The Not So Short Introduction to LaTeX2e to learn some of these useful tricks.
\newcommand{\colonline}[1]{\question{#1\,:\rule{75pt}{0.4pt}}}– azetina Dec 11 '12 at 16:34