, . C .. , .. .  "C"( "") - , - , , - . "C" " ", "" , . - , , . "C", "UNIX" DEC PDP-11, - . , "C" "UNIX" ( - , ) "C". "C" , IBM SYSTEM/370, HONEYWELL 6000, INTERDATA 8/32. "C", , - - , , , "C"-. , "C". , - - , . , , . , - , - , . - , - , . , , , , . - ; - , - , , . , . , "C" , - - . , . , . , . , - , , , -, , - . , , , , , , , , , , , - , , , , - - . . .  A ........................................1 0.1. .......................................7 1. .................................. 1.1. H....................................... 1.2. ........................ 1.3. FOR................................... 1.4. ........................ 1.5. ........................ 1.5.1. ........................ 1.5.2. ............................ 1.5.3. ............................. 1.5.4. ................................ 1.5.5. ................................. 1.6. ........................................ 1.7. ........................................ 1.8. - .................. 1.9. ............................... 1.10. : ........... 1.11. ......................................... 2. , ........................ 2.1. ............................... 2.2. .......................... 2.3. ...................................... 2.3.1. ......................... 2.3.2. ........................ 2.3.3. ........................... 2.4. ....................................... 2.5. ........................ 2.6. ....... 2.7. ........................... 2.8. ............... 2.9. .................. 2.10. .............. 2.11. ............................. 2.12. ............... 3. .................................. 3.1. .............................. 3.2. IF - ELSE...................................... 3.3. ELSE - IF...................................... 3.4. .................................. 3.5. - WHILE FOR............................ 3.6. DO - WHILE................................ 3.7. BREAK................................. 3.8. CONTINUE.............................. 3.9. GOTO .......................... 4. ...................... 4.1. .............................. 4.2. , ......... 4.3. ...................... 4.4. ............................. 4.5. , ......... 4.5.1. ............................. 4.6. ......................... 4.7. ......................... 4.8. .............................. 4.9. .................................. 4.10. ....................................... 4.11. "C"......................... 4.11.1. ............................. 4.11.2. M............................. 5. ............................ 5.1. ............................. 5.2. .................. 5.3. ............................ 5.4. ............................ 5.5. ................... 5.6. - ........................... 5.7. ............................ 5.8. ; ....... 5.9. .............. 5.10. ................ 5.11. .................... 5.12. ........................... 6. ......................................... 6.1. .............................. 6.2. ............................ 6.3. ................................ 6.4. ......................... 6.5. , ................. 6.6. ................................ 6.7. ........................................... 6.8. .................................... 6.9. ............................... 7. ...................................... 7.1. ............. 7.2. - GETCHAR PUTCHAR...................................... 7.3. - PRINTF............... 7.4. - SCANF................. 7.5. .............. 7.6. ................................ 7.7. - STDERR EXIT............... 7.8. ............................. 7.9. ................ 7.9.1. ...... 7.9.2. UNGETC............................... 7.9.3. .......................... 7.9.4. ........................... 8. UNIX............................ 8.1. ............................. 8.2. / - READ WRITE........................................ 8.3. , , (UNLINK)....................................... 8.4. - SEEK LSEEK............. 8.5. - FOPEN GETC....... 8.6. - ............... 8.7. - ................. : 'C'. 9.1. ....................................... 10. ............................ 10.1. .................................... 10.2. ()......................... 10.3. ................................. 10.4. ...................................... 10.4.1. .............................. 10.4.2. ...................... 10.4.3. ......................... 10.4.4. .......................... 10.5. ......................................... 10.6. .............. 11. ............................ 12. ?............................ 13. L-.............................. 14. .................................... 14.1. ................................ 14.2. FLOAT DOUBLE............................ 14.3. ............. 14.4. .............................. 14.5. ................................ 14.6. .................. 15. ......................................... 15.1. ............................ 15.2. ............................... 15.3. ..................... 15.4. ............................ 15.5. ................................ 15.6. ............................. 15.7. ............................. 15.8. ''......................... 15.9. ''.......... 15.10. ''........... 15.11. ''........................ 15.12. ''..................... 15.13. .............................. 15.14. .......................... 15.15. ............................... 16. .......................................... 16.1. .................... 16.2. ............................. 16.3. ...................................... 16.4. ............................... 16.5. ................ 16.6. .................................. 16.7. .................................... 16.8. TYPEDEF........................................ 17. ......................................... 17.1. .......................... 17.2. ( ).................. 17.3. ............................. 17.4. WHILE................................. 17.5. DO.................................... 17.6. FOR................................... 17.7. SWITCH................................ 17.8. BREAK................................. 17.9. CONTINUE.............................. 17.10. .............................. 17.11. GOTO.................................. 17.12. ............................ 17.13. ................................ 18. ............................... 18.1. .................... 18.2. ..................... 19. , ............ 19.1. ................... 19.2. ....... 20. .................... 20.1. .................................. 20.2. ............................... 20.3. ............................ 21. .................................. 22. ..................................... 22.1. ........................ 22.2. ........................................ 22.3. , ................ 22.4. ................ 23. ............................. 24. ....................... 25. ....................................... 26. ...................... 26.1. ...................................... 26.2. ....................................... 26.3. ...................................... 26.4. ............................ 26.5. ................................... 27. ............................ 28. .................................. 29. "C". 0.1.  "C" - . "UNIX" , "UNIX" - "C". , , - ; , , , . "C" - " ". ; , "C" , , , , . , - . "C" , - , - , , , . , , PL/1, . - , , - ; ""(HEAP), " ", -68. , "C" -: READ WRITE . - . , "C" , - : , , , , , . - (", , ?!"), . "C" , . "C" . - , ; , 80 - . . - , "C", - , , , . PDP -11, , 32- . , - , - -, , - , , , - ; "C". - , "C" , "C" - , . - "UNIX", "C". 13000 800 - . , "UNIX" - "C"; "UNIX"( ) PDP-11. "C" , - "" - , .. , - . , - "UNIX", : HONEYWELL, IBM INTERDATA. "C" - , -, , - - (ANSI). "UNIX" PDP-11, INTERDATA 8/32. - , - -, , - . "C" - . 7000 , -, 95 . , , - , "C". "C" - , BCPL , . BCPL "C" "B", 1970 "UNIX" PDP-7. "C" BCPL , - . BCPL "B" - "" ; - , - - . "C" - , - . , - , , , , . "C" - , : - , (IF), (WHILE, FOR) (DO) (SWITCH). ( BCPL, ; ). "C" . - , . " ", - , , . - , - . , - "", .. . , . "C" - . - , , - , - . - . , - - . "C" 68. - , - PL/1. , - .. , - , . - LINT , . LINT - , , - . , - , - , .. , - LINT, - , , , , -68. LINT , . , "C", , . - ; ; - , - . "C" - - . . 1 "C". - , , , - - . , , ; , , N=N+1. , , . ; , , - . 2- 6- "C" , 1, - - , , . 2 , . 3 : IF-ELSE ,WHILE ,FOR .. 4 - , - .. 5 . 6 . 7 -- "C", . - - , "C", , , - , . 8 "C" - "UNIX". -, . "UNIX", - , "UNIX", - , , - . A "C". "" - "C" ( - ) . "C" , - , - - - . - . , , "UNIX" PDP-11 , "C". "C" - .  * 1. *  "C". - - , , . (, ). - , , , - : , - , , . - "C", - , , , "C", . , , . - , - , - , , - . , - , - , . , . , . - , , - . , . . , , - , 2. 1.1. H - . - , , - : : HELLO, WORLD. - ; , - , , , , . - , . "HELLO, WORLD" "C" : MAIN () { PRINTF("HELLO, WORLD\N"); } - . , "UNIX" , ".C" , , HELLO.C , - CC HELLO.C - , , - .OUT . A.OUT HELLO, WORLD ; - .  1-1 --------------- . - . . "C"-, , "", , . "C" PL/1, .. MAIN. , MAIN - ; - MAIN. , - MAIN. MAIN , , - , . . , , ; IN - , (). - , , { }, DO-END PL/1 BEGIN-END - , .. - , . CALL, PL/1. - , . PRINTF("HELLO, WORLD\N"); , PRINTF "HELLO, WORLD\N". PRINTF , - ( - - ). , . , - "...", ' ' ' '. - PRINTF . \N "C" ' ', - . \N ( - ), , - . - \N - PRINTF; - PRINTF("HELLO, WORLD "); "C"- . PRINTF , . - , , MAIN() { PRINTF("HELLO, "); PRINTF("WORLD"); PRINTF("\N"); } , \N . - '', \N , - . "C" : \ - , \B - , \" - \\ .  1-2 --------------- , - , , PRINTF \X, X - , . 1.2.  , C = (5/9)*(F-32). 0 -17.8 20 -6.7 40 4.4 60 15.6 ... ... 260 126.7 280 137.8 300 140.9 : /* PRINT FAHRENHEIT-CELSIUS TABLE FOR F = 0, 20, ..., 300 */ MAIN() { INT LOWER, UPPER, STEP; FLOAT FAHR, CELSIUS; LOWER = 0; /* LOWER LIMIT OF TEMPERATURE TABLE */ UPPER =300; /* UPPER LIMIT */ STEP = 20; /* STEP SIZE */ FAHR = LOWER; WHILE (FAHR <= UPPER) { CELSIUS = (5.0/9.0) * (FAHR -32.0); PRINTF("%4.0F %6.1F\N", FAHR, CELSIUS); FAHR = FAHR + STEP; } } /* PRINT FAHRENHEIT-CELSIUS TABLE FOR F = 0, 20, ..., 300 */ , - , . /* */ - ; - . - , - . "C" - , . , . - , , INT LOWER, UPPER, STEP; FLOAT FAHR, CELSIUS; INT , ; FLOAT , .. , . INT , TAK FLOAT , - . PDP-11, , INT 16-- , .. , -32768 +32767. FLOAT - 32- , 10-38 10+38. 2 - . "C" - , INT FLOAT: CHAR - SHORT LONG DOUBLE -; 2. , - , - , ; . LOWER = 0; UPPER =300; STEP = 20; FAHR =LOWER; . - . , , - . WHILE: WHILE (FAHR <= UPPER) { .... } . (FAHR UPPER), ( , { } ). , , - . ( FAHR UPPER ), , . - , . WHILE , , , , , , WHILE (I < J) I = 2 * I; , WHILE, , , . . "C" - , . () . - ; . - - . . - CELAIUS CELSIUS = (5.0/9.0) * (FAHR-32.0); 5.0/9.0 5/9 , "C", - , , . - , 5/9 , , , . , , , , 5.0/9.0 0.5555... . 32.0 32 , , FAHR FLOAT , 32 FLOAT ( 32.0) . , ; - , , .