home *** CD-ROM | disk | FTP | other *** search
Text File | 1979-12-31 | 49.4 KB | 1,378 lines |
-
-
- âïÇéÇ 3
-
-
- üδßΓαδ⌐ ßΓáαΓ »á¬ÑΓá Quick-C.
-
-
- 3.1. æΓαπ¬Γπαá »α«úαá¼¼δ ¡á ∩ºδ¬Ñ æê.
- 3.2. Ä»¿ßá¡¿∩.
- 3.3. ä¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá ¿ »«ñ¬½ετáѼδÑ Σá⌐½δ.
- 3.4. Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ.
- 3.5. Ä»ÑαáΓ«αδ, óδαáªÑ¡¿∩ ¿ «»Ñαᵿ¿.
- 3.6. Ä»¿ßá¡¿∩ Σπ¡¬µ¿⌐ ¿ «»αÑñѽѡ¿∩.
- 3.7. Ä»ÑαáΓ«αδ µ¿¬½á.
- 3.8. ôß½«ó¡δÑ «»ÑαáΓ«αδ ¿ «»ÑαáΓ«αδ »ÑαÑσ«ñá »« πß½«ó¿ε.
- 3.9. îáßß¿óδ ¿ ßΓ᫬¿.
- 3.10. ô¬áºáΓѽ¿.
- 3.11. ô¬áºáΓѽ¿ ¡á Σπ¡¬µ¿¿.
- 3.12. æΓαπ¬Γπαδ.
- 3.13. êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ óó«ñá-óδó«ñá.
- 3.14. êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ óó«ñá-óδó«ñá ó Σá⌐½.
- 3.15. Çαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ∩ºδ¬á æê.
-
-
- é ñá¡¡«⌐ â½áóÑ ñáεΓß∩ «ß¡«óδ »α«úαá¼¼¿α«óá¡¿∩ ¡á ∩ºδ¬Ñ æê ó ߪáΓ«⌐
- Σ«α¼Ñ. Ä¡á αáºαáí«Γá¡á ñ½∩ Γ«ú«, τΓ«íδ óδ ¬á¬ ¼«ª¡« ߬«αÑÑ ¡áτ὿
- »α«úαá¼¼¿α«óáΓ∞ ¡á ∩ºδ¬Ñ æê.
-
- ÅαÑñ»«½áúáÑΓß∩, τΓ« óδ πªÑ º¡á¬«¼δ ß »α«úαá¼¼¿α«ó᡿Ѽ ¡á ∩ºδ¬áσ
- Pascal ¿½¿ BASIC. àß½¿ óδ ∩ó½∩ÑΓÑß∞ áíß«½εΓ¡δ¼ ¡«ó¿τ¬«¼ ó
- »α«úαá¼¼¿α«óá¡¿¿, ñ½∩ ¿ºπτÑ¡¿∩ »α«úαá¼¼¿α«óá¡¿∩ ¿ ∩ºδ¬á æê óδ ¼«ªÑΓÑ
- «ñ¡«óαѼѡ¡« »«½∞º«óáΓ∞ß∩ ¬á¬ ñá¡¡«⌐ â½áó«⌐, Γᬠ¿ ¬¡¿úἿ,
- »ÑαÑτ¿ß½Ñ¡¡δ¼¿ ¡¿ªÑ.
-
- ä½∩ π߬«αÑ¡¿∩ ¿ºπτÑ¡¿∩ ¬áªñδ⌐ αáºñѽ ºá¡¿¼áÑΓ Γ«½∞¬« ñóÑ ßΓαá¡¿µδ.
- ÉáºñÑ½δ »αÑñßΓáó½Ñ¡δ ó »«α∩ñ¬Ñ ó«ºαáßΓá¡¿∩ ß½«ª¡«ßΓ¿ ¿ ó »«α∩ñ¬Ñ τáßΓ«Γδ
- ¿ß»«½∞º«óá¡¿∩ ó »α«úαá¼¼áσ ¡á ∩ºδ¬Ñ æê. ìá»α¿¼Ñα, «íº«α «»¿ßá¡¿⌐
- »ÑαѼѡ¡δσ »αÑñΦÑßΓóπÑΓ «íº«απ πß½«ó¡δσ «»ÑαáΓ«α«ó.
-
- èáªñδ⌐ αáºñѽ ß¡áτá½á «»αÑñѽ∩ÑΓ ¿ «»¿ßδóáÑΓ ñá¡¡πε ΓѼπ (¬á¬,
- ¡á»α¿¼Ñα, Σ«α¼áΓ¡δ⌐ óó«ñ/óδó«ñ), ºáΓѼ »ÑαÑσ«ñ¿Γ ¬ ¬αáΓ¬«⌐ ßσÑ¼Ñ ñá¡¡«⌐
- «»Ñαᵿ¿. èáªñδ⌐ αáºñѽ ºá¬á¡τ¿óáÑΓß∩ »α¿¼Ñα«¼ æê-»α«úαá¼¼δ ¿½¿
- »α«úαá¼¼¡«ú« ßÑú¼Ñ¡Γá, «ßóÑΘáεΘ¿¼ ñá¡¡πε ΓѼπ.
-
-
- ÉѬ«¼Ñ¡ñπѼ«Ñ ¿ºπτÑ¡¿Ñ ∩ºδ¬á æê.
-
- é ñá½∞¡Ñ⌐ΦѼ, óδ ¼«ªÑΓÑ αáí«ΓáΓ∞ ß ∩ºδ¬«¼ æê ß »«¼«Θ∞ε ß½ÑñπεΘÑ⌐
- ½¿ΓÑαáΓπαδ:
-
- - Hagcock, Les, Morris Krieger. "The C Primer, 2d ed." New York:
- McGraw-Hill, 1985 (Éπ¬«ó«ñßΓó« »« ∩ºδ¬π æê ñ½∩ ¡áτ¿¡áεΘ¿σ
- »α«úαá¼¼¿ßΓ«ó).
-
- - Kochan, Stephen. "Programming in C". Hasbrouck Heights, NJ:
- Hayden Book Company, Inc., 1983. (êßτÑα»δóáεΘÑÑ απ¬«ó«ñßΓó« »« ∩ºδ¬π æê
- ß ¡Ñ¬«Γ«αδ¼ »«úαπªÑ¡¿Ñ¼ ó ßαÑñπ UNIX).
-
- - Plum,Thomas. "Learning to Program in C". Cardiff, New Jersey:
- Plum Hall, Inc., 1983 (ÿ¿α«¬« ¿ºóÑßΓ¡«Ñ απ¬«ó«ñßΓó« »« »α«úαá¼¼¿α«óá¡¿ε
- ¡á ∩ºδ¬Ñ æê ñ½∩ ¬«½½ÑñªÑ⌐).
-
- - Schildt, Herbert. "C Made Easy". Berkely, CA: Osborne/McGraw-
- -Hill, 1985 (ò«α«ΦÑÑ óóÑñÑ¡¿Ñ ó ∩ºδ¬ æê ñ½∩ ΓÑσ, ¬Γ« πªÑ º¡áÑΓ BASIC).
-
- - *Waite, Mitchell, Stephen Prata and Donald Martin. "C Primer
- Plus". Indianopolis, IN: Howard W. Sams. Inc., 1984 (Å«½∞ºπεΘÑÑß∩
- ¡á¿í«½∞Φ¿¼ ß»α«ß«¼ óóÑñÑ¡¿Ñ ó ∩ºδ¬ æê).
- * àßΓ∞ απß߬¿⌐ »ÑαÑó«ñ ó ¿ºñáΓѽ∞ßΓóÑ "î¿α". Åα¿¼Ñτá¡¿Ñ »ÑαÑó«ñτ¿¬á.
-
-
- 3.1.æΓαπ¬Γπαá »α«úαá¼¼δ ¡á ∩ºδ¬Ñ æê.
-
- éßÑ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ æê ß«ñÑαªáΓ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá,
- «»¿ßá¡¿∩, «»αÑñѽѡ¿∩, óδαáªÑ¡¿∩, «»ÑαáΓ«αδ ¿ Σπ¡¬µ¿¿.
-
- -ä¿αÑ¬Γ¿óá »αÑ»α«µÑßß«αá.
-
- ä¿αÑ¬Γ¿óá »αÑ»α«µÑßß«αá-φΓ« ¬«¼á¡ñá »αÑ»α«µÑßß«αá ∩ºδ¬á æê (¬«Γ«αδ⌐
- áóΓ«¼áΓ¿τÑ߬¿ óδºδóáÑΓß∩ ¡á »Ñαó«¼ ΦáúÑ ¬«¼»¿½∩µ¿¿ »α«úαá¼¼δ). äóÑ
- ¡á¿¼í«½ÑÑ «íΘ¿σ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá-φΓ« ñ¿αÑ¬Γ¿óá #define, ¬«Γ«αá∩
- »«ñßΓáó½∩ÑΓ ΓѬßΓ ó¼ÑßΓ« ºáñá¡¡«ú« ¿ñÑ¡Γ¿Σ¿¬áΓ«αá, ¿ ñ¿αÑ¬Γ¿óá #include,
- ¬«Γ«αá∩ ó¬½ετáÑΓ ó »α«úαá¼¼π ΓѬßΓ ó¡ÑΦ¡Ñú« Σá⌐½á.
-
- -Ä»¿ßá¡¿∩.
-
- Ä»¿ßá¡¿Ñ πßΓá¡áó½¿óáÑΓ ¿¼Ñ¡á ¿ áΓα¿íπΓδ »ÑαѼѡ¡δσ, Σπ¡¬µ¿⌐ ¿ Γ¿»«ó,
- ¿ß»«½∞ºπѼδσ ó »α«úαá¼¼Ñ. ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó¡Ñ Σπ¡¬µ¿⌐
- ¿ ñÑ⌐ßΓóπεΓ «Γ ¬«¡µá «»¿ßá¡¿∩ ñ« ¬«¡µá Σá⌐½á. 﫬á½∞¡á∩ »ÑαѼѡ¡á∩
- «»¿ßδóáÑΓß∩ ó¡πΓα¿ Σπ¡¬µ¿¿ ¿ ñÑ⌐ßΓóπÑΓ «Γ ¬«¡µá «»¿ßá¡¿∩ ñ« ¬«¡µá
- Σπ¡¬µ¿¿.
-
- -Ä»αÑñѽѡ¿Ñ.
-
- Ä»αÑñѽѡ¿Ñ πßΓá¡áó½¿óáÑΓ ß«ñÑন¼«Ñ »ÑαѼѡ¡«⌐ ¿½¿ Σπ¡¬µ¿¿.
- Ä»ÑαÑñѽѡ¿Ñ Γá¬ªÑ «Γó«ñ¿Γ »á¼∩Γ∞, ΓαÑíπѼπε ñ½∩ »ÑαѼѡ¡δσ ¿ Σπ¡µ¿⌐.
-
- -éδαáªÑ¡¿Ñ.
-
- éδαáªÑ¡¿Ñ-φΓ« ¬«¼í¿¡áµ¿∩ «»Ñαᵿ⌐ ¿ «»Ñαá¡ñ«ó, ¬«Γ«α«Ñ »α¿¡¿¼áÑΓ
- Ññ¿¡ßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ.
-
- -Ä»ÑαáΓ«α.
-
- Ä»ÑαáΓ«αδ π»αáó½∩εΓ »«α∩ñ¬«¼ óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ æê.
-
- -öπ¡¬µ¿∩.
-
- öπ¡¬µ¿∩-φΓ« ¡áí«α «»¿ßá¡¿⌐, «»αÑñѽѡ¿⌐, óδαáªÑ¡¿⌐ ¿ «»ÑαáΓ«α«ó,
- ¬«Γ«α«Ñ óδ»«½¡∩ÑΓ «»αÑñѽѡ¡πε ºáñáτπ. ÆÑ½« Σπ¡¬µ¿¿ ºá¬½ετÑ¡« ó Σ¿úπα¡δÑ
- ߬«í¬¿. é ∩ºδ¬Ñ æê Σπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ 󽫪ѡδ ñαπú ó ñαπúá.
-
- -öπ¡¬µ¿∩ main (ú½áó¡á∩).
-
- éßÑ »α«úαá¼¼δ ¡á ∩ºδ¬Ñ æê, Γá¼ úñÑ ¡áτ¿¡áÑΓß∩ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ,
- ¿¼ÑεΓ Σπ¡¬µ¿ε ß ¿¼Ñ¡Ñ¼ main. ö¿úπα¡δÑ ß¬«í¬¿, ó ¬«Γ«αδÑ ºá¬½ετÑ¡« Γѽ«
- Σπ¡¬µ¿¿ main, «»αÑñѽ∩εΓ ¡áτὫ ¿ ¬«¡Ñµ »α«úαá¼¼δ.
-
- -Åα¿¼Ñα: Äß¡«ó¡á∩ ßΓαπ¬Γπαá æê-»α«úαá¼¼δ.
- /* ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá */
- #include <stdio.h> /* »«ñ¬½ετÑ¡¿Ñ ßΓá¡ñáαΓ¡«ú« ºáú«½«ó«τ¡«ú«
- Σá⌐½á æê */
- #define PI 3.14 /* «»αÑñѽѡ¿Ñ ß¿¼ó«½∞¡«⌐ ¬«¡ßΓá¡Γδ */
- float area; /* ú½«íá½∞¡«Ñ «»¿ßá¡¿Ñ */
- int square (int); /* »α«Γ«Γ¿» Σπ¡¬µ¿¿ */
- main()
-
-
- { /* ¡áτὫ Σπ¡¬⌐¿¿ main ¿ »α«úαá¼¼δ */
- int_radius squared; /* ½«¬á½∞¡«Ñ «»¿ßá¡¿Ñ */
- int radius = 3; /* «»¿ßá¡¿Ñ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ */
- radius_squared = square (radius); /* »ÑαÑñáτá º¡áτÑ¡¿∩ Σπ¡¬µ¿¿ */
- area = PI * radius_squared; /* «»ÑαáΓ«α »α¿ßóá¿óá¡¿∩ */
- printf ("area: %6.2f\n", area);
- } /* ¬«¡Ñµ Σπ¡¬µ¿¿ main ¿ »α«úαá¼¼δ */
- square (r) /* ºáú«½«ó«¬ Σπ¡¬µ¿¿ */
- int r_squared; /* «»¿ßá¡¿∩, ¿ºóÑßΓ¡δÑ Γ«½∞¬« */
- /* ñ½∩ Σπ¡¬µ¿¿ square */
- r_squared = r * r;
- return (r_squared); /* ó«ºóαáΓ º¡áτÑ¡¿∩ ó óδºδóáεΘÑÑ óδαáªÑ¡¿Ñ */
- }
-
-
- 3.2 Ä»¿ßá¡¿∩.
-
- Ä»¿ßá¡¿∩ πßΓá¡áó½¿óáεΓ ¿¼Ñ¡á ¿ Γ¿»δ »ÑαѼѡ¡δσ, á Γá¬ªÑ Γ¿»δ
- Σπ¡¬µ¿⌐, «»αÑñѽ∩ѼδÑ úñÑ-½¿í«.
-
- -æΓá¡ñáαΓ¡δÑ Γ¿»δ ñá¡¡δσ.
-
- ƒºδ¬ æê ¿¼ÑÑΓ ßΓá¡ñáαΓ¡δ⌐ ¡áí«α Γ¿»«ó ñá¡¡δσ, ¬πñá óσ«ñ∩Γ:
- ß¿¼ó«½∞¡δÑ (char), µÑ½δÑ (int) ¿ ß »½áóáεΘÑ⌐ Γ«τ¬«⌐ (float).
-
- -Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ ¿ Σπ¡¬µ¿⌐.
-
- ÅÑαѼѡ¡δÑ ß½ÑñπÑΓ «»¿ßáΓ∞ »ÑαÑñ ¿ß»«½∞º«ó᡿Ѽ ¿σ ó »α«úαá¼¼Ñ ¡á
- ∩ºδ¬Ñ æê. ÅÑαѼѡ¡δÑ ¡Ñ ñ«½ª¡δ íδΓ∞ «ñ¿¡á¬«ó« »α«¿¡¿µ¿á½¿º¿α«óá¡δ, ¡« ó
- «»ÑαáΓ«αáσ «»αÑñѽѡ¿∩ óδ ¼«ªÑΓÑ ºáñáΓ∞ ¿¼ ¡áτá½∞¡δÑ º¡áτÑ¡¿∩.
-
- öπ¡¬µ¿¿ ¼«úπΓ íδΓ∞ «»¿ßá¡δ ∩ó¡« »ÑαÑñ «»αÑñѽѡ¿Ñ¼ ¿σ ß«ñÑন¼«ú«.
- öπ¡¬µ¿¿, ó«ºóαáΘáεΘ¿Ñ ñá¡¡δÑ Γ¿»á, «Γ½¿τ¡«ú« «Γ int, ñ«½ª¡δ íδΓ∞ «»¿ßá¡δ
- »ÑαÑñ ¿ß»«½∞º«ó᡿Ѽ. üѺ ∩ó¡«ú« «»¿ßá¡¿∩ »Ñαóá∩ ßßδ½¬á ¡á ñá¡¡πε
- Σπ¡¬µ¿ε ó«ß»α¿¼ÑΓ ÑÑ ¬á¬ int.
-
- -櫺ñá¡¿Ñ ¡«óδσ ¡á¿¼Ñ¡«óá¡¿⌐ Γ¿»«ó ñá¡¡δσ.
-
- ä½∩ ß«ºñá¡¿∩ ¡«óδσ ¡á¿¼Ñ¡«óá¡¿⌐ Γ¿»«ó ñ½∩ πªÑ ßπΘÑßΓóπεΘ¿σ Γ¿»«ó
- ñá¡¡δσ ¿ß»«½∞ºπ⌐ΓÑ «»¿ßá¡¿Ñ typedef. Åα¿¼Ñ¡Ñ¡¿Ñ «»¿ßá¡¿⌐ typedef ¼«ªÑΓ
- ßñѽáΓ∞ »α«úαá¼¼δ í«½ÑÑ ¼«í¿½∞¡δ¼¿ ¿ ¡áñѪ¡δ¼¿.
-
- Ä»αÑñѽ∩Ѽδ⌐ Γ¿» ¼«ªÑΓ «í«º¡áτáΓ∞ Γ¿» «»Ñαᵿ¿, αáºαÑΦÑ¡¡«⌐ ß ñá¡¡«⌐
- »ÑαѼѡ¡«⌐ (¡á»α¿¼Ñα, ½«ú¿τÑ߬«⌐ «»Ñαᵿ¿). êß»«½∞Θπ⌐ΓÑ ¬½ετÑó«Ñ ß½«ó«
- typedef ñ½∩ ºáΘ¿Γδ óáΦ¿σ »α«úαá¼¼ ó »α«í½Ñ¼áσ »ÑαÑ¡«ß¿¼«ßΓ¿. Åα¿¼Ñ¡∩⌐ΓÑ
- «»¿ßá¡¿Ñ typedef ñ½∩ ΓÑσ Γ¿»«ó ñá¡¡δσ, ¬«Γ«αδÑ ∩ó½∩εΓß∩
- ¼áΦ¿¡¡«-ºáó¿ß¿¼δ¼¿. Æ«úñá, »α¿ »ÑαѼÑΘÑ¡¿¿ »α«úαá¼¼δ íπñπΓ ΓαÑí«óáΓ∞
- ¿º¼Ñ¡Ñ¡¿∩ Γ«½∞¬« «»¿ßá¡¿Ñ typedef. ìᬫ¡Ñµ, typedef ¼«ª¡« ¿ß»«½∞º«óáΓ∞
- ñ½∩ ½πτΦÑú« ñ«¬π¼Ñ¡Γ¿α«óá¡¿∩ óáΦÑ⌐ »α«úαá¼¼δ. ìá»α¿¼Ñα, Γ¿» ñá¡¡δσ
- "employee" (ß½πªáΘ¿⌐) ½ÑúτÑ »«¡∩Γ∞, τѼ τΓ«-Γ« «»¿ßá¡¡«Ñ ó ó¿ñÑ ß½«ª¡«⌐
- ßΓαπ¬Γπαδ. é ¡¿ªÑß½ÑñπεΘÑ⌐ Γáí½¿µÑ »α¿óÑñÑ¡δ ¡Ñ߬«½∞¬« Γ¿»¿τ¡δσ ¿¼Ñ¡
- typedef ¿ ß««ΓóÑΓßΓóπεΘ¿Ñ º¡áτÑ¡¿∩:
-
- ê¼∩ typedef ç¡áτÑ¡¿Ñ
-
-
- ulong ñ½¿¡¡«Ñ µÑ½«Ñ íѺ º¡á¬á
- bool µÑ½«Ñ (¿ß»«½∞ºπѼ«Ñ ñ½∩ πß½«ó¿⌐ ¡π½∞/¡Ñ ¡π½∞)
- string π¬áºáΓѽ∞ ¡á ß¿¼ó«½∞¡«Ñ º¡áτÑ¡¿Ñ
-
-
-
-
-
- -Åα¿¼Ñα: Ä»¿ßá¡¿∩ ¿ «»αÑñѽѡ¿∩ Γ¿»«ó ó ∩ºδ¬Ñ æê.
-
- #include <stdio.h>
- typedef unsigned long ulong; /* Γ¿»δ, «»αÑñѽ∩ѼδÑ »α«úαá¼¼¿ßΓ«¼ */
- typedef unsigned short ushort;
- typedef int bool;
- typedef char *string;
- /* typical function declaration:
- function name -- get_avg
- return value -- float
- expected parameters -- two integers
- */
- float get_avg (int, int); /* »α«Γ«Γ¿» Σπ¡¬µ¿¿ */
- main()
- {
- int matrix [3] [3]; /* «»¿ßá¡¿Ñ 2-σ ¼Ñα¡«⌐ ¼áΓα¿µδ */
- struct date { /* «»¿ßá¡¿Ñ ßΓαπ¬Γπαδ */
- int month;
- int day;
- int year;
- };
- /* «ñ¡áªñδ ß«ºñá¡¡δÑ, ¿¼Ñ¡á typedef ¼«úπΓ íδΓ∞ ¿ß»«½∞º«óá¡δ ó
- ñá½∞¡Ñ⌐ΦѼ */
- bool true = 1;
- string example string;
- example_string = "text";
- printf ("string: %s\n",exampleestring);
- printf ("bool: %d\n",true);
- }
-
-
-
- 3.3 ä¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá ¿ ó¬½ετáѼδÑ Σá⌐½δ.
-
- ÆÑ¬ßΓδ ó¡ÑΦ¡¿σ Σá⌐½«ó ¼«úπΓ íδΓ∞ ó¬½ετÑ¡δ ó æê-»α«úαá¼¼π »«ßαÑñßΓó«¼
- ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá #include. ÅαÑ»α«µÑßß«α áóΓ«¼áΓ¿τÑ߬¿ óδºδóáÑΓ ¡á
- »Ñαó«¼ ΦáúÑ ¬«¼»¿½∩µ¿¿. Ä¡ ¿¡ΓÑα»αÑΓ¿απÑΓ ñ¿αÑ¬Γ¿óδ »αÑ»α«µÑßß«αá ¿
- ºáΓѼ »«ßδ½áÑΓ ¬«¼»¿½∩Γ«απ ¼«ñ¿Σ¿µ¿α«óá¡¡δ⌐ æê-Σá⌐½.
-
- ä¿αÑ¬Γ¿óá #include ΓαÑíπÑΓ, τΓ«íδ »αÑ»α«µÑßß«α »«ñßΓáó¿½ ß«ñÑন¼«Ñ
- ó¡ÑΦ¡Ñú« Σá⌐½á ¡á ¼ÑßΓ« ßΓ᫬¿, ß«ñÑαªáΘÑ⌐ ñ¿αÑ¬Γ¿óπ.
-
- -çáú«½«ó«τ¡δÑ Σá⌐½δ ∩ºδ¬á æê.
-
- çáú«½«ó«τ¡δÑ æê-Σá⌐½δ «íδτ¡« ß«ñÑαªáΓ «íΘ¿Ñ »ÑαѼѡ¡δÑ ¿ «»¿ßá¡¿∩
- Σπ¡¬µ¿⌐. Æá¬¿Ñ Σá⌐½δ ¼«ª¡« ó¬½ετ¿Γ∞ ó ¿ßσ«ñ¡δ⌐ ΓѬßΓ »α«úαá¼¼δ, τΓ«íδ
- ¿ß»«½∞º«óáΓ∞ ß«ñÑαªáΘ¿Ñß∩ ó ¡¿σ »ÑαѼѡ¡δÑ ¿½¿ Σπ¡¬µ¿¿. é¡ÑΦ¡¿Ñ Σá⌐½δ,
- »«ñ¬½ετáѼδÑ ñ¿αÑ¬Γ¿ó«⌐ #include ¡«ß∩Γ Γá¬ªÑ ¡áºóá¡¿Ñ "ºáú«½«ó«τ¡δσ"
- Σá⌐½«ó, ¬«Γ«αδÑ ñ½∩ πñ«íßΓóá ¿¼ÑεΓ ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS αáßΦ¿αÑ¡¿Ñ
- .h.
-
- ä¿αÑ¬Γ¿óá #include-φΓ« ¬«¼á¡ñá »αÑ»α«µÑßß«αá. æ¿¼ó«½ # ñ«½ªÑ¡ íδΓ∞
- »Ñαóδ¼ º¡áτáΘ¿¼ ß¿¼ó«½«¼ ó ßΓ᫬Ñ. æΓα«¬á ¡Ñ ñ«½ª¡á ºá¬á¡τ¿óáΓ∞ß∩ Γ«τ¬«⌐
- ß ºá»∩Γ«⌐. ùáΘÑ óßÑú« ñ¿αÑ¬Γ¿óá #include ßΓáó¿Γß∩ ó ¡áτá½Ñ »α«úαá¼¼δ
- »ÑαÑñ Σπ¡¬µ¿Ñ⌐ main.
-
- êß»«½∞ºπ⌐ΓÑ ºáú«½«ó«τ¡δ⌐ Σá⌐½, τΓ«íδ σαá¡¿Γ∞ ¡á¿í«½ÑÑ τáßΓ«
- ¿ß»«½∞ºπѼδÑ «»αÑñѽѡ¿∩ ¿ «»¿ßá¡¿∩, ¿½¿ ¼áΦ¿¡¡«-ºáó¿ß¿¼δÑ ¬«¡ßΓá¡Γδ ó
- «ñ¡«¼ ¼ÑßΓÑ. Æá¬«⌐ Σá⌐½ π»α«ΘáÑΓ ºáñáτπ «íαáí«Γ¬¿ ¡áí«αá «»¿ßá¡¿⌐ ¿
- «»αÑñѽѡ¿⌐, ¿ß»«½∞ºπѼδσ ¡Ñ߬«½∞¬¿¼¿ ¿ßσ«ñ¡δ¼¿ »α«úαἼἿ.
-
- ü¿í½¿«ΓÑ¬á æê-»α«µÑñπα »Ñα¿«ñá óδ»«½¡Ñ¡¿∩ Γá¬ªÑ ¿ß»«½∞ºπÑΓ ó¡ÑΦ¡¿Ñ
- Σá⌐½δ ñ½∩ «»αÑñѽѡ¿⌐ ¿ «»¿ßá¡¿⌐. ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ í¿í½¿«ΓÑτ¡«⌐
- Σπ¡¬µ¿¿ ¬ æê-»α«úαá¼¼Ñ ñ«½ªÑ¡ íδΓ∞ »«ñ¬½ετÑ¡ ß««ΓóÑΓßΓóπεΘ¿⌐ ó¡ÑΦ¡¿⌐
- Σá⌐½.
-
-
-
- ô»αáó½Ñ¡¿Ñ »«¿ß¬«¼ »«ñ¬½ετáѼ«ú« Σá⌐½á.
-
- îáαΦαπΓ »«¿ß¬á «»αÑñѽ∩ÑΓß∩ Σ«α¼áΓ«¼ ó ñ¿αÑ¬Γ¿óÑ #include,
- ¿ß»«½∞ºπÑ¼δ¼ ñ½∩ ºáú«½«ó«τ¡«ú« Σá⌐½á.
-
- ÉáºαÑΦÑ¡δ Γα¿ ß½ÑñπεΘ¿σ Σ«α¼áΓá:
-
- - ôú½«óδÑ ß¬«í¬¿ «»αÑñѽ∩εΓ, τΓ« ó »Ñαóπε «τÑαÑñ∞ »«¿ß¬ ¡áτ¿¡á-
- ÑΓß∩ ó ¬áΓὫúáσ, ºáñá¡¡δσ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ¬«¼»¿½∩Γ«αá ¿
- ºáΓѼ »α«ñ«½ªáÑΓß∩ ó ßΓá¡ñáαΓ¡δσ ¬áΓὫúáσ, «»αÑñѽѡ¡δσ ó »Ñ-
- αѼѡ¡«⌐ ßαÑñδ »«ñ¬½ετáѼδσ Σá⌐½«ó. ôú½«óδÑ ß¬«í¬¿ ¼«ª¡« ¿ß»«-
- ½∞º«óáΓ∞ ñ½∩ «»αÑñѽѡ¿∩ ºáú«½«ó«τ¡δσ Σá⌐½«ó, »«ßΓáó½∩Ѽδσ ß
- ¬«¼»¿½∩Γ«α«¼.
-
- - äó«⌐¡δÑ ¬áóδτ¬¿ «í«º¡áτáεΓ, τΓ« »«¿ß¬ Σá⌐½«ó ¡áτ¿¡áÑΓß∩ ó ¬áΓá-
- ½«úÑ, ó ¬«Γ«α«¼ ¡áσ«ñ¿Γß∩ ¿ßσ«ñ¡δ⌐ Σá⌐½, ºáΓѼ ó ¬áΓὫúáσ, ºá-
- ñá¡¡δσ ó ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ¬«¼»¿½∩Γ«αá, ¿ ¡á¬«¡Ñµ, ó ßΓá¡ñáα-
- Γ¡δσ ¬áΓὫúáσ. äó«⌐¡δÑ ¬áóδτ¬¿ π»«ΓαÑí½∩Γ∞ ñ½∩ «í«º¡áτÑ¡¿∩
- Σá⌐½«ó, αáºαáí«Γá¡¡δσ »α«úαá¼¼¿ßΓ«¼.
-
- - ƒó¡«Ñ ¿¼∩ ¼áαΦαπΓá ºáñáÑΓß∩ ó ½εí«⌐ Σ«α¼Ñ (ó¡πΓα¿ ñó«⌐¡δσ ¬á-
- óδτѬ ¿½¿ πú½«óδσ ߬«í«¬), «¡« «»αÑñѽ∩ÑΓ Ññ¿¡ßΓóÑ¡¡δ⌐ ¼áαΦαπΓ
- ñ½∩ »«¿ß¬á Σá⌐½«ó.
-
- Åα¿¼Ñα: Å«ñ¬½ετÑ¡¿Ñ ó¡ÑΦ¡¿σ Σá⌐½«ó.
-
- #include <stdio.h> /* ßΓá¡ñáαΓ¡δÑ ºáú«½«ó«τ¡δÑ Σá⌐½δ »α«µÑñπα óó«ñá-
- -óδó«ñá ¿º ßΓá¡ñáαΓ¡«ú« ¬áΓὫúá */
- #include <mach.h> /* ºáú«½«ó«∩¡δ⌐ Σá⌐½ ¼áΓѼáΓ¿τÑ߬«⌐ Σπ¡¬µ¿¿ */
- #include <graph.h> /* ºáú«½«ó«τ¡δ⌐ Σá⌐½ úαáΣ¿τÑ߬¿σ »α«µÑñπα */
- #include "local.h" /* ½«¬á½∞¡δ⌐ ºáú«½«ó«τ¡δ⌐ Σá⌐½ ¿ΘÑΓß∩ ó Γ«¼ ¬áΓá-
- ½«úÑ, ó ¬«Γ«α«¼ αáß»«½«ªÑ¡ ¿ßσ«ñ¡δ⌐ ¬«ñ */
- #include "c:\test\math87.h" /* ºáñá¡¡δ⌐ Σá⌐½ ¿ΘÑΓß∩ Γ«½∞¬« ¡á ñ¿ß-
- ¬«ó«ñÑ C ¿ Γ«½∞¬« ó »«ñ¬áΓὫúÑ "test" */
- {
- /* Γѽ« æê-»α«úαá¼¼δ */
- }
-
-
-
- 3.4. Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ.
-
- éßÑ »ÑαѼѡ¡δÑ »ÑαÑñ ¿ß»«½∞º«ó᡿Ѽ ß½ÑñπÑΓ «»¿ßáΓ∞. Ä¡¿ ¡Ñ ñ«½ª¡δ
- íδΓ∞ »αÑñóáα¿Γѽ∞¡« »α«¿¡¿µ¿á½¿º¿α«óá¡δ. ìÑ¿¡¿µ¿á½¿º¿α«óá¡¡δÑ »ÑαѼѡ¡δÑ
- ß«ñÑαªáΓ ¡Ñ»αÑñ߬áºπѼδÑ º¡áτÑ¡¿∩.
-
- -Æ¿»δ ñá¡¡δσ.
-
- Ä»¿ßá¡¿∩ ß«ñÑαªáΓ ß»µ¿Σ¿¬áΓ«α Γ¿»á, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ß»¿ß«¬
- »ÑαѼѡ¡δσ, ñá¡¡«ú« Γ¿»á. ÅÑαѼѡ¡δÑ ó ß»¿ß¬Ñ ñ«½ª¡δ «Γñѽ∩Γ∞ß∩ ñαπú «Γ
- ñαπúá ºá»∩Γ묨.
-
- -Äí½áßΓ∞ ñÑ⌐ßΓó¿∩.
-
- îÑßΓ«»«½«ªÑ¡¿Ñ «»¿ßá¡¿∩ »ÑαѼѡ¡«⌐ «»ÑαÑñѽ∩ÑΓ ßΣÑαπ ó½¿∩¡¿∩
- »ÑαѼѡ¡«⌐.
-
- ⽫íá½∞¡δÑ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó¡Ñ Σπ¡¬µ¿⌐. è ¡¿¼ ¼«ª¡«
- «íαáΘáΓ∞ß∩ ¿º ½εí«ú« ¼ÑßΓá ó¡πΓα¿ ¿ßσ«ñ¡«ú« Σá⌐½á, ó ¬«Γ«α«¼ «¡¿
- «»¿ßá¡δ. Ä¡¿ Γá¬ªÑ ñ«ßΓπ»¡δ ¿º ñαπú¿σ ¿ßσ«ñ¡δσ ¼«ñπ½Ñ⌐. ⽫íá½∞¡δÑ
- »ÑαѼѡ¡δÑ «íδτ¡« «»¿ßδóáεΓß∩ ó ¡áτá½Ñ »α«úαá¼¼¡«ú« ΓѬßΓá »ÑαÑñ
- Σπ¡¬µ¿Ñ⌐ main ¿ »«ß½Ñ ñ¿αÑ¬Γ¿ó #include.
-
- 﫬á½∞¡δÑ »ÑαѼѡ¡δÑ «»¿ßδóáεΓß∩ ó¡πΓα¿ Σπ¡¬µ¿¿ ¿ ¿ºóÑßΓ¡δ Γ«½∞¬« ó
- Γ«⌐ Σπ¡¬µ¿¿, ó ¬«Γ«α«⌐ «¡¿ «»¿ßá¡δ.
-
- 﫬á½∞¡δÑ »ÑαѼѡ¡δÑ óßÑúñá «»¿ßδóáεΓß∩ ó ¡áτá½Ñ Σπ¡¬µ¿¿ »ÑαÑñ
- óδ»«½¡∩Ñ¼δ¼¿ «»ÑαáΓ«αἿ.
-
- -ÆαÑí«óá¡¿∩ ¬ »á¼∩Γ¿.
-
- ì¿ªÑ »α¿óÑñÑ¡δ ΓαÑí«óá¡¿∩ ¬ »á¼∩Γ¿ ñ½∩ «ß¡«ó¡δσ Γ¿»«ó ñá¡¡δσ:
-
- Æ¿» Åá¼∩Γ∞ ó íá⌐Γáσ ä¿á»«º«¡
-
- char 1 íá⌐Γ «Γ -128 ñ« 127
- int
- short 2 íá⌐Γá «Γ -32,768 ñ« 32,767
- long 4 íá⌐Γá «Γ -2,147,482,648 ñ« 2,147,482,647
- unsined char 1 íá⌐Γ «Γ 0 ñ« 255
- unsined
- unsined short 2 íá⌐Γá «Γ 0 ñ« 65,535
- unsined long 4 íá⌐Γá «Γ 0 ñ« 4,294,967,295
- float 4 íá⌐Γá «Γ +3.4E-38 ñ« 3.4E+38
- double 8 íá⌐Γ «Γ +1.7E-308 ñ« 1.7E+308
-
-
-
-
- ---------------------------------------------------------------------
-
- Åα¿¼Ñτá¡¿Ñ: àß½¿ ΓαÑí«óá¡¿∩ ¬ »á¼∩Γ¿ ¿½¿ ñ¿á»«º«¡ ¡Ñ «»αÑñѽѡδ,
- º¡áτ¿Γ «¡¿ ºáó¿ß∩Γ «Γ ¬«¡¬αÑΓ¡«ú« »α¿¼Ñ¡Ñ¡¿∩.
-
- ---------------------------------------------------------------------
-
- çáó¿ß∩Γ «Γ »α¿¼Ñ¡Ñ¡¿∩ Γ¿»δ int ¿ unsigned. ä½∩ ßѼÑ⌐ßΓóá
- ¼¿¬α«»α«µÑßß«α«ó 8086 ¿ 80286 Γ¿» int φ¬ó¿óá½Ñ¡ΓÑ¡ Γ¿»π short, á Γ¿»
- unsigned-Γ¿»π unsigned short.
-
- -ÉÑú¿ßΓα«óδÑ »ÑαѼѡ¡δÑ.
-
- ÉÑú¿ßΓα«óδÑ »ÑαѼѡ¡δÑ-φΓ« µÑ½«Ñ ¿½¿ π¬áºáΓѽ∞, σαá¡¿¼δÑ ó ¼áΦ¿¡¡«¼
- αÑú¿ßΓαÑ. Æá¬á∩ »á¼∩Γ∞ π߬«α∩ÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ »«ßαÑñßΓó«¼
- πóѽ¿τÑ¡¿∩ ߬«α«ßΓ¿ ñ«ßΓπ»á ¬ »ÑαѼѡ¡δ¼.
-
- àß½¿ ¡Ñ ¿¼ÑÑΓß∩ ßó«í«ñ¡δσ αÑú¿ßΓα«ó, «»¿ßá¡¿∩ Ñ íπñÑΓ ßñѽᡫ, ¡«
- αÑú¿ßΓα ¡Ñ íπñÑΓ ¿ß»«½∞º«óáΓ∞ß∩ ñ½∩ σαá¡Ñ¡¿∩.
-
- Åα¿¼Ñα: Ä»¿ßá¡¿∩ »ÑαѼѡ¡δσ.
- #include <stdio.h> /* ßΓá¡ñáαΓ¡δ⌐ ºáú«½«ó«τ¡δ⌐ æê-Σá⌐½ */
- float pi=3.14159; /* ú½«íá½∞¡«Ñ «»¿ßá¡¿Ñ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ */
- typedef unsigned short ushort /* unhort-φΓ« ΓÑ»Ñα∞ ß¿¡«¡¿¼ ñ½∩ Γ¿»á
- unsigned short */
- main()
- {
- int i = 0; /* ½«¬á½∞¡«Ñ «»¿ßá¡¿Ñ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ µÑ½«ú«
- (integer) */
- ushort limit; /* »ÑαѼѡ¡á∩ limit ¿¼ÑÑΓ Γ¿» ushort, τΓ« φ¬ó¿óá-
- ½Ñ¡Γ¡« unsigned short */
- register int j; /* σαá¡Ñ¡¿Ñ »ÑαѼѡ¡«⌐ j ó ¼áΦ¿¡¡«¼ αÑú¿ßΓαÑ */
- /* Γѽ« Σπ¡¬µ¿¿ main, ß½ÑñπεΘÑÑ ºá «»¿ßá¡¿∩¼¿ */
- }
-
-
- function1()
- {
- int x=47; /* «»¿ßá¡¿Ñ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ µÑ½«ú« X ¿ºóÑßΓ¡«ú«
- ⮫쪮
- ó¡πΓα¿ Σπ¡¬µ¿¿ function1 */
- ...Γѽ« Σπ¡¬µ¿¿ function1, ß½ÑñπεΘÑÑ ºá «»¿ßá¡¿∩¼¿.
-
-
- 3.5. Ä»ÑαáΓ«αδ, óδαáªÑ¡¿∩ ¿ «»Ñαᵿ¿.
-
- Ä»ÑαáΓ«α ∩ºδ¬á æê ß«ßΓ«¿Γ ¿º ¬½ετÑóδσ ß½«ó, π»αáó½∩εΘ¿σ »«α∩ñ¬«¼
- óδ»«½¡Ñ¡¿∩ »α«úαá¼¼δ, (Γᬿσ ¬á¬ for ¿½¿ while), óδαáªÑ¡¿⌐ ¿ ó맮ó«ó
- Σπ¡¬µ¿⌐. "éδαáªÑ¡¿Ñ" »αÑñßΓáó½∩ÑΓ ß«í«⌐ ¬«¼í¿¡áµ¿ε «»Ñαá¡ñ«ó ¿
- «»Ñαᵿ⌐, ¬«Γ«αδÑ »α¿ óδτ¿ß½Ñ¡¿¿ ñáεΓ Ññ¿¡ßΓóÑ¡¡«Ñ º¡áτÑ¡¿Ñ. "Ä»Ñαᵿ∩"
- »«¬áºδóáÑΓ, ¬á¬¿Ñ ñÑ⌐ßΓó¿∩ »α«¿ºó«ñ¿Γ∞ ß «»Ñαá¡ñἿ. "Ä»Ñαá¡ñ"-φΓ«
- ¬«¡ßΓá¡Γá, ½¿í« »ÑαѼѡ¡á∩, óσ«ñ∩Θá∩ ó óδαáªÑ¡¿Ñ.
-
- -ö«α¼áΓ «»ÑαáΓ«αá.
-
- éßÑ «»ÑαáΓ«αδ ºá¬á¡τ¿óáεΓß∩ Γ«τ¬«⌐ ß ºá»∩Γ«⌐. ìá «ñ¡«⌐ ßΓα«¬Ñ ¼«úπΓ
- íδΓ∞ αẼÑΘÑ¡δ ñóá ¿½¿ í«½ÑÑ «»ÑαáΓ«α«ó, αáºñѽѡ¡δσ ñó«ÑΓ«τ¿∩¼¿.
- ìπ½Ñó«⌐ «»ÑαáΓ«α ß«ßΓ«¿Γ ¿º «ñ¡«⌐ Γ«τ¬¿ ß ºá»∩Γ«⌐.
-
- -æ«ßΓáó¡δÑ «»ÑαáΓ«αδ.
-
- æ«ßΓáó¡δÑ «»ÑαáΓ«αδ-φΓ« ¡áí«α ¡Ñ߬«½∞¬¿σ «»ÑαáΓ«α«ó, ºá¬½ετÑ¡¡δσ ó
- Σ¿úπα¡δÑ ß¬«í¬¿ { }. æ«ßΓáó¡«⌐ «»ÑαáΓ«α ¼«ªÑΓ ¡áσ«ñ¿Γ∞ß∩ Γá¼ ªÑ, úñÑ ¿
- «íδτ¡δ⌐ «»ÑαáΓ«α. Å«ß½Ñ Σ¿úπα¡«⌐ ߬«í¬¿ ¡Ñ ΓαÑíπÑΓß∩ Γ«τ¬¿ ß ºá»∩Γ«⌐.
- æ«ßΓáó¡«⌐ «»ÑαáΓ«α ¿ºóÑßΓÑ¡ Γá¬ªÑ »«ñ ¡áºó᡿Ѽ "í½«¬".
-
- -éδαáªÑ¡¿∩.
-
- éδαáªÑ¡¿∩ ß«ßΓ«∩Γ ¿º «»Ñαᵿ¿ ¿ ÑÑ «»Ñαá¡ñ«ó. éδαáªÑ¡¿Ñ ¼«ªÑΓ
- ¡áσ«ñ¿Γ∞ß∩ óѺñÑ, úñÑ αáºαÑΦÑ¡« »«∩ó½Ñ¡¿Ñ º¡áτÑ¡¿∩. ïεí«Ñ óδαáªÑ¡¿Ñ,
- ºá¬á¡τ¿óáεΘÑÑß∩ Γ«τ¬«⌐ ß ºá»∩Γ«⌐, ∩ó½∩ÑΓß∩ «»ÑαáΓ«α«¼.
-
- é ∩ºδ¬Ñ æê, »α¿ßóá¿óá¡¿∩ ßτ¿ΓáεΓß∩ óδαáªÑ¡¿∩¼¿.
-
- -Ä»Ñαᵿ∩ »α¿ßóá¿óá¡¿∩.
-
- Ä»Ñαᵿ∩ »α¿ßóá¿óá¡¿∩ «»αÑñѽ∩ÑΓ, τΓ« º¡áτÑ¡¿Ñ «»Ñαá¡ñá ß »αáó«⌐
- ßΓ«α«¡δ »«¼ÑΘáÑΓß∩ ó »á¼∩Γ∞ »« áñαÑßπ, ºáñáóáѼ«¼π «»Ñαá¡ñ«¼ ß ½Ñó«⌐
- ßΓ«α«¡δ.
-
- -Ä»Ñαᵿ¿.
-
- ƒºδ¬ æê »«ññÑনóáÑΓ í«½ÑÑ 40 «»Ñαᵿ⌐, ¡áτ¿¡á∩ «Γ «ß¡«ó¡δσ
- áα¿Σ¼ÑΓ¿τÑ߬¿σ «»Ñαᵿ⌐ ñ« ½«ú¿τÑ߬¿σ ¿ »«αáºα∩ñ¡δσ «»Ñαᵿ⌐. Ä»Ñαᵿ¿
- ∩ºδ¬á æê ñáεΓ αѺπ½∞ΓáΓ, ¬«Γ«αδ⌐ ¼«ªÑΓ íδΓ∞ 󽫪ѡ ó¡πΓα∞ í«½∞Φ«ú«
- óδαáªÑ¡¿∩. Ä»Ñαᵿ¿ Γá¬ªÑ ¼«úπΓ íδΓ∞ «íΩÑñ¿¡Ñ¡δ ß «»ÑαáΓ«α«¼ »α¿ßó«Ñ¡¿∩
- (=) ñ½∩ Σ«α¼¿α«óá¡¿∩ ß«ßΓáó¡«ú« «»ÑαáΓ«αá »α¿ßóá¿óá¡¿∩ ó ß½ÑñπεΘÑ⌐
- Σ«α¼Ñ:
-
- X+=Y;
-
- -ÅαÑ«íαẫóá¡¿∩ Γ¿»«ó.
-
- ƒó¡«Ñ »α¿óÑñÑ¡¿Ñ Γ¿»«ó ¼«ªÑΓ íδΓ∞ ßñѽᡫ ß »«¼«Θ∞ε «»Ñαᵿ¿
- »α¿óÑñÑ¡¿∩ (cast), ¬«Γ«αá∩ »αÑñßΓáó½∩ÑΓ ß«í«⌐ Γ¿», ºá¬½ετÑ¡¡δ⌐ ó ߬«í¬¿.
-
- é ¡¿ªÑß½ÑñπεΘѼ »ÑαѼѡ¡á∩ i (»αÑñóáα¿Γѽ∞¡« «»¿ßá¡¡á∩, ¬á¬ int)
- »αÑ«íαáºπÑΓß∩ ó Γ¿» float:
-
- (float)i
-
- -Ä»Ñαᵿ¿ »α¿αáΘÑ¡¿∩ ¿ π¼Ñ¡∞ΦÑ¡¿∩.
-
- Ä»Ñαᵿ¿ »α¿αáΘÑ¡¿∩ (++) ¿ π¼Ñ¡∞ΦÑ¡¿∩ (--) ¿ß»«½∞ºπεΓß∩ ñ½∩
- πóѽ¿τÑ¡¿∩ ¿ π¼Ñ¡∞ΦÑ¡¿∩ º¡áτÑ¡¿⌐ »ÑαѼѡ¡δσ, ß««ΓóÑΓßΓóÑ¡¡«. äá¡¡δÑ
- «»Ñαᵿ¿ ¿ß»«½∞ºπεΓß∩ ½¿í« ó »αÑΣ¿¬ß¡«¼, ½¿í« ó »«ßΓΣ¿¬ß¡«¼ ó¿ñÑ. é
- »αÑΣ¿¬ß¡«¼ ó¿ñÑ, «»Ñαá¡ñ πóѽ¿τ¿óáÑΓß∩ ¿½¿ π¼Ñ¡∞ΦáÑΓß∩, ¿ Ñú« ¡«ó«Ñ
- º¡áτÑ¡¿Ñ-φΓ« αѺπ½∞ΓáΓ óδαáªÑ¡¿∩. é »«ßΓΣ¿¬ß¡«⌐ Σ«α¼Ñ, ¡Ñ¼Ññ½Ñ¡¡δ⌐,
- αѺπ½∞ΓáΓ óδαáªÑ¡¿∩-φΓ« º¡áτÑ¡¿Ñ «»Ñαá¡ñá ñ« Γ«ú«, ¬á¬ «¡ πóѽ¿τ¿½ß∩ ¿½¿
- π¼Ñ¡∞Φ¿½ß∩.
-
- êß»«½∞ºπ⌐ΓÑ φΓ¿ «»Ñαá¡ñδ, ¬á¬ «»¿ßá¡« ¡¿ªÑ:
- if (i-->0) /* i ßαáó¡¿óáÑΓß∩ ß ¡π½Ñ¼, ºáΓѼ i π¼Ñ¡∞ΦáÑΓß∩ */
- printf ("ßαáó¡¿óáÑΓß∩, ºáΓѼ π¼Ñ¡∞ΦáÑΓß∩");
- if (--i>0) /* i π¼Ñ¡∞ΦáÑΓß∩, ºáΓѼ ßαáó¡¿óáÑΓß∩ ß ¡π½Ñ¼ */
- printf ("π¼Ñ¡∞ΦáÑΓß∩, ºáΓѼ ßαáó¡¿óáÑΓß∩")
-
- -Åα¿¼Ñαδ: ìѬ«¼¼Ñ¡Γ¿α«óá¡¡δÑ æê-óδαáªÑ¡¿∩.
- while ((c=getchar())!=EOF)
-
- Åα¿¼Ñα, »α¿óÑñÑ¡¡δ⌐ óδΦÑ, ∩ó½∩ÑΓß∩ 󽫪ѡ¡δ¼ óδαáªÑ¡¿Ñ¼, óδºδóáÑΓ
- Σπ¡¬µ¿ε getchar, ¬«Γ«αá∩ ó«ºóαáΘáÑΓ µÑ½«Ñ. çáΓѼ, αѺπ½∞ΓáΓ ºá»«¼¿¡áÑΓß∩
- ó »ÑαѼѡ¡«⌐ C, ¿ ßαáó¡¿óáÑΓß∩ ß »ÑαѼѡ¡«⌐ EOF, τΓ« ñáÑΓ ó αѺπ½∞ΓáΓÑ
- ½¿í« "½«ª∞", ½¿í« "¿ßΓ¿¡¡π". äá¡¡δ⌐ αѺπ½∞ΓáΓ «»αÑñѽ∩ÑΓ, íπñÑΓ ½¿
- óδ»«½¡∩Γ∞ß∩ Γѽ« µ¿¬½á while.
-
- a=b=7;
-
- é ñá¡¡«¼ ñó«⌐¡«¼ «»ÑαáΓ«αÑ »α¿ßóá¿óá¡¿∩, º¡áτÑ¡¿Ñ 7 ºá»«¼¿¡áÑΓß∩ ó
- »ÑαѼѡ¡«⌐ b, ºáΓѼ º¡áτÑ¡¿Ñ b (¬«Γ«α«Ñ αáó¡« 7) ºá»«¼¿¡áÑΓß∩ ó
- »ÑαѼѡ¡«⌐ a.
-
- x+=7;
- a<<=b;
-
- ÅÑαóδ⌐ ß«ßΓáó¡«⌐ «»ÑαáΓ«α πóѽ¿τ¿óáÑΓ x ¡á 7, óΓ«α«⌐ ß«ßΓáó¡«⌐
- «»ÑαáΓ«α ßñó¿úáÑΓ a ó½Ñó« ¡á b αáºα∩ñ«ó.
-
-
- 3.6. Ä»¿ßá¡¿Ñ ¿ «»αÑñѽѡ¿Ñ Σπ¡¬µ¿⌐.
-
- Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿ πßΓá¡áó½¿óáÑΓ Γá¬¿Ñ áΓα¿íπΓδ Σπ¡¬µ¿¿, ¬á¬ ¿¼∩,
- «ª¿ñѼδÑ áαúπ¼Ñ¡Γδ ¿ Γ¿» ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩. Ä»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿
- «»αÑñѽ∩ÑΓ ÑÑ αÑá½∞¡«Ñ ß«ñÑন¼«Ñ.
-
- -Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿.
-
- Ä»¿ßá¡¿Ñ Σπ¡¬µ¿¿ ß«ßΓ«¿Γ ¿º Γ¿»á ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩, ¿¼Ñ¡¿
- Σπ¡¬µ¿¿ ¿ ¡Ñ«í∩ºáΓѽ∞¡«ú« ß»¿ß¬á áαúπ¼Ñ¡Γ«ó. çáú«½«ó«¬ Σπ¡¬µ¿¿ ß«ßΓ«¿Γ
- ¿º Γ¿»á ñá¡¡δσ, ó«ºóαáΘáѼδσ Σπ¡¬µ¿⌐, ºá ¬«Γ«αδ¼ ß½ÑñπÑΓ ¿¼∩ Σπ¡¬µ¿¿ ¿
- ß»¿ß«¬ Σ«α¼á½∞¡δσ »áαá¼ÑΓα«ó. ÆÑ½« Σπ¡¬µ¿¿ ß«ßΓ«¿Γ ¿º ½«¬á½∞¡δσ «»¿ßá¡¿⌐
- ¿ ß«ßΓáó¡«ú« «»ÑαáΓ«αá (¿½¿ "í½«¬á"), ¬«Γ«αδ⌐ «»αÑñѽ∩ÑΓ, τΓ« ñѽáÑΓ
- ñá¡¡á∩ Σπ¡¬µ¿∩.
-
- -Æ¿»δ ó«ºóαáΘáѼδσ º¡áτÑ¡¿⌐.
-
- Æ¿» ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩ «»αÑñѽ∩ÑΓ, ¬á¬«⌐ Γ¿» ñá¡¡δσ ó«ºóαáΘáÑΓß∩
- ñá¡¡«⌐ Σπ¡¬µ¿¿. 髺óαáΘáÑ¼δ¼ Γ¿»«¼ ¼«ªÑΓ íδΓ∞ ½εí«⌐ Γ¿»- «íδτ¡«⌐
- ßΓαπ¬Γπαδ ¿½¿ ß¼Ñß∞, ¿ß¬½ετá∩ ¼áßß¿ó ¿½¿ Σπ¡¬µ¿ε. Æ¿» void «º¡áτáÑΓ, τΓ«
- Σπ¡¬µ¿∩ ¡Ñ ó«ºóαáΘáÑΓ ¡¿¬á¬«ú« º¡áτÑ¡¿∩.
-
- æΓá¡ñáαΓ¡δ⌐ Γ¿» ó«ºóαáΘáѼ«ú« º¡áτÑ¡¿∩-φΓ« int. éá¼ ¡Ñ ß½ÑñπÑΓ
- »¿ßáΓ∞ Σπ¡¬µ¿¿, ó«ºóαáΘáεΘ¿Ñ ßΓαπ¬Γπαπ ¿½¿ ß¼Ñß∞. Äúα«¼¡δ⌐ αẼÑα Γᬿσ
- ñá¡¡δσ ºá¼Ññ½∩ÑΓ óδ»«½¡Ñ¡¿Ñ »α«úαá¼¼δ.
-
- -滿߫¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ¿ »α«Γ«Γ¿»δ Σπ¡¬µ¿⌐.
-
- 滿߫¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó ó «»¿ßá¡¿¿ Σπ¡¬µ¿¿ «»αÑñѽ∩ÑΓ ñ½∩ ñá¡¡«⌐
- Σπ¡¬µ¿¿ ß»¿ß«¬ Γ¿»«ó áαúπ¼Ñ¡Γ«ó. Åα¿¼Ñ¡Ñ¡¿Ñ Γᬿσ ß»¿ß¬«ó Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó ¿ºóÑßΓ¡« Γá¬ªÑ ¬á¬ "ºáñá¡¿Ñ »α«Γ«Γ¿»«ó Σπ¡¬µ¿⌐". 滿߫¬ Γ¿»«ó
- áαúπ¼Ñ¡Γ«ó ß«ñÑαª¿Γ «ñ¿¡ ¿½¿ í«½ÑÑ ¡á¿¼Ñ¡«óá¡¿⌐ Γ¿»«ó, «»αÑñѽ∩εΘ¿σ
- Γ¿»δ, «ª¿ñáѼδÑ ñ½∩ ¬áªñ«ú« áαúπ¼Ñ¡Γá. êß»«½∞ºπ⌐ΓÑ Γá¬ªÑ Γ¿» void ñ½∩
- «í«º¡áτÑ¡¿∩ Γ«ú«, τΓ« ñá¡¡á∩ Σπ¡¬µ¿∩ ¡Ñ »α¿¡¿¼áÑΓ áαúπ¼Ñ¡Γ«ó.
-
- -ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ.
-
- ö«α¼á½∞¡δÑ »áαá¼ÑΓαδ ó «»¿ßá¡¿¿ Σπ¡¬µ¿¿ ∩ó½∩εΓß∩ »ÑαѼѡ¡δ¼¿,
- ¬«Γ«αδÑ »«½πτáεΓ º¡áτÑ¡¿∩ áαúπ¼Ñ¡Γ«ó, »ÑαÑñá¡¡δÑ Σπ¡¬µ¿¿.
-
- -ÅÑαÑñáτá áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿.
-
- éßÑ áαúπ¼Ñ¡Γδ (ºá ¿ß¬½ετÑ¡¿Ñ¼ ¼áßß¿ó«ó) »ÑαÑñáεΓß∩ º¡áτÑ¡¿Ñ¼. Æ«
- ÑßΓ∞ Σπ¡¬µ¿¿ »ÑαÑñáÑΓß∩ ¬«»¿∩ ñá¡¡«ú« áαúπ¼Ñ¡Γá (á ¡Ñ Ñú« áñαÑß). é
- αѺπ½∞ΓáΓÑ, æê-Σπ¡¬µ¿∩ ¡Ñ ¿º¼Ñ¡∩ÑΓ ß«ñÑন¼«Ñ »ÑαÑñá¡¡«⌐ Ñ⌐ »ÑαѼѡ¡«⌐.
- 꺼ѡ∩ÑΓß∩ φΓ« »αá󿽫 »ÑαÑñáτ¿ »áαá¼ÑΓαá º¡áτÑ¡¿Ñ¼ Γ«½∞¬« ¬«úñá
- áαúπ¼Ñ¡Γ, »ÑαÑñáóáѼδ⌐ Σπ¡¬µ¿¿-φΓ« áñαÑß. é φΓ«¼ ß½πτáÑ, π¬áºáΓѽ∞
- ¬«ßóÑ¡¡« αáºαÑΦáÑΓ Σπ¡¬µ¿¿ ¿º¼Ñ¡∩Γ∞ ß«ñÑন¼«Ñ »ÑαѼѡ¡«⌐ ß ñá¡¡δ¼
- áñαÑß«¼.
-
- Åα¿¼Ñα: Ä»¿ßá¡¿Ñ ¿ «»αÑñѽѡ¿Ñ Σπ¡¬µ¿¿.
- #include <stdio.h> /* «»¿ßá¡¿∩ ßΓá¡ñáαΓ¡δσ Σπ¡¬µ¿⌐ */
- #include <stdlib.h> /* ß«ñÑαª¿Γ «»¿ßá¡¿Ñ »α«Γ«Γ¿»á atof */
- typedef char *string;
- main()
- {
- string ascii_number;
- float float_number;
- ascii_number = "-6.02E-23";
- printf ("string: %s\n", ascii_number);
- /* ß½ÑñπεΘá∩ ßΓ᫬á úÑ¡Ñα¿απÑΓ »αÑñπ»αѪñáεΘÑÑ ß««íΘÑ¡¿Ñ ¬«¼»¿½∩-
- Γ«αá */
- float_number = atof(); /* ß½¿Φ¬«¼ ¼á½« áαúπ¼Ñ¡Γ«ó */
- float_number = atoy (ascii number); /* ¬«ααÑ¬Γ¡δ⌐ ó맮ó */
- printf ("number: %e'n", float_number);
- }
-
- Åα¿óÑñÑ¡¡á∩ óδΦÑ æê-»α«úαá¼¼á »«¬áºδóáÑΓ, ¬á¬ ¿ß»«½∞º½óá¡¿Ñ
- »α«Γ«Γ¿»á Σπ¡¬µ¿¿ ¼«ªÑΓ »αÑñπ»αÑñ¿Γ∞ óáß « ¡Ñ¬«ααÑ¬Γ¡«¼ ó맮óÑ
- Σπ¡¬µ¿¿. öπ¡¬µ¿∩ atof »αÑ«íαáºπÑΓ ß¿¼ó«½∞¡πε ßΓ᫬π ó τ¿ß½« ß
- »½áóáεΘÑ⌐ Γ«τ¬«⌐. Åα«Γ«Γ¿» Σπ¡¬µ¿¿ ß«ñÑαªáΘ¿⌐ß∩ ó Σá⌐½Ñ stdlib.h
- «»αÑñѽ∩ÑΓ, τΓ« Σπ¡¬µ¿∩ »α¿¡¿¼áÑΓ «ñ¿¡ áαúπ¼Ñ¡Γ.
-
-
- 3.7. Ä»ÑαáΓ«αδ µ¿¬½á.
-
- é ∩ºδ¬Ñ æê «»ÑαáΓ«αδ for ¿ while «íÑß»Ñτ¿óáεΓ ó«º¼«ª¡«ßΓ¿
- »«óΓα«αÑ¡¿∩ óδ»«½¡∩Ѽδσ «»ÑαáΓ«α«ó.
-
- -Ä»ÑαáΓ«α for.
-
- Ä»ÑαáΓ«α for ¿ß»«½∞ºπÑΓß∩ ñ½∩ »«óΓ«αÑ¡¿∩ ¬á¬«ú« ½¿í« «»ÑαáΓ«αá ¿½¿
- ß«ßΓáó¡«ú« «»ÑαáΓ«αá «»αÑñѽѡ¡«Ñ ¬«½¿τÑßΓó« αáº. Ä¡ ß«ßΓ«¿Γ ¿º ΓαÑσ
- τáßΓÑ⌐:
-
- 1. éδαáªÑ¡¿Ñ, ßΓáαΓπεΘÑÑ µ¿¬½ ( init-expr).
-
- 2. ÆÑ¬ßΓ«ó«Ñ óδαáªÑ¡¿Ñ (cond-expr), óδτ¿ß½∩Ѽ«Ñ »ÑαÑñ ¬áªñ«⌐
- ¿ΓÑαᵿÑ⌐.
-
- 3. éδαáªÑ¡¿Ñ µ¿¬½á (loop-expr), óδ»«½¡∩Ѽ«Ñ ó ¬«¡µÑ ¬áªñ«⌐ ¿ΓÑαᵿ¿.
-
- ö«α¼áΓ «»ÑαáΓ«αá for »α¿óÑñÑ¡ ¡¿ªÑ:
-
- for([init-expr];[cond-expr];[loop-expr])statement
-
- æ¡áτá½á óδτ¿ß½∩ÑΓß∩ init-expr. çáΓѼ, »«¬á óδτ¿ß½∩Ѽ«Ñ óδαáªÑ¡¿Ñ
- cond-expr ¡Ñ αáó¡« ¡π½ε, óδ»«½¡∩ÑΓß∩ «»ÑαáΓ«α statement. é ¬«¡µÑ µ¿¬½á
- óδτ¿ß½∩ÑΓß∩ óδαáªÑ¡¿Ñ loop-expr. èá¬ Γ«½∞¬« óδαáªÑ¡¿Ñ cond-expr »«½πτáÑΓ
- º¡áτÑ¡¿Ñ 0, π»αáó½Ñ¡¿Ñ »ÑαÑñáÑΓß∩ ¡á «»ÑαáΓ«α, ß½ÑñπεΘ¿⌐ ºá Γѽ«¼ µ¿¬½á
- for.
-
- èáªñ«Ñ óδαáªÑ¡¿Ñ ó «»ÑαáΓ«αÑ µ¿¬½á for ¼«ªÑΓ íδΓ∞ ½εíδ¼ ¬«ααÑ¬Γ¡δ¼
- óδαáªÑ¡¿Ñ¼ ∩ºδ¬á æê. ïεí«Ñ ¿º ΓαÑσ ¿½¿ óßÑ Γα¿ óδαáªÑ¡¿∩ ¼«úπΓ íδΓ∞
- «»πΘÑ¡δ. àß½¿ óδαáªÑ¡¿∩ «»πΘÑ¡δ, Γ«τ¬¿ ß ºá»∩Γ«⌐ ñ«½ª¡δ «ßΓáóáΓ∞ß∩.
- ìÑ߬«½∞¬« óδαáªÑ¡¿⌐ ¼«úπΓ íδΓ∞ »«¼ÑΘÑ¡δ ó «»ÑαáΓ«α for, ¡« ñ«½ª¡δ
- «Γñѽ∩Γ∞ß∩ ñαπú «Γ ñαπúá ºá»∩Γ묨. Æ¿»¿τ¡δ⌐ »α¿¼Ñα ¿ß»«½∞º«óá¡¿∩
- «ñ¡«óαѼѡ¡« ¡Ñ߬«½∞¬¿σ «»ÑαáΓ«α«ó-φΓ« ¿¡¿µ¿á½¿ºáµ¿∩ ¡Ñ߬«½∞¬¿σ º¡áτÑ¡¿⌐
- ó τáßΓ¿ init-expr µ¿¬½á for, ¬á¬ »«¬áºá¡« ¡¿ªÑ:
-
- for(i=1, j=1; i<=100; i++) /* ¿¡¿µ¿á½¿ºáµ¿∩ i ¿ j */
-
- -Ä»ÑαáΓ«α while.
-
- Ä»ÑαáΓ«α µ¿¬½á while ß«ßΓ«¿Γ ¿º ΓѬßΓ«ó«ú« óδαáªÑ¡¿∩ (test-expr),
- ¬«Γ«α«Ñ óδτ¿ß½∩ÑΓß∩ »ÑαÑñ Γѽ«¼ óδ»«½¡∩Ѽ«ú« µ¿¬½á. àß½¿ test-expr »α¿
- óδτ¿ß½Ñ¡¿¿ ñáÑΓ "½«ª∞", µ¿¬½ ¡¿¬«úñá ¡Ñ óδ»«½¡∩ÑΓß∩. ö«α¼áΓ «»ÑαáΓ«αá
- while ß½ÑñπεΘ¿⌐:
-
- while ([test-expr])
- statement
-
- ÆÑ½« µ¿¬½á while ß«ßΓ«¿Γ ¿º «»ÑαáΓ«αá ¿½¿ ß«ßΓáó¡«ú«
- «»ÑαáΓ«αá. àß½¿ ΓÑßΓ«ó«Ñ óδαáªÑ¡¿Ñ ñáÑΓ »α¿ óδτ¿ß½Ñ¡¿¿ "¿ßΓ¿¡π",
- Γѽ« µ¿¬½á óδ»«½¡∩ÑΓß∩ ñ« ΓÑσ »«α, »«¬á óδαáªÑ¡¿Ñ ¡Ñ ßΓá¡ÑΓ
- "½«ª¡δ¼".
-
- -Ĭ«¡τá¡¿Ñ αáí«Γδ «»ÑαáΓ«α«ó for ¿ while.
-
- Äíδτ¡«, «»ÑαáΓ«αδ for ¿ while ºáóÑαΦáεΓ αáí«Γπ, ¬á¬ Γ«½∞¬« ΓÑßΓ«ó«Ñ
- óδαáªÑ¡¿Ñ ó µ¿¬½Ñ »α¿¼ÑΓ º¡áτÑ¡¿Ñ "½«ª∞". àß½¿ ¡Ñ«íσ«ñ¿¼« »αÑαóáΓ∞ µ¿¬½
- αá¡∞ΦÑ, ¼«ª¡« ó«ß»«½∞º«óáΓ∞ß∩ «»ÑαáΓ«αἿ break, goto ¿½¿ return.
- Ä»ÑαáΓ«α continue »αÑαδóáÑΓ ¿¡ΓÑαᵿε íѺ óδσ«ñá ¿º µ¿¬½á ¿ »ÑαÑñáÑΓ
- ¬«¡Γα«½∞ ß½ÑñπεΘÑ⌐ ¿ΓÑαᵿ¿ «»ÑαáΓ«αá for ¿½¿ while.
-
-
- Åα¿¼Ñα: êß»«½∞º«óá¡¿Ñ µ¿¬½«ó for ¿ while.
- #include <stdio.h>
- main()
- {
- int i, done;
- printf ("table of squres (every sixth number)\n");
- printf ("\nfor loop\n");
- printf ("number\t\tsquare\n");
- for (i=0; i<=20; i+=6)
- printf ("%d\t\t%d\n",i, i*i);
- printf ("nwhile loop\n");
- printf ("number\t\tsquare\n");
- i = 0;
- while (i <= 20) {
- printf ("%d\t\t%d\n",i, i*i);
- i += 6;
- }
- printf ("nwhile (nonzero test expression version)\n");
- printf ("number\t\tsquare\n");
- i = 0;
- done = 0;
- while (!done) { /* íπñÑΓ óδ»«½¡∩Γ∞ß∩ »«¬á done ¡Ñ »«½πτ¿Γ
- º¡áτÑ¡¿Ñ 1 */
- printf ("%d\t\t%d\n",i, i*i);
- i += 6;
- if (i > 20)
- done = 1;
- }
- }
-
-
- Åα«úαá¼¼á, »α¿óÑñÑ¡¡á∩ óδΦÑ ¿ß»«½∞ºπÑΓ µ¿¬½δ for ¿ while ñ½∩
- óδτ¿ß½Ñ¡¿∩ Γáí½¿µδ ¬óáñαáΓ«ó ñ½∩ ¬áªñ«ú« 6-τ¿ß½á ¼Ñªñπ 0 ¿ 20.
-
-
- 3.8. ôß½«ó¡δÑ «»ÑαáΓ«αδ ¿ «»ÑαáΓ«αδ »ÑαÑσ«ñá »« πß½«ó¿ε.
-
- é ∩ºδ¬Ñ æê Σπ¡¬µ¿¿ πß½«ó¿⌐ ¿ »ÑαÑσ«ñ«ó óδ»«½¡∩εΓ «»ÑαáΓ«αδ if ¿
- switch.
-
- -Ä»ÑαáΓ«α if.
-
- àß½¿ ΓÑßΓ«ó«Ñ óδαáªÑ¡¿Ñ ó «»ÑαáΓ«αÑ if »«½πτáÑΓ º¡áτÑ¡¿Ñ "¿ßΓ¿¡á",
- óδ»«½¡∩ÑΓß∩ Γѽ« «»ÑαáΓ«αá if. é »α«Γ¿ó¡«¼ ß½πτáÑ, »α«úαá¼¼á
- »α«ñ«½ªáÑΓß∩ ß« ß½ÑñπεΘÑú« «»ÑαáΓ«αá. Ä»ÑαáΓ«α if ¼«ªÑΓ ¿¼ÑΓ∞ ΓᬪÑ
- «»ÑαáΓ«α¡πε ߬«í¬π else. Äñ¡á¬«, »«ß¬«½∞¬π ó ∩ºδ¬Ñ æê ¡ÑΓ ¬«¡ßΓαπ¬µ¿¿
- "else if", ñ½∩ ñ«ßΓ¿ªÑ¡¿∩ Γ«ú« ªÑ ßἫú« φΣΣѬΓá ¿ß»«½∞ºπ⌐ΓÑ ó½«ªÑ¡¡δÑ
- «»ÑαáΓ«αδ if. üѺ ∩ó¡«ú« π¬áºá¡¿∩, ∩ºδ¬ æê ß»áα¿óáÑΓ ¬áªñ«Ñ else ß
- í½¿ªá⌐Φ¿¼ »αÑñδñπΘ¿¼ if, ¬«Γ«α«¼π ¡Ñ σóáΓáÑΓ else. 諼»¿½∩Γ«απ íπñÑΓ
- "∩ß¡ÑÑ", Ñß½¿ óδ ºá¬½ετ¿ΓÑ úαπ»»π «»ÑαáΓ«α«ó ó Σ¿úπα¡δÑ ß¬«í¬¿.
- 쿪Ñß½ÑñπεΘ¿Ñ »α¿¼Ñαδ »«¬áºδóáεΓ Γ¿»¿τ¡δÑ «»ÑαáΓ«αδ if:
-
- if (x < 0)
- printf ("Square root operation invalid'n");
- if (x >= 0)
- {
- answer = sqrt (x);
- printf ("square root is: %6.2f\n", answer);
- }
-
-
- -Ä»ÑαáΓ«α switch.
-
- Ä»ÑαáΓ«α switch ºá¼Ñ¡∩ÑΓ í«½∞Φ«Ñ ¬«½¿τÑßΓó« 󽫪ѡ¡δσ ¬«¡ßΓαπ¬µ¿⌐ if
- ¿ else.
-
- Ä»ÑαáΓ«α switch »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ «»ÑαáΓ«απ ó¡πΓα¿ ßó«Ñú« Γѽá.
- ô»αáó½Ñ¡¿Ñ »ÑαÑσ«ñ¿Γ ¡á «»ÑαáΓ«α, ñ½∩ ¬«Γ«α«ú« ¬«¡ßΓá¡Γ¡«Ñ óδαáªÑ¡¿Ñ
- case ß««ΓóÑΓßΓóπÑΓ (µÑ½á∩ ½¿í« ß¿¼ó«½∞¡á∩ ¬«¡ßΓá¡Γá, ¿½¿ ¬«¡ßΓá¡Γ¡«Ñ
- óδαáªÑ¡¿Ñ) º¡áτÑ¡¿ε ΓÑßΓ«ó«ú« óδαáªÑ¡¿∩ «»ÑαáΓ«αá switch. éδ»«½¡Ñ¡¿Ñ
- ¡áτ¿¡áÑΓß∩ ß óδíαá¡¡«ú« «»ÑαáΓ«αá ¿ »α«ñ«½ñáÑΓß∩ ñ« ¬«¡µá ΓÑ½á «»ÑαáΓ«αá
- switch, ¿½¿ ñ« ΓÑσ »«α, »«¬á ¬á¬«⌐-½¿í« «»ÑαáΓ«α ¡Ñ »ÑαÑñáÑΓ π»αáó½Ñ¡¿Ñ
- ºá »αÑñÑ½δ «»ÑαáΓ«αá switch. ä½∩ »αÑαδóá¡¿∩ óδ»«½¡Ñ¡¿∩ «»αÑñѽѡ¡«⌐
- ß¿Γπᵿ¿ «»ÑαáΓ«αá switch ¿ß»«½∞ºπ⌐ΓÑ «»ÑαáΓ«α break. üѺ «»ÑαáΓ«αá
- break »α«úαá¼¼á »ÑαÑ⌐ñÑΓ ¬ ß½ÑñπεΘÑ⌐ ß¿Γπᵿ¿.
-
- Ä»ÑαáΓ«α default óδ»«½¡∩ÑΓß∩ ó Γ«¼ ß½πτáÑ, Ñß½¿ ß««ΓóÑΓßΓó¿∩
- ¬«¡ßΓá¡Γ¡«ú« óδαáªÑ¡¿∩ case ¿ ΓÑßΓ«ó«ú« óδαáªÑ¡¿∩ «»ÑαáΓ«αá switch ¡Ñ
- ßπΘÑßΓóπÑΓ. àß½¿ «»ÑαáΓ«α default «»πΘÑ¡, ¿ ¡Ñ ¡á⌐ñÑ¡« ß««ΓóÑΓßΓó¿∩
- ¬«¡ßΓá¡Γ¡«¼π óδαáªÑ¡¿ε case, ¡¿ «ñ¿¡ ¿º «»ÑαáΓ«α«ó ó ΓÑ½Ñ «»ÑαáΓ«αá
- switch ¡Ñ óδ»«½¡∩εΓß∩.
-
- ì¿¬á¬¿Ñ ñóÑ ¬«¡ßΓá¡Γδ case ó «ñ¡«¼ «»ÑαáΓ«αÑ switch ¡Ñ ¼«úπΓ ¿¼ÑΓ∞
- «ñ¿¡á¬«óδσ º¡áτÑ¡¿⌐. ì¿ªÑ »α¿óÑñÑ¡ »α¿¼Ñα ¿ß»«½∞º«óá¡¿∩ «»ÑαáΓ«αá
- switch.
-
- Åα¿¼Ñα:
- switch (i) {
- case 1:
- printf ("number 1\n");
- break; /* »α«ñ«½ªáÑΓß∩ »«ß½Ñ ºá¬αδóáεΘÑ⌐ Σ¿úπα¡«⌐
- ߬«í¬¿ */
- case 2:
- case 4:
-
-
- printf ("even'n"); /* óδ»«½¡∩ÑΓß∩, Ñß½¿ i==2 ¿½¿ i==4 */
- break; /* »α«ñ«½ªáÑΓß∩ »«ß½Ñ ºá¬αδóáεΘÑ⌐ Σ¿úπα¡«⌐ ߬«í¬¿ */
- default:
- /* »ÑτáΓáÑΓß∩, Ñß½¿ i ¡Ñ αáó¡« 1,2 ¿½¿ 4 */
- printf ("number not in our test list'n");
- }
-
- -Åα¿¼Ñα: êß»«½∞º«óá¡¿Ñ «»ÑαáΓ«α«ó if ¿ switch.
-
- #include <stdio.h>
- #include <ctype.h> /* ¡Ñ«íσ«ñ¿¼« ñ½∩ Σπ¡¬µ¿¿ »αÑ«íαẫóá¡¿∩
- toupper */
- main()
- {
- char response [10];
- char test_char;
- printf ("Please enter your response (yes/no/quit): ");
- scanf ("%s" response); /* Σ«α¼áΓ¡δ⌐ óó«ñ ó ßΓ᫬π */
- if (toupper(response[0]) == 'Q') { /* ΓÑßΓ ñ½∩ q */
- printf ("program exit\n"); /* óδ»«½¡¿Γ∞, Ñß½¿ αáó¡« q */
- exit(1);
- }
- switch (response[0]) { /* »ÑαѬ½ετáΓѽ∞ »« »Ñαó«¼π ß¿¼ó«½π */
- case 'y': /* ¼¡«ªÑßΓóÑ¡¡δÑ ¼ÑΓ¬¿ case */
- case 'n':
- printf ("lowercase y or as first letter\n");
- break;
- default:
- printf ("not a lowercase y or n as first letter\n");
-
-
- break;
- }
- test_char = toupper(response[0]); /* »αÑ«íαẫóá¡¿Ñ ó óÑασ¡¿⌐
- αÑú¿ßΓα */
- switch (test char) {
- case 'Y':
- printf ("Response is yes\n");
- break;
- case 'N':
- printf ("Response is no\n");
- break;
- default:
- printf ("Poease enter a yes or no\n");
- }
- }
-
-
- 3.9. îáßß¿óδ ¿ ßΓ᫬¿.
-
- "îáßß¿ó"-φΓ« ¡áí«α φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ «ñ¿¡«ú« Γ¿»á. "æΓ᫬á"-φΓ«
- ¼áßß¿ó ß¿¼ó«½«ó, «¬á¡τ¿óáεΘ¿⌐ß∩ ß¿¼ó«½∞¡δ¼ ¡π½Ñ¼ ('\0').
-
- -Æ¿»δ ¼áßß¿ó«ó.
-
- Äß¡«ó¡«⌐ Γ¿» φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá «»αÑñѽ∩ÑΓ ¿ Γ¿» ¼áßß¿óá. Æ¿» ¼áßß¿óá
- ¼«ªÑΓ íδΓ∞ ½εíδ¼, αáºαÑΦÑ¡¡δ¼ ó ∩ºδ¬Ñ æê, ó¬½ετá∩, Γᬠ¡áºδóáѼδÑ
- "áúαÑúáΓ¡δÑ" ¿½¿ ß«ßΓáó¡δÑ Γ¿»δ, ¡á»α¿¼Ñα ßΓαπ¬Γπαδ.
-
- -ÉẼÑΘÑ¡¿Ñ ó »á¼∩Γ¿ ¼áßß¿ó«ó.
-
- ¥½Ñ¼Ñ¡Γδ ¼áßß¿óá σαá¡∩Γß∩ ó »«ß½Ññ«óáΓѽ∞¡δσ «í½áßΓ∩σ »á¼∩Γ¿, »α¿τѼ
- »« ó«ºαáßΓá¡¿ε áñαÑß«ó «Γ »Ñαó«ú« φ½Ñ¼Ñ¡Γá ¬ »«ß½Ññ¡Ñ¼π. îáßß¿óδ
- σαá¡∩Γß∩ »« ßΓ᫬á¼. (Æ« ÑßΓ∞, ß¡áτá½á σαá¡∩Γß∩ óßÑ ¬«½«¡¬¿ »Ñαó«⌐
- ßΓ᫬¿, ºáΓѼ óßÑ ¬«½«¡¬¿ óΓ«α«⌐ ßΓ᫬¿ ¿ Γ.ñ.). ê¼∩ ¼áßß¿óá íѺ
- ߬«í«¬-φΓ« π¬áºáΓѽ∞ ¡á »Ñαóδ⌐ φ½Ñ¼Ñ¡Γ ¼áßß¿óá. ìáτá½∞¡δ⌐ φ½Ñ¼Ñ¡Γ
- ¼áßß¿óá ¿¼ÑÑΓ ¡«¼Ñα 0.
-
- -æΓ᫬¿.
-
- é ∩ºδ¬Ñ æê ßΓ᫬á-φΓ« ¼áßß¿ó ß¿¼ó«½«ó, «¬á¡τ¿óáεΘ¿⌐ß∩ »πßΓδ¼
- ß¿¼ó«½«¼ ('\0'). îáßß¿óδ, »αÑñßΓáó½∩εΘ¿Ñ ß«í«⌐ ßΓ᫬¿ ñ«½ª¡δ
- αѺÑαó¿α«óáΓ∞ »á¼∩Γ∞ ñ½∩ σαá¡Ñ¡¿∩ ¡π½Ñó«ú« «¬«¡τá¡¿∩.
-
- Åα¿¼Ñα: êß»«½∞º«óá¡¿Ñ ¼áßß¿ó«ó.
- #include <stdio.h> /* ßΓá¡ñáαΓ¡δ⌐ ºáú«½«ó«τ¡δ⌐ Σá⌐½ */
- typedef char *string; /* »ÑαÑ¿¼Ñ¡«óá¡¿Ñ Γ¿»á "char" ó Γ¿» "string"
- */
- int strlen (string); /* »α«Γ«Γ¿» Σπ¡¬µ¿¿ */
- /* «»¿ßá¡¿Ñ ¿ ¿¡¿µ¿á½¿ºáµ¿∩ ß¿¼ó«½∞¡«ú« ¼áßß¿óá test string */
- char test string [] = "This is a C string";
- main()
- {
- int x;
- x = strlen1 (test string);
- printf ("length (array method): %d\n",x);
- }
- /* óÑαß¿∩ strlen (¼áßß¿óá «»¿ßáΓѽ∩) */
-
-
- strlen1 (s)
- char s[];
- {
- int i = 0;
- while (s[i] != '\0')
- i++;
- return (i);
- }
-
- Åα«úαá¼¼á, »α¿óÑñÑ¡¡á∩ óδΦÑ, óδτ¿ß½∩ÑΓ ñ½¿¡π ßΓ᫬¿ »πΓѼ »«ñßτÑΓá
- ¬«½¿τÑßΓóá ß¿¼ó«½«ó ñ« ¡π½Ñó«ú« «¬«¡τá¡¿∩.
-
-
- 3.10. ô¬áºáΓѽ¿.
-
- ô¬áºáΓѽ∞-φΓ« »ÑαѼѡ¡á∩, ß«ñÑαªáΘá∩ ¼áΦ¿¡¡δ⌐ áñαÑß ñ½∩ ß«ºñá¡¿∩ ¿
- ¼á¡¿»π½∩µ¿¿ ßΓαπ¬ΓπαἿ ñá¡¡δσ, ñ¿¡á¼¿τÑ߬«ú« αẼÑΘÑ¡¿∩ »á¼∩Γ¿ ¿ ó맮óá
- Σπ¡¬µ¿¿ »«ßαÑñßΓó«¼ ßß佬¿.
-
- -櫺ñá¡¿Ñ π¬áºáΓѽÑ⌐.
-
- ô¬áºáΓѽ∞ ¼«ªÑΓ áñαÑß«óáΓ∞ «íΩÑ¬Γ ½εí«ú« Γ¿»á, ó¬½ετá∩ áúαÑúáΓ¡δÑ
- Γ¿»δ, Γá¬¿Ñ ¬á¬ ßΓαπ¬Γπαδ ¿½¿ ñáªÑ Σπ¡¬µ¿¿. ô¬áºáΓѽ∞ «»¿ßδóáÑΓß∩
- »«ßαÑñßΓó«¼ ¿¡ñ¿¬áΓ«αá (*), ßΓ«∩ΘÑú« »ÑαÑñ ¿¼Ñ¡Ñ¼ áñαÑßπѼ«ú« «íΩѬΓá,
- φëà º¡á¬ ¬«ßóÑ¡¡«ú« «íαáΘÑ¡¿∩ ¬ ñá¡¡δ¼ «º¡áτáÑΓ "π¬áºáΓ∞ ¡á". ô¬áºáΓѽ∞
- óßÑúñá ßßδ½áÑΓß∩ ¡á «íΩÑ¬Γ «»αÑñѽѡ¡«ú« Γ¿»á (Γ« ÑßΓ∞ «¡ ß«ñÑαª¿Γ áñαÑß
- º¡áτÑ¡¿∩ «»αÑñѽѡ¡«ú« Γ¿»á). ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ π¬áºáΓѽ¿ ß½ÑñπÑΓ
- »α«¿¡¿µ¿á½¿º¿α«óáΓ∞, »«ß¬«½∞¬π º¡áτÑ¡¿Ñ, ß«ñÑαªáΘ¿Ñß∩ ó
- ¡Ñ¿¡¿µ¿á½¿º¿α«óá¡¡δσ π¬áºáΓѽ∩σ, ¡Ñ»αÑñ߬áºπѼδ, ¿ ¡áóÑα¡∩¬á, »α¿óÑñπΓ ¬
- »α«í½Ñ¼á¼.
-
- ì¿ªÑ »α¿óÑñÑ¡δ ¡Ñ¬«Γ«αδÑ »α¿¼Ñαδ «»¿ßá¡¿∩ π¬áºáΓѽÑ⌐:
- int*intptr; /* π¬áºáΓѽ∞ ¡á Γ¿» int */
- char*name; /* π¬áºáΓѽ∞ ¡á Γ¿» char */
-
- -ÆαÑí«óá¡¿∩ ¬ »á¼∩Γ¿ ñ½∩ π¬áºáΓѽÑ⌐.
-
- 諽¿τÑßΓó« »á¼∩Γ¿, ΓαÑíπѼ«Ñ ñ½∩ αẼÑΘÑ¡¿∩ π¬áºáΓѽ∩-φΓ« ¬«½¿τÑßΓó«
- íá⌐Γ, ΓαÑíπѼδσ ñ½∩ ºáñá¡¿∩ ¼áΦ¿¡¡«ú« áñαÑßá. é ßѼÑ⌐ßΓóÑ
- ¼¿¬α«»α«µÑßß«α«ó 8086 "¬«α«Γ¬¿Ñ" π¬áºáΓѽ¿ ΓαÑíπεΓ 16 αáºα∩ñ«ó, á
- "ñ½¿¡¡δÑ" π¬áºáΓѽ¿-32 αáºα∩ñá.
-
- -Ä»ÑαáΓ«αδ ñ½∩ π¬áºáΓѽÑ⌐.
-
- æ¿¼ó«½ ºóѺñ«τ¬¿ (*)-φΓ« «»ÑαáΓ«α ¬«ßóÑ¡¡«ú« «íαáΘÑ¡¿∩ ¬ «íΩѬΓπ,
- ¬«Γ«αδ⌐ «º¡áτáÑΓ "π¬áºáΓ∞ ¡á ñá¡¡δÑ". æ¿¼ó«½ á¼»ÑαßÑ¡ñá (&)-φΓ« «»ÑαáΓ«α
- áñαÑßᵿ¿. àß½¿ «íΩѬΓπ »αÑñΦÑßΓóπÑΓ «»ÑαáΓ«α áñαÑßᵿ¿, Γ« φΓ«-áñαÑß,
- »« ¬«Γ«α«¼π σαá¡¿Γß∩ ñá¡¡δ⌐ «íΩѬΓ.
-
- -ô¬áºáΓѽ¿ ¿ Σπ¡¬µ¿¿.
-
- ô¬áºáΓѽ¿ «íÑß»Ñτ¿óáεΓ »ÑαÑñáτπ áαúπ¼Ñ¡Γ«ó Σπ¡¬µ¿¿ »« ßß佬Ñ. àß½¿
- Σπ¡¬µ¿¿ »ÑαÑñáεΓß∩ ¼áßß¿óπ, »ÑαÑñáÑΓß∩ Γ«½∞¬« áñαÑß ¡áτá½∞¡«ú« φ½Ñ¼Ñ¡Γá.
-
- -äÑ⌐ßΓó¿∩ ß π¬áºáΓѽ∩¼¿.
-
- æ π¬áºáΓѽ∩¼¿ αáºαÑΦáÑΓß∩ »α«¿ºó«ñ¿Γ∞ Γ«½∞¬« ¡Ñ¬«Γ«αδÑ ñÑ⌐ßΓó¿∩:
- ß½«ªÑ¡¿Ñ π¬áºáΓѽ∩ ¿ µÑ½«ú« τ¿ß½á (¡áαáΘ¿óá¡¿Ñ º¡áτÑ¡¿∩ π¬áºáΓѽ∩);
- óδτ¿Γá¡¿Ñ ¿º π¬áºáΓѽ∩ µÑ½«ú« τ¿ß½á ( π¼Ñ¡∞ΦÑ¡¿Ñ π¬áºáΓѽ∩); óδτ¿Γá¡¿Ñ
- ñóπσ π¬áºáΓѽÑ⌐ (óδτ¿Γá¡¿Ñ ¬«½¿τÑßΓóá φ½Ñ¼Ñ¡Γ«ó ¼Ñªñπ ¡¿¼¿); ßαáó¡Ñ¡¿Ñ
- ñóπσ π¬áºáΓѽÑ⌐.
-
- àß½¿ π¬áºáΓѽ∞ πóѽ¿τ¿óáÑΓß∩ ¿½¿ π¼Ñ¡∞ΦáÑΓß∩ ¡á Ññ¿¡¿µπ µÑ½«ú« Γ¿»á,
- ∩ºδ¬ æê ¿º¼Ñα∩ÑΓ º¡áτÑ¡¿Ñ φΓ«ú« µÑ½«ú« »« αẼÑαπ áñαÑßπѼ«ú« «íΩѬΓá.
- ¥Γ« úáαá¡Γ¿απÑΓ Γ«, τΓ« πóѽ¿τÑ¡¿Ñ ¡á Ññ¿¡¿µπ, ¡á»α¿¼Ñα, óßÑúñá íπñÑΓ
- π¬áºδóáΓ∞ ¡á ß½ÑñπεΘ¿⌐ φ½Ñ¼Ñ¡Γ ñá¡¡δσ, ¡Ñºáó¿ß¿¼« «Γ αẼÑαá φ½Ñ¼Ñ¡Γá.
-
- -Åα¿¼Ñα: öπ¡¬µ¿∩ ¿º¼ÑαÑ¡¿∩ ñ½¿¡δ ßΓ᫬¿ ß
- ¿ß»«½∞º«ó᡿Ѽ π¬áºáΓѽÑ⌐.
- /* óÑαß¿∩ strlen ß πóѽ¿τÑ¡¿Ñ¼ π¬áºáΓѽ∩ */
- strlen1 (s)
- char *s;
- {
- int i;
- for (i=0; *s != '\0'; s++) /* πóѽ¿τÑ¡¿Ñ π¬áºáΓѽ∩ »ÑαѼѡ¡«⌐ s */
- i++;
- return (i);
- }
- /* óÑαß¿∩ strlen ß óδτ¿Γ᡿Ѽ π¬áºáΓѽ∩ */
- strlen2 (s)
- char *s;
- {
- char *p = s; /* πßΓá¡«ó¬á p ñ½∩ áñαÑßᵿ¿ »Ñαó«ú« ß¿¼ó«½á s */
- while (*p != '\0')
- p++; /* »α«ñó¿ªÑ¡¿Ñ ¬ ß½ÑñπεΘѼπ ß¿¼ó«½π */
- return (p-s);
- }
-
-
- äóÑ Σπ¡¬µ¿¿, »α¿óÑñÑ¡¡δÑ óδΦÑ, ¼«úπΓ íδΓ∞ »«ñßΓáó½Ñ¡δ ¡á ¼ÑßΓ«
- Σπ¡¬µ¿¿ óδτ¿ß½Ñ¡¿∩ ñ½¿¡δ ßΓ᫬¿, «»¿ßδóáѼ«⌐ ó ÉáºñÑ½Ñ 3.9., "îáßß¿óδ ¿
- ßΓ᫬¿". é¼ÑßΓ« ¼áßß¿óá ñ½∩ óδτ¿ß½Ñ¡¿∩ ñ½¿¡δ ßΓ᫬¿, »ÑαÑñáóáѼ«⌐
- Σπ¡¬µ¿¿, φΓ¿ Σπ¡¬µ¿¿ ¿ß»«½∞ºπεΓ ñÑ⌐ßΓó¿∩ ß π¬áºáΓѽѼ.
-
-
- 3.11. ô¬áºáΓѽ¿ ¡á Σπ¡¬µ¿¿.
-
- ô¬áºáΓѽ∞ ¼«ªÑΓ íδΓ∞ «»¿ßá¡ ñ½∩ áñαÑßᵿ¿ ½εí«ú« ß½«ª¡«ú« «íΩѬΓá,
- ó¬½ετá∩ ßΓαπ¬Γπαπ ¿½¿ Σπ¡¬µ¿ε. êß»«½∞ºπ⌐ΓÑ π¬áºáΓѽ¿ ¡á Σπ¡¬µ¿¿ ñ½∩
- ß«ºñá¡¿∩ "α«ñ«óδσ" Σπ¡¬µ¿⌐, ¬«Γ«αδÑ ¼á¡¿»π½¿απεΓ ñá¡¡δ¼¿ ½εí«ú« Γ¿»á.
-
- -櫺ñá¡¿Ñ π¬áºáΓѽÑ⌐ ¡á Σπ¡¬µ¿¿.
-
- Ä»¿ßδóá⌐ΓÑ π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ¬á¬ »«¬áºá¡« ¡¿ªÑ:
-
- int(*number compare) ();
-
- Æ¿» »ÑαѼѡ¡«⌐ number compare-φΓ« "π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ¬«Γ«αá∩
- óδºóαáΘáÑΓ µÑ½«Ñ". æ¬«í¬¿ ó«¬απú *number compare «í∩ºáΓѽ∞¡δ. üѺ ¡¿σ,
- ∩ºδ¬ æê íπñÑΓ ¿ß»«½∞º«óáΓ∞ ßó«¿ »αáó¿½á »«α∩ñ¬á óδ»«½¡Ñ¡¿Ñ ñÑ⌐ßΓó¿⌐ ¿
- ¿¡ΓÑα»αÑΓ¿απÑΓ ßΓ᫬π, ¬á¬ «»¿ßá¡¿Ñ Σπ¡¬µ¿¿, ó«ºóαáΘáεΘÑ⌐ π¬áºáΓѽ∞ ¡á
- φ½Ñ¼Ñ¡Γ Γ¿»á int-τΓ« ß«óßѼ ¡Ñ Γ« ªÑ ßἫÑ.
-
- -êß»«½∞º«óá¡¿Ñ π¬áºáΓѽÑ⌐ ¡á Σπ¡¬µ¿¿.
-
- ìá¿í«½ÑÑ »α¿¡∩Γ«Ñ ¿ß»«½∞º«óá¡¿Ñ π¬áºáΓѽÑ⌐ ¡á Σπ¡¬µ¿¿-φΓ« »ÑαÑñáτá
- ¿σ, ¬á¬ áαúπ¼Ñ¡Γ«ó ñαπú¿σ Σπ¡¬µ¿⌐. ìá»α¿¼Ñα, í¿í½¿«ΓÑτ¡á∩ Σπ¡¬µ¿∩ qsort
- óδ»«½¡∩ÑΓ "íδßΓαπε ß«αΓ¿α«ó¬π" ¼áßß¿óá φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ. äá¡¡á∩ Σπ¡¬µ¿∩,
- ¬á¬ «ñ¿¡ ¿º ßó«¿σ áαúπ¼Ñ¡Γ«ó, »α¿¡¿¼áÑΓ π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ¬«Γ«αá∩
- óδ»«½¡∩ÑΓ αÑá½∞¡«Ñ ßαáó¡Ñ¡¿Ñ φ½Ñ¼Ñ¡Γ«ó ¼áßß¿óá. öπ¡¬µ¿∩ ßαáó¡Ñ¡¿∩ ¼«ªÑΓ
- ß«ñÑαªáΓ∞ «»Ñαᵿε ßαáó¡Ñ¡¿∩ ñ½∩ ½εí«ú« Γ¿»á ñá¡¡δσ. é αѺπ½∞ΓáΓÑ,
- Σπ¡¬µ¿∩ qsort ¼«ªÑΓ íδΓ∞ ¿ß»«½∞º«óá¡á ñ½∩ ß«αΓ¿α«ó¬¿ ¼áßß¿óá ½εí«ú«
- Γ¿»á. ÉÑá½∞¡«Ñ ßαáó¡Ñ¡¿Ñ óδ»«½¡∩ÑΓ Σπ¡¬µ¿∩, ºáñá¡¡á∩ »«½∞º«óáΓѽѼ, á ¡Ñ
- Σπ¡¬µ¿∩ qsort.
-
- æ π¬áºáΓѽ∩¼¿ ¡á Σπ¡¬µ¿ε ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Γ«½∞¬« «»ÑαáΓ«αδ
- »α¿ßó«Ñ¡¿∩, ßαáó¡Ñ¡¿∩ ¿ ¬«ßóÑ¡¡«ú« ¡á¿¼Ñ¡«óá¡¿Ñ (*); óßÑ ñαπú¿Ñ «»Ñαᵿ¿
- ¡Ñ «»αÑñѽѡδ.
-
- Åα¿¼Ñα: 櫺ñá¡¿Ñ Σπ¡¬µ¿¿ «íΘÑú« ¡áº¡áτÑ¡¿∩ ß ¿ß»«½∞º«ó᡿Ѽ
- π¬áºáΓѽÑ⌐. Åα¿¼Ñα »α«úαá¼¼δ, »α¿óÑñÑ¡¡«⌐ ¡¿ªÑ, ¿ß»«½∞ºπÑΓ π¬áºáΓѽ¿ ¡á
- Σπ¡¬µ¿ε ñ½∩ »«ßΓα«Ñ¡¿∩ Σπ¡¬µ¿¿ ßαáó¡Ñ¡¿∩ «íΘÑú« Γ¿»á. öπ¡¬µ¿¿ compare
- »ÑαÑñáÑΓß∩ »áαá¼ÑΓα, ¬«Γ«αδ⌐ ∩ó½∩ÑΓß∩ π¬áºáΓѽѼ ¡á ß««ΓóÑΓßΓóπεΘπε
- Σπ¡¬µ¿ε ßαáó¡Ñ¡¿∩ (ßΓ᫬«óπε ¿½¿ τ¿ß½«óπε). èá¬ Γ«½∞¬« ñá¡¡á∩ ¿¡Σ«α¼áµ¿∩
- »ÑαÑñáÑΓß∩ Σπ¡¬µ¿¿ compare, óδ»«½¡∩ÑΓß∩ ß««ΓóÑΓßΓóπεΘÑÑ ßαáó¡Ñ¡¿Ñ ¿
- αѺπ½∞ΓáΓ αáß»ÑτáΓδóáÑΓß∩.
-
- #include <stdio.h>
- #include <ctype.h>
- main()
- {
- int number_compare ();
- int string_compare ();
- char s1[80], s2[80];
- printf ("generic test for equality\n");
- printf ("enter first item:\n");
- gets (s1);
- printf ("enter second item:\n");
-
-
- gets (s2);
- if (isaipha (*s1))
- compare (s1, s2, string_compare); /* »ÑαÑñáτá áñαÑßá */
- else
- compare (s1, s", number_compare); /* »ÑαÑñáτá áñαÑßá */
- }
- compare a, b, compare_function)
- char *a, *b;
-
- /* π¬áºáΓѽ∞ ¡á Σπ¡¬µ¿ε, ó«ºóαáΘáεΘπε µÑ½«Ñ º¡áτÑ¡¿Ñ */
- int 8*compare_function) ();
- {
- /* ¿ß»«½∞º«óá¡¿Ñ «»ÑαáΓ«αá (*) ñ½∩ ó맮óá ¬«¡¬αÑΓ¡«⌐ Σπ¡¬µ¿¿
-
- ßαáó¡Ñ¡¿∩ */
- if ((*compare_function) (a,b))
- printf ("equal\n");
- else
- printf ("not equal\n");
- }
- number_compare (a,b)
- char *a, *b;
- {
- if (atoi (a) == atoi (b))
- return (1);
- else
- return (0);
- }
-
-
- string_compare (a,b)
- char *a, *b;
- {
- if (stricmp(a,b))
- return (0);
- else
- return (1);
- }
-
-
- 3.12. æΓαπ¬Γπαδ.
-
- "æΓαπ¬Γπαá"-φΓ« ¡áí«α ½«ú¿τÑ߬¿ ßó∩ºá¡¡δσ φ½Ñ¼Ñ¡Γ«ó ñá¡¡δσ αẽ¿τ¡δσ
- Γ¿»«ó.
-
- -櫺ñá¡¿Ñ ßΓαπ¬Γπα.
-
- Åα¿ «»αÑñѽѡ¿¿ ñá¡¡δσ Γ¿»á "ßΓαπ¬Γπαá" ºáñáεΓß∩ φ½Ñ¼Ñ¡Γδ Γ¿»«ó
- ñá¡¡δσ ßΓαπ¬Γπαδ ¿ ß«ºñáÑΓß∩ ßá¼á ßΓαπ¬Γπαá. ÄΓñѽ∞¡δÑ »ÑαѼѡ¡δÑ ó
- ßΓαπ¬ΓπαÑ ¡áºδóáεΓß∩ "τ½Ñ¡δ", á ¿¼∩ ßΓαπ¬Γπαδ ¡áºδóáÑΓß∩ "Γφú"
- ßΓαπ¬Γπαδ. äá¡¡δÑ Γ¿»á structure «»¿ßδóáεΓß∩ ó ß½ÑñπεΘÑ⌐ Σ«α¼Ñ:
-
- struct structure-name { member-declarations }; æΓαπ¬Γπαá
- date,¡á»α¿¼Ñα, ß«ºñáÑΓß∩ »« ß½ÑñπεΘÑ¼π «»αÑñѽѡ¿ε:
-
-
- struct date
- {
- int month;
- int day;
- int year;
- };
- Å«ß½Ñ Γ«ú«, ¬á¬ ßΓαπ¬Γπαá «»αÑñѽѡá, óδ ¼«ªÑΓÑ «»¿ßáΓ∞
- »ÑαѼѡ¡πε πªÑ «»αÑñѽѡ¡«ú« Γ¿»á. Æφú ßΓαπ¬Γπαδ ñ«½ªÑ¡ ß½Ññ«óáΓ∞ ºá
- ¬½ετÑóδ¼ ß½«ó«¼ struct.
-
- æ½ÑñπεΘ¿Ñ ¡¿ªÑ «»¿ßá¡¿∩ «»αÑñѽ∩ÑΓ »ÑαѼѡ¡πε todayc date Γ¿»á
- struct date:
-
- struct date todays_date;
-
- -ÅÑαѼѡ¡δÑ ó ßΓαπ¬Γπαáσ.
-
- ÅÑαѼѡ¡δÑ, ∩ó½∩εΘ¿Ñß∩ φ½Ñ¼Ñ¡Γ«¼ Γ¿»á ßΓαπ¬Γπαδ, ¼«úπΓ
- ¿ß»«½∞º«óáΓ∞ß∩ ΓᬪÑ, ¬á¬ ¿ ½εíδÑ ñαπú¿Ñ »ÑαѼѡ¡δÑ. Ä»ÑαáΓ«α τ½Ñ¡ßΓóá
- (.) «»αÑñѽ∩ÑΓ ¿¼∩ τ½Ñ¡á ßΓαπ¬Γπαδ ¿ ßΓαπ¬Γπαδ, φ½Ñ¼Ñ¡Γ«¼ ¬«Γ«α«⌐ «¡
- ∩ó½∩ÑΓß∩. é »α¿óÑñÑ¡¡«¼ ¡¿ªÑ »α¿¼ÑαÑ »ÑαѼѡ¡«⌐ month ó ßΓαπ¬ΓπαÑ todays
- date »α¿ßóá¿óáÑΓß∩ º¡áτÑ¡¿Ñ 12:
-
- todays date.month=12;
-
- -æΓαπ¬Γπαá ¿ π¬áºáΓѽ¿.
-
- ô¬áºáΓѽ¿ ¡á ßΓαπ¬Γπαδ «»¿ßδóáεΓß∩ ΓᬪÑ, ¬á¬ ¿ ¡á ñαπú¿Ñ Γ¿»δ
- ñá¡¡δσ. ä½∩ ßß佬¿ ¡á τ½Ñ¡ ßΓαπ¬Γπαδ, áñαÑßπѼ«⌐ ß »«¼«Θ∞ε π¬áºáΓѽ∩, ó
- ∩ºδ¬Ñ æê ¿ß»«½∞ºπÑΓß∩ ß¿¼ó«½ (->).
-
- -äÑ⌐ßΓó¿∩ ß« ßΓαπ¬ΓπαἿ.
-
- ä½∩ »ÑαѼѡ¡δσ-ßΓαπ¬Γπα αáºαÑΦÑ¡δ Γ«½∞¬« Γα¿ «»Ñαᵿ¿: óδ ¼«ªÑΓÑ
- »«½πτ¿Γ∞ ÑÑ áñαÑß ß »«¼«Θ∞ε «»ÑαáΓ«αá áñαÑßᵿ¿ (&); óδ ¼«ªÑΓÑ »«½πτ¿Γ∞
- ñ«ßΓπ» ¬ «ñ¡«¼π ¿º ÑÑ τ½Ñ¡«ó; óδ ¼«ªÑΓÑ »α¿ßó«¿Γ∞ «ñ¡π ßΓαπ¬Γπαπ ñαπú«⌐
- »«ßαÑñßΓó«¼ «»Ñαᵿ¿ »α¿ßó«Ñ¡¿∩.
-
-
- Åα¿¼Ñα: êß»«½∞º«óá¡¿∩ ßΓαπ¬Γπα.
- #include <stdio.h>
- #include <time.h>
- main()
- {
- struct ti *current_time;
- time_t long_time; /* º¡áτÑ¡¿Ñ óαѼѡ¿*/
- time (&long time); /* »«½πτÑ¡¿Ñ ¬«½¿τÑßΓóá ßѬπ¡ñ ó long time */
- /* »αÑ«íαẫóá¡¿Ñ ó ßΓαπ¬Γπαπ óαѼѡ¿ */
- current_time = localtime(&long_time);
- /* ¿ß»«½∞º«óá¡¿Ñ «»ÑαáΓ«αá óδí«α¬¿ τ½Ñ¡á ßΓαπ¬Γπαδ ñ½∩ ñ«ßΓπ»á
- ¬ «Γñѽ∞¡«¼π τ½Ñ¡π ßΓαπ¬Γπαδ */
- printf ("hour: %d'n", current_time->tm_hour);
- }
-
- Åα¿óÑñÑ¡¡δÑ óδΦÑ »α«úαá¼¼á ¿ß»«½∞ºπÑΓ «»ÑαáΓ«α óδí«α¬¿ τ½Ñ¡á
- ßΓαπ¬Γπαδ ñ½∩ ñ«ßΓπ»á ¬ «Γñѽ∞¡δ¼ φ½Ñ¼Ñ¡Γá¼ ßΓαπ¬Γπαδ tm, ¬«Γ«αá∩
- ß«ñÑαª¿Γ ¿¡Σ«α¼áµ¿ε « óαѼѡ¿. çáΓѼ αáß»ÑτáΓδóáÑΓß∩ º¡áτÑ¡¿Ñ ΓѬπΘÑú«
- τáßá. öπ¡¬µ¿∩ localtime ¡Ñ ß«ñÑনΓß∩ ó í¿í½¿«ΓÑ¬Ñ »α«µÑñπα Quick-C. é
- αѺπ½∞ΓáΓÑ, óá¼ »«¡áñ«í¿Γß∩ ñ½∩ ¬«¼»¿½∩µ¿¿ óáΦÑ⌐ »α«úαá¼¼δ ó ßαÑñÑ
- Quick-C ó«ß»«½∞º«óáΓ∞ß∩ »α«úαá¼¼¡δ¼ ß»¿ß¬«¼. êß»«½∞º«óá¡¿Ñ »α«úαá¼¼¡δσ
- ß»¿ß¬«ó «»¿ßδóáÑΓß∩ ó ÉáºñÑ½Ñ 6.1.
-
-
- 3.13 êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá ∩ºδ¬á æê.
-
- æΓá¡ñáαΓá∩ í¿í½¿«ΓÑ¬á »α«µÑñπα æê ß«ñÑαª¿Γ ¡Ñ«íσ«ñ¿¼δ⌐ ñ½∩
- »α«úαá¼¼¿ßΓá ¡á ∩ºδ¬Ñ æê »«½¡δ⌐ ¡áí«α Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá (I/O).
-
- -öπ¡¬µ¿¿ óó«ñ/óδó«ñ «ñ¡«ú« ß¿¼ó«½á (getchar, putchar).
-
- öπ¡¬µ¿∩ getchar »«½πτáÑΓ ß½ÑñπεΘ¿⌐ »« »«α∩ñ¬π ß¿¼ó«½ ß ¬½áó¿áΓπαδ ¿
- ó«ºóαáΘáÑΓ Ñú« ó ¬áτÑßóÑ º¡áτÑ¡¿∩. öπ¡¬µ¿∩ putchar óδó«ñ¿Γ «ñ¿¡ ß¿¼ó«½
- ¡á φ¬αá¡.
-
- -ö«α¼áΓ¡δ⌐ óδó«ñ (printf).
-
- öπ¡¬µ¿∩ printf óδó«ñ¿Γ ¡á φ¬αá¡ ñá¡¡δÑ ó ºáñá¡¡«¼ Σ«α¼áΓÑ. é
- áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ printf óσ«ñ¿Γ ßΓ᫬á Σ«α¼áΓá, ºá¬½ετÑ¡¡á∩ ó ñó«⌐¡δÑ
- ¬áóδτ¬¿, ºá ¬«Γ«α«⌐ ß½ÑñπεΓ ¿¼Ñ¡á »ÑαѼѡ¡δσ, ΓÑ, ¬«Γ«αδÑ ñ«½ª¡δ íδΓ∞
- αáß»ÑτáΓá¡δ. ï¿ΓÑαá½∞¡δ⌐ ΓѬßΓ ó ßΓα«¬Ñ Σ«α¼áΓá αáß»ÑτáΓδóáÑΓß∩ ó Γ«¼ ªÑ
- ó¿ñÑ, ó ¬á¬«¼ «¡ ¡áσ«ñ¿Γß∩ ó φΓ«⌐ ßΓ᫬Ñ. ū߽Ññ«óáΓѽ∞¡«ßΓ¿ π»αáó½∩εΘ¿σ
- ß¿¼ó«½«ó, ¡áσ«ñ∩Θ¿Ñß∩ ó ßΓα«¬Ñ Σ«α¼áΓá, óßΓáó½∩εΓ ó óδó«ñ ߻ѵ¿á½∞¡δÑ
- ß¿¼ó«½δ. ì¿ªÑ »α¿óÑñÑ¡δ ¡Ñ¬«Γ«αδÑ ¡á¿í«½ÑÑ τáßΓ« ¿ß»«½∞ºπѼδÑ
- π»αáó½∩εΘ¿Ñ »«ß½Ññ«óáΓѽ∞¡«ßΓ¿:
-
- ô»αáó½∩εΘá∩ »«ß½Ññ«óáΓѽ∞¡«ßΓ∞ 濼ó«½
-
- \n ßñó¿ú ßΓ᫬¿
- \t Γáíπ½∩µ¿∩
- \' «ñ¿¡áα¡á∩ ¬áóδτ¬á
- \'' ñó«⌐¡á∩ ¬áóδτ¬á
- \\ «íαáΓ¡δ⌐ ß½φΦ
-
-
-
- -ö«α¼áΓ¡δ⌐ óó«ñ - scanf.
-
- öπ¡¬µ¿∩ scanf ßτ¿ΓδóáÑΓ ß ¬½áó¿áΓπαδ óó«ñ ó ºáñá¡¡«¼ Σ«α¼áΓÑ. é
- áαúπ¼Ñ¡Γδ Σπ¡¬µ¿¿ scanf óσ«ñ¿Γ ßΓ᫬á Σ«α¼áΓá, ºá¬½ετÑ¡¡á∩ ó ñó«⌐¡δÑ
- ¬áóδτ¬¿, ºá ¬«Γ«α«⌐ ß½ÑñπεΓ ¿¼Ñ¡á »ÑαѼѡ¡δσ, »«ñ½ÑªáΘ¿σ ßτ¿Γδóá¡¿ε.
- Çαúπ¼Ñ¡Γδ, ¿ß»«½∞ºπѼδÑ Σπ¡¬µ¿Ñ⌐ scanf, ñ«½ª¡δ íδΓ∞ π¬áºáΓѽ∩¼¿ ¡á
- »ÑαѼѡ¡δÑ, á ¡Ñ ßἿ¼¿ φΓ¿¼¿ »ÑαѼѡ¡δ¼¿. ¥Γ« ¡πª¡« ñ½∩ Γ«ú«,τΓ«íδ
- Σπ¡¬µ¿∩ scanf ¼«ú½á ¿º¼Ñ¡∩Γ∞ ß«ñÑন¼«Ñ »ÑαѼѡ¡δσ.
-
- -æ»Ñµ¿Σ¿¬áµ¿¿ ßΓ᫬¿ Σ«α¼áΓá.
-
- é π»αáó½∩εΘÑ⌐ ßΓ᫬Ñ, ó ß««ΓóÑΓßó¿¿ ß ¬«Γ«α«⌐ ß«ñÑন¼«Ñ »ÑαѼѡ¡δσ
- íπñÑΓ ßτ¿Γá¡« ¿½¿ αáß»ÑτáΓá¡«, »«¼ÑΘáεΓß∩ ß»µ¿á½∞¡δÑ º¡á¬¿ ߻ѵ¿Σ¿¬áµ¿⌐
- »αÑ«íαẫóá¡¿∩. ÅÑαóá∩ »ÑαѼѡ¡á∩ ß««ΓóÑΓßΓóπÑΓ »« ßó«Ñ¼π ¼ÑßΓ«»«½«ªÑ¡¿ε
- »Ñαó«¼π ß¿¼ó«½π »α«µÑ¡Γá (%) ¿ Γ.ñ. »« óßѼπ ß»¿ß¬π ß¿¼ó«½«ó
- »αÑ«íαẫóá¡¿∩:
-
- æ»Ñµ¿Σ¿¬áµ¿∩ ç¡áτÑ¡¿Ñ
- »αÑ«íαẫóá¡¿∩
-
- %d ñÑß∩Γ¿τ¡«Ñ µÑ½«Ñ
- %u ñÑß∩Γ¿τ¡«Ñ íѺ º¡á¬á
- %o ó«ß∞¼¿α¿τ¡«Ñ íѺ º¡á¬á
- %x ΦÑßΓ¡áñµáΓÑα¿τ¡«Ñ íѺ º¡á¬á
- %e φ¬ß»«¡Ñ¡Γá
- %f τ¿ß½« ß »½áóáεΘÑ⌐ Γ«τ¬«⌐á
- %c «ñ¿¡ ß¿¼ó«½
- %s ßΓ᫬á ß¿¼ó«½«ó
-
-
-
- -Åα¿¼Ñα: êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá ∩ºδ¬á æê.
- #include <stdio.h>
- typedef char * string;
- main()
- {
- char c, j;
- int i;
- string item1[10], item2[10];
- float x;
-
-
- printf ("please enter a single character:\n");
- c = getchar();
- printf ("\tthe character just input was -- %c\n",c);
- printf ("nenter a digit, a string, a float, and a string: ");
- scanf ("%d %s %f %s", &i, item1, &x, item2);
- printf ("\n\ayou entered\n");
- printf ("%d\n%s\n%f\n%s", i, item2, x, item2);
- printf ("\n\nexample of conversion specifications:\n");
- printf ("decimal\toctal\thex\tcharacter\n");
- for (j = 65; j<=70; j++)
- printf ("%d\t%o\t%x\t%c\n", j,j,j,j);
- }
-
-
- 3.14 êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿∩ óó«ñá/óδó«ñá ó Σá⌐½.
-
- æΓá¡ñáαΓ¡á∩ í¿í½¿«ΓѬá ∩ºδ¬á æê ¿¼ÑÑΓ »«½¡δ⌐ ¡áí«α ¡Ñ«íσ«ñ¿¼δσ
- »α«úαá¼¼¿ßΓπ Σπ¡¬µ¿⌐ óó«ñá/óδó«ñá ñ½∩ Σá⌐½«ó.
-
- -æΓαπ¬Γπαá FILE.
-
- æΓá¡ñáαΓ¡δ⌐ ºáú«½«ó«τ¡δ⌐ Σá⌐½ »α«µÑñπα óó«ñá/óδó«ñá stdio.h ß«ñÑনΓ
- «»¿ßá¡¿Ñ ßΓαπ¬Γπαδ FILE, ¬«Γ«αá∩ «»αÑñѽ∩ÑΓ ó¡πΓαÑ¡¡¿⌐ σáαá¬ΓÑα Σá⌐½á.
-
- -ÄΓ¬αδΓ¿Ñ ¿ ºá¬αδΓ¿Ñ Σá⌐½«ó.
-
- ÅÑαÑñ ¿ß»«½∞º«ó᡿Ѽ Σá⌐½ ñ«½ªÑ¡ íδΓ∞ «Γ¬αδΓ ß »«¼«Θ∞ε ßΓá¡ñáαΓ¡«⌐
- í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ fopen. Å«ß½Ñ ¿ß»«½∞º«óá¡¿∩ Σá⌐½ ñ«½ªÑ¡ íδΓ∞ ºá¬αδΓ
- »«ßαÑñßΓó«¼ í¿í½¿«ΓÑτ¡«⌐ Σπ¡¬µ¿¿ fclose.
-
- öπ¡¬µ¿∩ fopen »α¿¡¿¼áÑΓ ó¡ÑΦ¡ÑÑ ¿¼∩ Σá⌐½á ó ß¿ßΓÑ¼Ñ DOS ¿ ó«ºóαáΘáÑΓ
- π¬áºáΓѽ∞ Σá⌐½á, ¿ß»«½∞ºπѼδ⌐ ó ñá½∞¡Ñ⌐ΦѼ ó ó맮óáσ Σπ¡¬µ¿⌐
- óó«ñá/óδó«ñá. ô¬áºáΓѽ∞ Σá⌐½á-φΓ« áñαÑß¡δ⌐ π¬áºáΓѽ∞ ¡á ßΓαπ¬Γπαπ Γ¿»á
- FILE. öπ¡¬µ¿∩ fopen «»αÑñѽ∩ÑΓ Γá¬ªÑ αѪ¿¼ αáí«Γδ ß Σá⌐½«¼:τΓÑ¡¿Ñ,
- ºá»¿ß∞ ñ«íáó½Ñ¡¿Ñ.
-
- àß½¿ óδ ñѽáÑΓÑ »«»δΓ¬π «Γ¬αδΓ∞ Σá⌐½ ñ½∩ ºá»¿ß¿ ¿½¿ ñ«íáó½Ñ¡¿∩ ó Γ«
- óαѼ∩, ¬á¬ Σá⌐½ ¡Ñ ßπΘÑßΓóπÑΓ, «¡ »« 󫺼«ª¡«ßΓ¿ íπñÑΓ ß«ºñá¡. àß½¿ »α¿
- «Γ¬αδΓ¿¿ Σá⌐½á »α«¿º«Φ½á «Φ¿í¬á, Σπ¡¬µ¿∩ fopen ó«ºóαáΘáÑΓ ¡π½Ñó«⌐
- π¬áºáΓѽ∞ (ß« º¡áτÑ¡¿Ñ¼ NULL).
-
- ä½∩ ½πτΦÑ⌐ ß«σαá¡¡«ßΓ¿ Σá⌐½á »α¿ óδσ«ñÑ ¿º »α«úαá¼¼δ ¡Ñ»αѼѡ¡«
- ß½ÑñπÑΓ ¿ß»«½∞º«óáΓ∞ Σ¿¡¬µ¿ε fclose.
-
- -Äñ¡«ß¿¼ó«½∞¡δ⌐ óó«ñ/óδó«ñ ó Σá⌐½ (fputchar, fgetchar).
-
- öπ¡¬µ¿∩ fputchar »«¼ÑΘáÑΓ ß¿¼ó«½ ó ºáñá¡¡δ⌐ Σá⌐½. öπ¡¬µ¿∩ fgetchar
- »«½πτáÑΓ ß¿¼ó«½ ¿º ºáñá¡¡«ú« Σá⌐½á. ç¡áτÑ¡¿Ñ ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐,
- αáó¡«Ñ EOF, «º¡áτáÑΓ, τΓ« íδ½ ñ«ßΓ¿ú¡πΓ ¬«¡Ñµ Σá⌐½á.
-
- -ö«α¼áΓ¡δ⌐ óó«ñ/óδó«ñ ó Σá⌐½ (fprintf, fscanf).
-
- öπ¡¬µ¿∩ fprintf »«¼ÑΘáÑΓ «ΓΣ«α¼áΓ¿α«óá¡¡δ⌐ óδó«ñ ó ºáñá¡¡δ⌐ Σá⌐½.
- ö«α¼áΓ¿α«óá¡¿Ñ »α«¿ºó«ñ¿Γß∩ ó ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐ Σ«α¼áΓá, ¬«Γ«αá∩
- ñÑ⌐ßΓóπÑΓ á¡á½«ú¿τ¡« Γ«¼π, ¬á¬ í佫 «»¿ßá¡« ó Σπ¡¬µ¿¿ printf.
-
- öπ¡¬µ¿∩ fscanf ßτ¿ΓδóáÑΓ ¿¡Σ«α¼áµ¿ε ¿º ºáñá¡¡«ú« Σá⌐½á, ó
- ß««ΓóÑΓßΓó¿¿ ß« ßΓ᫬«⌐ Σ«α¼áΓá, ¬á¬ ¿ ó Σπ¡¬µ¿¿ scanf. ç¡áτÑ¡¿Ñ EOF,
- ó«ºóαáΘáѼ«Ñ Σπ¡¬µ¿Ñ⌐, «º¡áτáÑΓ, τΓ« íδ½á ßñѽá¡á »«»δΓ¬á »α«τÑßΓ∞ ¬«¡Ñµ
- Σá⌐½á.
-
- Åα¿¼Ñα: êß»«½∞º«óá¡¿Ñ óó«ñá/óδó«ñá ó Σá⌐½.
- #include <stdio.h>
- #include <ctype.h>
-
-
- main()
- {
- FILE *fopen(), *fp_out;
- char fn_in[12], fn_out[12]; /* «Γó«ñ¿Γß∩ »á¼∩Γ∞ ñ½∩ filename.ext*/
- printf ("enter name of input file: ");
- scanf ("%s", fn_in);
- printf ("enter name of output file: ");
- scar ("%s", fn_out);
- fp_out = fopen (fn_out, "w");
- fp_in = fopen (fn,in,"r");
- /* »α«óÑα¬á ñ½∩ ¡ÑßπΘÑßΓóπεΘÑú« óδ«ñ¡«ú« Σá⌐½á; óδσ«ñ Ñß½¿ ó맮ó
- Σπ¡¬µ¿¿ fopen »«ΓÑα»¿Γ ¡Ñπñáτπ */
- if (fp_in == NULL) {
- printf ("No input file %s'n",fn'in);
- exit (1);
- }
- /* Ñß½¿ Σπ¡¬µ¿∩ fopen ºáóÑαΦ¿½áß∞ πñáτ¡«, óδ»«½¡Ñ¡¿Ñ «ßΓáóΘÑ⌐ß∩
- τáßΓ¿ »α«úαá¼¼δ*/
- convert_file(fp in,fp out);
- printf ("\nFile %s cleaned up\n",fp_in);
- printf ("Output in file: %s\n",fn_out);
- fclose (fp_in);
- fclose (fp_out);
- return (o);
- }
- convert_file (input, output)
- FILE *input, *output;
- {
- int c;
-
-
- /* »«½πτÑ¡¿Ñ ß¿¼ó«½«ó ñ« ñ«ßΓ¿ªÑ¡¿∩ ¬«¡µá Σá⌐½á (EOF) */
- while ((c = getc (input)) "= EOF){
- if (isupper(c)) /* »αÑ«íαẫóá¡¿Ñ αÑú¿ßΓαá */
- c = tolower (c);
- else
- c = toupper (c);
- fputc(c,output); /* óδó«ñ ó óδσ«ñ¡«⌐ Σá⌐½ */
- }
- }
- Åα«úαá¼¼á, »α¿óÑñÑ¡¡á∩ óδΦÑ, ¿º¼Ñ¡∩ÑΓ αÑú¿ßΓα óßÑσ ß¿¼ó«½«ó ó
- Σá⌐½Ñ.
-
-
- 3.15 ä«ßΓπ» ¬ áαúπ¼Ñ¡Γá¼ ¬«¼á¡ñ¡«⌐
- ßΓ᫬¿ ó ∩ºδ¬Ñ æê.
-
- Çαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ó ∩ºδ¬Ñ æê «íÑß»Ñτ¿óáεΓ ß»«ß«í »ÑαÑñáτ¿
- áαúπ¼Ñ¡Γ«ó ¬ »α«úαá¼¼Ñ »α¿ ÑÑ óδ»«½¡Ñ¡¿¿.
-
- -Äß¡«ó¡δÑ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
-
- é «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS ½εíá∩ ¿¡Σ«α¼áµ¿∩, »«∩ó½∩εΘá∩ß∩ »«ß½Ñ
- ¿¼Ñ¡¿ »α«úαá¼¼δ, ó«ß»α¿¡¿¼áÑΓß∩, ¬á¬ áαúπ¼Ñ¡Γ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿. ƒºδ¬ æê
- «íÑß»Ñτ¿óáÑΓ ¼Ñσá¡¿º¼ ñ½∩ ñ«ßΓπ»á ¬ φΓ¿¼ áαúπ¼Ñ¡Γá¼. öπ¡¬µ¿∩ main
- ßó∩ºδóáÑΓ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐ ßΓ᫬¿ ß ñóπ¼∩ »áαá¼ÑΓαἿ. äá¡¡δÑ
- áαúπ¼Ñ¡Γδ ¬αáΓ¬« «»¿ßδóáεΓß∩ ¡¿ªÑ:
-
-
- Çαúπ¼Ñ¡Γ Ä»¿ßá¡¿Ñ
-
-
- argc "æτÑΓτ¿¬ áαúπ¼Ñ¡Γ«ó"-φΓ« ¬«½¿τÑßΓó« áαúπ¼Ñ¡Γ«ó
- ó ¬«¼á¡ñ¡«⌐ ßΓ᫬Ñ. çáóÑαΦáεΘ¿¼ áαúπ¼Ñ¡Γ«¼
- »«ßαÑñßΓó«¼ argv[argc-1], »«ß¬«½∞¬π ¼áßß¿óδ ó
- ∩ºδ¬Ñ ¡áτ¿¡áεΓß∩ ß ¡π½Ñó«ú« φ½Ñ¼Ñ¡Γá.
- argv "éÑ¬Γ«α áαúπ¼Ñ¡Γ«ó"-φΓ« π¬áºáΓѽ∞ ¡á ¼áßß¿ó
-
- ß¿¼ó«½∞¡δσ ßΓ᫬, ß«ñÑαªáΘ¿σ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ-
- ¡«⌐ ßΓ᫬¿, »« «ñ¡«¼π ó ß¿¼ó«½∞¡«⌐ ßΓ᫬Ñ.
-
-
-
- -êß»«½∞º«óá¡¿Ñ áαúπ¼Ñ¡Γ«ó ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
-
- Åα«ßΓÑ⌐Φ¿⌐ ß»«ß«í »α«ß½Ññ¿Γ∞ »α¿¼Ñ¡Ñ¡¿Ñ áαúπ¼Ñ¡Γ«ó ¬«¼á¡ñ¡«⌐
- ßΓ᫬¿-φΓ« ¿ºπτ¿Γ∞ »α«ßΓπε »α«úαá¼¼π, ¿ß»«½∞ºπεΘπε φΓ« ßαÑñßΓó«.
- Åα¿óÑñÑ¡¡á∩ ¡¿ªÑ »α«úαá¼¼á αáß»ÑτáΓδóáÑΓ ¬«½¿τÑßΓó« áαúπ¼Ñ¡Γ«ó ¿
- ß«ñÑন¼«Ñ áαúπ¼Ñ¡Γ¡«ú« óÑ¬Γ«αá.
-
- #include <stdio.h>
- main (argc,argv) /* Σπ¡¬µ¿∩ main, ¿ß»«½∞ºπεΘá∩ áαúπ¼Ñ¡Γδ ¬«¼á¡ñ¡«⌐
- ßΓ᫬¿ */
- char *argv[]; /* óÑ¬Γ«α áαúπ¼Ñ¡Γ«ó */
- int argc; /* ßτÑΓτ¿¬ áαúπ¼Ñ¡Γ«ó */
- {
- int i;
- printf ("argc: %d\n", argc); /* »ÑτáΓ∞ ¬«½¿τÑßΓóá áαúπ¼Ñ¡Γ«ó*/
- for (i = =; i < argc; i++) /* »ÑτáΓ∞ ß«ñÑন¼«ú« áαúπ¼Ñ¡Γ«ó */
- printf ("argv [%d]: %s\n", i, argv[i]);
- }
-
- Å«¼¡¿ΓÑ, τΓ« ¡Ñ߬«½∞¬« áαúπ¼Ñ¡Γ«ó óá ¬«¼á¡ñ¡«⌐ ßΓα«¬Ñ ºáñáεΓß∩ ó
- îÑ¡ε Run ß »«¼«Θ∞ε »π¬Γá ¼Ñ¡ε: Set Runtime Options-ó« óαѼ∩ ß«ºñá¡¿∩ ¿
- ºá»π߬á óáΦÑ⌐ »α«úαá¼¼á.
-
- Æá¬ªÑ, »α¿¼¿ΓÑ ó« 󡿼᡿Ñ, τΓ« ó «»Ñαᵿ«¡¡«⌐ ß¿ßΓÑ¼Ñ DOS óÑαß¿¿
- 3.0 º¡áτÑ¡¿Ñ arg[0] ß«ñÑαª¿Γ ßΓ᫬π "C", á ¡Ñ ¿¼∩ »α«úαá¼¼δ.
-
- -êß»«½∞º«óá¡¿Ñ ß¿¼ó«½«ó-Φáí½«¡«ó DOS.
-
- Åα¿ «íδτ¡«⌐ ¬«¼»¿½∩µ¿¿, »α«úαá¼¼á, »«½πτÑ¡¡á∩ ó αѺπ½∞ΓáΓÑ, ¡Ñ
- αáß»«º¡áÑΓ ¿¼∩ Σá⌐½á DOS ß ß¿¼ó«½á¼¿-Φáí½«¡á¼¿ (* ¿ ?). ä½∩ Γ«ú«, τΓ«íδ
- ¿¼ÑΓ∞ 󫺼«ª¡«ßΓ∞ ¿ß»«½∞º«óáΓ∞ Φáí½«¡δ DOS, óá¼ ß½ÑñπÑΓ »«ñó∩ºáΓ∞ ¬
- «íΩÑ¬Γ¡«¼π ¼«ñπ½ε óáΦÑ⌐ »α«úαá¼¼δ ß««ΓóÑΓßΓóπεΘ¿⌐ Σá⌐½ mSETARGV.OBJ (úñÑ
- m «º¡áτáÑΓ ß««ΓóÑΓßΓóπεΘ¿⌐ ¼«ñπ½∞ »á¼∩Γ¿).
-
- Åα¿ αáßΦ¿αÑ¡¿¿ ¿¼Ñ¡¿ Σá⌐½á ß Φáí½«¡á¼¿, óßÑ Σá⌐½δ, ß««ΓóÑΓßΓóπεΘ¿Ñ
- ñá¡¡«¼π ¿¼Ñ¡¿, »ÑαÑñáεΓß∩ »α«úαá¼¼Ñ. àß½¿ Γᬫú« ß««ΓóÑΓßΓó¿∩ ¡Ñ
- ¡á⌐ñÑ¡«, áαúπ¼Ñ¡Γ »ÑαÑñáÑΓß∩ ½¿ΓÑαὫ¼.
-
- -Åα¿¼Ñα: Äíαáí«Γ¬á ¬«¼á¡ñ¡«⌐ ßΓ᫬¿.
- #include <stdio.h>
- #include <ctype.h>
- main(argc,argv)
- char *argv[];
- int argc;
- {
- FILE +fopen(), *fp_in, *fp_out;
- /* »α«óÑα¬á ¡á ¬«ααÑ¬Γ¡«Ñ τ¿ß½« áαúπ¼Ñ¡Γ«ó */
- if (argc != 3) {
- printf ("correct usage is:\n");
- printf ("convcase input-file output-file\n");
- exit(0);
- }
- fp_out = fopen (argv[2], "w");
- fp_in = fopen (argv[1],"r");
-
-
- /* »α«óÑα¬á ¡á ¡Ñß««ΓóÑΓßΓóπεΘ¿⌐ óσ«ñ¡«⌐ Σá⌐½; óδσ«ñ Ñß½¿ fopen
- ºá¬«¡τ¿½áß∞ ¡Ñπñáτ¡« */
- if (fp_in == NULL) {
- printf ("input file error : %s\n",argv[1]);
- exit (1);
- }
- /* Ñß½¿ Σπ¡¬µ¿∩ fopen ºáóÑαΦ¿½áß∞ πñáτ¡«, óδ»«½¡∩ÑΓß∩ «ßΓáóΦá∩ß∩
- τáßΓ∞ »α«úαá¼¼δ */
- convert_file(fp in,fp out);
- printf ("\nFile %s converted\n",argv[1]);
- printf ("Output in file: %s\n",argv[2]);
- fclose (fp_in);
- fclose (fp_out);
- return (1);
- }
- convert_file (input,output)
- {
- /*
- The contents of the convert_file function
- are the same as in Section 3.14
- */
- }
-
- Åα«úαá¼¼á, »α¿óÑñÑ¡¡á∩ óδΦÑ, ∩ó½∩ÑΓß∩ ¼«ñ¿Σ¿¬áµ¿Ñ⌐ »α¿¼Ñαá »α«úαá¼¼δ
- ¿º αáºñѽá 3.14, "êß»«½∞º«óá¡¿Ñ Σπ¡¬µ¿⌐ óó«ñá óδó«ñá ó Σá⌐½". Ä¡á
- »α¿¡¿¼áÑΓ ¿¼Ñ¡á Σá⌐½«ó ó ¬áτÑßΓóÑ áαúπ¼Ñ¡Γ«ó ¬«¼á¡ñ¡«⌐ ßΓ᫬¿, úñÑ ¿¼∩
- óσ«ñ¡«ú« Σá⌐½á »αÑñΦÑßΓóπÑΓ ¿¼Ñ¡¿ óδσ«ñ¡«ú« Σá⌐½á.
-
-