You need to establish a protocol between PC and arduino using serial port.
Say you can send data as the following:
M/(axis)/(coord.)#
You send this from PC to arduino and wait for arduino to send back a job complete
OK#
Then you send Arduino another move command and wait for OK#.
On arduino, it has two stages:
1) Wait for a complete command from PC
2) Interpret the command, execute it and reply to PC
Certainly when Arduino starts up, it may send a message that it is up and running with OK# so the PC program starts and waits until it receives OK# before asking the Arduino to do anything.
You know something like above will get you started at least with communicating part. Later you can improve your protocol to do more stuff though. Your CNC has to move slowly one step at a time on one axis to start with. Later you can develop a go command that PC sends so all previously sent commands executes together and you get multiple-axis motion.
BTW, I'm just making these all up

. I never programmed a motor. Only spent some years using systems with stepper motors and anyone with experience please correct me.