Others have mentioned the difficulties in C syntax, to which I can only add:
The * operator in declarations (adds confusion with multiplication and has weird precedence rules that leads to oddities like int*foo,bar; declaring a pointer and a direct variable, and to the WTF that is function pointer syntax. Not to mention: Why didn't they just use longer syntax like "address of foo" etc.
The sparse naming of identifiers and commands in the standard library, instead of more modern, verbose and readable syntax.
The weird type-promotion rules (char -> int, float -> double)
The weird way of specifying the data type of a number (1ULL etc.).
The inconsistent way in which arrays are pointers in some declarations and not in others.
The inconsistent way how sizeof() looks like a function, is an operator, and sometimes returns the size of the pointer variable, and sometimes the actual size of an array, but only when it's a local variable. OK, that's getting into semantics.
The for-loop. I've memorized it after coding in C for decades, but is that the most arbitrary and confusing syntax or what? Semicolons inside a command?
The comma operator. Not only a parameter separator, but also a way to string together several expressions, but only return the last one. And if you have a keyboard that has ; and , on the same key (like German), a very common source of typos. Think int foo = 13, gSomething = 14; where you meant to write int foo = 13; gSomething = 14;
You asked for alternate solutions:
I would suggest you take a look at English-like programming languages like Inform 7, LiveCode (and its predecessor HyperTalk), as well as AppleScript. While AppleScript's underlying model (with data types you must conform to but can't declare) is too technical, the way it defines syntax in a freeform way makes for very readable code.
Essentially, you can just write English sentences from a small subset of English. This means it doesn't understand every English sentence, but once you see a script, it is immediately obvious what it does, and it invites copy-and-paste programming, where you see code that does almost what you want and simply modify it.
AppleScript also had a "recording" facility where you could do something and its editor would write down the corresponding script, which, again, you could then modify easily by trial and error, even.
However, in any way, stick to simple constructs, and leave away "clever" constructs like chaining assignments like x = y = 4; They'll at best confuse non-geeks, at worst make unintentional typos compile.
Of course, if you want something easy and you're not married to using text, why not look at a UI like you can see it in Apple's Automator or the Scratch programming language? You can save it behind the scenes in a text form, but having a UI on top to build the expressions and letting the user drag-and-drop the common commands right from the documentation or a window full of snippets will make it much easier to learn for the casual coder who maybe codes 3 times a year and has another job the rest of the time.