In this thesis a family of cyclic and quasi-cyclic codes is derived from a given cyclic code. In particular, families of cyclic LDPC codes are constructed. In most of the proposed constructoin methods for LDPC code, the following constraint on the rows and columns of H is imposed: no two rows (or two columns) are simultaneously nonzero in more than one coordinate. This property is referred to as the row-column (RC) constraint. The RC constraint ensures that, the girth of the Tanner graph representing H is greater than four, and the minimum distance of the code is at least . There are a common weakness with LDPC codes, known as error-floor when decoded with iterative decoding algorithm . The existence of error-floor is due to the existence of an undesirable structure in the Tanner graph of H . For the additive white Gaussian noise (AWGN) channel, the error-floor region depends mostly on the trapping sets in the Tanner graph of the code. (?, ?) trapping set is a subgraph of Tanner graph with ? variable- nodes and ? odd-degree check- nodes. In this thesis, a family of cyclic and quasi-cyclic codes is obtained by a set of column and row permutations applied on a given parity-check matrix of a cyclic code. The obtained codes are called produced codes. Some fundamental structures of the produced codes are studied, including the characterization of the roots of the generator polynomial of a derived cyclic code. These results can be applied on cyclic FG LDPC codes. Finall, trapping sets of RC-constraint LDPC codes with constant column-weight ? is considered . It is shown that in a (?, ?) trapping set , if ? ? ? then ? ?. The trapping sets of FG and finit field LDPC codes is considered, and it is shown that their Tanner graph contain no elementary trapping sets of sizes smaller than their minimum distances. Consequently, the error-floor performances of these codes are dominated by their minimum distances.