We have several guides and similar threads but OK.
C?- Not so useful unless you want to develop a tool. Assembler (specifically ARM9 and ARM7) are what the DS requires.
Sure it follows the same ideas as most programming languages (loops, compares, interrupts, data, instructions), your best bet here is probably to learn how to make cheats (beyond the basic infinite health stuff), your example will probably be something as simple as a compare between a preset value (maybe even in the instruction) and the "love" level presently attained.
Sprites: find the file, figure out any compression and the encoding format (usually fairly close to hardware but interesting storage methods exist on occasion).
tools?
Premade ones do not really exist for the vast majority of games so it is go manual time. Some file format specific tools or apps with file format support (crystaltile2, narctool, various sdat tools, tahaxan and beyond) exist and can be worth having around. Of these the only truly necessary tools are ones to parse the DS file system, this usually means ndstool (frontends in DSbuff and DSlazy) but many others exist.
Main tools are
hex editor(s)- I have about 10 that work well for different things. You can do anything with a hex editor but it gets complex so you need to abstract things to higher levels
tile editors- speaking of abstraction as I mentioned earlier the graphics in games are usually kept fairly close to what the hardware wants them as meaning you can usually edit them quite comfortably.
Compression tools- compression is also annoying at a hex editor level and as compression is costly and time consuming to develop people tend to use off the shelf methods or often those contained within the DS hardware/BIOS.
I find a method by which to manipulate large amounts of data at once somewhat useful- this usually means a spreadsheet app with hex support.
After this we get into more general tools like relative search tools, non specific text extractors, compression searching tools.
Assembly tools- not necessary at first but get anywhere fun in DS hacking you will, assemblers and disassemblers are needed and you have a small selection to choose from. Crystaltile2, emulators like desmume, ndsdis2 and armish.