There is exactly one executable statement in the example, so if the question is not asking for branch coverage, one test case will give 100% coverage.
if statement is a flow, or branching statement. It evaluates conditions and redirects the application flow according to whether or not the conditions are met.
An executable statement acts on the application and system in some way. So the if statements are deciding whether the executable statement is run.
The single test case for 100% executable statement coverage is to run with a value of A that is greater than both B and C. When the test completes, the new value of X should be
X + A.
For branch coverage you would need more test cases:
A < B (the value of C is irrelevant because if
A < B, statement 2 above will never be reached) - X is unchanged.
A > B and A < C - X is unchanged.
A > B and A > C - this condition will cause the executable statement to run.
X(new) = X(original) + A