I wouldn't want it to be more like C. I'm not in the mood to write stuff like
char* myvar = strconcat(tostring(atoi(readline(...)) + atoi(input()))," entries in list.\r\n")
instead of
%myvar = $calc($read(...) + $1) entries in list. (it's not working code, I know that)
C is old, a typed programming language instead of a scripting language, and it lacks too many required features (needing 12 includes and libraries to convert a number to a string and print it somewhere mad, and keep those header files out of mIRC please)

if ((((a==b)))) works in C, that's different ways too?

%x = 10 is NOT the same as var %x = 10, it's set %x 10, but with extra math operations

You're correct strings don't have "" around them (and the corresponding spaces problems) but you can just write /say hi there! instead of /say "Hi there!", and that's a simple string without identifiers and variables in it, for which you'd need some string concatenation operator.
The people for which the scripting language was developed don't know what a string is, and explaining that would be just as much a hassle to them. mIRCscript wasn't intended to be as elaborate as it is...

The for loop has been suggested before.