When you see a file named "xxxx.NC" that's normally a G-Code program.
Different Machines use the same G-Code but in different formats based on their parameters. A CNC Lathe would use Z, Y, C axis, Mill X, Y, Z, A axis, Horizontal Mill X,Y,Z,W, A. Lathe canned cycles are different than milling as well.
There are various "brands" of software that generate the G-code to run CNC machines. Using a program like MasterCam for instance, I can use many different file formats to create a program to make the part, .PRT, .SLDPRT, .STEP, IGES, .DXF, .CAT5, and many others. As long as there is enough usable data there to accurately represent the part, a CNC program can likely be created from it!
I have been using a pretty simple free version of a program called DeskProto for toolpath conversion from dxf to nc. Haven't tried it on more complex projects yet, but for a beginner like myself it has worked pretty well.