diff --git a/assets/printf-formats/main-p1-f.png b/assets/printf-formats/main-p1-f.png new file mode 100644 index 0000000..c261d98 Binary files /dev/null and b/assets/printf-formats/main-p1-f.png differ diff --git a/assets/printf-formats/main-p1-lf.png b/assets/printf-formats/main-p1-lf.png new file mode 100644 index 0000000..09df2de Binary files /dev/null and b/assets/printf-formats/main-p1-lf.png differ diff --git a/assets/printf-formats/main-p2-d.png b/assets/printf-formats/main-p2-d.png new file mode 100644 index 0000000..55173ab Binary files /dev/null and b/assets/printf-formats/main-p2-d.png differ diff --git a/assets/printf-formats/main-p2-lf.png b/assets/printf-formats/main-p2-lf.png new file mode 100644 index 0000000..79c41dc Binary files /dev/null and b/assets/printf-formats/main-p2-lf.png differ diff --git a/assets/printf-formats/main-s1-f.png b/assets/printf-formats/main-s1-f.png new file mode 100644 index 0000000..1d545ed Binary files /dev/null and b/assets/printf-formats/main-s1-f.png differ diff --git a/assets/printf-formats/main-s1-lf.png b/assets/printf-formats/main-s1-lf.png new file mode 100644 index 0000000..8166310 Binary files /dev/null and b/assets/printf-formats/main-s1-lf.png differ diff --git a/assets/printf-formats/main-s2-d.png b/assets/printf-formats/main-s2-d.png new file mode 100644 index 0000000..c18afbb Binary files /dev/null and b/assets/printf-formats/main-s2-d.png differ diff --git a/assets/printf-formats/main-s2-f.png b/assets/printf-formats/main-s2-f.png new file mode 100644 index 0000000..7bd0163 Binary files /dev/null and b/assets/printf-formats/main-s2-f.png differ diff --git a/document.yaml b/document.yaml index e3c2e5d..a1760a3 100644 --- a/document.yaml +++ b/document.yaml @@ -30,9 +30,11 @@ page_config: # - pkgs sections: - - { path: 'section/introduction.tex', newpg: true } + - { path: 'section/introduction.tex', newpg: false } + - { path: 'section/syntax.tex', newpg: true } - { path: 'section/prog1.tex', newpg: true } - { path: 'section/prog2.tex', newpg: true } - { path: 'section/lst22.tex', newpg: true } - { path: 'section/rev3dig.tex', newpg: true } + - { path: 'section/printf-formats.tex', newpg: false } diff --git a/main.tex b/main.tex index 3767dea..0151310 100644 --- a/main.tex +++ b/main.tex @@ -11,6 +11,8 @@ \subject{情報処理I} \professor{岡崎 憲一教員} +\usepackage[table,xcdraw]{xcolor} + \pagenumbering{roman} \begin{document} @@ -21,6 +23,8 @@ \pagenumbering{arabic} \input{section/introduction.tex} + + \input{section/syntax.tex} \newpage \input{section/prog1.tex} @@ -35,7 +39,9 @@ \input{section/rev3dig.tex} \newpage + \input{section/printf-formats.tex} + \printbibliography[heading=bibintoc,title={参考文献}] \compiledTime -\end{document} \ No newline at end of file +\end{document} diff --git a/output/main-opt-final.pdf b/output/main-opt-final.pdf index 0018739..657109a 100644 Binary files a/output/main-opt-final.pdf and b/output/main-opt-final.pdf differ diff --git a/output/main.pdf b/output/main.pdf index 8f04268..d44cd32 100644 Binary files a/output/main.pdf and b/output/main.pdf differ diff --git a/section/introduction.tex b/section/introduction.tex index 7870de2..1325e5a 100644 --- a/section/introduction.tex +++ b/section/introduction.tex @@ -7,6 +7,7 @@ \begin{itemize} \item OS: Arch Linux \item CPU アーキテクチャ: \texttt{x86\_64} - \item C コンパイラ: \texttt{gcc バージョン 14.2.1 20250322 (GCC)} + \item C コンパイラ(5月1日付): \texttt{gcc バージョン 14.2.1 20250322 (GCC)} + \item C コンパイラ(5月4日付): \texttt{gcc バージョン 15.1.1 20250425 (GCC)} \item C コンパイラオプション: \texttt{-Wall <ソースコード名> -o <プログラム名>} \end{itemize} diff --git a/section/printf-formats.tex b/section/printf-formats.tex index dba99ed..7eabdcc 100644 --- a/section/printf-formats.tex +++ b/section/printf-formats.tex @@ -1,65 +1,97 @@ -\section{\texttt{double}型と\texttt{printf}関数・\texttt{scanf}関数の書式} +\section{\texttt{int}型・\texttt{double}型と\texttt{printf}関数・\texttt{scanf}関数の書式} \defaultlistingstyle -\lstinputlisting[language=C, title={変更元のソースコード}]{../programs/printf-formats/main.c} +\lstinputlisting[language=C, title={変更前のソースコード}]{../programs/printf-formats/main.c} 上記のソースコードについて、\texttt{printf}関数と\texttt{scanf}関数の書式を次のように変更していく: -\begin{itemize} - \item 第一の\texttt{printf}関数の書式を\texttt{\%f}にする - \item 第一の\texttt{printf}関数の書式を\texttt{\%lf}にする - \item 第二の\texttt{printf}関数の書式を\texttt{\%d}にする - \item 第二の\texttt{printf}関数の書式を\texttt{\%lf}にする - \item 第一の\texttt{scanf}関数の書式を\texttt{\%f}にする - \item 第一の\texttt{scanf}関数の書式を\texttt{\%lf}にする - \item 第二の\texttt{scanf}関数の書式を\texttt{\%d}にする - \item 第二の\texttt{scanf}関数の書式を\texttt{\%f}にする -\end{itemize} +\begin{table}[h] + \centering + \begin{tabular}{lc} + \hline + \multicolumn{1}{c}{概要} & 実行ファイル名 \\ + \hline \hline + 第一の\texttt{printf}関数の書式を\texttt{\%f}にする & \texttt{main-p1-f} \\ + 第一の\texttt{printf}関数の書式を\texttt{\%lf}にする & \texttt{main-p1-lf} \\ + 第二の\texttt{printf}関数の書式を\texttt{\%d}にする & \texttt{main-p2-d} \\ + 第二の\texttt{printf}関数の書式を\texttt{\%lf}にする & \texttt{main-p2-lf} \\ + 第一の\texttt{scanf}関数の書式を\texttt{\%f}にする & \texttt{main-s1-f} \\ + 第一の\texttt{scanf}関数の書式を\texttt{\%lf}にする & \texttt{main-s1-lf} \\ + 第二の\texttt{scanf}関数の書式を\texttt{\%d}にする & \texttt{main-s2-d} \\ + 第二の\texttt{scanf}関数の書式を\texttt{\%f}にする & \texttt{main-s2-f} \\ + \hline + \end{tabular} +\end{table} \subsection{\texttt{main-p1-f}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p1-f} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-p1-f.png} \end{center} \subsection{\texttt{main-p1-lf}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p1-lf} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-p1-lf.png} \end{center} \subsection{\texttt{main-p2-d}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p2-d} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-p2-d.png} \end{center} \subsection{\texttt{main-p2-lf}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p2-lf} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-p2-lf.png} \end{center} \subsection{\texttt{main-s1-f}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p3-f} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-s1-f.png} \end{center} \subsection{\texttt{main-s1-lf}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p3-lf} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-s1-lf.png} \end{center} \subsection{\texttt{main-s2-d}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p4-d} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-s2-d.png} \end{center} \subsection{\texttt{main-s2-f}} \begin{center} - \includegraphics[width=\textwidth]{./assets/printf-formats/main-p4-f} + \includegraphics[width=\textwidth]{./assets/printf-formats/main-s2-f.png} \end{center} + +\newpage + +\subsection{結果} + +\begin{table}[h] + \caption{実行結果一覧(強調行は正常結果)} + \centering + \begin{tabular}{|ccc|} + \hline + 実行ファイル名 & コンパイル警告の有無 & 意図的な結果であるか \\ + \hline \hline + \texttt{main-p1-f} & 有 & 否 \\ + \rowcolor[HTML]{FFC702} + \texttt{main-p1-lf} & 無 & 然 \\ + \texttt{main-p2-d} & 有 & 否 \\ + \rowcolor[HTML]{FFC702} + \texttt{main-p2-lf} & 無 & 然 \\ + \texttt{main-s1-f} & 有 & 否 \\ + \texttt{main-s1-lf} & 有 & 否 \\ + \texttt{main-s2-d} & 有 & 否 \\ + \texttt{main-s2-f} & 有 & 否 \\ + \hline + \end{tabular} +\end{table} diff --git a/section/syntax.tex b/section/syntax.tex index e69de29..1310a8a 100644 --- a/section/syntax.tex +++ b/section/syntax.tex @@ -0,0 +1,22 @@ +\section{今回の構文} + +\subsection{四則演算} + +C言語での四則演算は以下の通りである: + +\defaultlistingstyle +\begin{lstlisting}[language=C, title={四則演算}] +a + b; // 加算 +a - b; // 減算 +a * b; // 乗算 +a / b; // 除算 a、b共に整数型だと演算結果は小数点以下切り捨てられた値となる +\end{lstlisting} + +\subsection{剰余演算} + +aをbで割った余りを求める剰余演算は以下の通りである: + +\defaultlistingstyle +\begin{lstlisting}[language=C, title={剰余演算}] +a % b; // 剰余 +\end{lstlisting}