【LaTeX应用】试卷试题排版,课后习题排版
用latex排版练习题,以下是效果图

代码如下
\begin{document}
\subsection*{选择题}
\begin{enumerate}\setcounter{enumi}{0}
\item C语言程序的入口函数为~\underline{~~~~~~~~}。
\fourch{printf}{main}{scanf}{\_main}
\item 一个C语言的源程序中~\underline{~~~~~~~~}。
\twoch{必须有一个主函数}{可能有多个主函数}{必须有除主函数外其它函数}{可以没有主函数}
\item C语言中用于结构化程序设计的3种基本结构是~\underline{~~~~~~~~}。
\onech{顺序结构、选择结构、循环结构}{if、switch、break}{ for、while、do-while}{ if、for、continue}
\item 阅读下面程序,输出的结果为~\underline{~~~~~~~~}。
\fourch{1,2}{2,3}{1,3}{2,2}
\end{enumerate}
\subsection*{填空题}
\begin{enumerate}\setcounter{enumi}{0}
\item 在冯·诺依曼体系结构中,定义了五个基本模块:输入/输出设备,\underline{~~~~~~~~~~~~~~~~},存储器,运算器。
\end{enumerate}
\end{document}

导言区需要添加的代码
\usepackage{enumerate}
%选择题
\newcommand{\fourch}[4]{\\\begin{tabular}{*{4}{@{}p{3.5cm}}}(A)~#1 & (B)~#2 & (C)~#3 & (D)~#4\end{tabular}} % 四行
\newcommand{\twoch}[4]{\\\begin{tabular}{*{2}{@{}p{7cm}}}(A)~#1 & (B)~#2\end{tabular}\\\begin{tabular}{*{2}{@{}p{7cm}}}(C)~#3 &
(D)~#4\end{tabular}} %两行
\newcommand{\onech}[4]{\\(A)~#1 \\ (B)~#2 \\ (C)~#3 \\ (D)~#4} % 一行
如果需要在文中添加代码,则可以在导言区添加如下代码

\usepackage{color}
\usepackage{listings}
\lstset{language=[ANSI]C,basicstyle=\ttfamily,morestring=[b]',escapeinside={\%*}{*)},keywordstyle=\color{yellow},rulesepcolor=\color{green},upquote=true,tabsize=2,escapeinside=``,keepspaces}
具体代码
\begin{enumerate}\setcounter{enumi}{0}
\item C语言程序的入口函数为~\underline{~~~~~~~~}。
\fourch{printf}{main}{scanf}{\_main}
\item 一个C语言的源程序中~\underline{~~~~~~~~}。
\twoch{必须有一个主函数}{可能有多个主函数}{必须有除主函数外其它函数}{可以没有主函数}
\item C语言中用于结构化程序设计的3种基本结构是~\underline{~~~~~~~~}。
\onech{顺序结构、选择结构、循环结构}{if、switch、break}{ for、while、do-while}{ if、for、continue}
\item 阅读下面程序,输出的结果为~\underline{~~~~~~~~}。
\fourch{1,2}{2,3}{1,3}{2,2}
\begin{lstlisting}[language=C]
int main(){
int a=1;
printf( "%d,",a++ );
printf("%d",++a);
}
\end{lstlisting}
\end{enumerate}
