which trnsmitter-receiver to be used?

How can I choose the RF transmitter-receiver for interfacing with arduino? Can I use any rating or should I be looking at its frequency?

It depends entirely on what you want to do with it. Have you read the "Making things talk" book, that gives the options over a couple of chapters.

The things to look at are whether you need uni-directional communication, or bi-directional, how much code do you want to write to deal with dropped bytes, and how far do you need to be able to transmit the data. An indication of how much data you need to send would be useful, too.

my project is to control an RC car using arduino. according to keyboard hit, it should move in specified direction

one more thing, I just need to send from one arduino to other. reverse is not needed

Any low-cost RF transmitter/receiver pair should be usable, then. Sparkfun has some that run about $10 for the pair. They are relatively easy to hook up, but there are interference issue (nearby A/C causes problems. Motors might, too). Dropped bytes would be up to you to re-transmit, but, you can get no feedback that a byte was dropped, so it's pretty much a moot point.

XBees are a lot less prone to interference, since they operate at much higher frequencies. They are bi-directional, so knowing whether a bytes was dropped, or not, is possible. The XBees take care of checking, and re-transmitting, if needed, for you.

The trade-off is that the XBees are a lot more expensive.

how can be the coding? any ideas for detecting and recognizing keystrokes?

The transmitter and receiver will have nothing to do with recognizing keystrokes. They will transmit and/or receive serial data that is to be/has been sent.