Everyone is different. Some people understand data types and expressions right away. Other people have difficulty, but with different things. If you don't explain what you found hard, or why you stopped before, there really aren't any tips other than the ones I already gave.
I wasn't suggesting the book was bad (or good). I was simply pointing out that you hadn't identified the book, so there's no way for anyone else to tell you whether the chapter on data types and expressions might be harder or easier to understand than some other book. There's also no way to suggest a complementary book that might give better explanations in this case. You also didn't explain why you found the explanations in the book hard, whether it's lack of background, unfamiliar terms, or whatever.
One example of a difficulty: a guy I worked with was learning C. He came from a mathematics background, so already understood arithmetic expressions, complex calculations, iterative algorithms, number theory, etc. but had never learned any programming language. In one of his programs, he declared some variables as type 'float', then used them as subscripts for C arrays. This didn't work. When he asked me why, I told him that subscripts have to be integers. He assured me they were in fact integers, and sure enough, the values of the variables were integers (0.0, 1.0, 4.0, etc.). I then explained to him that it didn't just have to be an integer number, but the type had to be an integer type. That lead into an explanation of binary numeric representations, especially the difference between the integer types and the floating-point types. He had a specific difficulty (float types used as array subscripts), that took a specific explanation to resolve (numeric representations).