A test case is a statement that describes what the test will be performing. A test script is part of a test case and are the granular steps to perform the test case. A test case should aim to exercise as much of a set of requirements as possible, while still being concise.
Formally, a test case is:
[A] set of conditions or variables under which a tester will determine whether an application, software system or one of its features is working as it was originally established for it to do. [Wikipedia]