A "foreign key" is the set of attributes of the referencing table. (In many implementations, one would have to speak of "ordered set of attributes" because many implementations make the order matter too, but that's a deviation from the theory.)
A referential integrity constraint is the rule as such to the effect that the [combination of] values appearing in the foreign key attributes [in the referencing table] must appear as [a combination of] values in the key attributes [in the referenced table]. ("key attributes" is a usage of the term "key" that is in line with relational theory. They might have been declared by means of a UNIQUE clause instead of a KEY clause, but that's just syntax. In the theory, everything that's declared unique is a key.)
The "REFERENCES" clause is the [most popular / most used] means to declare the referential integrity constraint. It's a syntactic means. It always includes a specification of the foreign key, but additionally it also defines the referenced table and its referenced attributes.
Because it is so exceptionally rare that there are two distinct referential integrity constraints based on the SAME foreign key (e.g. to two distinct referenced tables), it is quite common for all those terms to be used interchangeably.