I have known her ____ a long time.
- (a)since
- (b)for
- (c)at
- (d)before
Correct — B, for. This is a preposition-cloze item. With the present perfect ('have known'), 'for' introduces a length of time ('for a long time'), while 'since' would need a starting point. 'A long time' is a duration, so 'for' is correct.
- (a)since — 'Since' marks the point when something began ('since 2010', 'since Monday'), not a stretch of time like 'a long time'.
- (c)at — 'At' marks a precise moment ('at noon'), not a duration, so it cannot govern 'a long time'.
- (d)before — 'Before' orders events in sequence and does not express how long the knowing has lasted.
This is a preposition-cloze item — 'for' introduces a length of time (for a long time, for two years); 'since' introduces the starting point (since 2010).
No directly related past PYQ was found.
- practice — not a real PYQ
Fill in the blank: 'They have lived here ____ 2015.'
- (a)for
- (b)since
- (c)at
- (d)by
Answer(b) since — a starting point (2015) takes 'since'.
- practice — not a real PYQ
Fill in the blank: 'We have been waiting ____ two hours.'
- (a)since
- (b)for
- (c)at
- (d)from
Answer(b) for — a duration (two hours) takes 'for'.