Computational thinking ability is important in computer science education. It emphasizes abstraction and automation. For automation, programming has become a key ability in digital society recently. As a result, the increase in the importance of coding education in many countries has brought various educational methods to improve teenagers' programming abilities. Among programming abilities, reading ability is important especially to programming novices. This paper focuses on the effects of gender and abstract thinking abilities of adolescents on understanding computer programs. Also, we examine if there is any difference in teaching between adolescents and college students. In order to achieve our research goals, we surveyed on the abstract thinking level, and then measured program understanding ability for 300 academic high school students who had learned C language. From this research, we found that the abstract thinking affects more complex program understanding positively. Also, we found that the language experience before learning brought the difference in program understanding. However, we could not find statistical differences in program understanding between two genders. From this research, we can provide a new point of view to improve adolescents' programming ability with abstract thinking and gender factors.