go with arduino if you are familiar with C. Arduino is an alternative open source option for putting code onto AVRs. It is a higher level C then you probably used before, but it is still C when it comes right down to it. Now you can still use traditional AVR assemblers and C compilers, however the arduino will get you up and going much faster using their bootloader and software libraries.
I think that when it comes to microcontrollers you should understand Assembly to a certain extent otherwise there will be a disonnect from the specsheet to the codes you produce. If you were to go through a couple of simple assembly examples and pay close attention to the specsheet and the registers that are modified for certain functions in the code you can see what goes on behind the scenes in C.
here is a video review of Arduino I thought was helpful:
EEVblog #45 - Arduino, PICAXE, and idiot assembler programmersthe first couple minutes are pretty much a rant about the name, and his rant about assembler language at the end is petty spot on, but remember that anyone who really understands C and assembler can recognize each one for its own strengths. if you dont understand any assembly, debuging a C program can be next to impossible. remember C is compiled into assembly, assembly is translated into machine language (labels are replaced with numbers) which is .hex