You can create a dictionary of (value: color) pairs and use those values as color argument on plt.scatter using a list comprehension.
colors = {'yes': 'b', 'no': 'r'}
plt.scatter(A['A'], A['B'], color=[colors[r] for r in A['C']])
EDIT: Preferred way to add legend is to iterate over unique classes in your dataset and use legend argument. So we can iterate over the dataframe grouped by C and plot them individually with label arguments. And finally call plt.legend() to show it.
colors = {'yes': 'b', 'no': 'r'}
for idx, row in A.groupby('C'):
plt.scatter(row['A'], row['B'],
color=[colors[r] for r in row['C']],
label=idx)
plt.legend()