The short answer is probably these C operators +=, -=, *=, /= * %= are from Algol68′s +:=, -:=, *:=, /:= & %:=.
c.f. usenet: Ada and C and Algol 68
BTW: The best quote about C's ancestry comes from Dennis Ritchie himself:
"The scheme of type composition adopted by C owes considerable debt to Algol 68, although it did not, perhaps, emerge in a form that Algol's adherents would approve of. The central notion I captured from Algol was a type structure based on atomic types (including structures), composed into arrays, pointers (references), and functions (procedures). Algol 68′s concept of unions and casts also had an influence that appeared later." Apr 1993 c.f. Dennis Ritchie (April 1993). "The Development of the C Language" (PDF)
Note that the /= and /:= are subtly different. Also C's %= is the same as Algol's %*:= operator.
Note also that the majority of C's operators came from Algol (+ - * / = ≠ etc ). However the "%" operator is notability different.
* Wikipedia: Monadic_operators
* Wikipedia: Dyadic_operators_with_associated_priorities
C has the "return" and "sizeof" operator, whereas Algol68 has syntax "EXIT" (or "□") and operator "UPB" (or "⌈") that achieve a similar function.
Algol 68 also has some related constants: "max int", "max real", "int width", "real width" etc to determine sizes of things. These are not the same a C's sizeof, but similar.
The most peculiar operators of C's are /\ & \/, these come from Algol's ∧ & ∨ operators. These "C originals" were replaced by the current && and operators. c.f. What _did_ the C operators /\ and \/ do?
Algol68 further allows operators to be define using non-ASCII characters:
×, ÷, ≤, ≥, ¬, ∨, ∧, , ↓, ↑, ⌊, ⌈, ⎩, ⎧ and ⊥;
And used the characters →, ○, □, ␣ and ¢ for other purposes. It is kind of like Algol68 was taking the liberty of using unicode some 20 years before Unicode characters were defined. {Earlier Algol60 used non-ASCII ⊂ and ≡}
* C's: int i = b ? a : b; /* pick maximum */
* A68′s: INT i := ( a > b | a | b );
c.f. Wikipedia: ?: - a ternary operator
The assignment ":=" looks like an operator, but in terms of "Algol68″ OPerators it isn't. I believe they are called "Units associated with names" c.f. Array, Procedure, Dereference and coercion operations
(Or - if you are a language lawyer c.f. Algol 68 r1 report.html#52)
Similarly: Left assign, right assign and compare ( :=, =:, =) are also not "Algol68" Operators.
Pointers are not operators per se. There are a few "identity relations" associated with pointers: e.g. :=:, :/=:, IS & ISNT
c.f. Assignation and identity relations etc.
(Or - if you are a language lawyer c.f. Algol 68 r1 report.html#5221)
(C and Lisp, ... data type") was adopted by many later languages, such as ALGOL 68 (1970), Java, and C#. ... C++ has a separate Boolean data type ( 'bool' ), but with automatic conversions from ... "Report on the Algorithmic Language ALGOL 68
0.11 x 68 = 7.48
$68
68
Sae-20w
Vladimir Alekseevich Vasil'ev has written: 'IAzyk ALGOL-68' -- subject(s): ALGOL (Computer program language)
(C and Lisp, ... data type") was adopted by many later languages, such as ALGOL 68 (1970), Java, and C#. ... C++ has a separate Boolean data type ( 'bool' ), but with automatic conversions from ... "Report on the Algorithmic Language ALGOL 68
Adriaan van Wijngaarden has written: 'Report on the algorithmic language ALGOL 68'
(ALGOrithmic Language) A high-level compiler language that was developed as an international language for the expression of algorithms between people and between people and machines. ALGOL-60 (1960) was simple and widely used in Europe. ALGOL-68 (1968) was more complicated and scarcely used, but was the inspiration for Pascal.AlgolAlgol can mean one of the stars in the constellation Beta Persei. It is a second magnitude Beta star. It appears in the Northern Hemisphere.
B. Ratcliff has written: 'Introducing ALGOL 68 and structured programming to non-computer science students as their first programming experience'
Numerical Algorithms Group. has written: 'NAG Algol 68 Library Manual, Mark 3' 'NAG FORTRAN mini manual, Mark 8' 'NAG FORTRAN library manual' 'NAg graphical supplement' 'NAG library manual Mark 5' 'NAG Fortran library manual mark 7 (FLM7)' 'Algol 68' 'NAG Fortran library manual mark 11 (FLM11)' 'NAG mini manual, Mark 6' 'NAG FORTRAN mini manual, mark 11'
68
68/100 x 100 = 68
68
68 multiplied by 68 is 4,624.
68 * 100% = 68%
68. 68 is divisible by 17.