(a)
The product of upper triangular matrices is upper triangular. We call a matrix A upper triangular if whenever i > j we have A_{ij} = 0. Let A be an m \times n upper triangular matrix and B be an n \times p upper triangular matrix. Then:
\displaystyle (AB)_{ij} = \sum_{k = 1}^n A_{ik} B_{kj}
Note that whenever i > k we have A_{ik} = 0, so the terms before k = i are zero meaning:
\displaystyle \sum_{k = 1}^n A_{ik} B_{kj} = \sum_{k = i}^n A_{ik} B_{kj}
Suppose i > j. Then for all k \ge i we have k > j so B_{kj} = 0. So:
\displaystyle (AB)_{ij} = 0
for i > j. So AB is upper triangular.
(b)
The product of lower triangular matrices is lower triangular. We call a matrix A lower triangular if whenever i < j we have A_{ij} = 0.
We have:
\displaystyle (AB)_{ij} = \sum_{k = 1}^n A_{ik} B_{kj}
Note that whenever i < k we have A_{ik} = 0, so the terms beyond k = i are 0 meaning:
\displaystyle (AB)_{ij} = \sum_{k = 1}^{i} A_{ik} B_{kj}
Suppose i < j. Then for k \le i we have k < j, so B_{kj} = 0 since B is lower triangular. So:
(AB)_{ij} = 0
whenever i < j, so AB is lower triangular.
©
We can’t say much, say:
\displaystyle \begin{pmatrix}1 & 1 \\ 0 & 1\end{pmatrix} \begin{pmatrix}1 & 0 \\ 1 & 1\end{pmatrix} = \begin{pmatrix}2 & 1 \\ 1 & 1\end{pmatrix}
which is neither upper triangular or lower triangular.
In fact, a huge class of matrices can be written as a product of a lower and upper triangular matrix: https://en.wikipedia.org/wiki/LU_decomposition, which is useful for the numerical computation of determinants (since the determinant of an upper/lower triangular matrix is just the product of its diagonal) and inverses.