ã¡ã³ãã¬ãŒãšãã®åšæè¡š (1869 幎) ãªãã§ååŠãæ³åããŠã¿ãŸãããã ã©ãã ãã®èŠçŽ ã念é ã«çœ®ãå¿ èŠããããããŸãé åºã¯é¢ä¿ãããŸãã... (åœæ - 60)
ãããè¡ãã«ã¯ãäžåºŠã« XNUMX ã€ãŸãã¯è€æ°ã®ããã°ã©ãã³ã°èšèªã«ã€ããŠèããã ãã§ãã åãææ ãåãåµé çãªã«ãªã¹ã
ãããŠä»ãç§ãã¡ã¯ XNUMX äžçŽã®ååŠè ãã¡ãèªåã®ãã¹ãŠã®ç¥èãšãã以äžã®ç¥èã XNUMX ã€ã®åšæè¡šã«æäŸããããšãã®ææ ãè¿œäœéšããããšãã§ããŸãã
èæžããããªã§ãŒã·ã« C. ããã°ã©ã èšèªã®éå±€æ§é ãã§ã¯ãCèšèªã®å
šåå
ãäžç®ã§ããããŸãã ããã«ãããæ
å ±ãæŽçããå€ãæ
å ±ãä¿®æ£ããããã°ã©ã ã®ã³ã³ã»ããèªäœãæ確ã«ããããšããã§ããŸãã
ä»æ¥ãããã°ã©ãã³ã°æ å ±ã¯ã150 幎åã®ååŠå çŽ ãããããã«äœç³»åããå¿ èŠããããŸãã
ãŸãå¿ èŠãªã®ã¯æããããšã§ãã ã¡ã³ãã¬ãŒãšãã¯ãOãHãNãHeãAu ã®ã©ã®å çŽ ã§è¬çŸ©ãéå§ããããšããåé¡ã«çŽé¢ãããšããèªåã®ã·ã¹ãã ãäœæãå§ããŸãããåæã«ã圌ã«ãšã£ãŠã¯ãæãåªããåŠçã«ååŠãæããæ¹ãç°¡åã§ããããµã³ã¯ãããã«ãã«ã¯å€§åŠã ãããŠããã°ã©ãã³ã°ã¯ãã§ã«åŠæ ¡ã§æããããŠããããŸããªã幌çšåã§ãå§ãŸãäºå®ã§ãã
1911 çªç®ã®å¿ èŠæ§ã¯ç§åŠçã¢ãããŒãã§ãã åšæè¡šã®å©ããåããŠãæ°ããå çŽ ãçºèŠãããå€ãå çŽ ã«é¢ããæ å ±ãä¿®æ£ãããŸããã 圌女ã¯ååã®ã¢ãã«ã®äœæã«ååããŸãã (XNUMX 幎)ã çã ã
XNUMXã€ç®ã¯ãããã°ã©ã ã®ã³ã³ã»ãããæ確ã«ããããšã§ãã
çŸä»£ã®ããã°ã©ãã³ã°ã¯ãç足ã 50 äžçŽã® XNUMX 幎代ã«æ¢ãŸã£ãŠããŸãã åœæãããã°ã©ã ã¯åçŽã§ããããæ©æ¢°ãæ©æ¢°èªã¯è€éã§ããã¹ãŠãæ©æ¢°ãšèšèªãäžå¿ã«åã£ãŠããŸããã
ä»ã§ã¯ãã¹ãŠãéã§ããããã°ã©ã ã¯è€éã§äž»èŠãªãã®ã§ãããèšèªã¯åçŽã§äºæ¬¡çãªãã®ã§ãã ããã¯å¿çšã¢ãããŒããšåŒã°ãããã®ã§ã誰ããããç¥ã£ãŠãããšæãããŸãã ããããåŠçãéçºè ã¯ããã¹ãŠãåãã§ãããšä¿¡ãç¶ããŠããŸãã
ããã§ç§ãã¡ã¯ãããªãŽã¡ãããŒãŒã³ãã»ã¡ã³ãã¬ãŒãšãã®æåã®è¬çŸ©ã«æ»ããŸãã æ°å ¥çã«äœãäŒããã¹ãã§ããïŒ çå®ã¯ã©ãã«ããã®ã§ããããïŒ ããã質åã§ãã
ããããªã§ãŒã·ã« Cããšããæ¬ã¯ããã®è³ªåã«å¯ŸããçããæäŸããŸãã ããã°ã©ã èšèªã®éå±€åã·ã¹ãã ãã ããã«ãçå®ãæ±ããŠäžç芳ãå€ããªããã°ãªããªãã®ã¯åœŒããã€ãŸãç§ãã¡ã§ããããããã®æ¬ã¯åŠçã ãã§ãªãèšç·Žãåããããã°ã©ããŒã«ãåããããŠããŸãã
以äžã¯æ¬æžã®èŠçŽã§ãã
1.ã¯ããã«
1969 幎㫠C èšèªãäœæãããåºæ¬çãªããã°ã©ãã³ã°èšèªãšãªãã50 幎éãã®ãŸãŸã§ãã ãªããããªãã®ã§ãããã? ãŸããC ã§ããããã é©çš ããã°ã©ã ãæäŸããèšèª 人éç 代ããã«èŠã æ©æ¢°ã ãã®ææã¯ãC ãã¡ããªãŒã®èšèª (C++ãJavaScriptãPHPãJavaãC# ãªã©) ã«ãã£ãŠç¢ºä¿ãããŸããã 第äºã«ãçããŠçŸããèšèªã§ãã
ãã ããC èšèªèªäœã¯éåžžããã·ã³ ã¢ã»ã³ãã©ãšæ··åãããããããã®èªèãè€éã«ãªããæªããããŸãã ãã XNUMX ã€ã®æ¥µç«¯ãªæ¹æ³ã¯ãèšèªã«ç¹å®ã®ãå²åŠãã課ãããšã§ããæç¶ãåããªããžã§ã¯ããé¢æ°åãã³ã³ãã€ã«åã解éåãåä»ããªã©ã§ãã ããã¯ææ ãå ããŸãããèšèªãããé©åã«èª¬æããã®ã«ã¯åœ¹ç«ã¡ãŸããã
çå®ã¯ãã®äžéã«ãããC èšèªã®å Žåãããã¯å³å¯ã«å²åŠãšæ©æ¢°ã®èªèã®äžéã«ãããŸãã
C èšèªã¯ç¬ç«ããèšèªã§ã¯ãªããéåžžã®æžãèšèã«åŸããŸãããåæã«ã¢ã»ã³ããªèšèªèªäœãå¶åŸ¡ããŸãã ãã®ç«å Žã¯æ¬¡ã®ããšã説æããŸã ããã°ã©ã ã®é³å£°ã¢ãã«ããã«å¿ããŠãããã°ã©ã ã¯é³å£°ãã³ãŒããã³ãã³ãã® XNUMX ã€ã®äžäœã¿ã€ãã«åé¡ãããŸãã C èšèªã¯ XNUMX çªç®ã®ã³ãŒã ã¿ã€ããæ åœããŸãã
ããã°ã©ã å ã§ã®èšèªã®äœçœ®ã決å®ãããããã®èšèªã«é¢ããæ å ±ãæŽçããããšãã§ããŸãã éå±€åããã°ã©ã èšèªäœç³»ãåšæã·ã¹ãã ã®ç²Ÿç¥ã«åºã¥ãã C èšèªã XNUMX ããŒãžã§è¡šçŸããŸãã
ãèæ ®ããŠã·ã¹ãã ãæ§ç¯ãããŠããŸã å¿çšèšèªã®ã³ãã¥ããã£ã圌ãã®èšè«ã®åŸå±ããçããŸãã Matryoshka C ãŠãããã® XNUMX ã»ããã䜿çšãããšãããŸããŸãªèšèªãèšè¿°ããã³æ¯èŒããŠãC++ãPHPãJavaScriptãC#ãMySQLãPython ãªã©ã®äžé£ã® Matryoshka ãäœæã§ããŸãã ããŸããŸãªèšèªãåºæ¬èšèªã®åäœã§èšè¿°ãããããšã¯äŸ¡å€ããããæ£ããããšã§ãã
2. 第 1 ç« . ããã°ã©ã ã®é³å£°ã¢ãã«ã ã¯ãªã¢C
æåã®ç« ã§çŽ¹ä»ããã®ã¯ã ããã°ã©ã ã®é³å£°ã¢ãã«ãå¿çšçãªã¢ãããŒããåæ ããŠããŸãã 圌ã«ãããšããã®ããã°ã©ã ã«ã¯ XNUMX ã€ã®æãããªã·ãŒã±ã³ã·ã£ã« ã¿ã€ãããããŸãã
- ã¹ããŒã - åé¡ã解決ããããã°ã©ããŒã®çŽæ¥ã®ã¹ããŒãã
- ã³ãŒãå - C èšèª (ãŸãã¯ãã®ä») ã§è§£ãæ°åŠåœ¢åŒã«ãšã³ã³ãŒãããŸãã
- ã³ãã³ã - çŽæ¥ãã·ã³ã³ãã³ãã
é³å£°ã¢ãã«ã¯ãC ãã·ã³ãã«ã§ç解ããããèšèªã§ããçç±ã説æããŸãã Xi ã¯ãç§ãã¡ã«ããç¥ãããŠãã人éã®é³å£°ã®ã€ã¡ãŒãžãšé¡äŒŒæ§ã®äžã«æ§ç¯ãããŠããŸãã
XNUMX ã€ç®ã®ã¿ã€ãã®ããã°ã©ã ã¯ãããã°ã©ããŒã®çŽæ¥ã®ã¹ããŒãã§ãã é³å£°ã¯äººéã®æèã«å¯Ÿå¿ããŸãã åå¿è ã®ããã°ã©ããŒã¯é³å£°ã䜿çšããŠããã°ã©ã ãäœæããŸããæåã¯ãã·ã¢èªã§ã次ã«ã¢ã¯ã·ã§ã³ã段éçã«ã³ãŒãèšèªã«å€æããŸãã ãããŠããŸãã«ãã®ã¢ãã«ã«åºã¥ã㊠C èšèªãäœæãããŸããã
é³å£°ã§è¡šçŸãããããã°ã©ããŒã®çµè«ã¯ãã³ãŒãåãããæ°å€åœ¢åŒã«å€æãããŸãã ãã®å€æã¯æ¬¡ã®ããã«åŒã¶å¿ èŠããããŸã åå°ãé³å£°ãšã³ãŒãã¯åãæ§è³ªïŒåå° - èªç - æ§å¥ïŒãæã£ãŠããããã§ãã ããã¯ãããã°ã©ã ã®é³å£° (å·ŠåŽ) ãšã³ãŒã (å³åŽ) ã®ã¿ã€ããæ¯èŒãããšæããã§ãã
åå°ã XNUMX çš®é¡ã®è¡šçŸã ãã§éåžžã«ç°¡åã«è¡ãããã®ã¯èå³æ·±ãããšã§ãã
ããããC èšèªã®ææ°ã®èª¬æ (1978 幎以é) ã«ã¯ãèšèªå šè¬ã説æããããããŸãã¯ç¹ã«ãªãã¬ã¯ã·ã§ã³ ã¿ã¹ã¯ã«ã€ããŠèª¬æããããã®ååãªååã®ãªã¹ããå«ãŸããŠããŸããã ãããã£ãŠãç§ãã¡ã¯åµé åãçºæ®ããŠãããã®ååã玹ä»ããå¿ èŠããããŸãã
èšèã®éžæã¯æ£ç¢ºãã€æ確ã§ãªããã°ãªããŸããã ããã«ã¯ç¹å¥ãªã¢ãããŒããå¿ èŠã§ãããç°¡åã«è¡šçŸãããšãæ¯åœèªã®å³å¯ãªäœ¿çšã§ãã ã€ã®ãªã¹äººã«ãšã£ãŠã¯è±èªã§ãããããç§ãã¡ã¯ã€ã®ãªã¹äººã§ã¯ãããŸããã ããã§ãç§ãã¡ã¯æã£ãŠãããã®ã䜿ã£ãŠãã·ã¢èªã話ããŠã¿ãŸãããã
ãªãã¬ã¯ã·ã§ã³ã¯ XNUMX çš®é¡ã®åŒã«ãã£ãŠå®è¡ãããŸãã
- èšç® (HF) - ãªããžã§ã¯ãã®ããããã£ã®å€åãåæ ããŸãã ãªããžã§ã¯ãã®ããããã£ã¯æ°å€ã§è¡šçŸãããããããã£ã«å¯Ÿããã¢ã¯ã·ã§ã³ã¯æ°å€ã«å¯Ÿããã¢ã¯ã·ã§ã³ãã€ãŸãæäœã«ãªããŸãã
- åŸå± (Pch) - ã¢ã¯ã·ã§ã³ã®é åºã®å€æŽãåæ ããŸãã Pch ã®ååã¯è€åé³å£°æã§ãããããã»ãšãã©ã®ã¿ã€ãã® Pch ã¯åŸå±æ¥ç¶è©ãifãããotherwiseãããwhileãããforãã§å§ãŸããŸãã ä»ã®çš®é¡ã® PC ãããããè£å®ããŸãã
ãšããã§ãCèšââèªã®èšè¿°ã§ã¯èšç®åŒã«ååããªããåã«ãåŒããšåŒã°ããŠããã ãã ãšããããšãä¿¡ããããŸããïŒ ãã®åŸã¯ãåŸå±ã®çš®é¡ã«å¯Ÿããååãé¢é£ä»ããååšããªãããšããããŠå®éãäžè¬ã«ååãå®çŸ©ãäžè¬åãäžè¶³ããŠããããšã¯ããã¯ãé©ãã¹ãããšã§ã¯ãªããªããŸãã ããã¯ãæå㪠K/R (ãThe C LanguageããKernighan/Ritchieã1978 幎) ã説æã§ã¯ãªããèšèªã®äœ¿çšã«é¢ããã¬ã€ãã ããã§ãã
ãã ããèšèªã®èª¬æãå¿ èŠã§ãã ãããã£ãŠã圌ã¯æäŸãããŸã éå±€åããã°ã©ã èšèªäœç³».
3. 第 2 ç« ã¬ã€ã€ãŒã·ã¹ãã ã ããªãŒãC
説æã¯æ£ç¢ºãã€éåžžã«ç°¡æœã§ãªããã°ãªããŸããã ããã°ã©ã èšèªã®å Žåãæ£é¢ããã®èšè¿°ã¯é£ããã
ããã«ããã°ã©ã ããããŸãã ã¢ãžã¥ãŒã«ã§æ§æãããŠããŸãã ã¢ãžã¥ãŒã«ã¯ãµãã«ãŒãã³ãšã³ã¬ã¯ã·ã§ã³ (æ§é ) ã§æ§æãããŸãã ãµãã«ãŒãã³ã¯ã宣èšãèšç®ãåŸå±ãªã©ã®åã ã®åŒã§æ§æãããŸãã åŸå±ã«ã¯XNUMXçš®é¡ãã®çš®é¡ããããŸãã åŸå±ã¯ãµãã¬ãã«ãšãµãã«ãŒãã³ãæ¥ç¶ããŸãã åºåãããã€ããããŸãã ãã ãã宣èšã¯ãµãã«ãŒãã³ããµãã¬ãã«ã ãã§ãªããã¢ãžã¥ãŒã«ãã³ã¬ã¯ã·ã§ã³ã«ãå«ãŸããŸãã ãããŠãã»ãšãã©ã®è¡šçŸã¯èª¬æããã®ãéåžžã«é£ããåèªã§æ§æãããŠãããããéåžžã¯å ã®åèªãšæŽŸçåèªã® XNUMX ã€ã®ãªã¹ãã«åçŽã«èšèŒãããŠãããèšèªã®åŠç¿ãšäœ¿çšãéããŠæ £ããããšã«ãªããŸãã ããã«å¥èªç¹ããã®ä»ã®è¡šçŸãè¿œå ããŠã¿ãŸãããã
ãã®ãããªãã¬ãŒã³ããŒã·ã§ã³ã§ã¯ã誰ã誰ã®ç«å Žã«ç«ã£ãã®ããç解ããã®ã¯ç°¡åã§ã¯ãããŸããã
èšèªãèšè¿°ããããã®çŽæ¥çãªéå±€çã¢ãããŒãã¯éåžžã«è€éã«ãªããŸãã åããã©ãæ€çŽ¢ãè¡ããšãèšèªã®é³å£°ã®æ§è³ªãšåœä»€é¢ã«åºã¥ããèšèªã®èª¬æãåŸãããŸãã ãã®ããã«ããŠãã¡ã³ãã¬ãŒãšãã®åšæã·ã¹ãã ãšéšåçã«äžèŽããŠãå±€ã·ã¹ãã ãèªçããŸããã ãã©ã€ã åºçïŒ42 幎ïŒãã 1869 幎åŸã«å€æããããã«ããã®ã·ã¹ãã ã®åšææ§ã¯é»åçãªãã®ãšé¢é£ããŠããŸãã ã¬ã€ã€ãŒ (1911 幎ãååã®ããŒã¢ã»ã©ã¶ãã©ãŒãæš¡å)ã ãŸããLayered ã·ã¹ãã ãš Periodic ã·ã¹ãã ã¯ããã¹ãŠã®ãŠãããã XNUMX ããŒãžã«è¡šåœ¢åŒã§é 眮ãããŠãããšããç¹ã§äŒŒãŠããŸãã
èšèªåäœã®èª¬æã¯ç°¡æœã§ãè¡šçŸã 10 çš®é¡ããã®ä»ã®åäœã 8 çš®é¡ã®ã¿ã§ãæå³ãããèŠèŠçã«ãããããŸãã å察é¢ã«ããŠã¯çããã§ããã
èšèªåå 㯠6 ã€ã®ã¬ãã«ã«åãããŠããŸãã
- åäœ - ããŒãã«ã®è¡
- éšé - å±ã®ç¹å¥ãªã°ã«ãŒã (æåã®è¡ã®äžéš)
- å± - 现è (åè£ã®äž»èŠãªã¬ãã«)
- è¶ çš® - çš®ã®åºåãæå (ã¬ã¢ã¬ãã«)
- ã¿ã€ã - ã»ã«ã®äžéšãŸãã¯åå¥ã®åäœåŒ
- ãã¿ãŒã³ - åäœèªäœ (åèªã®ã¿)
ãµã³ãã«åèªã®èª¬æ èŸæž - åã XNUMX ã€ã®ã¬ãã«ã§æ§æãããå¥åã®ãµãã·ã¹ãã ã
C èšèªã®é³å£°ã³ã³ããŒãã³ãã¯éåžžã«æçœã§ãããããã§ã説æãã䟡å€ããããŸãã ããããèšèªã®ã³ãã³ãéšåã¯ã³ã³ãã€ã«å¶åŸ¡ã«æ£ç¢ºã«é¢é£ããŠããããã®éã« XNUMX çªç®ã®ã¿ã€ãã®ããã°ã©ã ã§ããã³ãã³ããäœæãããŸãã ããã§ãC èšèªã®æããšããµã€ãã£ã³ã°ãªåŽé¢ãã€ãŸãçŸããã«ã€ããŠèª¬æããŸãã
4. 以äžã®ç« ã ãã³ãµã ãªã·
C èšèªã¯çŸä»£ã®ããã°ã©ãã³ã°ã®åºç€ã§ãã ãªãïŒ ãŸã第äžã«ãã¹ããŒããžã®æ倧ã®å¯Ÿå¿ã«ãããã®ã§ãã 第äºã«ããã·ã³çªå·åŠçã®å¶éãèŠäºã«åé¿ããããã§ãã
ç¿æ°ã¯å ·äœçã«äœãææ¡ããã®ã§ããããïŒ ç»åãšã¬ã€ã€ãŒã
ãã€ã¡ãŒãžããšããèšèã¯ãã®ãªã·ã£èªã®ããããã¿ã€ãã-ãã¿ã€ããã«ç±æ¥ããè±èªã®ãã¿ã€ãããšããèšèã®ç¿»èš³ã§ãã ãã·ã¢èªã§ã¯ããã¿ã€ãããšããèšèã¯è¡šçŸãããŠããæŠå¿µã®åºç€ãäŒããŠããããããã«è£å©çãªæå³ã®ãã¿ã€ãããšæ··åãããŠããŸãã
åœåããã®ã€ã¡ãŒãžã¯çŽç²ã«æ©æ¢°èšç®ã®åé¡ã解決ããŠããŸãããããã®åŸããªããžã§ã¯ãèšèªèªçã®æ»èµ°è·¯ãšãªããŸããã
ãã®ã¬ã€ã€ãŒã¯ããã·ã³ã®åé¡ãšå¿çšã®åé¡ã®äž¡æ¹ã§ãããã«ããã€ãã®åé¡ã解決ããŸããã ãããã£ãŠãæ€èšã¯ã·ã³ã°ã«ã¿ã¹ã¯ã®ã€ã¡ãŒãžããå§ãŸãããã«ãã¿ã¹ã¯å±€ã«é²ã¿ãŸãã
æŽå²çããã°ã©ãã³ã°ã®äžå¿«ãªç¹åŸŽã® XNUMX ã€ã¯ãåºæ¬çãªæŠå¿µãå«ãã»ãšãã©ã®æŠå¿µãå®çŸ©ãªãã§äžããããŠããããšã§ãã ãããã°ã©ãã³ã°èšèªïŒå·ã®ååïŒã«ã¯æŽæ°åãšæµ®åå°æ°ç¹åããããŸã...ããããŠåœŒãã¯ããã«åŒã£æ»ããŸããã ãã¿ã€ããïŒç»åïŒãäœã§ããããå®çŸ©ããå¿ èŠã¯ãããŸãããèè èªèº«ããããå®å šã«ç解ããŠãããããæ確ã«ããããã«ããããé ããŠããããã§ãã å£ã«åºå®ãããšãææ§ã§åœ¹ã«ç«ããªãå®çŸ©ã«ãªã£ãŠããŸããŸãã å€æ¥èªã®åŸãã«é ãã®ã¯éåžžã«åœ¹ç«ã¡ãŸãããã·ã¢äººã®äœå®¶ã®å Žåã¯è±èª (ã¿ã€ã) ã®åŸããã€ã®ãªã¹äººã®å Žåã¯ãã©ã³ã¹èª (ãµãã«ãŒãã³)ãã®ãªã·ã£èª (ããªã¢ãŒãã£ãºã )ãã©ãã³èª (ã«ãã»ã«å)ããŸãã¯ãããã®çµã¿åãã (ã¢ããã㯠ããªã¢ãŒãã£ãºã ) ã®åŸãã«ãããŸãã
ããããããã¯ç§ãã¡ã®éåœã§ã¯ãããŸããã ç§ãã¡ãéžæããã®ã¯ãçŽç²ãªãã·ã¢èªã§ãã€ã¶ãŒãäžããå®çŸ©ã§ãã
ã€ã¡ãŒãž
ã€ã¡ãŒãž ã¯éã®åºæã®ååã§ããã1) éã®åºæã®ç¹æ§ãããã³ 2) éã«å¯Ÿããæäœã®éžæãå®çŸ©ããŸãã
ãã¿ã€ããïŒã¿ã€ãïŒãšããèšèã¯ãå®çŸ©ã®æåã®éšåãéã®åºæã®ç¹æ§ãã«å¯Ÿå¿ããŸãã ãããããã®ç»åã®äž»ãªæå³ã¯ XNUMX çªç®ã®éšåã«ãããŸãããéã«å¯ŸããæŒç®ã®éžæãã§ãã
C ã«ç»åãå°å ¥ããããã®éå§ç¹ã¯ãå ç®æŒç®ãªã©ã®éåžžã®èšç®ã§ãã
çŽ æ°åŠã§ã¯ãææžãã§æžããããã®ã§ãããå°å·ããããã®ã§ãããéåžžãæ°å€ãå®æ°ã§ãããšä»®å®ããŠãæ°å€ã®çš®é¡ãããŸãåºå¥ããŸããã ãããã£ãŠããããã®åŠçæäœã¯æ確ã§ãã
ãã·ã³ æ°åŠã§ã¯æ°å€ãæŽæ°ãšåæ°ã«å³å¯ã«åããŸãã ç°ãªãçš®é¡ã®æ°å€ã¯ãç°ãªãæ¹æ³ã§ã¡ã¢ãªã«ä¿åãããç°ãªãããã»ããµåœä»€ã«ãã£ãŠåŠçãããŸãã ããšãã°ãæŽæ°ãšåæ°ãå ç®ããåœä»€ã¯ãXNUMX ã€ã®ç°ãªãããã»ããµ ããŒãã«å¯Ÿå¿ãã XNUMX ã€ã®ç°ãªãåœä»€ã§ãã ãã ããæŽæ°ãšå°æ°ã®åŒæ°ãè¿œå ããã³ãã³ãã¯ãããŸããã
é©çšæžã¿ æ°åŠãã€ãŸã C èšèªã¯æ°å€ã®çš®é¡ãåé¢ããŸãããæŒç®ã¯çµã¿åãããŸããæŽæ°ãåæ°ã®å ç®ã¯ XNUMX ã€ã®ã¢ã¯ã·ã§ã³èšå·ã§èšè¿°ãããŸãã
ã³ã³ã»ãã ã€ã¡ãŒãžãæ確ã«å®çŸ©ãããšãä»ã® XNUMX ã€ã®ã³ã³ã»ããã«ã€ããŠæ確ã«è©±ãããšãã§ããŸãã å€ Ðž æäœ.
倧ãããšåäœ
å€ â åŠçãããŠããçªå·ã
æäœ â åæå€ïŒåŒæ°ïŒã®å€ãåŠçããŠãæçµçãªæ°å€ïŒåèšïŒãååŸããŸãã
倧ãããšåäœã¯çžäºã«é¢ä¿ããŠããŸãã ããããã®æäœã¯æ°å€çãªçµæããããããããéãšãªããŸãã ãããŠãåå€ã¯ããã»ããµ ã¬ãžã¹ã¿ãšã®éã§å€ã転éããçµæãã€ãŸãæŒç®ã®çµæã§ãã ãã®é¢ä¿ã«ãããããããéèŠãªããšã¯ãèŸæžã®ç°ãªãã»ã¯ã·ã§ã³ã§ 3 ã€ã®åèªãç¹°ãè¿ãããã«ãããããããããããå¥ã ã«èšè¿°ã§ããå¯èœæ§ã§ãããããã MAXNUMX ã§èµ·ãã£ãŠããããšã§ãã
æ©æ¢°çãªã¢ãããŒãã§ã¯ãããã°ã©ããŒã䜿çšãããã¹ãŠã®æ°å€ã次ã®ããã«åå²ããŸããã ããŒã О ããŒã¿ã 以åã¯ãäž¡æ¹ãšãæ°å€ã§ãããããšãã°ãã³ãã³ãã¯æ°å€ã³ãŒãã§èšè¿°ãããŠããŸããã ããããå¿çšèšèªã§ã¯ãã³ãã³ãã¯æ°åã§ã¯ãªããªãã èšè㧠О è¡åã®å åã æ°å€ãšããŠã¯ãããŒã¿ãã ããæ®ããŸããããã®ããã«åŒã³ç¶ããã®ã¯äžåçã§ãããªããªããæ©æ¢°ããæ°åŠã®èŠ³ç¹ãžã®ç§»è¡ã«ãããŠãæ°å€ã¯å ã®æ°å€ã§å²ãããéã ããã§ãïŒããŒã¿) ãšæåŸã® (å¿ é ïŒã ãäžæãªããŒã¿ããšããã®ã¯æãã«èãããã§ãããã
ãŸããããŒã ã¯æ°åŠçã¢ã¯ã·ã§ã³ãšãµãŒãã¹ ã¢ã¯ã·ã§ã³ã® XNUMX ã€ã®ã¿ã€ãã«åããããŸããã æ°åŠçã¢ã¯ã·ã§ã³ - æŒç®ã å ¬åŒã®å 容ã«ã€ããŠã¯åŸã»ã©èª¬æããŸãã
C èšèªã§ã¯ãéåžžã®çŽãšæ©æ¢°ã®æ確ãªæ°åŠçæŒç®ãã€ãŸãåäžã®æ°åŠçæŒç®ããã»ãŒäŸå€ãªãè€æ°ã«ãªããŸãã
è€æ°ã®æäœãšã¯ãç°ãªãã¿ã€ãã®åŒæ°ãšãæå³ãé¡äŒŒããç°ãªãã¢ã¯ã·ã§ã³ãæã€ãåãååã®è€æ°ã®æäœã§ãã
æŽæ°åŒæ°ã¯æŒç®å šäœã«å¯Ÿå¿ããå°æ°åŒæ°ã¯å°æ°æŒç®ã«å¯Ÿå¿ããŸãã ãã®éãã¯ãåŒ 1/2 ã®åèšã 0 ã§ã¯ãªã 0,5 ã«ãªãé€ç®æŒç®äžã«ç¹ã«é¡èã§ãã ãã®ãããªè¡šèšæ³ã¯çŽã®æ°åŠã®èŠåã«å¯Ÿå¿ããŠããŸããããC èšèªã¯ (Fortran ãšã¯ç°ãªã) èŠåã«åŸãããšã¯ããŸãããç¬èªã®èŠåã«åŸã£ãŠåäœããŸãã é©çšæžã¿ ã«ãŒã«ã
æŽæ°ãšåæ°ãæ··åšããå Žåãæ£ãããã®ã®ã¿ãå«ãŸããŸã åŒæ°ã®å€ããã£ã¹ããã â ããç»åããå¥ã®ç»åãžã®å€ã®éžæçå€æã 確ãã«ãæŽæ°ãšå°æ°ã足ããšçµæã¯å°æ°ã«ãªãã®ã§ãæŒç®ã®ã€ã¡ãŒãžã¯ åã æŽæ°ã®åŒæ°ãå°æ°å€ã«å€æããæäœã
ããã€ãã®æäœãæ®ã£ãŠããŸã è€æ°ãš ç¬èº«ã ãã®ãããªæŒç®ã¯ã3 ã€ã®ã¿ã€ãã®åŒæ°ãã€ãŸãé€ç®å°äœ - æŽæ°åŒæ°ãã¹ã¿ããã³ã° (ãããããšã®æŒç®) - èªç¶æŽæ°ã«å¯ŸããŠã®ã¿å®çŸ©ãããŸãã MaXNUMX ã¯ãæŒç®ãå®çŸ©ãããŠããç»åã瀺ãèšå· (#^) ã§æŒç®ã®å€é床ã瀺ããŸãã ããã¯éèŠã§ããããããŸã§ããããæäœã§èŠèœãšãããŠããç¹æ§ã§ãã
ãã¹ãŠã®é¢æ°ã¯ä»»æã®åäœæäœã§ãã äŸå€ã¯æŒç®åã§ã - æ¬åŒ§ä»¥å€ã®é¢æ°ãèšèªã«çµã¿èŸŒãŸããŠããŸã (ç¬èªã®æäœ)ã
宣äŒ
å®£äŒ - æäœã«äŒŽãã¢ã¯ã·ã§ã³ã
æäœãäž»ãªã¢ã¯ã·ã§ã³ãšèãããšãæäœãæäŸãããããšã¯ç°ãªã 1 ã€ã®ä»éãããã®ãåºå¥ã§ããŸãã ããã¯ã2) å€åå¶åŸ¡ãš XNUMX) åŸå±ã§ãã ãã®ã¢ã¯ã·ã§ã³ã¯ãšåŒã°ããŸã æŽå©.
ããã§è©±ãéžããããã°ã©ãã³ã°æç§æžã®ãã·ã¢èªç¿»èš³ã«ã€ããŠåå¥ã«è¿°ã¹ãå¿ èŠããããŸãã è¡åãèšé²ããããã®æ°ããåèªã K/R ã®ããã¹ãã«å°å ¥ãããŸãã ã¹ããŒãã¡ã³ã (åŒ) ã§ã¯ããã·ã³ ã³ãã³ãã®æŠå¿µãã1) æäœã2) 宣èšã3) åŸå± (ãå¶åŸ¡æ§æäœããšåŒã°ãã) ãšããããŸããŸãªã¢ã¯ã·ã§ã³ã«åå²ããããšããŸããã ãã®è©Šã¿ã¯ãã·ã¢èªã®ç¿»èš³è ã«ãã£ãŠåããããåŒãããæŒç®åããšããèšèã«çœ®ãæããããŸããã
- æ©æ¢°èªã®ãã³ãã³ãããšå矩ã«ãªã£ãŠããã
- ãè¡åã®å åããšãããã¬ãŒãºãšå矩ã§ããããšãå€æããŸããã
- ãŸããç¡å¶éã®æ°ã®è¿œå ã®å€ãåãåããŸããã ã€ãŸããè±èªã®èšäºãããŒããã®ãããªãã®ã«ãªã£ãŠããŸããŸããã
ä»éããã¢ã¯ã·ã§ã³ãæ€èšãããã æŽå©.
å¯å€å¶åŸ¡
å¯å€å¶åŸ¡ (UP) - å€æ°ã»ã«ã®äœæ/åé€ã
UE ã¯ãå€ã®ã€ã¡ãŒãžã瀺ããšããå¥ã®çç±ã§ãã§ã«æžã蟌ãŸããŠããå€æ°ã宣èšãããšãã«æé»çã«çºçããŸãã æ瀺çã«ç®¡çããããã¥ãŒã¯ XNUMX ã€ã ãã§ã è¿œå ã®å€æ° malloc() é¢æ°ãš free() é¢æ°ã䜿çšããŸãã
æé»çã¢ã¯ã·ã§ã³ã¯äœãæžãå¿ èŠããªããããæžãã®ã«äŸ¿å©ã§ãããç解ããã®ãããé£ãããèæ ®ã«å ¥ããŠè§£éããã®ãããé£ããããšã«æ³šæããŠãã ããã
æåº
æåº â ã¬ã€ã€ãŒã»ã¯ã·ã§ã³ãæ¥ç¶/ç¡å¹ã«ããŸãã
C èšèªã¯ãã¢ã»ã³ãã©ã®åŸå±ãšã¯ç°ãªããã¢ã¯ã·ã§ã³ã®é åºãå¶åŸ¡ããå¿çšçãªæ¹æ³ãæäŸããŸããã äž»éšïŒåŸå±ç¯ïŒãšåŸå±éšïŒäžäœã»ãµãã«ãŒãã³ç¯ïŒã«æ確ã«åããè€åé³å£°æãåæ ã»å±éããŸãã
宣èšãšæåºã¯ã©ã¡ããå®å šã«ã³ã³ã»ããã«åºã¥ããŠæ§ç¯ãããŠããŸã å±€.
å±€
å±€ ã¯ãéå®ãããåäžã¬ãã«ã®éžæçãªåŒã®ã»ããã§ãã
ãã®å±€ã¯ãæ瀺çããã³æé»çã«ããã€ãã®ã¿ã¹ã¯ãåæã«åŒãåããŸãã
- ããã°ã©ã ã®ç·šæ
- ååã®å¯èŠæ§ãïŒæé»çã«ïŒå¶éããã
- å€æ°ïŒã¡ã¢ãªã»ã«ïŒã®ç®¡çïŒæé»çïŒã
- åŸå±ã«é¢ããåŸå±ç¯ã®å®çŸ©ã
- é¢æ°ãšéžæã®å®çŸ©ãªã©ã
æ©æ¢°èªã«ã¯ã¬ã€ã€ãŒãšããæŠå¿µããªãã£ãã®ã§K/Rã«ãç»å ŽããŸããã§ããããããååšããªããã®ã§ããã°ãã®åŸã®æžç±ã§å°å ¥ããããšã¯ç°ç«¯ã§ããèªç±ææ³ãšãªããŸãã ãããã£ãŠãéåžžã«äŸ¿å©ã§éåžžã«æçœã§ããã«ãããããããã¬ã€ã€ãŒãšããæŠå¿µã¯ãŸã£ããç»å ŽããŸããã§ããã
ã¬ã€ã€ãŒããªããã°ãããã°ã©ã ã®ã¢ã¯ã·ã§ã³ãã«ãŒã«ã®å€ããç°¡æœãã€æ確ã«èª¬æããããšãã§ããŸããã ããšãã°ããªã XNUMX ã³ãã€ã«ãšããåçŽãª goto ã¯ãã¡ã§ãããªãããŒãª while ã¯è¯ãã®ããšããããšã§ãã ãã€ã¯ã¹ãã©ã®ããã«ãç¡åã«èªãããšããã§ããŸããïŒãããã°ã©ããŒã®ã¹ãã«ã¯ãããã°ã©ã å ã§ã® goto æã®åºçŸé »åºŠã«åæ¯äŸããé¢æ°ã§ãããã€ãŸããgoto ã䜿çšããã®ã¯ã€ã®ã ãã§ããæ£åœåã®ã¬ãã«ã¯ç¥ã§ãïŒã確ãã«ãããªãã®æ¬ãããã°ãããã¯ããã»ã©æãããããšã§ã¯ãããŸãããç§ãã¡ã¯äœã説æããå¿ èŠã¯ãããŸãããããã§ã«è¿°ã¹ãããã«ãããã¯ç§ãã¡ã®éåœã§ã¯ãããŸããã
ãšããã§ããã³ã»ãªãããŒã¯ãgoto ãšããè¡šçŸã«ã¯å¿ èŠæ§ãçŸããããªãã£ãã®ã§ããŸãã«ååã®ãªãæŠå¿µãæ€çŽ¢ããããã®éµãšã㊠goto ãæ®ãããã®ãšèããããŸãã ãããããªãããŒèªèº«ãäžããããªãã£ããèšèªã®æ°ããååã«ã€ããŠã®ã·ã³ãã«ã§ãããããã説æãå¿ èŠã§ããããã®æŠå¿µã¯ãŸãã«ãã®æŠå¿µã«åºã¥ããŠããŸããã å±€.
åå·®
åå·® â æ°ããååã®éåžžã®ããããã£ãå€æŽããŸãã
æãéèŠãªéžè±ã¯ãããã°ã©ã ã®ã¬ã€ã€ãŒ ããããã£ã«æ£ç¢ºã«é¢é£ããŠããããéçããšãã XNUMX ã€ã®åèªã§è¡šçŸãããŸãããã¬ã€ã€ãŒã®çš®é¡ããšã«ç°ãªãæå³ãæã¡ãŸãã
5. æçµç« ã é©çšèšèªã®å ±éæ§
å¿çšèšèªã¯ã æ¯å©ç㪠èšèªïŒç»åãããããå ¥åããããïŒã ãããã¯ãç»åã®æ瀺çãŸãã¯æé»çãªäœ¿çšã«åºã¥ããŠããŸãã ããã«ãããã§ãççŸãçããŸããæ瀺çãªã€ã¡ãŒãžã¯ç解ããããã§ãããå©äŸ¿æ§ã¯äœãããã®éãåæ§ã§ãã
ïŒããŒãã«ã¬ã€ã¢ãŠãããŸã çŽåãããŠããªããããããŒãã«ãåçã§ç€ºããŠããŸããïŒ
C 以éãå¿çšèšèªã®çºå±ã¯æ¯å©æ§ãé«ããæ¹åã«é²ã¿ãŸããã é«åºŠãªã€ã¡ãŒãžãç解ããããã«æãéèŠãªã®ã¯ãC ã®çŽç³»ã®åå«ã§ãã C++ èšèªã§ãã 圌ã¯ãéã«å¯Ÿããæäœã®ä»»æã®éžæã®ã¢ã€ãã¢ãéçºããæ°ããååã§ãããªããžã§ã¯ããåãåã£ãåæåŒã®éžæã«åºã¥ããŠãããå ·äœåããŸãã ãã ããC++ ã¯ãæ°ããã³ã¬ã¯ã·ã§ã³åãšããã«é¢é£ããã«ãŒã«ã®éè² è·ã«ãããC ã»ã©ç°¡æœã§è¡šçŸåãè±ãã§ã¯ãããŸããã ããŠãããªãŒããŒããŒããã«ã€ããŠã話ããŸãããã
ãªãŒããŒããŒããšããªã¢ãŒãã£ãºã
ããªãŒããŒããŒãããšããèšèã¯ã è€æ°ã®æäœ.
ãã·ã³ïŒã·ã¹ãã ïŒããã°ã©ã㌠è€æ°ã® ããã®èšå· (+) ã¯äœãæå³ããŸãã? æŽæ°ã®å ç®ãåæ°ã®å ç®ãããã«ã¯ã·ãã?! ç§ãã¡ã®æ代ã«ã¯ãããªé¢šã«æžããªãã£ãã®ã«ïŒã ãããã£ãŠãéžæãããåèªã«ã¯åŠå®çãªæå³åãïŒããããããããç²ãããïŒãå«ãŸããŸãã ã¢ããªã±ãŒã·ã§ã³ ããã°ã©ãã«ãšã£ãŠãè€æ°ã®æäœã¯åºç€ã§ãããC èšèªã®äž»èŠãªææã§ããéºç£ã§ãããããããŸãã«ãèªç¶ãªããšã§ãããããèªèãããŠããªãããšããããããŸãã
C++èšèªã®å Žå è€æ°ã® å ã®æäœã ãã§ãªããé¢æ° (åå¥ã®é¢æ°ãšã¯ã©ã¹ã«çµåãããã¡ãœãã) ã«ãæ¡åŒµãããŸããã è€æ°ã®ã¡ãœããã«ãããæ¡åŒµã¯ã©ã¹ã§ã¡ãœããããªãŒããŒã©ã€ãããæ©èœãè¿œå ãããŸãããããã¯æŒ ç¶ãšãããªã¢ãŒãã£ãºã ããšåŒã°ããŠããŸããã å€æ æ§ãšéè² è·ã®çµã¿åããã«ãããççºçãªæ··åç©ãçæããããçããšãã¢ãããã¯ããšãã XNUMX ã€ã®å€æ æ§ã«åãããŸããã ååãä»ããããŠããã«ãããããããããã ããç解ããããšã¯å¯èœã§ãã åºåãžã®éã¯å€åœäººã®ååã§èè£ ãããŠããŸãã
ããªãŒããŒããŒãããšãã圢åŒã®å®£èšã¯ã次ã®èšèã§ããé©åã«è¡šçŸãããŸãã è¿œå ã®ãç¥ãã â ç°ãªãã€ã¡ãŒãžã®åŒæ°ãæã€åãååã®é¢æ°ã®å®£èšãè¿œå ããŸãã
圢åŒã®å®£èšã¯ãããªã¢ãŒãã£ãºã ããšåŒã¶æ¹ãé©åã§ãã åçºè¡š â åãã€ã¡ãŒãžã®åŒæ°ãæã€åãååã®é¢æ°ã®æ°ããæ¡åŒµå±€å ã®éè€ãã宣èšã
ããããã°ãç°ãªãã€ã¡ãŒãžïŒåŒæ°ïŒã®åãã¡ãœãããç解ããã®ã¯ç°¡åã«ãªããŸãã è¿œå çºè¡šãããŸããããã㊠XNUMX ã€ã®ç»å - åçºè¡šããã.
ãã·ã¢èªã®èšèã決ããã
æ»èµ°è·¯
é«åºŠã«æ¯å©çãªèšèªã®æŠå¿µãæ€èšãããšãåºæ¬çãªæŠå¿µãæ確ã«å®çŸ©ããããšã®éèŠæ§ã確èªãããŸãã C ãæ£ããèšè¿°ããã°ãé«åºŠãªæ¯å©èšèªãç°¡åã«æ¥œããåŠã¶ããšãã§ããŸãã
ããã¯ç¹ã«éèŠã§ã æé»ã®é«åºŠã«æ¯å©çãªèšèª (PHPãJavaScript)ã 圌ãã«ãšã£ãŠããªããžã§ã¯ã (åæã€ã¡ãŒãž) ã®éèŠæ§ã¯ C++ ãããããã«é«ããªããŸãããã€ã¡ãŒãžã®æŠå¿µãã®ãã®ãæé»çã§ãšããã©ããã®ãªããã®ã«ãªããŸãã å©äŸ¿æ§ã®èŠ³ç¹ããã¯ã·ã³ãã«ã«ãªã£ãŠããŸãããç解ã®èŠ³ç¹ããã¯ããå°é£ã«ãªã£ãŠããŸãã
ãããã£ãŠãããã°ã©ãã³ã°èšèªã®åŠç¿ã¯ C èšèªããå§ããŠãC ãã¡ããªãŒã®èšèªãç»å Žããé åºã§åŠç¿ãé²ããå¿ èŠããããŸãã
èšèªã®èšè¿°ã«ã€ããŠãåæ§ã§ãã ããŸããŸãªèšèªã®åäœæ§å¥ã®ã»ããã¯ãC èšèªãšåãããC èšèªãããå°ãªãã§ãã åãšãµã³ãã«ã®æ°ã¯åæ¹åã§ç°ãªãå ŽåããããŸããC++ ã«ã¯ C ãããå€ãã®åããããŸãããJavaScript ã®åã¯å°ãªãã§ãã
MySQL èšèªã¯ç¹çã«å€ããŸãã å ±éç¹ã¯äœããªãããã«æããŸããã圌ã¯ãããªã§ãŒã·ã«ã«ãã£ãŠå®ç§ã«è¡šçŸãããŠããã圌ãç¥ãããšã¯ããéãç°¡åã«ãªããŸãã çŸä»£ã®ããã°ã©ãã³ã°ã®é£å ã§ãã Web ã«ãšã£ãŠã®éèŠæ§ãèãããšãããã¯éèŠãªããšã§ãã ãããŠãMySQL ããããšããã«ã¯ãä»ã® SQL ããããŸãã ãŸããããããçš®é¡ã® Fortran-Pascal-Python ã Matryoshka ãæã«å ¥ãããšããã«èšè¿°ãããŸãã
ãããã£ãŠãC èšèªã®å¿çšèšè¿°ãšããã«ç¶ãèšèªã®çµ±äžèšè¿°ãšããçŽ æŽãããããšãç§ãã¡ãåŸ ã£ãŠããŸãã ãç§ãã¡ã®ç®æšã¯æ確ã§ãããç§ãã¡ã®ä»»åã¯æ確ã§ãã åããåå¿ãã¡ïŒ ïŒåµã®ããã«é·ãç¶ãææããªããŒã·ã§ã³ã«å€ãããå šå¡èµ·ç«ïŒã
ããªãã®æèŠã¯çŽ°å¿ã®æ³šæãæã£ãŠè³ãåŸããå
¥ãå人圢ã®ãŠã§ããµã€ãã®äœæãžã®ããªãã®ååã«æè¬ã®æãè¡šããŸãã ãã®æ¬ã«é¢ããããå®å
šãªæ
å ±ã¯ãMatryoshka C ã«å·§åŠã«é ããã Web ãµã€ãã«ãããŸãã
åºæïŒ habr.com