giao trinh c_c++

150
Phng Pháp Lp Trình

Upload: nguyen-thanh-trieu

Post on 28-Apr-2015

88 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���������������

�������� ����������� �����������������������������������

Page 2: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���

�������� ����� ���������������������������������� ������������������������������ !"�#$%&'��("$)*$ ++,&*-�������������������� !"#��$�%&�'�������(�)�'�������'�*���'%+������,����������-��.���$�����"/����0��&�!� �����%+�'��'%&�!����1�������2���$�$�����"/��!"/�3�4��1��&51�$��$�$�6� ��78�9%+� �!"��� ���$��$��'�-"*�� ��:$�9���'�,"/�;�*-�9%5�'������$�%&�'�������'�5!�����������'�*���'%+����1������3���'�*���'%+����1�������$�����"/�1��*�����5!���"����!�$��$�<�=��'�*���'%+�(��$�$���>��'�*���'%+�(��$����#1�=��'�*���'%+��%&��'����0���5$�>��'�*���'%+��%&��'�,�#!��%&5�'���==�����������'�*���'%+�(��$�$���$���$�%����$��$�,�?$���%�'�$�0��$�0���!����5!��'�*���'%+��%&��'����0���5$�>��'�*���'%+��%&��'�,�#!��%&5�'3���'. !#�#) /&�(�0*)$,#'+-�1 2�#'.3�#.45�("$)567.$6-����4�������������������5�'���*��$�0��1��@�����1���������"���%&��'����0���5$�$�0���==�����������������������������(�0�'���*���0�A%5��.��������8�%&�$��.���$�*�'� !"�$�1��0!���%5$��!"�����%���"#�����3�B��������������%5�A�:1�;"#1�$�0��$��$�$�6���73��- 4�%&�$�2�!� !"#��$�%&�'����������1��0!������!"/����0�����'�=�C"+�9���'���%+�'�9%+��!"�������3�=�"#�����0����'����#��=�4��0���5$�D$���/!�������,���'E�A"+�9���'�,"/�,%�����2"#�����0�D,%&$�;"����%�������������E�

- �- C���2�!�,�+��!"/����0�$��$� �#��,"@���"*��$����'����$�����"/� !"#��$�%&�'�������(�)�'�������'�*���'%+����1������������,��3�DF��-���0�����'��'�*���'%+����1���������"���%&��'����0���5$�����$�*�'�$�5�,"/�$��-"/��������������� ����������'�*���'%+��������-��.���$�����"/��!"/�E3�

- 4��*�'���%&��'���%&�$������(��!��������'%&�!������%&��'�$���2��-����%&��'�A�-��'�G���%5$���������$��$��'!�0!�D1�%&�'�1���1E���%�'�2��*�'�,%�����,%&5$���������'!�0!�,"/��%��,���$��-"/��������������$�%&�'�������$�����"/���%5$��!"�����"*�����-��.��3���

- ������������������2��*�'�1��0!����������$�%&�'������8�����$�����"/�,%&5$���*���0�(&0!����������'�(��$��$��=�H���'�$��$�$�5���%��'&5!���&��D1A"�9�$�9"E�=�H���'�$��$�1�%&�'���������������5$�DI������E�=�H���'�$��$�(!"/���%&5�'�,%&5$���!�,7���,"/�(!"/��9!"J��'!�0!��������DI��K$����E�

Page 3: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

4���'�,���1A"�9�$�9"���%&��'�,%&5$�A%0�9�5�'����8/"�(�0 9969-�1 2��):,�#;84&*-��<=65#9��$��AA"A��������5�'���*��$�0���'�*���'%+����1��������%&��'�,�#!��%&5�'�(&0!� ��$��$�,�#!��%&5�'�,%&5$���5���%��$��$��&�13����$��&�1�9%&5$�1��*�����5!�9%5�� ������!�,�?$�,!"/�<�9%+��!"��� ���$��$�1�%&�'�1���1�$�����"/���1�9�5�'�$���9%+��!"������-��������,�#!��%&5�'�������������%&��'��&51�$�5���"/�$�0��������&�13��F.�9�5<�L&�1�A�#��'�-"*�<�(���'�@��$��$�A�#��'�-"*�� ���$��$�1�"�1�������=8M3N8O���8��989! �C�*�P����������Q(R"$�������$��&�1�A�#��'�-"*�3�

�> ��������������?��������+ ,&(-������$�%&�'�������$���$�#������$�(���'�@����!"@��,��5��,%&5$�A�:1�,�?����"��������������%5���'!$������,��8���J!�,��5���%&�'�%��'������$�%�$���S�'�$�������'�$�%&�'������3������$�%&�'�������,%&5$�;�*-�9%5�'���"��$��$�����-�'�5!�����$�%&�'�������,&����"/�D��9�����1��'���AE3���J!�,&����"/�$�����"/�A%0�9�5�'�$��$�,&����"/�����0��&��'�5!�������9��"A3�4���'��==���J!���9��"A�$�����"/������&�1�����$������3��������������,&�� 7�$�%��������$���/!��!"*����5$�$��$��������%0���J!������$���������"*��,"/�1��*��(!"��8��"*�����������'���,%&5$�,�?����"����!���:$�A��<D$�+�'�������!���:$�,�?���"*��$���$��$�9����,7���A������-E�

=���6�,%&5$�9���'�$�%+�$��!8�$�%+�A�#����?$�9�#��T�,"/�,�?���"*�������=�-���%5�,�@���!"*��1��0!����������$�%+�$��!����?$�9�#��T�=�4"*�������2��*�'�,%&5$������'��"*�� &�!��%��2�����=�����1��*��(!"���$�%+����8�$�%+���%&��'3�4��*�'���%&��'����9���'�$�%+���%&��'�,"/�,�?���"*��$�������8�(!"@��$�%+�����,�?���"*��$�������3�

� =�C�#�2-���%5���#!�,������U��� 2+�+ ,&(-���J!�$�%&�'�����������'��==�1��0!�$�������� ���9�-����#��������������!�3���������-�,%&5$�;"����%������,!"@��2�!"/�8�(&0!� ������,!"/��2�!"/�D'�5!���%5$��!"��E�$��$���9��"�2���$3���#������$��������!����%�A��<�V�-1"��I�9���W������!�DE�X��� 1��'����A���"�"��AY�

�"�����V ���"W�Z�F.�9�5<�!�������!�DE�X� $����VV�[�"���\Y�

�"�����]Y�

Page 4: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

Z��4���'���%&��'��&51�����������2��*�'����#�����0�'!�����7� "�����A%0�9�5�'�2��!�(���<� �!9������!�DE�X��� �

1��'����A���"�"��AY��"����Y��

Z�4�%&��'��&51����-�����'!�#�'���%���������0���5$�����'�1�A$�����> 5).#�����@����$��������������(R"$��,%&5$�$��'�$�#1�(&0!��==� ���������#����%&��'�,%&5$�A%0�9�5�'�����'�$��$�$�%&�'������3��(R"$�����-�$���$�*�'�9�5�'�����;��#��9%+��!"����"*������������$���1���1�$�0��$������%�A��<�$������VV�����!�9��'��VV���!�9��'�^333��Y�$��$����!�9��'�$�����"/�����A�#8�$���/!3��"#��������)�'�$���/!�����,�?�� ����$�?1�9�#������-�2"�1�[\3������#��A%0�9�5�'�$��������1�.����"*�������9���'�2��!�(������!�������1��0!�2��!�(����9���'��"����A��<�_!�$��9"�V!�A��"��3�W� ��$���������$��&�1��A��"��� .�9�5<�_!�$��9"�V!�A��"��3�W�!�����!�DE�X� $�����VV�\�==�1��'����!�'����'��'"\Y�� $�����VV�\�==�`�1��'����!�'�����'��'"\Y�� $�����VV�[�==\�VV�"�9��

VV�[1��'����!�'\�VV"�9��VV�[���'��'"\Y�

� �"�����]Y� ���Z����> �����������������������AA�B������� �����������������������J!�$�%&�'�����������'��==�$�����"/�$�����������?$���!"@������8���%�'�1��0!�$�������� ���$�6�������������!�DE3����$��"����$�0������������1��0!�,�?��'!%+��$�?1�9�#��XZ3����#!���J!��"��������'������1��0!�$���9�#��$��#��1��/-�DYE�4�"*�������9���'�$�����"/�$�%�����!"@���"����������"����$�����"/� !"#����"*����!"@��9���'8��'��5!���%��$��$���)�'�$���/!8�9����,7��8� ����%��2����3�

Page 5: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

4�-���!"*������"*��������(��-�$�%&�'������������$��$����0�����'�,"/�9"J�,�5$� ���A%0��$�%0�8� .�9�5�A���,�*-�$�+�'����������$�%&�'�������$�����"/���%5$��!"���,%&5$���%�'���������,!"/�������$��������$��$��������(��-�$�%&�'�������� �*�$���'�2"��<�_!�$��9"�V!�A��"��3�W�!�����!��D�E�X�$����VV�[�"���\�Y��"�����]Y�Z���+-�������(��-���5!�$�%&�'���������"*�3�a�!�$��������'�$�%&�'������<�B�?�����!�9��'�'�!�$����A����$�?1�9�#��OO�3��������C�����������D?������������������������- ��0�A����DE�A�����!��- ��0�A�������?$�,�����2��*�'�$�.���;��$�9�#��X�&0���5!� 7���.�(�:��,�@�����*��$�0�����������3�- ��0�A�������?$�,�����2��*�'�$�.���;��$�9�#��Z�&0���5!� 7���.�2"#������$�$�0�����������3�- a�0���!"#�����?$�A�!��"*��$�0�������,��!�,�#!��%&5�'����?$������ .�9�5�$������-� ��$������-������D$�%+��� !"#�����E�

- ��*�'�,�?����)�'�$���/!� ����$�?1�9�#������-�2"�1�[\�- 4�!"#��9�#��<�A�����J!�$�*���"����������������������

Page 6: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�������E�<� ��������F �G�H����� ������������������F����I���> ��������F �G�H����� ������(�����5!�9%+��!"���$&�(�0��,%&5$�9���'�����'��==<���A�#��'�-"*��D!��"'"�E8�A�#���%5$�DI����!�'�1�!������("�AE� ���2-���%5�D$����$�"�E3�L��5!���%���%�����2!"/��(���"���D���5!����-�,%&5$�,%�� ������"��$���/����C�O�CQ��&�!E3��J):�&*.K6L&��C�#��'�-"*�����������A�#�$���'!�����7�(�)�'�]����?$�(�#��2-�������'!�����7��*�����?$�9%&�'�����2��*�'�$���1��@������1�1��*�3�F.�9�5<�]���P� M�]�� ^Ub� �F&�!�2!"/��9%+��!"����'�-"*������'��==�$�����%+�'����5!���%�A��<�

G # ��K"6�� &*69�

�O�==��"$�'�!c"A���"��-1"A�A��K��!����"���(�"�("��K3��K"6�� +6� �K#69� �#'6$�� +69� � &*6�)M�� 0.69�

!��� N�A!'�"98��A!'�"9�!���

C-A�"��9"1"�9"���

��A!'�"9�!��� N� ��A!'�"9� C-A�"��9"1"�9"���

$���� ���A!'�"9�$����

>�^d�����^e�

A����� ^�A�����!��8��A!'�"9�A�����!���

>U^8efd����U^8efe�

A!'�"9� b� A!'�"9�!���>^8�be8bdU8fbd����^8�be8bdU8fbe�

�4���'���@���"#��$��$�%��'�9�5�'�2!"@��!���'!&�!���5������'�2���0�'�>U^8efd����U^8efe� �����A!'�"9�!���'!&�!���5������'�2���0�'�]������fPPUP3��"#��$�@��A%0�9�5�'���%+�'�'!�����7�A�#��'�-"*�� %&��������$��$�'!&�!���5����"*�����$�����"@�A%0�9�5�'�2!"/��0)&*�,&#�J):�#';45��L���(�#��2-�������'!�����7�A�#������$���1��@������1�1��*��1�.��A��3�F.�9�5<�]3]�^3P�P3]333��==��$���U����5!�A�#���%5$<���K"6�� +6� �K#69� �#'6$�� +69� � &*6�)M�� 0.69�I����� b� ���"� U3b��=OM�Ud�De�9!'!�AE�9��(�"� d� ���"� �3e��=OM�U]d�D�P�9!'!�AE����'�9��(�"� �]� ���"� �3^��=OM�bgU^�D�g�9!'!�AE��

Page 7: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

�!�'�!������A�#���%5$�����'�$�%&�'����������$���A%5�1��*��(!"�����%�A��<�����2-���!"�-�I�1�.��A�������'!�����7������$�2!"/��I���������2-���!"�-���1�.��A�������'!�����7������$�2!"/�����'�9��(�"�F.�9�5<����g3^Ub��������$�2!"/��9��(�"�� g3^UbI������$�2!"/��I������ g3^Ub�������$�2!"/������'�9��(�"��5 /5�5 /5'�#$%&'�< 2K�9):�#';45���G 4&*�#' !"�"' L&�

5'. N&�G 4&*�9):�+.O� G 4&*�P') �

')45��fP^3�fUb^�3�

3]]eU��3]]]f^P�

�3f^P"U�

f3Ub^�"b�

e3U�"MU�f3^P"Mb�

�3f^P;�]U�

f3Ub^�;�]b�

e3U�;�]MU�f3^P;�]Mb�

��K/�#;4��!"/��2-���%5�(���'�@��^Pf�2-���%5�����'�,���(���'�@��$��$�$�%+�$��!�D�$�%+���%&��'� ���$�%+����E8�$�%+�A�#8�$��$�9�#�8������A�#�$��$�2-���!"��3����K"6�� +6� �K#69� �#'6$�� +69� � &*6�)M�� 0.69�$���� �� A!'�"9�$���� >�^d�����^e���A!'�"9�$���� �� ���"� ]����^PP��4���'�$�%&�'�������,"/�������(��-��������)�'�2-���%5����,�?�� ����9�#������-�,&�<��h�i�8�hHi�888����$�2-���%5� &�!�-���'�G��,�?$�(!"��<�J6Q.6&56�� +6��`��� ��"���D("��E��`(�� ��$2A1�$"��`I�� �";��1�'"�`�� ��"K�!�"��`��� ����!�'"��"������`�� ����!c��������(���`j� �C!�'�"�������!������2��`k� �H��(�"�������!������2��``� ���$2A��A����`]� ������$����$�"���

Page 8: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

����3 �����?���?�������J���������?'6/"�5)!&*� � A�

��"�1���%�� � M���"�1����*�� � N���"�1�$�!�� � O���"�1���#-�1��@��9%� l��

��J!�1�"�1�������A�#���5$�A"+�2"#���&51�^���������5�'3�F&�!�$��$�1�"�1�������A�#���5$�$����'����1��0!���:��,%&5$�2"#�����0�$�0�������(!"/����%�$������$�2!"/��9%+��!"�������3�������!���!�������'!��1�$����'����;��$�,7��<�

�3 �"#��$�0���!���������5�'�����A�#��'�-"*������2"#�����0������$�2!"/���'�-"*��^3 �"#��$����������������5�'����������2!"/��A�#���%5$�����2"#�����0������$�2!"/����%5$�

�!"*�'�1�"�1�l�$�6���1�9�5�'�$�����!�A�#��'�-"*�3��J;4�P6:#�'84"�1 2�R)!�;.�#,6L&�5.3 �5 /5�#) /&�#;3��4���'��==�2�!� !"#��$��$�(!"/����%�$�1���$���51�D�$�����!"@���&��������������%0E$����'����$�@��1��0!����*����"��$��$���!���:$<�• ��!�1�"�1�������^��'�*!�2��*�'�(���'!&��,%��'�$�5����������• ���@��(!"/����%�$�,%&5$�,�?������'��'��?$�A"+�,%&5$�%���!"*���.�����������%&�$�• ������"/�$�����!"@��$�?1�9�#���'��?$�,%&5$�A%0�9�5�'���@�'� ��������8�2�!�,���(!"/����%�$�,�?���&0��'��?$�����'�$���'�$���%���!"*��$������#��

• H�#���'��?$�2��*�'���"/����-���"#�$���2-���!"���N�����'�1�"�1����*�8� .�9�5����2��*�'���"/� !"#��DU=bEDP=�E�����1��0!� !"#��DU=bENDP=�E�

• B���%���!"*��$�0��$��$�1�"�1���������%�A��<���������> G ����5).#�S ����������������I�J����

4��$�����"/�9���'�$����,"/�;��#��$�$��'!�����7�A�#��"*��������������"��$���1���1�$����VV'!�����7Y�F.�9�5<��$����VV�PY�� $����VV�]Y�� $����VV�D�]=^3PEY�OO�,�#!� &�!�(!"/����%�$�����"*��,�?�� ����9�#���'��?$��!�!�������'!�����7�A�#�A���2�!�!��;��'����#��;��#�'�9���'����$�����"/�A%0�9�5�'�2-���%5�"�9���

Operator Associativity unary – right to left

* / % left to right + - left to right

Page 9: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���F.�9�5<�_!�$��9"�V!�A��"��3�W� �!9�����!�DE�X� $����� VVf�� VV"�9��� � VV�d��VV"�9��� � VV�^bVV"�9�UU�� � VV�Df=d=�^bE�VV�"�9�Y�� �"����Y��T&'�7 4&*�P6:#�Q. 3�P',�,&�06L&�+ 2&�'%&'��B�*!� 2�!� 2"#�� ���0� !�� �"*������� ����� ��� $�@�� ������ (��-� 9�5�'� ��%�$� �����,��8��==��$���'�$�#1�$���$����'���������A�#�$�*�'�$�5�,"/�,7���9�5�'�2"#�����0�2�!�!�8�,������<�• A"�KD�E<��#��,7���,�������'�,"/�!�������A�#�������• A"�1�"$!A!��D�E<��#��,7���A�#�$�%+�A�#�����1�1��*��A"+��!"/����73�• 9"$<��!"/����7�'!�����7�A�#�&0��"������1�1��*��• �"$<��!"/����7�'!�����7�A�#�&0��"�������1���5$�1��*��• �$��<��!"/����7�'!�����7�A�#�&0��"���(����1��*����

�%��-�<����#��A%0�9�5�'�$��$�,7���9�5�'���������'�$�%&�'����������1��0!�2��!�(����<�_!�$��9"���V!����!13�W�� .�9�5<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9�����!�DE�X���$����VVA"�KDPE�VV�^� OO2"#�����0�[333�^\���$����VVA"�KD�]E�VVA"�!�AI��'AD!�A<<�"I�E�VV�^�OO��^33333333���$����VV�";�VV�P�OO2"#�����0��I���$����VV�$��VV�]�OO�2"#�����0��^���$����VV9"$�VV];�]�OO�2"#�����0��f�D�%��-��,"/�������(��-������A�#�����'��"������1���5$�

1��*�����OO,�?����"*��];�1�.����%&�$E���$����VV9"$�VV]�^�OO�2"#�����0��]���D�%��-��,"/�������(��-������A�#�����'��"��(����1��*�����

,�?��OO��"*��]�1�.����%&�$E�����"����Y�Z��F3 ����������������������������

Page 10: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��!"#�����������$��!��"*�������'%&�!����1�������9���'�,"/������2��0���&�!������ ���'���&������'����-��.��3������(!"#��$�����"/�$�%��������'!�����7�1�����&51� &�!�2!"/��9%+��!"����������,�+�2��!�(����$������8�'!�����7�����'�(!"#��$�����"/����-�,�/!�,%&5$3�4"*��(!"#��,%&5$�,�?����"����!�,7���$�0��9����,7��3������1���1�,"/�2��!�(����(!"#�<�V9�����-1"W��� ��!�(�"����"Y�F.�9�5<��!������A��Y����'�!����9��"���Y�I������8(8$Y�4��$�+�'�$�����"/�'����'!�����7�$���(!"#���'�-���5!���&�!�,!"/��2��!�(����D1�"�1�'����2-���!"���(&0!�9�#��(�)�'�mE�!����mU8(mPY�F7���.�2��!�(����(!"#������'�$�%&�'������<��_!�$��9"�V!�A��"��3�W� �!9����!�DE�X�� 9"$�����!���A���"�"��AY�� �� ���"��A���"�"��AY�� �� �"����Y�Z�F.�9�5<�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� I�����9����89���^89T�(Y�� 9����mg3PY�� 9���^md3]Y�� 9T�(mD9����=9���^EO^Y�� $����VV\9!"���(���<�[�VV9T�(Y�� �"����Y�Z���) /&�#;3�9,U6)M��B�*-�����������������%0�,%&5$�$��'�$�#1�(&0!��==�9���'�,"/�;��$�,7���$�0����������5!�9%+��!"������?$������(!"#�3� .�9�5<���

Page 11: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�$����VV\2!$����%&�$�2!"/��!������<\�VVA!c"�ID!��EY���> �������C�����������D?����3 n�"*��2��!�(����$��$�(!"#��A%0�9�5�'�����'�$�%&�'�������^3 L%�������'!�����7� ���������(!"#����%�'�2��*�'�$���'�2!"/��9%+��!"��� &�!�(!"#�3�U3 C%0�9�5�'�(!"#������'������(!"/����%�$�2�!�����$�%��$���'!�����73�L�J!����-���.�2��*�'�,%&5$�1������!"���(&0!������(!"*��97$�8�2�!�,���'!�����7�$�0��(!"#�����������'!�����7�(�#��2-�� ���2"#�����0�$�0��(!"/����%�$����� �*��'�G�3�

b3 C%0�9�5�'�'!�����7�$�0��1�"�1�$�!��2��*�'�$�.���;��$3�L�J!����-���%&��'�;��#���!"�������'�$��$�(!"/����%�$�$�����!"@����������5�'� �����J!����-���#��2����1������!"��3�� .�9�5<�U3^=�^OU=��3P�����2"#�����0�A"+�(�)�'�b3e����-� ��1��0!�(�)�'�P3U�

P3 C%0�9�5�'������(!"/����%�$���������'�,���$�%�����!"@�����5!�9%+��!"�����%�'���5!�2��*�'�(!"#��$��:$�$��:��2!"/��9%+��!"���$�0��2"#�����0�

f3 n�"*��2-���!"���VV���%&�$���J!����!�9��'����#��;��#��(&0!�$�����������������������������

Page 12: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�������V�<� �����������������?�G�H����� �����W�����> �������������==�$��'�$�#1��������������%0�2-���!"���(&0!�9�#��m�,%&5$�'�5!������"����'���3���*�'�9�5�'�$�0���"�������-�����9���'�,"/�'����9%+��!"���$��������(!"#�3�����1���1��"����'������%�A��<��4"*��(!"#�m�(!"/����%�$Y���!"/����%�$�$�����"/������������)�'8������(!"#�����?$������(!"/����%�$���!�A%0�9�5�'��"����'��������'�$�%&�'����������1��0!��%��-����!�,!"@�<�

�3 �!"/����%�$�("*������!�9�#��m��"#��$���A%0�9�5�'�(!"#������$��$�(!"#�����-�1��0!�,%&5$�'����$��$�'!�����7��&51��"����%&�$�,���

^3 �"*������!�9�#��m�1��0!�����������"*��(!"#�� ���$�6�������������*!3��F.�9�5<�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X� I��������"�'��8�K!9��8���"�Y�� ��"�m�"�'��NK!9��Y�� �"�'��m^e3^Y�� K!9��m�U3fY�� $����VV�[9!"���!$����<�[�VV��"�Y�Z���%&�'���������"*��A"+�$���2"#�����0�2��*�'�$�.���;��$� ���(!"#���"�'��� ���K!9���$�%��$���'!�����7�2�!�9���'�����'�(!"/����%�$�'���3����*���"����A�������2��*�'��&51��"�<��������=�^dm�]]]=�]=PY��=3������(!"/����%�$�A%0�9�5�'��������%0�'����DmE�'�5!�����(!"/����%�$�'���3���+�'���%���%+�'�(!"/����%�$�2���$�(�0�����*��(!"/����%�$�'����$�+�'�$��������'!�����78�,���$�.�������'!�����7�'����$���(!"#�3�F.�9�5<��"#�����$���(!"/����%�$�'���<��mPY�����(�0�����*��(!"/����%�$�D�mPE�$���'!�����7�����P3�F�� ��-�$�*���"����A���A"+�!���"*������������A�#�P�$����VV�D�mPEY��4���'������(!"/����%�$�'����$�����"/�$�����!"@���������%0�'���8�2�!�,���(!"/����%�$�A"+�,%&5$���%5$��!"����%��1��0!���������!<� .�9�5� �m(m$mPY���

Page 13: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

=��"#��(!"/����%�$�("*��1��0!�1�"�1�'����2���$� &�!�2!"/��9%+��!"���$�0��(!"#��("*������!�����2"#�����0�(!"/����%�$�A"+�,%&5$�$��-"/��,&0!�2!"/��$���1�����&51� &�!�(!"#��("*������!3�4�-���!"*��2�!�2"#�����0�$�0��(!"/����%�$�("*��1��0!� %&��������1��5�� !�$�0��(!"#��("*������!�����'!�����7�'���� ����(!"#��A"+�2��*�'�$�.���;��$3�� /5�7 4&*�<,6:&�R)N,�5.3 �06!&'�* /&���>��!� !"#��$�%&�'�������$����'������%&��'�A%0�9�5�'�$��$��"����'����$���9�5�'���%�A��<����'m���'=�]Y��!$�m�!$�NUY��m�MUY�$m$l2Y�333�����'�$��$���%&��'��&51���"*�����$�����"/�A%0�9�5�'�$��$��������%0�'����=m�Mm� Nm� Om� lm� ,%&5$�$��'�$�#1�(&0!��==�'�5!�����A����$����AA!'��"����1"�����A�F.�9�5<����'m���'=�]Y� ⇔� ���'�=m�]Y��!$�m�!$�NUY� � ⇔� �!$��NmUY��m�MUY� � � ⇔� ��MmUY�$m$l2Y�� � ⇔� $��lm2Y��F"@�-���'�G������$��$��"����'��������'���!���%&��'��&51���"*��$���$���'���5$�,.$����%�'�$��$��9���'�A����$����AA!'��"����1"�����A�A"+�'!��1�$�%&�'�������$��5-��������&�3�E �) /&�#;3�+)!#�&*)L,��4���'�$�%&�'������$����'����$�+�'���%&��'�A%0�9�5�'�$��$��"������S�'����?$�'!�0��'!�����7�$�0��(!"#��,"#��,!��8� .�9�5���%<�!m!=�Y����?$�!m!M�Y�4��-� �� !"#����"*�����$�����"/� !"#�<�!==O==!����?$�!MMOMM!��$��$�1�"�1�������==8�MM���%���"*��'�5!�1�"�1�������������'�*!3� !"�$�,�?��1�"�1�������������'�*!���%&�$����?$�A����"*��(!"#��$���A%5�2���$������2�!�A%0�9�5�'�1�"�1����������-�$���'� &�!�$��$�1�"�1�������2���$<�

�3 �"#��1�"�1�������������'�*!�,�?����%&�$��"*��(!"#������'!�����7�$�0��(!"#��A"+���S�'O'!�0������%&�$�2�!����5$��!"�����%+�'�1�"�1�������2���$�

(3 �"#��1�"�1�������������'�*!�,�?��A����"*��(!"#������'!�����7���%+�'�1�"�1�������2���$�A"+�,%&5$���%5$��!"�����%&�$�A���,����&�!���S�'O'!�0��'!�����7�$�0��(!"#��,!��3�

F.�9�5<�_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� !����m�]8(8�$Y�

Page 14: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

� (m==�Y�� $m(==Y�� $���� VV�k�m�k�VV���VV"�9��� � � VV�k(m�k�VV�(�VV"�9��� � � VV�k$m�k�VV�$�VV"�9�Y�� �"����Y�Z���%&�'���������"*��A"+�;��#���"*�����������<��m����(m��^�$m������> ����������������������������AA�����?$�9���$���$��'�$�#1�$��$��������%0�A�#���5$���%�=���M���N��O33���%�'� �J��2��*�'�,�0� .�9�5���%�2��*�'�$����������%0�,"/��.�����+-���%�����-�$�S��$�0�������A�#3�4��-� ����,����==�$��'�$�#1������A�#��������������5$�,"/�$�����"/�A%0�9�5�'�����'�$�%&�'������3�4�%&�$�2�!�9���'��������������$�@��1��0!�(!"#�<�

• 4"*��$�0����������#��A%0�9�5�'�• ��*�'�9�5�'�$�0�������• L��5!�9%+��!"���A"+�$��'�$�#1�$��������• �"/��9%+��!"���$�0��2"������0����0� "@�(&0!������

����#��A%0�9�5�'�$��$��������������5$���������'�$�%&�'����������1��0!�2��!�(���<�_!�$��9"�V����3�W�����1���1�$���'�$�0���������������<�I��$�!�����"��D��'��"��AE3�H����A��$��$��$��������������5$���%&��'�9���'<��6L&�� 2+� �)L&*�G.4&*� �,6N.�7;O�0,6!.�5.3 �P6:#�Q. 3��(AD;E� 4.�����7���-"���,�#!�$�0��;� !���I�(ADE� � 9��(�"���(AD;E� � ���'�!���1�KD;�8;^E� �.���;����+-���%���;^� 9��(�"�A���D;E� �.���$�S��(��$�^�$�0��;� 9��(�"�A!�D;E� �.���A!��;�D;��.���(�)�'���9!��E� 9��(�"�$�AD;E� �.���$�A�;�D;��.���(�)�'���9!��E� 9��(�"����D;E� �.�������;�D;��.���(�)�'���9!��E� 9��(�"���'D;E� ��D;E� 9��(�"���'�]D;E� ��'��!��$&�A�#��]�$�0��;� 9��(�"�";1D;E� ";� 9��(�"��B�#!�A�#�$�0����%+�'��������"*��$�����"/�����A�#��'�-"*�����?$�A�#���%5$3�����$�����"/�������)�'8�(!"#�����?$������(!"/����%�$3�

Page 15: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

F.�9�5<�A���DbE� A���Db3^=P8UE33�_!�$��9"�V!�A��"��3�W�_!�$��9"�V����3�W� �!9���!�DE�X� !���;mP8�;m^Y�� $����VV\�;-m�[�VV1�KD;8-E�VV"�9�Y�� �"����Y�Z�� /5�"'6/"�<,6:&�R)N,�P,6N.�(5 9#-�������'����,�+������!"/�� !"�$�$��-"/��,�/!�9%+��!"�������'���!���%&��'��&51<�

• 4���'������(!"/����%�$�$�������!"@�����5!�9%+��!"���• ���-"/��,�/!�9%+��!"�������'�(!"/����%�$�'����

��!���%&��'��&51�$��-"/��,�/!���"*���%5�,���'�9!"J����������$��$���'�#���'�@��("*������'3��==�$�+�'�$��'�$�#1�$����'%&�!����1�������$��$��������%0�(!"#��,�/!�2!"/����%5$��!"#1�'�5!�����$�A���1"�����3�B�*-�������%+�'��������%0�������'�*!�$���$���1���1<���������������� ���9����-1"�����2!"/��9%0��!"�������������#����1�,�?��$���$���(!"/����%�$3�F.�9�5<�_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� I������mU3PI8(mU3]IY�� $���� VV�!���D�N(EY�� �"����Y�Z�2"#�����0�;��#���"*�����������������]�����> 5,&��<=65#������$�$�%&�'������� .�9�5�����$����'����,�+�2��0��A���8�9%+� �!"���$��'�$�#1�$���$�%&�'�������,%&5$�'������%5$��!"#1�("*������'�$�%&�'�������(&0!��"����'���3�4�"��$��$�����-�$��$�$�%&�'�$�6��.���������,%&5$���"*��$��$�'!�����7�,�+�'��������'�$�%&�'�����������2��*�'���"/��.���,%&5$� ��"*����%+�'�'!��� ��7�2���$��'��5!� ��%��1��0!�A%0�� ��5!�$��$�'!��� ��7�,�+�'���� ����'�$�%&�'������3�B!"@������-���0�����'�2��*�'�9"J�9���'�$�����%+�'��'%&�!�2��*�'�$��-"*�� "@����1������3���*-�'!&��$����'����A"+������!"/��,�#!��%&5�'�$!�3�$!������,�#!��%&5�'�,%&5$�$��'�$�#1�(&0!��==8�����$���1�"�1�$����'��������1�'!�����7� ����(!"#���%��(����1�.��2�!�$�%&�'�������#';45�',6!&>�$���1���1�$�0��$!�<� $!��WW� ��!�(�"����"��WW� ��!�(�"����"^333Y�F.�9�5<�$�%&�'�������A���2�!���%5$��!"���$���1�"�1�����1� ����^�A�#��'�-"*��A���,���!������.$��$�0����!�A�#��'�-"*�����-3�

Page 16: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� �� !���A��8A�^8�!$�Y�� � � �� $����VV�k���1�A�������<�kY�� $!�� �WW�A��Y�� $����VV�k���1�A������^�<�kY�� $!���WW�A�^Y�� �!$�mA��NA�^Y�� $����VVA���VVk�N�k�VVA�^�VVk�m�k�VV�!$�Y�� �"����Y�Z��!�A%0�9�5�'�$!��,"/�����1�'!�����7�$�����!"@��(!"#�������%��-�<����$�����1�'!�����7��%��(����1�.��'!%+��$��$�'!�����7�1��0!�$���.�����#����2���0�'����:�'3�F.�9�5�<��"����A���9���'�,"/�����1�'!�����7�$�����!�(!"#������� ������^�� $!��WW�����WW���^Y��!�$�%&�'���������%5$��!"���'!�0�A%0�������#������1�P�$�������� ����]�$������^��������1��0!�����1���%�A��<� P:�]�↵���_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� I�����A��8A�UY�� !���A�^Y�� $����VV�k���1�A�������<�kY�� $!�� �WW�A��Y�� $����VV�k���1�A������^�<�kY�� $!���WW�A�^Y�� $����VV�k���1�A������U�<�kY�� $!���WW�A�UY�� $����VVA���VV\��[�VVA�^�VVk���k�VVA�UY�� �"����Y�Z�L%��-�<����$�@���������*��,"#��^�,�?$�,!"/��A���$�0��$!�<�

• 4%5�,���'�$��-"/��,�/!�9%+��!"���$�0��'!�����7�����1� ����$���1�����&51� &�!�2!"/��9%+��!"���$�0��(!"#��2�!�$�@����!"#�3�

• �!� $!�� ,%&5$� '�5!� ��%5$� �!"��� ���� 2!"/�� ���� ���'�,"��� 9����� $��� 9%+� �!"�������1��"#��,�+�$���9%+��!"�������������#-�,���'�1��@��9%+��!"�����������$�@��D1��5�

Page 17: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

�����$� ���� 2!"/�� 9%+� �!"��� $�0�� (!"#������ ����,��'� ����1�'!��� ��7E8� �"#�� ��%�$�%��$�����������A"+�$�&��$���,"#��2�!�9%+��!"���,�+�����13�

�H����!�,�?$�,!"/����"*��2�!�����1�9%+��!"����"#���������1�2��*�'�$�.���;��$�A"+��0����%&0�'�,"#��'!�����7�$�0����%+�'�(!"#��,%&5$�����1�A���,��3���+-�;"�����!�$�%&�'�������A��Y��_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� �� $����2��82�^Y�� !����A�Y�� $����VV�k���1�2-���������<�kY�� $!�� �WW�2��Y�� $����VV�k���1�A���<�kY�� $!���WW�A�Y�� $����VV�k���1�2-��������^�<�kY�� $!���WW�2�^Y�� $����VV2���VVk��k�VV2�^�VVk��k�VVA�Y�� �"����Y�Z��!�$�����%5$��!"���$�%&�'���������"*�����-������%��'�(%&�$�9!"J�������%�A��<�����1�2-���������<����↵����������OO'!�0�A%0��������1� ���������@!�"��"������(%&�$�2"#��!"#1���������1�A�<����1�2-��������^<�$�↵OO4�5!�,�*-�������#-�2��*�'���"/�����1�,%&5$�'!�����7�$���(!"#��A��� � � � � ��OO����$�6�$��� ��"/�����1�'!��� ��7�$���(!"#��2�^8�'!�0�A%0��������1�� � � � � ��OO2-�� �%5� $� ��@!� "��"�� ���� (%&�$� 2"#� �!"#1���"*������������;��#��� � � � � ��OO�!"���������$����%� ��-�$����'�G��(!"#��P#��$���'!�����7�������(!"#��9)�$���'!�����7���������$����(!"#������$���'!�����7���������'�-"*�����*��������5!���&�!�,!"/������1�'!�����7�$���(!"#��2������'�0����↵�����$�6�$���2-���%5���,%&5$��%�� �����(!"#��2���$����'!�����7��� �J��$������"*�� ���'�,"��3��!�'�?1��"��������1�'!�����7�$���(!"#��A�#�D$!��VVA�E����� ���� ���'�,"��� ������#-�,�+�$���A�o��A�#����"*����#-�'!�����7����-��%�� ����(!"#��A�#���@!�$�����%5$��!"����!"#1�$��$��"����$������5!3�p"���$�%&�'���������%��^<�_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� �

Page 18: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

� I�����A��8A�UY�� !����A�^Y�� $����VV�k���1�U�A��kY�� $!�� �WW�A���WWA�^�WW�A�UY�� $����VVA���VVk��k�VVA�^�VVk��k�VVA�UY�� �"����Y�Z��'!�0�A%0�2�!�$�%&�'���������%5$��!"����������1�9%+��!"�����%�A��<��^3f:b3P:f3^�����2"#�����0�!���"*������������A"+����<��^3f���b����]3P��'�-"*�����*�����<3333���4���� ��5!� 2�!� ����1� 9%+� �!"��� $��� (!"#�� ��� 1��0!� $�/�� ������,"/� ������� ����� ���5�'�9%+� �!"���2��*�'�$�.���;��$3��������W���(5)&9#-����,#6$ 0�7 # �� ���� (�#�� 2-�� ��%+�'�9%+� �!"�������� ����'� $�%&�'� ����������'!��� ��7� $�0�� ����$�+�'�$�.��������"*��$�0�����3� .�9�5���%�$���,��5���"����A��<� �!9�� ��!�DE�X� I�����$!�$��8��9!�AY�� $����VV\!�1�����9!�A<�[�Y�� $!��WW��9!�AY�� $!�$��m^NU3�b�fN��9!�A�� $����VV\��!�$���m�[�VV$!�$��Y�� �"����Y�Z�����'�$�%&�'���������"*������^� ���U3�b�f�����$��$��!�"����9�����"#������� �!�"����9����,%&5$�A%0�9�5�'���!"@���&!� ����'������$�%&�'� �����8� ����$���2��0���S�'�$�%���$��$���J!���!"@���/�8� .�9�5�'!�����7�$�0���������!�"����9����'�!�2��*�'����#�'����#����5!�$��$� 7���.�����'�$�%&�'������8����?$�2�!�$�@�����-�,�/!�'!�����7�$�0������� �!�"����9���������,����'%&�!����1�������1��0!�A%0��&0���!"@�� 7���.�����'�$�%&�'�������mmW� %�����#����&�!�'!��� %���9"/�A�!�A���3�B"/����������������5�'����-��==�$��'�$�#1��$&�$�"#�,�?���"*��$���������!�"����9�������*�'������%��2������� ��'�5!�����2��!�(������)�'�$���1���1�2��!�(������%�A��<�$��A�� V9�����-1"W�V���"�$��A�W�m�V ���"WY� .�9�5<� $��A��I�������mU3�b�fY�

Page 19: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�T�#$X�P' ,�< /)�' Y&*�#$)&*�5';8&*�#$%&'�� �!9���!�DE�X� $��$�2��!�(������)�'Y�� $��$�2��!�(����(!"#�Y�� $��$��"����2���$Y�� �"����Y�Z����������������������������������

Page 20: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��������Z��� ��� ��� ����[�B�J\�������> � /5�#) /&�#;3�Q. &�'6!�($60 #,)& 0�)"6$ #)$9-�����$��������%0�������"��9���'�,"/���5������$��$�,!"@��2!"�������9%5�� ����,��������$�%&�'�������$�����"/�'!�0!���-"#�� �#��,"@��"@��9"0�8��!������5�3����$�(!"/����%�$�A%0�9�5�'��������%0�������"��'�5!�����(!"/����%�$�������"��D�"���!���";1�"AA!��E3������(!"/����%�$�������"��,&��'!�0��'�@��������������%0�������"��2"#���&51� &�!���!�(!"#�����?$���!�'!�����7���)�'3����$��������%0����-�$�����"/���1�9�5�'���"*��$��$�2!"/��9%+��!"��<�A�#��'�-"*�8�A�#���%5$8�2-���%53�4���'��==����$���$��$��������%0�������"��A��<��4������%0� ��*�'�9�5�'� F.�9�5�V� C��A��������0��&�� ���!VU]�W� C��A������&����&�� $�!"�$���W�3e�Vm� C��A��������0��&�����?$�

(�)�'�����'����'Vmd]�

Wm� C��A��������0��&�����?$�(�)�'�

A�����'Wm�]]�

mm� C��A�����(�)�'� ���!mmi�i�qm� C��A�����2���$� ���!qmi(i������(!"/����%�$�������"��D,!"@��2!"��E�A"+�$������������'���!�2"#�����0�,���'����?$�A�!3��"#��,���'�����(!"/����%�$�$���'!�����7���8��'%&5$���5!�$���'!�����7�]3�F.�9�5<���$����VV�D�]W^E�Y�D(!"/����%�$�1��0!�,�?������'��'��?$E�_!�$��9"�V!�A��"��3�W� �!9���!�D �!9E�X� �� $�����$��8$�^Y�� $��mj�jY�� $�^mj(jY�� $����VV��D$��W$�^E�Y�� �"����Y�Z� ������(!"/����%�$������"��$�6�A%0�9�5�'������1�"�1�������������"��'�5!�����(!"/����%�$�������"��,&��'!�0�3��) /&�#;3�0)*,5��

Page 21: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�!�$�@����5�����$��$�,!"@��2!"���1�%�$���51�$����'����A"+�A%0�9�5�'�2"#���&51�'!%+��$��$��������%0�������"�� ���$��$��������%0���'!$8�,�������$��$��������%0���H�DrrE�Qs�DttE� ����Q4�DqE3����!��������%0�rr�2"#���&51� &�!���!�(!"/����%�$�������"��,&��'!�0��A"+���5��������������(!"/����%�$�������"���&�!�D(!"/����%�$�'�"�1E�3��!"/����%�$����-�$���'!�����7����"�D�E�2�!�$�0���!�(!"/����%�$�������"��,&��'!�0��,"@��$���'!�����7����"3�F.�9�5<�4��$���(!"/����%�$�A��<�D���!VmU]E�rr�D$��W�3P]E�OO�%��-��$��$�(!"/����%�$�������"��,&��'!�0��1��0!���)������'�9�#��DE�(!"#����%�$���"*��$���'!�����7�(�)�'���2�!�'!�����7�$�0��(!"#�����!�WU]� ���'!�����7�$�0��(!"#��$���1��0!�W�3P3��4������%0�tt�$�+�'�9���'�,"/�2"#���&51���!�(!"/����%�$�������"��,&��'!�0��,"/���5��������������(!"/����%�$�'�"�18� ���2"#�����0�(!"/����%�$�'�"�1�$�6�'!�����7�I��A"�D]E�2�!�$�0���!�(!"/����%�$�������"��,&��'!�0��,"@��$���'!�����7�I��A"�D]E3�F.�9�5<�$���,��5��$�%&�'���������%�A��Y��!���!8RY�I������8(8$Y��m�^3]IY�(m^3]IY�!m�PY�RmU]Y�$m]3]I�$����� VVD�W(EVV"�9��

VVD!mmRE�tt�D�V(E�tt�$�VV"�9��VVDD�O(WPE�rr�D!Vm^]EEtt�$Y�

��"����$����&0���"*��A"+�!���"*�����������<���]����4������%0�q�9���'�,"/�$��-"/�������(!"/����%�$�A��'����5�'�����!��'%&5$���5!�$�0�����3�F.�9�5<�D��#-�$��$�'!�����7�$�0��$��$�(!"#��A%0�9�5�'�&0� .�9�5���"*�E��$����VVqD�W(EY�$����VV�qD�EY�B���%���!"*��$�0��$��$�1�"�1������<�

Page 22: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

4������%0� ,���%���!"*��DE�q���==���MM�M�A!c"�IDE�N���O���l�=���M�VV��WW�V���Vm���W���Wm�m�m��qm�r�u�t�rr�tt�v<�m���=m���Mm���Nm���Om�

��^�U�b�P�f�e�d�g��]�����^��U��b�

��)!�5'X&'�] /5�5.3 �+)!#�<,6N.�#';/5���p"���$�%&�'�������A��<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V����3�W� �!9���!�D �!9E�X� �� $��A��I�������C�LQ�m]3]]�IY�� OO$��A��((mfY�� OOI�����A��8A�UY�� I������$�Y�9��(�"�$^Y�� I�(A�� $�m]3]�IY�$^m]3]�Y�� $����VV��D$�mm$^EVV"�9�Y��OO!���"*������������]�� $����VV��DI�(AD$�M$^EV��C�LQ�EY�OO�!���"*��������������� �"����Y�Z�����'��$�,����'%&�!�A%0�9�5�'�2"#�����0�$�0��(!"/����%�$�D$�mm$^E�����2��*�'�$�.���;��$3��'�-"*�����*������9���������%�$��%����%+�$�0��$�� ���$^�2���$�����3�F�� ��-�2�!�$�@��;��$�,7���A%5�(�)�'������$�0����!�A�#���%5$��'%&�!������%&�'�9���'�$��$����%����!�DI�(AD$�M$^EV��C�LQ�E3������I�(A�'!�#�'���%�������(A���%�'�2"#�����0������$�2!"/��I����3�

Page 23: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���> � :.�#$./5��,M���6096������#������$�!I�>�"�A"�$�6�,�5��$������-��.���$��5����%5$��!"������������'���!�9�+-��"����9%5�� ����2"#�����0�$�0�������,!"@��2!"���D(!"/����%�$�������"����-�(!"/����%�$�A��A����E�����1���1<�� !I�D,!"@��2!"��E��� � �"�����Y�� "�A"�� � �"����^Y��"#��,!"@��2!"���$���2"#�����0�VW]�������%5$��!"���06!&'�8�'%&5$���5!���%5$��!"���06!&'E>��L"�����8��"����^�$�6�,%&5$�1�"�1�����������"����,&��D2��*�'�,%&5$�1�"�1�$����%����!��"������&0��"*�E3��F.�9�5<�F!"#��$�%&�'��������.������"#���������1�$�0��������'%&�!���%�A��<�

�"#����������1��&����&��^]]]]]]������-0��"�����"#����"#�����^l8�$��$���%&��'��&51�$������5!������l3�

�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� I������������18����"Y�� $����VV\����(!"����$��������1<�[Y�� $!��WW������1Y�� !I�D������1Vm^]]]]]]E�� � ���"m������1N]3]�IY�� "�A"�� � ���"m������1N]3]^IY�� $����VV\C���!"�����"�1��!�9��'���<�[�VV�A"�1�"$!A!��D]EVV���"Y�� �"����Y�Z���6!&'�*'6/"��F��$���1���1�$�0��!I�>"�A"�$�6�$���1�"�1�$���������"����&0���J!�1��@��$�0��!I�>�"�A"3���%�'�����'���%5$��"#�,"/���%5$��!"��������$�*�'� !"�$������,���$�����"/�$�@��1��0!�$�����!"@���"���8�2�!�,���,"/��==�$��#1�������$�����!"@���"�������1��0!�,�?����%+�'��"�������-� ����$�?1�9�#���'��?$�XZ8�2�!�,���������(���2��#!��"�������-�,%&5$�;"����%�������"����'�"�1�D$��1���9�A���"�"��AE�� !I�D,!"@��2!"��E�� � X���"�����Y�

Page 24: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

� �� ����"����^Y�� � ����"����UY�� � Z�� "�A"�� � X���"����bY�� � ����"����PY�� � � 333�� � ����"�����Y�� � Z�� :.�#$./5�,M�P')L&*�6096���B�*-�����9�5�'�(!"#��,�/!�$�0��$�#������$���"*�8�&0�9�5�'����-�2��*�'�$���1��@��"�A"3�����1���1<� !I�D,!"@��2!"��E�� � � �"���Y���"��$���1���1����-�����2�!�,!"@��2!"���$���'!�����7�2���$�]������"����A"+�,%&5$���%5$��!"��3���+�'���%���"*���"����$�+�'�$�����"/������������"����'�"�13�F.�9�5<���%&�'�������A���$���1�"�1�����1������A�#��'�-"*�8�A���,���$���(!"#��A�#� %�������1�$���1��0!�����A�#�$��o����-�2��*�'3��_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� !������Y����� $����VV\����1�����A���'�-"�<�[Y�� $!��WW���Y�� !I�qD���l^E�� � $����VV\A�� ������1����A��$���\Y�� �"����Y�Z��� :.�#$./5�,M�0)&*�&' .��F��$�#������$�!IM"�A"�$���1�"�1�$�%���������"����,&�����?$������$�*���"����'�"�18� �� ��-�����'���J!�1��@��$�0���!I�����$��"�A"�$�����"/�$�%��������$�#������$�!I�>�"�A"�2���$3�4�����(��������$�#������$�!I�>�"�A"�,%&5$�;"����%������$�*���"����,&�3�F.�9�5<���%&�'�������A���,�*-��.�����������1�����'������'�9%5�� ����A�#��!"@��(��������'�$�0����J!������'���"����!���:$�A��<��H���������D�����'E� 4�������1�WmP]]]]]]� UeP]]]=�fl�9���������b]]]]]]mV9��������VP]]]]]]� UP]]]]=�bl�9���������U]]]]]]mV9��������Vb]]]]]]�� U^P]]]=�^l�9���������^]]]]]]mV9��������VU]]]]]]� U]]]]]=gl�9���������

Page 25: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�]]]]]]mV9��������V^]]]]]]� ^P]]]]=Pl�9���������V�]]]]]]� ^]]]]]=Ul�9����������_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X�� I�����9�������8������1Y�� $����VV\����1�9��������<�[Y�� $!����WW�9�������Y�� !I�D9�������WmP]]]]]]E�� � ������1mUeP]]]=9�������N]3�fY�� "�A"�� � !I�D9�������Wmb]]]]]]E�� � � ������1mUP]]]]=9�������N]3�bIY�� � "�A"�� � � !I�D9�������WmU]]]]]]E�� � � � ������1mU^P]]]=9�������N]3�^IY�� � � "�A"�� � � � !I�D9�������Wm^]]]]]]E�� � � � � ������1mU]]]]]=9�������N]3]gIY�� � � � "�A"�� � � � � !I�D9�������Wm�]]]]]]E�� � � � � � ������1m^P]]]]=9�������N]3]PIY�� � � � � "�A"�� � � � � � ������1m^]]]]]=9�������N]3]UIY�� $����VVA"�!�AI��'AD!�A<<I!;"9EVVA"�1�"$!A!��D]EVV������1Y�� �"����Y�Z������������

Page 26: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���������> � :.�#$./5�9_,#5'��F&�!�$��$�(��!�������1��0!�$��5�����������'���!"@����%&��'��&51��"#�� !"#����"��$�#������$�!I�>�"�A"�������������#-�$�%&�'�������2����,�5$� �����"��9�+!���5$��$�%&�'������8�����'���%&��'��&51����-�����"*��A%0�9�5�'�$�#������$�9_,#5'�$���1���1<��

AK!�$���D(!"/����%�$E�X�� $�A"�'!��T��7T�<������������������������������������������������� � �"����Y���� � �"���^Y�� � 333�� � (�"�2Y�� $�A"�'!��T��7�T <�� � �"����Y���� � �"����Y�� � 333�� � (�"�2Y�� 333�� $�A"�'!��T��7T�<�� � �"���;Y���� � �"���-Y�� � 333�� � (�"�2Y�� 9"I����<�� � �"���T��Y�� � �"���T((Y�� � ww33�Z�

4���'�$�#������$�AK!�$��$���b��%��2����<�������������������������������5��,���'�$�0��AK!�$�<��"#��2"#�����0�$�0��(!"/����%�$�A���AK!�$��(�)�'� &�!�'!�����7�A���$�A"������������%5$��!"���$��$��"���������$� "@�$�A"�,���D(�:��,�@���%��9���'��"�����'�-�9%&�!�$�A"�$���,"#��2�!�'�?1�

Nhaõn

Page 27: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

�"����(�"�2E8�"#����%�'!�����7�$�0��(!"/����%�$�2��*�'�(�)�'������'!�����7����������'�$��$�'!�����7�$�������'�$�#������$�AK!�$������$��$��"���������$�9"I�����A"+�,%&5$���%5$��!"��3�<��- �!"/����%�$�A���AK!�$��$�����"/�����(!"#�����?$�(!"/����%�$3��- L"����(�"�2�$���$�*�'�9�5�'��������2��0!�$�#������$��������2��0!������$�#������$���5!���&�!�,!"/������,%&5$�'�5!3�4���'� ��%&��'��&51����-�����,%&5$�9���'�,"/��������2��0!�AK!�$��A���2�!�,�+���%5$��!"���������������"���������$� "@���������+�������,��3��"#��2��*�'�$����"�������-���.�A���2�!���%5$��!"���;��'�$��$��"����$�@����!"#������A"+���%5$��!"����!"#1�$��$��"����$�0��$��$���%&��'��&51�("*��9%&�!3�

F.�9�5<���%&�'� ����������1� ���������A�#��'�-"*�� D�VmA�Vm�]E8�A���,��� !�� �"*�������������"*��'�5!�$�0��A�#����-��_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� ��A!'�"9�A�����!������Y�� $����VVk���1�����A���'�-"�<�kY�� $!����WW����Y�� AK!�$��D���E�� X�� � $�A"��<��� � � $����VVk���kY�� � � (�"�2Y�� � $�A"�^<��� � � $����VVk��!kY�� � � (�"�2Y�� � $�A"�U<��� � � $����VVk��kY�� � � (�"�2Y�� � $�A"�b<��� � � $����VVk���kY�� � � (�"�2Y�� � $�A"�P<��� � � $����VVk���kY�� � � (�"�2Y�� � $�A"�f<��� � � $����VVkC��kY�� � � (�"�2Y�� � $�A"�e<��� � � $����VVk��-kY�� � � (�"�2Y�

Page 28: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

� � $�A"�d<��� � � $����VVk4��kY�� � � (�"�2Y�� � $�A"�g<��� � � $����VVk��!�kY�� � � (�"�2Y�� � $�A"��]<��� � � $����VVk���!kY�� � � (�"�2Y�� � 9"I�����<�� � � $����VVk���1�2���'�9��'kY�� Z�� � � � �� �"����Y�Z��';8&*�#$%&'4�9 .�5')�"'6/"�&' !"�+)!#�PK/�#;4�9 .�R)/�5')�<,6:#�PK/�#;4�1;2 �&' !"�5)/�"' 3,�0 2�+)!#�&*.K6L&� L+�' K�P')L&*>�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� $����$�Y�� $����VVk���1�����2-���<�kY�� $!����WW�$�Y�� AK!�$��D$�E�� X�� � $�A"�j�j<��� � $�A"�j"j<��� � $�A"�j!j<��� � $�A"�j�j<��� � $�A"�j�j<��� � � $����VVk`��-���� ������1���������'�-"����`�kY�� � � (�"�2Y�� � 9"I�����<�� � � $����VVk`�-���� ������1�2���'�1��!���������'�-"����`�kY�� Z�� �"����Y�Z����> � /5�0)a,�#';82&*�* b"���

Page 29: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�3 H���'��������%0�'��������'�(!"/����%�$�������"��^3 2�!�$�����!"@���"���������$� "@�!I����?$�"�A"�2��*�'�,�?��'!%+��X�Z�U3 4���'�$�#������$�AK!�$����!"#��(�"�2�&0���%+�'� 7���.�$�@����!"#�3�

�������c��� ��������� ��� �����D?��C%�$���5���������A%5�$�0�����-��.�������2��0���S�'���?15���5!�$��$�1�"�1��.���'!�#�'�����8����?$������9�+-�$��$�$�*���"���3�4���'�(��!����-�$����'����A"+������!"/��$��$�$�#������$���?1�����'��==3��> � :.�#$./5�_',06������1���1�$�0��K�!�"���%�A��<�K�!�"�D,!"@��2!"��E�����������"���Y��!"/����%�$�,!"@��2!"���1��0!�,%&5$�,�?������'�$�?1�9�#���'��?$3�L"����("*��9%&�!�(!"/����%�$�A"+�,%&5$���%5$��!"�����?1�,!���?1���5!�2�!�����(!"/����%�$� �J��$���'!�����7�2���$�2��*�'8���%� ��-���#����!"*��&0�,�*��,�������'�,��5���"����$�0��K�!�"�1��0!�$���������"������������-�,�/!�'!�����7�$�0��(!"/����%�$�,!"@��2!"��3���*���"����("*��9%&�!�,!"@��2!"���1��0!�����������"����9�-����#�����?$�����������"����'�"�1�D��!"@���"����,�?�� ��������'��XZE����5��,���'�$�0��K�!�"���%�A��<��3 2!"/������'!�����7�$�0��(!"/����%�$�,!"@��2!"���D�4BE�^3 �"#����4B�$���'!�����7�2���$�2��*�'�

�3 4�%5$��!"����"����("*��9%&�!��(3 n��-���5!�(%&�$���

�'%&5$���5!<�2"#������$�$�#������$�K�!�"�������!�����5���!"#�����������5��,���'�$�0��K�!�"����������������

B!"/�� ���� ���'���?1�K�!�"�

Kieåm Tra giaù trò cuûa BTDK

a!�����7�$�0���4B�(�)�'�]�

"#������$� ���'���?1�

a!�����7�$�0���4B�2���$�]�

4�%5$��!"���

�"����$�0��K�!�"�

Page 30: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�������X�7.��5<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����Y�� $����m�Y�OO�&0!���5��'!�����7�$���(!"#��$������ K�!�"�D$����Vm�]E�� X� $����VVA"�KDUEVV$����Y�

$����m$����=�Y�OO�4��$�,���'��"*��(!"#��$�����,"/�,"#����������$��4B�������m]mmW2"#������$�OO ���'���?1�

� Z�� �"����Y�Z���%&�'���������"*��2�!���%5$��!"���A"+�!�����2"#�����0�<��� ^� U� b� P� f� e� d� g� �]�F���'�K�!�"���"*��$�����"/� !"#����5!���%�A��� �� K�!�"�D$����Vm�]E�� $����VVA"�KDUEVV$����==Y�

���,�*-����$�@���%��-�<�- �"#��(!"#��$�����2��*�'�,%&5$�2�&0!� ��5��'!��� ��7��&51� �"�� ��%&�$�2�!�9���'� ����'�(!"/����%�$�,!"@��2!"��������$�%&�'�������A"+�2��*�'���%5$��!"���$�.���;��$3�

- �"#�� ����'� ���'� K�!�"� 2��*�'� $��� �"���� $����m$����=�� ��-� $����==� ���� � ���'�K�!�"�A"+���%5$��!"����!"*����5$�(&0!� ������'� ���'���?1����2��*�'�$����"������������$�,���'�,"#�� �4B3� 4�%&��'� �&51� ���-� ��� '�5!� $�%&�'� ������ (7� ��"�8����#�� 2"#�� ����$� ��������5�'����-����(�#����/��&51�1�.������T��"�23��

�X�7.4�E���';8&*�#$%&'�9 .�,&�06L&�+ 2&�'%&'�<%&'�"';8&*�1 2�0 !"�"';8&*�5.3 �5 /5�9)/�&*.K6L&�#;2���R6:&��d���_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W�_!�$��9"�V$��!�3�W� �!9���!�DE��X�!���!Y�

Page 31: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

��$��A$�DEY���$����VV�k���p�������p^��������pU`�k��������VV�kMMMMMMM��MMMMMMM��MMMMMMMMM`�kY��������!m�Y���K�!�"�D!Vm�]E���X�$����VVA"�KDbEVV!VVk����k�� �VVA"�KDPEVV!N!�VVk������k�� �VVA"�KDPEVV!N!N!VV"�9�Y�����!==Y���Z���'"�$�DEY�Z���X�7.4�V���';8&*�#$%&'�,&�06L&�+ 2&�'%&'�< 3&*�5'.K6N&�R)N,�*, /�#$T�&',6!#�R)!�#;2�d��9 &*�R)!�[ �(#;2�cd5�R6:&�cdd5-�

P b�3]]��] P]3]]��P Pg3]]�^] fd3]]�3333333333333333333�

�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��$��A��!�����pT�mP]Y����$��A��!���C4�s4mPY����$��A��!���C4��mPY����!���9�T$Y����I�����9�TI�Y����$��A$�DEY����$����� VVk��H��$�����H��x�`�k�� � � � VVkMMMMMMMMMMMMMMMMMMMM`�kY����9�T$mC4�s4Y����$���VVA"�!�AI��'AD!�A<<A��K1�!��EVVA"�1�"$!A!��D^EY����K�!�"�D9�T$�Vm��pT�E����X� � 9�TI�mDg3]OP3]EN9�T$=U^Y�� � $����� VVA"�KDbE�VV9�T$�� ������ � VVA"�KD�^E�VV9�TI�VV"�9�Y�

Page 32: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

9�T$�=mC4��Y�����Z�����'"�$�DEY������"����Y�Z��6!&'�<$6 P�1 2�5)&#,&.6��<$6 P��4������2��0!�$��$�$�#������$�AK!�$�8�K�!�"8�I��8�9�MK�!�"���5!���&�!�,!"/��(�"�2�,%&5$�'�5!���!�����������2��*�'�$�@��2!"/������2"#�����0�$�0���4B3�����1���1�<�(�"�2Y��X�7.4�Z���,6:#�5';8&*�#$%&'�#X&'�#)N&*�5 /5�9):�&*.K6L&�R;845�&' !"�#;2�< 2&�"'X+�5';8&*�#$%&'�P6:#�#'./5�P',�5)/�+)!#�9):� L+�R;845�&' !">��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X� �� !����A�8���'m]Y�� $��A$�DEY�� K�!�"�D�E�� X� $����VVk���1�����A���'�-"�<�kY�� � $!��WWA�Y�� � !I�DA�V]E��(�"�2Y�� � ���'�=mA�Y�� Z�� $����VVk`�4��'�$�$�'!����!�9�����1���<�kVV���'Y�� '"�$�DEY�� �"����Y�Z����%&�'���������"*���"#��2��*�'�9���'�(�"�2�����$�����"/� !"#����%�A��<�� A�m]Y�� K�!�"�DA�Wm]E�� X� $����VVk���1�����A���'�-"�<�kY�� � $!��WWA�Y�� � !I�DA�Wm]E�����'�=mA�Y�� Z��

Page 33: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

5)&#,&.6�� ���� �"����,%&5$�A%0�9�5�'�����'�$��$� ���'���?1���%�K�!�"8�I���89�MK�!�"3��!��"����$���!��"�,%&5$�'�5!�����$�%&�'�������A"+����-���&0� "@�,�@�� ���'���?1�,"/�(�:��,�@����@����?1��&�!3���X�7.�c4���,6:#�5';8&*�#$%&'�#X&'�#)N&*�5 /5�9):�&*.K6L&�7;8&*�R;845�&' !"�#;2�< 2&�"'X+�5';8&*�#$%&'�P6:#�#'./5�P',�5)/�+)!#�9):�ed�R;845�&' !">�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X� �� !����A�8���'m]Y�� $��A$�DEY�� K�!�"�D�E�� X� $����VVk���1�����A���'�-"�Wm]<�kY�� � $!��WWA�Y�� � !I�DA�m]E��(�"�2Y�� � !I�DA�V]E��� � X�$����VV\H���!"��2���'���1��"\Y�� � ��$���!��"Y�� � Z�� � ���'�=mA�Y�� Z�� $����VVk`�4��'�$�$�'!����!�9�����1���<�kVV���'Y�� '"�$�DEY�� �"����Y�Z���> � :.�#$./5��M)$�����#������$�I���$�+�'�$���$�%�$���S�'�'!�#�'���%�K�!�"�������?1�,!���?1���5!������,��5���"���������,�����%�'���"���������J��2���$3�4���'�$��$���%&��'��&51�A�#���@����?1�$�0�� ���'���?1�����$�#�,7������� !"�$�A%0�9�5�'�I���A"+���������&5!� ���9"/�9���'��&�3�F.�9�5�$�%&�'�������!����A�#��'�-"*��9%&�'�,�@���!"*���"*������������D &�!������������A�#��'�-"*�E�����9���'�I���1�����&51��&�3�����1���1<� M)$�D$��$��"����2�&0!���5��Y�(!"/����%�$�,!"@��2!"���Y�$��$��"�������$�,���'�,"#��,!"@��2!"��E�� �"���Y�A����%��2�����I���������#-�$���U��������"��������'��'��?$3���"����$�0��I���1��0!�����������"����9�-����#�����?$�����������"����'�"�13�

Page 34: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

�) 4#�R)!&*�5.3 �M)$��

��X�7.4�f��';8&*�#$%&'�,&�06L&�+ 2&�'%&'��d�9):�&*.K6L&�7;8&*�R .�#,6L&��_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����Y�� I���D$�����m�Y$����Vm�]Y$����==E�

$����VVA"�KDUEVV$����Y�� �"����Y�Z��4�"��$�%&�'���������"*��������������#-<�- $����m�������$� "@�������$��$��"����2�&0!���5�3��

B!"/�� ���� ���'���?1�xQs�

Kieåm Tra giaù trò cuûa BTDK

a!�����7�$�0���4B�(�)�'�]�

"#������$� ���'���?1�I���

a!�����7�$�0���4B�2���$�]�

4�%5$��!"����"����$�0��I���

4�%5$��!"���$��$��"����2�&0!���5��

4�%5$��������"�������$�,���'��4B�

Page 35: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

- �!"/����%�$�D$����Vm�]E�����(!"/����%�$�,!"@��2!"���- $����==�<�����$��������"�������$�,���'�,"#��(!"/����%�$�,!"@��2!"���- 4���'���J!����������-��"#��$�����!"@���"��������'!%+��$��$��"����$���9�#��8����$���������1��@�������'��'��?$�$�0��I���,"/��$�����"/� �:�'���?����-���!"*��1��0!�,"/�9�#��Y��X�7.4�g���,6:#�5';8&*�#$%&'�,&�06L&�+ 2&�'%&'�5 /5�9):�5' h&�#;2�E�R6:&�Ed�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����m^Y�� I���DY$����Vm^]YE�� X� $����VVA"�KDUEVV$����Y�� � $�����=m^Y�� Z�� �"����Y�Z����?$<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����m^Y�� I���DYYE�� X� $����VVA"�KDUEVV$����Y�� � $�����=m^Y�� � !I�D$����W^]E�(�"�2Y�� Z�� �"����Y�Z��) b5��_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����Y�� I���D$�����m^Y$����Vm^]Y�$����VVA"�KDUEVV$����8$����==EY�� �"����Y�Z�n���$��$� .�9�5�������#-���J!��������"��������'��'��?$�$�0��I���,"@��$�����"/� �:�'���?�8���%�'�$��:$�$��:����)�'�����1��0!���)��,�*��,�������'�$�%&�'������3�F�� ��-�$��$���%&��'��&51� ���'�I��� �:�'���?��$��$��������1��@��,%&5$�A%0�9�5�'�2�!�����������A%5�$�@����!"#�3��

Page 36: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���> � :.�#$./5�7)B_',06����0���!� ���'���?1�K�!�"� ���I���,!"@��2!"/�������4B���%&�$�2�!�(�:��,�@����%5$��!"����"����$�0�� ���'���?1���%���"#�$���2��0���S�'��"����$�0�� ���'���?1�2��*�'�,%&5$���%5$��!"�����@������� ���'�-� ��@��2!"/�� ����,�@�� �!"*��2"#�����0�$�0���4B�,�+�(�)�'�]3�4���'������ ��!���%&��'��&51�2�!�A%0�9�5�'� ���'���?1����$�@��������%5$��!"���.�����#�������������@�8� .�9�5���%�������#�������$�%&�'�������$�����"/���%5$��!"�����!"@����@����"��-�����#��$�0���'%&�!�A%0�9�5�'3��X�7.4�i��_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� $�����!"1Y�� !���A�Y�� �!"1mi$iY�� K�!�"�D�!"1mmi$i�tt��!"1mmi�iE�� X� $����VV\���1�����A��<�\Y�� � $!��WWA�Y�� � !I�DA�l^mm]E�$����VV\�A�� ������1����A��$���\Y�� � "�A"�$����VV\�A�� ������1����A���"\Y�� � $����VV[�$�����1�A��2��$���-�2���'�D$O2E<�[Y�� � $!��WW�!"1Y�� Z�� �"����Y�Z���%&�'���������"*��9��9���'� ���'���?1�K�!�"����1��0!�$����"�����!"1mi$i���%&�$� ���'���?1�,"/�(�0��,�0�� ���'���?1�A"+���%5$��!"@��,%&5$��������@�3����#��(�0��"�������-����� !"�$�2!"/�������4B�1��0!�,%&5$���%5$��!"���&0�$��#!� ���'���?1� ��� ���'���?1�9��>�K�!�"����� ���'���?1�$���,�?$��.�����"*�3�����1���1�$�0��9��>K�!�"���%�A��<�� 9�X�� � �"���Y�� ZK�!�"�D(!"/����%�$�,!"@��2!"��EY�L"����$�0��9�MK�!�"�1��0!�����������"�������?$������"����'�"�13�������

Page 37: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

�����5��,���'�$�0��9��>�K�!�"<����������������������X�7.4�j�� �!9���!�DE�X� $�����!"1Y�� !���A�Y�� 9���� X� $����VVk���1�����A��<�kY�� � $!��WWA�Y�� � !I�DA�l^mm]E�$����VVk`�A�� ������1����A��$���kY�� � "�A"�$����VVkA�� ������1����A���"kY�� � $����VVk$�����1�A��2��$���-�2���'�D$O2E<�kY�� � $!��WW�!"1Y�� Z�� K�!�"�D�!"1mmj$j�tt��!"1mmj�jEY�� �"����Y�Z��

B!"/�� ���� ���'���?1�9��M�K�!�"�

Kieåm Tra giaù trò cuûa

BTDK���

a!�����7�$�0���4B�(�)�'�]�

"#������$� ���'���?1�9�MK�!�"�

a!�����7�$�0���4B�2���$�]�

4�%5$��!"���

�"����$�0��9�MK�!�"�

Page 38: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

��> � /5�5 :.�#$./5�0)&*�&' .��4�����(��������$�#������$�K�!�"8�I��8�9�MK�!�"�,%&5$�;"����%������$�*���"���� �� ��-����$�����"/���@�'�'�"�1�$��$�$�#������$����-� ����������X�7.4��d���,6:#�5';8&*�#$%&'�,&�5 /5�< 3&*�5;3.�5';8&*�E`V`Z�06L&�+ 2&�'%&'����$���<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� �� !���!8RY�� I���D!m�Y!VmgY!==E�� X� I���DRm^YRVmbYR==E�� � � $���� VVA"�KDUEVVRVVk�N�k�VVA"�KD^EVV!�� � � � � VVkmkVV�A"�KDbEVV!NRY�� � $����VV"�9�Y�� Z�� �"����Y�Z����$��^<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���!m�8RY�� K�!�"�D!Vm�]E�� X� I���DRm^YRVmbYR==E�� � � $���� VVA"�KDUEVVRVVk�N�k�VVA"�KD^EVV!�� � � � � VVkmkVV�A"�KDbEVV!NRY�� � $����VV"�9�Y�

� � !==Y�� Z�� �"����Y�Z��> � /5�0)a,�#';82&*�* b"���3 L%��-��,"#��1��@��2�&0!���5��'!�����7� ���1��@��(!"/����%�$�,"@��2!"������������������5�'� ���'���?1�$�����"/���%5$��!"�����!"#�����?$�9%��������@�3�F.�9�5���%�I���D!m�Y�!V���Y�!==E�A"+���%5$��!"����]���@��I���D!m�Y�!Vm�]�Y�!==E�$�+�'���%5$��!"����]���@��I���D!m]Y�!V���Y�!==E���%5$��!"��������@��

Page 39: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

^3 C%0�9�5�'��������%0�'����DmE����-� ���������%0�������"��(�)�'�DmmE�����'�$��$�(!"/����%�$�,!"@��2!"��8���-��'%&5$���5!� &�!�(!"/����%�$�2�&0!���5������'�I��3��

U3 B�?��9�#��Y��'�-�A���(!"/����%�$�,!"@��2!"���$�0��K�!�"�D'�*-���"�����-E����?$��'�-�A���9�:���'��?$�[�E�[$�0�� ���'�I���$����"����("*��9%&�!� .�9�5<������m]Y�I���D!m�Y!Vm�]Y!==EY�� ������=m���Y�

b3 C%0�9�5�'�9�#��1��/-��'�S��$��$��'!%+��U��������"��������'��'��?$�$�0��I������-� ��$��#��1��/-3�

P3 n�"*��9�#��$��#��1��/-�A���K�!�"�D�4BE�$�0��9��M�K�!�"�������������������������������

Page 40: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�����f��� �����������������������$�%&�'����������'��.���$��-"*���'�!"�1�D,%&5$� !"#��,"/�A%0�9�5�'�����'���%5$��"#E�����,%&5$���!"#��2"#8� !"#��$�%&�'������� ���2!"/��������#��2-+3�F�#��,"@�,�?����������������"#������,"/� !"�$� !"#��$�%&�'������8�2!"/�������$�%&�'������,%&5$���������&5!�,�5���!"������0�$��8�$�+�'� ��%� !"�$� 1����� ��!"/�� $�%&�'� ������ 2�!� $�@�� ��!"#��A"+� 9"J� 9���'3�B!"@�� ���-� 1��5������$�&0�2��*����!"#��2"#���/�$�%�$�$�%&�'������3��������$�%&�'����������*�'���%&��'�A"+�$�����!"@��$�%�$���S�'�����"*����!"#��2"#���J!�$�%�$���S�'���%� ��-� �������������3�4���'���J!���������-�$��� ��"/�A"+�,%&5$�$�!�����0� ���������!"@��������%+�33��!�$��$������$�%�$���S�'�,�+�,%&5$�;�*-�9%5�'�������$�6��� � ��#��$�0���%+�'� ��������-�A"+�,%&5$� 2"#�� ��#!� (&0!� �������!�8� ��5!� ��&�!�,!"/�� ���-� $����'� ���A"+�2��*�'��������*��,"#��$�!��!"#��$�0��$��$������$�%�$���S�'��%+������$�6�$�@��(!"#��,�@�����$�0����%+�'���������-3��B"/���5����������������'��==$����'����1��0!��������*����!�,!"@�<����!�9��'�$�0������� ���A%5��%&�'����$�$�0������ &�!���%+�'������2���$8�(���'�@�� !"�$����-"@��9%+��!"���$�.���;��$� ���� ����'������2�!�'�5!��������%5$��!"��� ���'!��� ��7����������A"+����0� "@�2�!� ��%5$��!"����;��'3�������>�' ,�< /)�' 2+�1 2�#' +�9):���3 ��!�(�����'�-"*����J�������D1�����-1"E<��'�-"*����J��$�0�������9���'�,"/���*���0�2!"/��9%+��!"������0� "@�$�0������8��"*������8�A�#������A�#�8��������%5�$�0��$��$������A�#� ���2!"/��9%+��!"���$�0����%+�'������A�#���������A"+������� 2�!�,%&5$�'�5!� ��%5$� �!"��3��'��5!� ��%���������!�� � ��#�� $�0� $��$� �����2���$D2��*�'�1��0!������$�0���==E�$�������'�$�%&�'�������,!"@��1��0!�2��!�(�����'�-"*����J�3�B!"@�����-�'!��1�$���������(!"*��97$��1������!"������$��$���J!�A�!�A���� "@�2!"/��9%+��!"������0� "@�$�0��������$�+�'���%�A�#�'!��� ��7� ���2!"/��9%+� �!"���$�+��$��$�'!��� ��7� ���-"@��$��������2�!�����,%&5$�'�5!���%5$��!"��3�����1���1�2��!�(����������'�-"*����J�<�H���T�-1"�����I��$�!��T���"�D�!A���I�1����"�"��9�����-1"EY�L%��-�<��!�����������$�����!"@�������A�#�����9����A��$��2!"/��9%+��!"���$��$�$��$������A�#�1��0!�$���9�#��1��/-�'!%+����!�2!"/�3��F.�9�5<��� !����I��;D!��8�!��EYOO�$���9�#��$��#��1��/-�� I������AK�1D!��8�$���8�$���8�9��(�"EY�OO�� �!9��9!A1��-D9��(�"8�9��(�"EY���

Page 41: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���$�1�����-1"���%&��'�,%&5$�2��!�(����&0�,�@��$�%&�'�������A���$��$�9���'�_!�$��9"���^3 B7����'�G������<�B7����'�G������������$����'�G�� !"#�����!�9��'�$�0�������,��3���J!������A"+�,%&5$�,7����'�G������� ��@�� ����'�$�%&�'������� ���$��� ��"/�,%&5$�'�5!� ��%5$��!"���(&0!�����������2���$�$��� ����'�$�%&�'� �����3����!�9��'�$�0�������,%&5$�,7����'�G�� �����'� ��%&��'�,�?��A����������!�� ���$��$��������)�� �&�!������ D2��*�'�$�����%&��'� �&51������ ����� ��)�� ����'� ����� 2���$E3� a!�#�'� ��%� �������!����J!� ���������'��==� '�@�� ��!� 1��@�<� 1��@�� �!"@��,"@� $�0�� ����� DI��$�!��� �"�9"�E� ��� 1��@�����*�������DI��$�!���(�9-E3�I��$�!����"�9"���!�"������������������������x��$�!����"�9"��X�� A���"�"��AY�������������������������������x��$�!���(�9-���Z��=��4!"*��,"@�$�0�������$���$���1���1���%�A��<��H���T�-1"�����I��$�!��T���"�D�1����"�"���!A�E����������������������2��*�'�$���9�#��Y�F.�9�5�<���$�2��!�(�����'�-"*����J������� ����!"*��,"@�������%&�'�%��'Y�

�� !����� I��;D��!���8��!��EY�

� �� �!���� I��;D!���;8�!���-E�

����������������������� � � ������������������"*�������A�#��������%�$�

�� �!9��9!A1��-D9��(�"8�����9��(�"EY��� �!9�� 9!A1��-D9��(�"��8�9��(�"��E����������� � � � � � ���������������������������������"*�������A�#������

��%�$��� �!9����"AAD �!9EY� ���?$�� �!9���"AADEY�� �!9����"AAD �!9E���������;"��<��4!"*��,"@�$�0����������������'�@���%&�'��%5���%��'�-"*����J��$�6�2���$�����&0�$��#!�9���'�2��*�'�$���9�#��Y� ���9����A��$��$��$������A�#�����'��!"*��,"@�1��0!�$����"*�������A�#3��

}

Page 42: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

}

4"*��$��$������A�#��������%�$�9���'%&�!����1�������,�?�8� �������9���'�,"/�������$��$�'!�����7����-"@���%��("*���'���!� ����2�!��������%5$��!"��3��=� 4��*�� ����<�����'�@��$��$� �"���� $��$� 1�"�1� ������A"+� ���$�,���'� �"*�� $��$�'!��� ��7�,%&5$����-"*��$�����������*�'�����$��$������A�#��������%�$8�,"/���5�����2"#�����03�

�X�7.4����S6+�]6/#�5';8&*�#$%&'�9 . �5';8&*�#$%&'�,&�06L&�+ 2&�'%&'�*, /�#$T�08/&�&' :#�5.3 �' ,�9):�&*.K6L&�R;845�&' !"�#;2�< 2&�"'X+`�#$)&*�5';8&*�#$%&'�5)/�+)!#�' 2+�M,&7+ ]�7.2&*�R6N�#%+��*, /��#$T�08/&�&' :#�#$)&*�' ,�9):���_!�$��9"�V!�A��"��3�W�!���I!�9��;D!��8�!��EY��OO1�����-1"� �!9���!�DE�X�� !��������8����^Y�� �� $�����VV\����1��A�#���%�����#�<�[Y�� $!��WW����Y�� $����VV\����1�A�#���%��^<�[Y�� $!��WW����^Y�� $����VV\a!�����7��&������#�����'���!�A�#� %�������1����<�[�VVI!�9��;D����8���^E�VV"�9�Y�� �"�����Z���!���I!�9��;D!���;8�!���-E��������OO��"�9"���!�"�X�� !I�D;Wm-E��"�����;Y� � � ���������������������x��$�!���(�9-���

� � "�A"��"�����-Y�Z�

�U3 L&�!�'�5!�����<�L&�!�'�5!������'!�#�'���%�������"���8�����;��#���!"�������'�$�%&�'�������2�!�$���-"*��$�@��'�5!���%5$��!"������������������,�����%5$��!"��3�L&�!�'�5!������(���'�@���"*�������$��$�9%+��!"������-"@��$��������,%&5$�'�5!�D�"#���'�-"*����J��$�0�������$��������A�#�����2�!�'�5!������1��0!����-"@��'!�����7E�����'� .�9�5���"*���9���'��"����M,&7+ ](&.+�`&.+E-�����'��������!������������&�!�'�5!�����3���������������������������������������������������������������������������������H%+��!"������-"@��$����������������������������������������������������������������������������������������4"*�������,%&5$�'�5!��

Page 43: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

- C�#�9%+��!"������-"@��$��������1��0!�(�)�'�A�#������A�#�2�!�2��!�(�����'�-"*����J�� ���,���'���%���%5�,�+�2��!�(����D$���'�2!"/��9%+��!"���$�0�������A�#E�

- F&�!�$��$��2��!�(���������A�#���%������I!�9��;��������'�5!�$��$������A�#����-������������7� ��2��*�'�$���9�#��r����?$�N���%&�$��"*�������A�#D$����$�����������5!������A�#�2���$����������(!"#�E3��!�,���$&�$�"#����-"@��9%+��!"���9!"J�������%�A��<�� �����'�5!�D$��o�'���5�5���%��������!������'� .�9�5���"*�E��$�����"/�9���'���)�'�

���?$�(!"#��,"/����-"@��'!�����7�$��������A�#�$�0��$�%&�'�������,%&5$�'�5!8� .�9�5���%����$�����"/�'�5!������I!�9��;���%�A��<�I!�9��;D�]8PE�D'!�����7����-"@��$��������A�#�;8-�������)�'E�

� ������,%&5$�'�5!� D$��o�'���5����%������I!�9��;� ����'� .�9�5���"*�E�A"+�������'!��� ��7� ���-"@��$������� ��� �%����%+�'�'!��� ��7����-� ��������� ���'���&��'�5!� ���� ���'���&����5�3��!�,�����5!��"�������$�,���'��"*�������A�#�����'�$�%&�'�������$������-�A"+� ���$�,���'� �"��� ���'���&�� ��5�3�F���'���&�� ��5��A"+�(7�;�����'�-�

A���2�!�� 2+��;845��)4,�2"#������$3���������������������������������������

��>��� 2+�+ a.�(M.&5#,)&�#6+"0 #6-����B%&5$�A%0�9�5�'�2�!�'�?1���%&��'��&51����-� ��1��0!� !"#����!"@�������$������!�9��'�'!�#�'��������%�'���1�9�5�'���"*����%+�'����5!�9%+��!"���2���$�����3�F.�9�5���%�$�@��1��0!� !"#�����������0� "@���7���-"���,�#!�$�0�������'!�����7�,%&5$����-"@��$������3�F���'!�����!����0� "@�$�0�������1���!�$���'�2!"/�� &�!�'!�����7�,�+����-"@��$������3�4�����������#-�'!�����7����-"@��$��������$�����"@�����!��8�I��������?$�9��(�"33���-� ��1��0!� !"#��(�������$���(��2!"/��9%+��!"���2���$���������������� !"#������������9�5�'��"�1���"���%�A��<��X�7.4�E��_!�$��9"�V!�A��"��3�W�

������������ �

10 5

10 5

findmax(num1,num2)

num1 num2

x y ���������������� �����!���"#$�

Page 44: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������

_!�$��9"�V$��!�3�W���"�1���"�V$��AA�4W�OO�9���'����-�'�5!������"�1���"�1�"I!;8��"�1���"8�$��AA������%��2����8�4�� � � � � � � � OO� �����"*��9���'%&�!�A%0�9�5�'�,�?��4��T�(AD4� ���"EY�OO�1�����-1"� �!9���!�D �!9E�X�� !��������mPY�� I�������^mM�3^UbPY�� 9��(�"��UmMb3^UbPfY��� $����VVk�(AD��Em��kVV�T�(AD��EVV"�9�Y�� $����VVk�(AD�^Em��kVV�T�(AD�^EVV"�9�Y�� $����VVk�(AD�UEm��kVV�T�(AD�UEVV"�9�Y��� '"�$�DEY�� �"����Y��Z��"�1���"�V$��AA�4W��4��T�(AD4� ���"E��X�!I�D ���"V]E�� ���"mM ���"Y�����"����� ���"Y��Z���X�7.�V���';8&*�#$%&'�9 .�5)/�5';/ �+)!#�' 2+�#X&'�P6:#�Q. 3�5.3 �' ,�#' +�9):�]EBKE>��6:#�Q. 3�5.3 �' 2+�"'.4�#'.)!5�1 2)�P,6N.�7;O�0,6!.�5.3 �]>���_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W���"�1���"�V$��AA�4�8$��AA�4^W�4��;�-D4��;84^�-EY� �!9���!�D �!9E�X� !������!mPY�� I������Im^3^PY�� 9��(�"�9mb3^Y�

Page 45: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�� $����VVk`�;�-D!8IEm��kVV;�-D!8IEVV"�9�Y�OO�g�� $����VVk;�-DI8!Em��kVV;�-DI8!EVV"�9�Y�OOM�g3gUeP�� $����VVk;�-D98IEm��kVV;�-D98IEVV"�9�Y�OO�^3PeeP��� '"�$�DEY�� �"����Y��Z��"�1���"�V$��AA�4�8$��AA�4^W�4��;�-D4��;84^�-E��X��4����"A���Y�������"A���mD;=-END;M-EY������"������"A���Y��Z������> J;3�7.4&*�#' +�9):�5.3 �' 2+�0 2�#' +�5',6:.��������'����,�+�(!"#��������������5!������A�#�$�0������������������73�B�?$�,!"/��$�0��$��$��9���'������A�#����-����<��!������'�5!����-"@��'!�����7�$���$��$������A�#�$�0�������,%&5$�'�5!� D��%5$� �!"#1� (�)�'� ��)�'� ����$� ���*�'����� $��$� (!"#�E8� ���� ��%+�'� �����A�#� ���-�A"+�������'!�����7�,%&5$����-"@��$������� ����%��&0������ 7���.�2���$�����'�(�����&�3�H��,��� !"�$����$�,���'��"*��$��$������A�#�$�0�������,%&5$�'�5!���-"���,�#!��2��*�'�������0����%&0�'�,"#��'!�����7�$�0��$��$�,�#!��%&5�'����������'�5!�,�+�9���'�,"/����-"@��$������3��4���'� ��%5$� �"#�,�*!�2�!� ������'����#������������$��� ��"/� ���$�,���'���%5$� �!"#1� �"*��$��$�(!"#�����������'�5!�,�+�9���'�,"/����-"@��'!�����7�$���$��$������A�#�$�0�����3�B"/������,%&5$�,!"@�����-��������1��0!�A%0�9�5�'������A�#�$�0����������������$�!"#�3��4�"��$��$�����-�����2�!�'�5!���%5$��!"�������������$��������A�#����������'�5!�1��0!�9���'�(!"#��,"/����-"@��9%+��!"���$���$��$������A�#�$�0�������,%&5$�'�5!3�L��$����-�������A�#�A"+��������,7��$�6�����'�(�����&��s���$�0��(!"#��,�+����-"@��$������8� �����5!����$�,���'��"*�������A�#�$�0�������,%&5$�'�5!�A"+����$�,���'���%5$��!"#1��"*��(!"#���%&�'�%��'�$�0��$�%&�'�������'�5!3������1���1�,"/�2��!�(��������������A�#�9�5�'������$�!"#������'�9���'�1�����-1"� ���9���'��"�9"���!�"�$�0���������%�A��<��9���T�-1"r���OO2��!�(������"*��9���'�1�����-1"�9���T�-1"r��""�"�$"T���"�OO��!�(������"*���"�9"���!�"�

Page 46: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�X�7.4�Z���� OK�]6+�]6/#�5';8&*�#$%&'4�9 .>�#$)&*�5';8&*�#$%&'�5)/�+)!#�' 2+�9_ "�5)/�5)L&*�7.4&*�R)N,�*, /�#$T�5.3 �' ,�<,6:&�R;845�7.2&*�R6N�#$.K6&�7;O�0,6!.�5')�5 /5�#' +�9):�5.3 �&)/>��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�� �!9��AK�1D!��r8�!��rEY� �!9���!�DE�X� !������!mP8Rm�]Y���$��A$�DEY�� $����VVk`��4���$�2�!�'�!�����AK�1`�k�� �����VVk!m�kVV!VVk��k�VVkRm�kVVR�VV"�9�Y�OO�mP���Rm�]���������AK�1D!8REY�� $����VVkC���2�!�'�!�����AK�1`�k�� �����VVk!m�kVV!VVk��k�VVkRm�kVVR�VV"�9�Y�OO�m�]���RmP�� '"�$�DEY�� �"����Y��Z� �!9��AK�1D!��r�;8!��r�-E��X��!������Y��������m;Y�����;m-Y�����-m���Y������"����Y��Z��

������������ �

10 5

swap( i , j)

i j

x y

Page 47: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

��%&�'���������"*���"#��2��*�'�A%0�9�5�'������$�!"#������2"#�����0�A"+���%���"#�����v���X�7.4�c��S6+�]6/#�+)!#�1X�7.4��P' /5>��';8&*�#$%&'�9 .�5)/�+)!#�' 2+�#X&'�#)N&*�1 2�#X5'�5.3 �< �9):�#';45>�� 2+�5)/�& k+�#' +�9):�#$)&*�R)/�5)/�< �#' +�#$T�7.2&*�R6N�&' !&�5 /5�*, /�#$T�+.):&�#X&'�#)N&*�1 2�#X5' �' ,�#' +�9):�5)2&�0 4,�0 2�#' +�5',6:.�7.2&*�R6N�P6:#�Q. 3�#)N&*�1 2�#X5'�#X&'�R;845>��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�� �!9��$��$DI����8�I����8�I�����8I����r8�I����rEY� �!9���!�DE�X� I����������8�^8�U8A��81��9�$�Y�� $��A$�DEY�� $����VVk`�����1� ���(��A��������!������'8��!$�kY�� $!��WW��WW�^WW�UY�� $��$D��8�^8�U8A��81��9�$�EY�� $����VVk`�4��'�(��A����<�kVVA���� �����VVk`�4!$��(��A����<�kVV1��9�$�Y�� '"�$�DEY�� �"����Y��Z� �!9��$��$DI�����I�8I�����I^8�I�����IU8�I����r�A8�I����r�1E��X��AmI�=I^=IUY�����1mI�NI^NIUY������"����Y��Z���+-� "+�������!�����5��$��� !"�$����-"@�8������������A�#�$�0��$�%&�'���������"*�3�a!�0�A%0�'!�����7�����1�$���(��(!"#����8�^8�U�����^3P8�b3P8�U3]���� � ���> ?' 4+�1,�5.3 �<,6:&����,6:&�5.45�<)!���L���$��$�(!"#��,%&5$�2��!�(��������'����*��$�0�����������������,��3����$�(!"#�����-�$�6�$���'!�����7�����'�1��5�� 7������2��!�(�������3���,6:&�#) 2&�5.45��L���$��$�(!"#��,%&5$�2��!�(����("*���'���!�$��$�����3���%+�'�(!"#�����-�$���'!�����7� &�!���#��$�0�$��$������,%&5$�2��!�(����A������3��

Page 48: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�X�7.4�f�<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�!�����Y� �!9��A�(TI��DEY� �!9���!�DE�X� !������^Y�� $��A$�DEY�� ��m�]Y�� �^m^]Y�� $����VVk4���'�������!�DE���m�kVV��VV"�9���OO�]�� �����VVk4���'�������!�DE��^m�kVV�^VV"�9�Y�OO^]�� A�(TI��DEY�� $����VVk4���'�������!�DE�A���2�!�'�!�A�(TI�����m�kVV��VV"�9��OOb]�� �����VVk4���'�������!�DE�A���2�!�'�!�A�(TI����^m�kVV�^VV"�9�YOO^]��� '"�$�DEY�� �"����Y��Z�� �!9��A�(TI��DE��X��!����^Y������^mU]Y�����$����VVk4���'�����A�(TI��DE���m�k�VV��VV"�9��OO�]�� ���VVk4���'�����A�(TI��DE��^m�k�VV�^VV"�9�Y��OOU]�������mb]Y������"����Y��Z��4���'� .�9�5���"*���������(!"#��������$�5$8� ����^�����(!"#��$�5$�(���$���$�0�����'���!�� ���A�(TI��3���!�9���'��"����$����,�@��$�0���������!��A"+�!���"*��2"#�����0<��4���'�������!�DE���m��]��4���'�������!�DE��^m�^]�'!�����7����-�����$�0���^�����'��������!����!������A�(TI���,%&5$�'�5!�����A"+�!���"*��2"#�����0���4���'�����A�(TI��DE���m��]��4���'�����A�(TI��DE��^m�U]�'!�����7����-�����$�0���^�����'������A�(TI������!�9���'��"����$����$��#!�$�0���������!��A"+�!���"*��2"#�����0<�4���'�������!�DE�A���2�!�'�!�A�(TI�����m�b]�D����,�+�(7�,�/!�����'������A�(TI��E�

Page 49: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

����4���'�������!�DE�A���2�!�'�!�A�(TI����^m�^]��D�^�$�0���������!�E�������'����$�����"/��!�����5�� !"�$��%����%+� ���1��5�� 7�$�0��$��$�(!"#������'�$�%&�'���������"*����%�A��<�

�4���'� .�9�5���"*���"#�����2��!�(�������9%&�!��������!�������������!��A"+�2��*�'��!"/��,%&5$�(!"#�����-3����;.�K/���!�(!"#��������$�5$� ���(!"#��$�5$�(��������'��"*������$��$�(!"#��$�5$�(���A"+�%���!"*��,%&5$��!"/������'������2��!�(�������3��X�7.�g4��_!�$��9"��V!�A��"��3�W�_!�$��9"��V$��!�3�W�I������mb^3dY� �!9�A�(DEY� �!9���!�DE�X��� I������mU]3PY�� $����VV\a!�����7�$�0���m�[�VV�VV"�9�Y��OOU]3PY�� A�(DEY�� '"�$�DEY�

n1

main() n2

�����������

����������������� ����

sub_fun() n2

�������������������������

Page 50: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

� �"����Y�Z� �!9�A�(DEY�X�� $����VV\����'�A�(��m�[VV��VV"�9�Y�OOb^3d�Z��4���'���%&��'��&51���"*���"#��������#���������!��1��0!�!�����'!�����7�$�0��(!"#��������$�5$��������1��0!�A%0�9�5�'��������%0�95)"6�$69)0.#,)&�2-���!"���(&0!�����'�-���%&�$��"*��(!"#�3��� $����VV\a!�����7�$�0���m�[�VV<<�VV"�9�Y��OOb^3dY�������'����2��*�'��"*����5��9�5�'�(!"#��������$�5$�(&0!�2�!�,�������A"+�1���� &0�A%5�(�0�� "����������������==�,�+�$��'�$�#18�,�������A%5�,��$����1�$�0��$��$�����8�����$�+�'��������#��,!�A%5�$�/��������$�@����!"#��$�0���'%&�!����1�������,������� !"�$�1��0!�;��$�,7�����+�2!"/��9%+��!"���$�0�������A�#�8(!"#��$�5$�(��8� ���'!�����7����0� "@�$�0������3��&���%+��'!�����7�$�0��(!"#��������$�5$�$�����"/����-�,�/!�(&0!�(�#��$%�����������������2��!�(����A������8� �� ��-� !"�$�1������!"��������%+�'���J!�'!�0!��������$�������'�$�%&�'�������������#��2����2��S�3���> �8/"�0;.�#$;O�5 /5�<,6:&����'���!� !"�$���J!�(!"#��$��������2!"/��9%+��!"��� ���1��5�� !�$����!"����%5$�$�0�����8���J!�(!"#��$���������$� "@�������&�1��%����%+������,��3�4���'��==�$���(�#���&�1��%����%+�,������<�����8�A���!$8�";�"��� ����"'!A�"�3��!�2��!�(���������(!"#�����$�����"/�$�6���+��&�1��%����%+�$�0��(!"#�����-8� .�9�5���%<������!������Y�A���!$�!����!�"Y��"'!A�"��!��� ���AY������I�����-�AY��4�%&�$��"#��$����'����A"+������!"/��$��$��&�1��%����%+�9�����$���(!"#��$�5$�(��3���> � /5�08/"�0;.�#$;O�<,6:&�5.45�<)!���!"#��$�5$�(���$�����"/��%����%+�&0����������'�U��&�1�����8�A���!$����?$��"'!A�"�3�

�"#�������(!"#��$�5$�(���2�!�2��!�(����2��*�'�$�����*���0��&�1�����;"����%�(!"#�����-������$��&�1������ ��,�*-� ���� �&�1���?$���!"*�3����$�(!"#��$�5$�(��� �����$� �&�1������A"+�;��#���!"�������'�(�����&��2�!������2��!�(��������,%&5$�'�5!���%5$��!"��� ���;����2��0!�(�����&��2�!���������-�,�+���%5$��!"���;��'3��X�7.4�i��

Page 51: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9��A�(DEY� �!9���!�DE�X� !�����!Y�� $��A$�DEY�� I���D!m]Y�!VPY!==E�� A�(DEY�� '"�$�DEY�� �"����Y��Z�� �!9��A�(DE���X�!�������m]Y����$����VV���VVk�kYY�������==Y�����"����Y��Z�����%&�'���������"*��A"+�!���"*�����������<�]�]�]�]�]�L-��9��������J!���@��,%&5$�'�5!���%5$��!"���A�(DE�����(!"#������A"+�,%&5$�2�&0!���5����5!8� �� ��-�'!�����7�$�0��(!"#��������@����%&�$�2��*�'�$������%+�3�4���'���@���"#��$��$���%&��'��&51�����$��$�(!"#��$�5$�(���A%0�9�5�'�,%&5$��%����%+�&0��&�1�����8���-���!"*��$�������� ��!���%&��'��&51�$����'�������#����&����5!�'!�����7�$�0��(!"#��$�5$�(���&0���@��'�5!���%&�$3�4�%&��'��&51����-����A"+�2��!�(����(!"#��$�5$�(��������$��&�1�A���!$3������(!"#��$�5$�(���A���!$� ����,%&5$���5�����2�&0!� ��5��'!�����7������ ��@����5!� ��&�!�,!"/��(!"*��97$�8��%��,���������@����5!� ����'�(�����&�� &�!�'!�����7�,%&5$���5�����(&0!� ��@��'�5!������D�����2��!�(�������E�'�@�����#�3���X�7.�j4��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9��A�(DEY� �!9���!�DE�X� !�����!Y�� $��A$�DEY�� I���D!m]Y�!VPY!==E�� A�(DEY�� '"�$�DEY�

Page 52: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

� �"����Y��Z�� �!9��A�(DE���X�A���!$�!�������m�Y����$����VV���VVk�kYY�������==Y�����"����Y��Z����%&�'���������"*��A"+�!���"*�����������<���^�U�b�P��"#�� ����'� $�%&�'� ������ ���$� 2��!� (���� ��� 2��*�'� 2�&0!� ��5��'!��� ��7� $��� (!"#�� $�5$� (���A���!$�����(!"#�����-�A"+�,%&5$�2�&0!���5��(�)�'�]3��L&�1��%����%+�$������5!�9�����$���(!"#��$�5$�(��������"'!A�"�3�4�&�!�'!�����@����5!�$�0�������(!"#���"'!A�"��$�+�'�'!�#�'���%�(!"#�������$��&�1�����3�C%5�2���$������9�-����#��'!%+���"'!A�"�� �������� �����&!� �%�� ��%+3��&!� �%�� ��%+�$��$� ��#�� $�0�$��$�(!"#���'��5!� ��%��(!"#�� �"'!A�"�� ����s��8�$����(!"#���"'!A�"�� ����,%&5$� �%�� ��%+� ���'���&����%5$� �!"#1�$�0����y� �� ��-� !"�$����-�;��#��$��$�(!"#��2!"/���"'!A�"���������&��$��$�(!"#��2���$3�4�-���!"*��2��*�'�1��0!�(�#��2-�����-��.��������$�+�'���/���&5����5!�(!"#�����-� ����"#��$������� ���'���&������'���y�9������%����%+�(!"#��$�+�'����08� �� ��-��(!"#��,%&5$�2��!�(�����"'!A�"��A"+��%5�,���'�$��-"/��A��'� �&�1�������"#�����-� �.���,��'�9���'�2��*�'���/� ��&5� ���5!�9%+� �!"������-����?$�2��!�(����$�0��(!"#���"'!A�"�� %&��������A%�$�$�%���$�0�����-��.��3����E> � /5�08/"�0;.�#$;O�<,6:&�#) 2&�5.45���!"#�� ������$�5$� ������%+�'�(!"#��,%&5$�2��!�(����("*���'���!���������$�(!"#�����-���@����5!�����'�(�����&���%��2�!�$�%&�'�������(�:��,�@����%5$��!"���$���,"#��2�!�$�%&�'�������2"#������$3������(!"#��������$�5$�����$�����"/������$��&�1�";�"��8���?$�A���!$3�

���$��&�1�";�"��8�A���!$�$�6��0����%&0�'�,"#��1��5�� !�$�%��2��*�'��0����%&0�'�,"#����&�!�'!������@����5!�$�0��(!"#�3���5$�,.$��$�0��";�"��������&0�����'� !"�$�A%0�9�5�'�$�0�������(!"#��������$�5$�A��'���������1��!��$�%&�'�������2���$�D2�!�$�%&�'�������,%&5$��%����%+���"*����!"@��I!�"E���������

Page 53: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

x!�"��� � x!�"�^�!��� ���AY�I�����$���"��Y�A���!$�9��(�"�1�K"�Y� �!9���!�DE�X�I���DEY���I��^DEY���I��UDEY���I��bDEY�Z�";�"���9��(�"�I�$���Y� �!9�I���DEY�X�� 3�� 3�� 3�Z� �!9�I��^DE�X�� 3�� 3�� 3�Z�

� 9��(�"�I�$���Y�";�"���!��� ���AY�� �!9�I��UDEY�X�� 3�� 3�� 3�Z� �!9�I��bDE�X�� 3�� 3�� 3�Z�

���"��������!�����5����"*��������#-����!�9��'�$�%&�'�������,%&5$��%����%+���"*��^����1��!�3��!"#�� ���A�&0���@��2��!�(����,�@������'�I!�"���2��*�'�$���";�"���D,�*-�������!�,7��E3������@��2��!�(���� ��%����!� ����'� I!�"�^�$���";�"��� &�!���5$�,.$��(����$��� ������(!"*��97$��(!"#��,�*-�2��*�'�1��0!� ���������(!"#���&�!����� ���������(!"#��,�+� ��@�� ��5!� ����'�(�����&�3��!� ���2��!�(����";�"�����%&�$�������"*��(!"#������(�:��(�����(!"#�����-�,�+�,%&5$�2��!�(������%&�$�,���&0�������&!�2���$�����'�$�%&�'������� ���$�6��������@���������*!�,�@�'���&�!�2��*�'�$����%��";�"���1�.����%&�$3�4%&�'��%5���%� ��-�$���(!"#��I�$����L&�1�A���!$�9�����$���(!"#��������$�5$�����9���'�,"/��'�S��$��?�� !"�$��&0�����'�1��5�� !�A%0�A�5�'�$�0��(!"#�����-���������I!�"�2���$3����o�'���5������'�������!�����5����"*��(!"#��1�K"��,�+�2��!�(���� ����'� I!�"��� �����$� �&�1�A���!$�2��� ����'� I!�"�^� ���2��*�'���"/�2��!�(����";�"���9��(�"�1�K"������

Page 54: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

��> � /5�0)a,�#';82&*�* b"�#$)&*�5';8&*�#$%&'�����3 �������J!���#����%&��'�'�?1�����'���?1��������������-"@��9%+��!"���$��������A�#�2�!�'�5!��������%5$��!"���2��*�'�$�.���;��$�$��o�'���5����%����-"@����!"#�O��%��8�9���'���)�'�,"/����-"@��$��������$�!"#��

^3 ��@���%��-��2�!�$�����!�(!"#��$���$���'��"*��$���'�;��#���!"�������'������'�5!���J�������,%&5$�'�5!��

U3 4�!"#��$��$��'�-"*����J��$�0��$��$������$�������'�$�%&�'������3�b3 4�!"#��9�#��$��#��1��/-�&0�$��#!�$��$�9���'��'�-"*����J��P3 H%�9�#��$��#��1��/-�&0�$��#!�9���'��!"*��,"@�$�0����J!������f3 ��*�'�'�!�2!"@��9%+��!"���$�0�������A�#�����'��'�-"*����J��$�+�'���%��!"*��,"@�����3��

Page 55: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�����g������?�����������l ���

������5$��!����5$�$��������2-+��������,�?$���%�'�,"/�'!�0!���-"#�� �#��,"@�A�� &�!�$��$�

2������5$�2���$�,�������2-+��������,"����!3�B"����!�2��*�'���%+�'�����$��$��,"/��%�9�-�D����

������������E���#���%5���!"*������$�������������$�*�'�$�5���#���!"������0�,"/�'!�0!���-"#�� �#��,"@3�������#����!"@��(��!��������"#��2��*�'�9���'�,"����!�����2��*�'���"/���������&�!�'!�0!Y����?$�

�"#��������8�����,��������&�!�'!�0!�'%&5�'�"�18�2�����!"/�����'���?�'��.���2-+�������3���!"@��

1�%&�'�1���1�'!�0!���-"#�� �#��,"@���%����-���!8���-����5$��,���'8��������$���8�3�3�3�9%5�� ����2-+��������,"����!3�

B"����!���5���&0�,!"/��$��� ��"/�,7����'�G������� ���1� �*���5��$��$�,�#!� �%&5�'�$�6�(�)�'������A�#��%+����5��$��$��"����,"@3�4%��%&0�'�'!�0!�(��!�������(�)�'��������������,"����-��

����,%��(��!�������(���,�@�� "@������(��!�������$���'����5!8�$���'��.���$��#����%�'�&0�$�#1�,���

���#1��&�8���������������-��!"#1���5$�$���,"#��2�!�(��!�������,%&5$�,%�� "@�$�#1�,���������5!�,���$�����"/�'!�0!�,%&5$�9"J�9���'3�4%��2"#�����0�&0�$�#1�,������-����A"+���@���'%&5$�,"/�'!�0!�(��!�

������&0�$�#1�,���$����&�8�$���,"#��2�!�'!�0!�,%&5$�(��!�������&0�$�#1�,���(���,�@�� ���,�*-�

$�+�'�$�.�������%��,!"/����#����/!�(����$�0���������������,"����!3��

E>�>����������������l ������������,%&5$�'�5!�����$����.���,"����!��"#������'����*��$�0������$����"�����'�5!���5!�

$�.������������$��$����%5$��!"#1���-�'!�����!"#13�

�����$�%&�'�������,%&5$�'�5!�����$����.���,"����!��"#������$���$�%���.�����#������������

,"����!3������������,"����!�'�@��$�����!��1��@�<����@��$&�A&0� ���1��@��,"����!3����@��$&�A&0�

D��-�$����'�5!�����1��@��9%��'����*���0�$�#1�,���'!�0!�,%&5$�$�0��(��!������8�1��@��,"����-�����

1��@��'�5!���5!�$�.���������%�'� &�!�$�#1�,������#1��&�3���0��$��#��$�0�����1�������,"����!���%���"#�����v�4���'����1�������,"����!8�2�!������

�����D��-����0���5$E�'�5!�,"����!�,"#��$�.������8�����&0���J!���@��'�5!��&�!8����-�A"+���5����������

���1�$��$�(!"#��$�5$�(��������� ������,��$� ���1� &�!�$��$� ���1�(!"#��$�5$�(���,�+�,%&5$� ��5���������'�$��$���@��'�5!���%&�$�,��8�$���(�����!"*����@��'�5!��&�!������,"����-�����$�+�'�$���(�#-�

��!"*����@������������2��0!�����8�$%����J!���@������������2��0!������������������1�$��$�(!"#��$�5$�

(���A"+�,%&5$�'!�0!�1����'8�A%5� �%&�'�%��'�'!%+��$��$� ��@��'�5!� �&�!������ ��� ������� ���2��0!�

Page 56: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

������,%&5$���%5$��!"�����"����%���%5��'%&5$8��'�G��������@�����,�@���!"*��%��'� &�!���@�� ����

$��#!�$���'� �����@�����2��0!������$��#!�$���'�%��'� &�!���@��,�@���!"*��'�5!��&�!������D$&�$�"#� ����A��������%&�$E��

���$�$�%&�'�������,"����-���%&��'�'�?1�$�����"/������$�����'�(�����5!�A��<� B"��

��-���-"#���.��8�,"����-���7�1��*�� ���,"����-�1�!���-"#�3�4���'���5$�9%&�!�,�*-8�$����'������@���%&5��;"��������A�#����5!�,"����-�2"/���"*�8�&0���J!�

���5!�$����'�����!�����5��(�)�'������A�#� .�9�5�,!"/������3�

��E>E>?��m������������l n�

��������������� ��� ������ ���������������������������������,%&5$�'�5!� ����,"����-� ��-"#�� �.����"#������� ��@��'�5!����������$�6�1�����

A!�����#!�,��������&�!�'�5!�,"����-3�

��X�7.4�E>�� ���������� ��! ���" �� #��$�%�� ���&�'�(����� ���) ����) ��)'��

a!�!���%���,%&5$�,7����'�G����"��2!"/����-���51<��q�m��ND�M�Eq�

C���,�*-�����������&�!�'!�0!�,"����-<��

_!�$��9"�VA�9!�3�W�

_!�$��9"�V$��!�3�W�

OO������-1"�

���'�a!�!4���D!����EY�

OO�����$�.���

�!9���!�DE�

X�

$��A$�DEY�

$���VVa!�!4���DPEVV"�9�Y�

'"�$�DEY�

Z�

OOB7����'�G��$��$������

���'�a!�!4���D!����E�

X�

Page 57: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

!I�D�mm]tt��mm�E�

� �"������Y�

"�A"�

� �"�����D�N�a!�!4����D�M�EEY�

Z�

OOmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm�

���5-��%��'�(%&�$�$�%&�'����������-3�'!�!����DPEmPN� '!�!����DbEmPNbN� '!�!����DUEmPNbNUN� '!�!����D^EmPNbNUN^N�

'!�!����D�Em�PNbNUN^N�m�^]�

�������6!�Q.K�&'T�"' L&�����������,%&5$�'�5!�����,"����-���7�1��*���"#����J!���@��'�5!����������1�����A!�����#!�

,����!��&�!�'�5!�,"����-3��

�X�7.4�E>E>*" �������+ ����%� ���,����-��.��� ����.� ����������.���/����

.���/����

.� �/�.� 0���1�.� 0���

�_!�$��9"�VA�9!�3�W�

_!�$��9"�V$��!�3�W�

OO�������-1"�

!����ID!����EY�

OO�����$�.���

�!9���!�DE�

X�

$��A$�DEY�

$���VVIDeEVV"�9�Y�

'"�$�DEY�

Z�

OO���$������

Page 58: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

!����ID!����E�

X�

!I�D�mm��tt��mm^E�

� �"������Y�

"�A"�

� �"�����ID�M�E=ID�M^EY�

Z�

����������� ���!�����������2!"#����7�1��*��

���!������<�$���9�+-���A�#��'�-"*����S�'�9�@���!3�F��������A�#��'�-"*��;3���+-�2!"/������;"��;�$���

�����$�9�+-�A�#���"*����-�2��*�'�v��"#��$�����+-�!�����$�!�A�#�!������z!{m;3��"#��2��*�'���+-�!�����A�#�>�3�

,&#��,& $KJ6 $5'o�65.$9,16(,&#� pq`,&#��`,&#�],&#�06M#,&#�$,*'#-�

X�

!I�D�"I�W�!'��E��"�����M�Y�

!����!9mD�"I�=�!'��EO^Y�

!I�D;mm�z�!9{E��"������!9Y�

!I�D;V�z�!9{E�

�"������!���-C"��$�Ts"$��A! "D�8�8;8�"I�8�!9M�EY�

�"������!���-C"��$�Ts"$��A! "D�8�8;8�!9=�8�!'��EY�

Z�

E>E>Z>�6!�Q.K�"',�#.K6:&�(R6!�Q.K�"';/5-������������,%&5$�'�5!�����,"����-�1�!���-"#���"#����J!���@��'�5!�,"����-�����1�����A!���

���2���0�'�����@��'�5!�,"����-�M����*�'���%&��'��&�!�'�5!�,"����-�,%&5$�,�?������'� ���'����13�

F.�9�5�^3b<�(��!�������������#��$�0�$��$�9�+-���7�1��*��$�!"@��9��!������o�'���5�� &�!��mU�����2"#�����0����<�

]�]�]��

]�]���]���]�

]�����

��]�]��

Page 59: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��]���

����]�������

��%&�'������<�

_!�$��9"V!�A��"��3�W�

_!�$��9"V$��!�3�W�

_!�$��9"V!����!13�W�

!���;z�]]]{Y�

!����89"�m]Y�

OO������-1"�

�!9�p���DEY�

�!9�H�-"���!����D!���!EY�

OO�����$�.���

�!9���!�DE�

X�

$��A$�DEY�

$���VVk���1���m�<kY�

$!�WW�Y�

H�-"���!����D�EY�

'"�$�DEY�

Z�

OO���$������

�!9�p���DE�

X�

$���VV==9"�VVA"�KDbEY�

I���D!���!m�Y!Vm�Y!==E�

$���VV;z!{VVA"�KDbEY�

$���VV"�9�Y�

Z�

OOmmmmmmmmmmmmmmmmmmmmmmmm�

�!9�H�-"���!����D!���!E�

Page 60: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

X�

I���D!���Rm]YRVm�YR==E�

� X�

� � �;z!{mRY�

� � �!I�D!mm�E����� p���DEY�

� � �"�A"�����������H�-"���!����D!=�EY�

� Z�

Z�

E>V>��������l n���?$� 9���(�#�� 2-�� (��!� ������ ����� $�+�'� $��� ��"/�'!�0!� (�)�'� 2-0� �������,"����-8� ��"#�

��%�'�$����'����$�+�'�2��*�'��"*����5��9�5�'�,"����-� ����"#�������(��!�������$����&�!�'!�0!�

2��*�'�,"����-������"*��$��5���&�!�'!�0!�2��*�'�,"����-3�

���!�,�?��,"����-�����'����-��.����,�*!����$���5!�2��*�'�,&��'!�0����%�1�����(!"/��,"����-8����-��.��� �/��$�����%+�'���5��$�"#� "@�(�����&���"*��2��*�'�1��0!����$������$�+�'�$���

��"/�(!"J��9!"J�������$��$����������0��$��$�1�����(!"/��,"����-3�,�*!� ���$� ���$����1��0!� ����

$��$��2�%0�,"����-�,"/������'!�0��(&���,���1�%�$���51��$�0��$�%&�'������3��F&�!�,"����-���-"#���.��� ���,"����-���7�1��*��������%&��'�$����'��������,%&5$�$��$��

2�%0�,"����-�2��*�'�2������:�3�4�-���!"*�� &�!�,"����-�1�!���-"#������ !"�$�2�%0�,"����-�����

2����1�%�$���513��

�1X�7.4�E>�> 3�F!"#��$�%&�'��������.����q�(�)�'�$��$��2��*�'�9���'�,"����-�_!�$��9"�VA�9!�3�W�

_!�$��9"�V$��!�3�W�

OO������-1"�

���'�a!�!4���HnD!����EY�

�!9���!�DE�

X�

$��A$�DEY�

$���VV�a!�!4���HnDPEVV"�9�Y�

'"�$�DEY�

Z�

Page 61: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

OO���$������

a!�!4���HnD!����E�

X�

���'��"�1m�Y�

I���D!���!m��Y�!Vm��Y�!==E�

������"�1�Nm!Y�

�������"������"�1Y�

Z�

1X�7.4�������� *" �������+ ����%� ���,����-��.��� ����.� ����������.���/����

.���/����

.� �/�.� 0���1�.� 0���

��%&�'������<�

_!�$��9"�V!�A��"��3�W�

_!�$��9"�V$��!�3�W�

�!9���!�DE�

X�$��A$�DEY�

��!���Iz�]]{Y�

��!����Y�

��$���VVDk�����(!"��A�����'�������-�$���9�-�vkEY�

$!�WW�Y�

��Iz�{mIz{m�Y�

��I���D!���!mUY!Vm�Y!==E�

��Iz!{mIz!M�{=Iz!M^{Y�

��$���VVIz�{VV"�9�Y�

��'"�$�DEY�

Z�

��5��,�5$���+-���%0��.���ID�E��"#���m�]]3]]]�

Page 62: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�X�7.4�E>V> >� �

� 2,�R b#�2��*�'�,"����-�'!�0!�(��!�����������2!"#����7�1��*�3�

,&#��,& $KJ6 $5'(,&#� pq`,&#��`,&#�]-�

X�

!����"I�m]8�!'��m�M�8�!9Y�

9��

X�

�!9mD�"I�=�!'��EO^Y�

!I�D;mm�z�!9{E�

�"������!9Y�

"�A"�

!I�D;V�z�!9{E�

�!'��m�!9�M�Y�

"�A"�

�"I�m�!9=�Y�

Z�

K�!�"�D�"I�Vm�!'��EY�

�"�����M�Y�

Z�

Page 63: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

����������������������������������

����������H|}�L�� y��Q���~y�4sy������

Page 64: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

������������������������i��� ������(����n-�����$����5!�(!"#������$����'����,�+�'�?1������$��������,�?$�,!"/��$���'����<���J!�(!"#��$�����"/�9���'�,"/��%��9�-����#�������'!�����7���5!��������&�!�,!"/����%�'����5!�(!"#�����-�'�5!�����(!"#���'�-"*���%0���-�(!"#�� �*��%&��'�(&0!�'!���$�0������2��*�'���"/�$�!�����0��&���%+�3��������'������%&��'�'�?1���������1��&51���!"@��'!�����7�������#��$�0�$����'�,"@��$���$���'������2!"/��9%+��!"��8� .�9�5���%<�� B!"/���������*����5$�$�0��A!��� !"*������'�������&�1�� C�#�(����9����$�0����.�A!�������'������2-����!33��!�,���,"/��%����%+�'�'!������-��"#��$����'����A%0�9�5�'�$��$�(!"#�� �*��%&��'�������#��2��������'� �#��,"@����1�������D1��0!�2��!�(������!"@��(!"#����1���!���&���"*�8�2��*�'�2��0���!E3�B"/�'!�0!���-"#�� �#��,"@����-��==�$��'�$�#1���������5!�(!"#�������-�D��0�'E3��$$ K��L��������9����A��$��$�%���$��$�'!�����7�$���$���'����5!�9%+��!"��3������9����A��$����%� ��-�A"+�$����"*��,"/�1��*��(!"��8� ���,"/����-�;��#��,"#�������1��@���%0����������'�9����A��$�����A"+�9%5�� �����"*��9����A��$�� ���$�6�A�##3���> � 3&*�+)!#�5',6.�()&6�7,+6&9,)& 0� $$ K-���3 ��!��(������0�'<�����1���1<��9���T�-1"������-T���"�z���("�M�IM!�"�A{Y�

Page 65: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

9�����-1"<�!"/��9%+��!"���$�0����0�'�����-T���"<�4"*����0�'����("�M�IM!�"�<�A�#�1��@���%0�$�0����0�'3�F.�9�5<��� !���9!"�zP{Y�� I�����9�(z�]{Y���4��*�'���%&��'�����'����1��������'%&�!������%&��'�,7����'�G����%&�$��������)�'�$�%���A�#�1��@���%0�$�0����+�'3�B!"@�����-���#��$����&5!�2�!����$�@�����-�,�/!�A�#�1��@���%0�$�0����0�'3���%� ��-����$�����"/�2��!�(�����������0�'���%�A��<�� $��A��!���C���mPY��� !���9!"�zC���{Y���-����� $��A��!���C���mdY�� $����$�9"zC���{Y���!�2��!�(������%���"*��������J!���0�'�A"+�,%&5$�$��'�$�#1�,�0�A�#��*���&��$�@����!"#��,"/��%����%+�$��$�1��@���%0�$�0����0�'3�F���$��$�1��@���%0�$�0���������0�'�����,%&5$��%����%+��!"*����5$� &�!�����3�����B"/����-�;��#���&�!������1��@���%0������,���$�0����0�'������"��$���1���1<�����-T���"z�IIA"�{� .�9�5���%�$�9"z{�D���-�;��#��9"#��1��@���%����%����!�$�0����0�'�$�9"E3�L%��-�<�4���'��==� 7���.�D$�6�A�#E�$�0��$��$�1��@���%0�����'���0�'�,%&5$�,�����A�#��%��]3�B!"@�����-�'!��1���S�'���#$�,���;%0��-��$�0�����-��.���2�!����-�;��#����0�'8�(&0!� 7���.����-�(����$������-��.���(!"#��1��0!�(�0�������#-�1��@���%0�2"/��%��1��@���%0�,�@���!"*��,"/����-�;��#��,%&5$�1��@���%0����'����#�3����J!������1��@�� �%0�$�0����0�'�$��� ��"/�A%0�9�5�'�(�#��$%��&0� 7� ��.���������������(!"#�� �*��%&��'��&51��"��;��#���!"��3�F.�9�5�$��$� 7���.�;��#���!"���$�0����0�'�$�9"�A���,�*-������&51��"�<��$�9"z]{m�h�iY�$�9"z!{m$�9"z]{=U^���6�A�#�$�0�������1��@���%0�,�?������'�z{������������)�'�A�#��'�-"*�����?$�(�#��2-�������(!"/����%�$����������'!�����7�$�0���������������A�#��'�-"*�3�F.�9�5���%<�$�9"z!{�8�$�9"z!=�{8�$�9"z!N^{�

code[0]� code[1]� code[2]� code[3]� code[4]� code[5]� code[6]� code[7]�� � � � � � � �

��������������� ��������������������������������� �

Page 66: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

������������������&5!���#���&���2�!����A%0�9�5�'������(!"/����%�$���%�����$�6�A�#�$�0����0�'8�(&0!�2�!�,�������$���1�"�1����$�����"/����-�;��#���%��,�@��9"#��$��#!���0�'�(�)�'������ ���'���?13�F.�9�5<����$����������0�'�,%&5$�2��!�(������%�A��<�$��A��!���C���mPY�!����zC���{Y�'!�0�A%0���%���0�'�,�+�$���'!�����7� ������$�@���.�����/�'�'!�����7�$�0����0�'�,%�� ����(!"#��A���8����-� ��1��0!� !"#���"���<�A��m��z]{=�z�{=�z{=�zU{=�zb{Y��������$�����"/� !"#�<�I���D!m]Y!VC���Y!==E������A���=m�z!{Y��F!"�$�A%0�9�5�'� ���'���?1�,"/����-�;��#���������0�'���0�����'���#����.$���&51�2�!����-�;��#���������0�'��&��3��^3 ����1�;��#��'!�����7�$�����0�'<�=�B"/�����1�'!�����7�$���$��$�1��@���%0�$�0����0�'����$�����"/�9���'��"����'�������?$�$!�3�F.�9�5<�� $�9"z]{mi�iY�� $!��WW$�9"z�{WW$�9"zU{3��!�$�@������1�9%+��!"�����@���%&5��$�����!"@��1��@���%+�$�0����0�'����$�����"/�9���'� ���'���?1��F.�9�5<���I���D!m]Y!VC���Y!==E�OO�����������)�'�,�+�,7����'�G����%��$�,��8�����$���(!"#��A�#��� � � � � � � � OO1��@���%0�$�0��� ��0�'�

� X� $���VV\���1�'!����!�$���1����������\�VV!Y�� � $!��VV�z!{Y�� Z�=�B"/�;��#��'!�����7������1��@���%0�$�0����0�'����$�����"/�9���'�$���3�F.�9�5<���� I���D!m]Y!VC���Y!==E�� � $���VV�z!{Y�L%��-�<���@���"#��$��$��"����$�0���==�2�!���%5$��!"���2��*�'�2!"/������$�6�A�#�$�0����0�'�,��'�9���'�$�����)������'�1��5�� !��&51��"����-�2��*�'D2��*�'�(������J!�2�!�(!"*��97$�E3�a!�0�A%0����2��!�(�����������0�'�!����z�]{�8���%�'�2�!�������-�;��#�������5!����-�;��#��,"#����%+�'�1��@���%0�$���$�6�A�#�Wg8�,!"@�����-�$�����"/�'�*-����A%5�,�/� &0�$�0��$�%&�'������3����X�7.4�����';8&*�#$%&'�7;8/,�R LK�#';45�',6!&�&';O&*�5)L&*�1,6!5�9 .���' !"�*, /�#$T�1 2)�+)!#�+ 3&*��d�"' &�#;3>��&�+ 3&*�06L&��+ 2&�'%&'�

Page 67: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

�&�#)N&*�*, /�#$T�5.3 �5 /5�"' &�#;3�#$)&*�+ 3&*��&�*, /�#$T�08/&�&' :#�5.3 �+ 3&*�06L&�+ 2&�'%&'��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�� �!9���!�DE��X�$��A��!���C���mPY�� !���!8�zC���{8���'8��;8�!�Y�� $��A$�DEY�� $����VVk���1�'!����!�$������'�kY�� I���D!m]Y�!VC���Y�!==E�� X�$���VVk�zkVV!VVk{m�kY�� ��$!�WW�z!{Y�� Z�� $����VVk`�����'�9�����1�`�kY�� I���D!m]Y�!VC���Y�!==E�� ��$����VVA"�KDUEVV�z!{Y��� ���'m]Y�� ��;m�z]{Y�� �!�m�z]{Y�� I���D!m]Y�!VC���Y�!==E�� ����'�=m�z!{Y�� $����VVk`�4��'�$������'���<�kVV���'Y�� I���D!m�Y�!VC���Y�!==E�� ��!I�D�z!{W��;E���;m�z!{Y�� $����VVk`�a!����!��������������'����'<�kVV��;Y�� I���D!m�Y�!VC���Y�!==E�� ���!I�D�z!{V�!�E�!�m�z!{Y�� $����VVk`�a!����!��������������'����'<�kVV�!�Y�� '"�$�DEY�� �"����Y��Z�U3 C%0�9�5�'������ ��5��A�#��'�J����!"*�<�4���'������ ��!� ��%&��'��&51�2�!� !"#�� $�%&�'�������$����'����$�6��������*�������A���$�%&�'�������,%��,%&5$�2"#�����0�$�.���;��$8�$����A�#��!"*������D2!"/��A�#��'�-"*�E�2��*�'�����'�(�����1��0!���"��������������J��$���

Page 68: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��%&�$8��������$�����"/�9���'���������9���$�0���==�$��'�$�#1�,"/���5�����$��$�A�#��'�J����!"*�8��������1��0!���#����&�!�'!���$�������1��!"��3���������9���$���$���1���1���%�A��<��!������9��D!����E��"#�����0�$�0����������������A�#��'�-"*����%��]�,"#���M��4�%&�$�2�!�A%0�9�5�'����9������1��0!�'�5!����9��!c"DE�,"/�2�&0!� ��5��$�"#�,�����5��A�#��'�J����!"*�3����#��A%0�9�5�'�$��$������ ��"*�� ���� ����'�$�%&�'� ��6��� ���1��0!� 2��!�(����_!�$��9"�VA�9�!(3�W�

��X�7.4�E���';8&*�#$%&'�9 .�# 4)�*, /�#$T�&* a.�&',6L&�5')�+)!#�+ 3&*�cd�"' &�#;3��,&�+ 3&*�06L&�+ 2&�'%&'>�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W� �!9���!�DE��X�$��A��!���C���mP]Y�� ���'�!���!8�zC���{8���'8��;8�!�Y�� $��A$�DEY�� ���9��!c"Y�� $����VVk4���'!����!�$������'�kY�� I���D!m]Y�!VC���Y�!==E�� �����z!{m���9��D�]]EY�� $����VVk`�����'�9������`�kY�� I���D!m]Y�!VC���Y�!==E�� ��$����VVA"�KD�]EVV�z!{Y�� '"�$�DEY�� �"����Y��Z��b3 �&0!���5��'!�����7�$�����0�'<�4�5!���&�!�,!"/��2��!�(�������$�+�'�$�����"/�2�&0!���5��'!�����!�$�����0�'�(�)�'�$��$��,�?��$��$�'!�����7����-� ����9�#��XZ�

F.�9�5<��$��A��!���C���mPY�!����zC���{mX^8gP8g8f8UZY��$��$�'!�����7�2�&0!���5��$�����0�'�$�+�'�$�����"/�,�?����"*����!"@��9���'�$��A��!���C���m�]Y�!����(z�]{m�X^8f8�8e8d8P8U8g8�]8�^ZY�

Page 69: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�"#��$��$�'!�����7��!"���2"*�����'�XZ�.���&��A�#�1��@���%0�$�0����0�'�����$�6�$���$��$�1��@���%0�,�@��,%&5$�2�&0!���5���%&�'�%��'� &�!�$��$�'!�����7�����'�XZ�$��$�1��@���%0�$������5!�A"+�,%&5$�2�&0!���5�� &�!�'!�����7�m]3�!�9!$��!�'��"1"�!�!�����!��"�I"����"��"A"� "��P3 4����A�#�$�0������� ������0�'<��!��������0�'�,%&5$� ���-"@��$�������� ����� ���*�'����������A�#8�����,7��$�6�(�:��,�@��$�0�� ���'���&��9�����$������0�'�A"+�,%&5$����-"@��$��������A�#� �� ��-������,%&5$�'�5!�A"+����$�,���'���%5$��!"#1��"*�� ���'���&��$�0����0�'����-"@��$������3�

�X�7.4�V��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W�$��A��!���C���mPY� �!9�!�1��D!������zC���{EY� �!9���!�DE��X�� !���!8�zC���{Y�� $��A$�DEY�� ���9��!c"DEY�� !�1��D�EY�� $����VVk`�����'�9�����1�`�kY�� I���D!m]Y�!VC���Y�!==E�� ��$����VVA"�KDUEVV�z!{Y�� '"�$�DEY�� �"����Y��Z�� �!9�!�1��D!������zC���{E��X�!���!Y����I���D!m]Y�!VC���Y�!==E���������z!{m���9��D�]]EY��Z�4���'�$�%&�'����������-�������#-�C����,%&5$�2��!�(����("*���'���!������ ���&0���"*��$��$������$�������'�$�%&�'�������9�� ��-�����$���1��5�� !�A%0�9�5�'�����'���#��$�0�$��$�����3�4���'��������!�DE�$���2��!�(������0�'��� ���2�!�����'�5!������!�1����������-"@����0�'���$�����������-3�4���'� ��&�!�'!�������� !�1��� ��%5$��!"�������A"+� ���$�,���'� ��%5$� �!"#1� �"*�� ���'���&��9�����$�����0�'���$�0���������!�8� ���*�'����� �"*�����3�4��$���������!�����5��A��<��� const int SIZE=5

void main() { int a[SIZE] ��������������� . input(a) . } void input(int arr[SIZE])

Page 70: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

���������������n���$�%&�'���������"*��������#-�$���1���1�2��!�(���������A�#�2!"/����0�'�����'�������������%�A��<���!�(����1�����-1"�<��� �!9�!�1��D!������zC���{EY���!�(����9���'��!"*��,"@<� �!9�!�1��D!������zC���{E���%� ��-�������#-�$��$��2��!�(���������A�#�������0�'�����'�1�����-1"� ���9���'��!"*��,"@����������'!�#�'�����3��4���'�1��@��2��!�(������"*��$�����"/� �:�'���?��'!�����7�$���(!"#��A�#�1��@���%0�$�0����0�'�����'�$�?1�9�#���'��?$�z{� ���,%��'!�����7����-�����'���!���%���������������A�#��'�G�����<�� �!9�!�1��D!������z{8�!����EOO���A"+�������'!�����7�$���(!"#��A�#�1��@���%0�$�0����0�'�2�!������,%&5$�'�5!3����$��2��!�(�������-�$����&5!���������$���1�"�1����-"*���������0�'�(�#��2-��D2��*�'�(7�'!&�!���5��(&0!�A�#�1��@���%0�$�0����0�'E3���%&�'���������"*��$�����"/� !"#����5!���%�A��<��X�7.4�Z��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W�� �!9�!�1��D!������z{8!��EY� �!9���!�DE��X�$��A��!���C���mPY�� !���!8�zC���{Y�

Page 71: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

� $��A$�DEY�� ���9��!c"DEY�� !�1��D�8C���EY�� $����VVk`�����'�9�����1�`�kY�� I���D!m]Y�!VC���Y�!==E�� ��$����VVA"�KDUEVV�z!{Y�� '"�$�DEY�� �"����Y��Z�� �!9�!�1��D!������z{8!����E��X�!���!Y����I���D!m]Y�!V�Y�!==E���������z!{m���9��D�]]EY��Z����+-� !"#����5!�$�%&�'���������"*�� &�!�-"*��$�@�<���*�'� !"�$�;��#����0�'�,%&5$���%5$��!"���(&0!����������8� �����������-�,%&5$�'�5!�(&0!��������!�3����> � 3&*�' ,�5',6.�()&6�7,+6&9,)& 0� $$ K-���������0�'���!�$�!"@�����������(�0�'���������'�,���$�����!"@��1��@���%08���J!�1��@���%0�A"+������$������$����8������9���'������,��3���F.�9�5<����������������1���1�,"/�2��!�(!"#����0�'�^�$�!"@����%�A��<��9���T�-1"������-T���"�z���("���I���KA{z���("���I�$�����A{Y�F.�9�5<��!�������zU{zb{Y�B"/����-�;��#��,"#�������1��@���%0�$�0����0�'������"��$���1���1�A��<�����-T���"z��K{z$��{3�

���

���������

�� �� �� ��

�� 8 16 9 92

�� 1 15 4 3

�� 12 17 6 2

Page 72: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

a!�0�A%0���0�'�����$���'!�����7���%�(�0�'���"*�����<����z]{z]{�$���'!�����7�����]����z{z]{�$���'!�����7������^����z]{zU{�$���'!�����7�����g^3�- ��+�'���%���0�'������$�!"@����0�'���!�$�!"@��$�+�'�$�����"/�2�&0!���5��2�!�2��!�(���3�F.�9�5<��!���� ��z{zU{m��r��8U8P8b8e8fst��;.�K/<��������0�'���!�$�!"@��;"������;"����%�$�������0�'������$�!"@��'�"�1���5!8���J!���0�'������$�!"@��$�����1��@���%03�F�� ��-� !"�$�2�&0!���5��'!�����7�$�����0�'���!�$�!"@��,%&5$���%5$��!"�����"����"���%��'�9���'��%����"*��;��#�'�9%&�!3�4�#��$�0�$��$�$��$�'!�����7�2�&0!���5��,%&5$�,�?������'�XZ8�F&�!�$��$��2�&0!���5����0�'� �����%���"*������'!�����7�$��$�1��@���%0����<� ��z]{z]{m�8� ��z]{z�{mU8� ��z]{z{mP� ��z�{z]{mb8� ��z�{z�{me8� ��z�{z{mf��F!"�$�����1�;��#����0�'���!�$�!"@����&����!�$�#������$���?1���@�'� ��������3��X�7.�c4��5';8&*�#$%&'�9 .�&' !"�1 2�,&�+)!#�+ O&*�' ,�5',6.�06L&�+ 2&�'%&'>�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W� �!9���!�DE��X�$��A��!���sQ�CmPY����$��A��!����QLCmPY����!���!8R8�zsQ�C{z�QLC{Y����$��A$�DEY�������9��!c"DEY����I���D!m]Y�!V�Y�!==E�� ��I���DRm]YRV�QLCYR==E�� ������z!{zR{m���9��D�]]EY�����$����VVk`�����'�9�����1�`�kY����I���D!m]Y�!VsQ�CY�!==E�� ��XI��DRm]YRV�QLCYR==E�� ����$����VVA"�KDPEVV�z!{zR{Y�� ����$���VV"�9�Y�� ��Z�� �'"�$�DEY�� ��"����Y�

Page 73: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

�Z��=�4����A�#�$�0�������������0�'���!�$�!"@�<���'�-"*����#$����-"@�� ���������9%+��!"���'!%+�������'�5!� ��������,%&5$�'�5!�$�����0�'���!�$�!"@��$�+�'�'!�#�'���%�����������$�!"@���'�G�����������,%&5$�'�5!�A"+����$�,���'���%5$��!"#1��"*����0�'����-"@��$������3�4�-���!"*�� !"�$�2��!�(����$���2���$�����3���X�7.4�f��5';8&*�#$%&'�9 .�&' !"�1 2�,&�+)!#�+ O&*�' ,�5',6.�06L&�+ 2&�'%&'>��,6!5�&' !"�1 2�]. :#�+ 3&*�R;845�#';45�',6!&�<83,�' ,�' 2+�,&".#�1 2�).#".#��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W�$��A��!����QLCmPY�$��A��!���sQ�CmPY� �!9�!�1��D!����z{z�QLC{8!��EY� �!9����1��D!����z{z�QLC{8!��EY� �!9���!�DE��X�� !���!8R8�zsQ�C{z�QLC{Y�� $��A$�DEY�� ���9��!c"DEY�� !�1��D�8sQ�CEY�� $����VVk`�����'�9�����1�`�kY�� ���1��D�8sQ�CE�� '"�$�DEY�� �"����Y��Z��� �!9�!�1��D!����z{z�QLC{8!����E��X�!���!8RY����I���D!m]Y�!V�Y�!==E�����I���DRm]YRV�QLCYR==E���������z!{zR{m���9��D�]]EY��Z� �!9����1��D!����z{z�QLC{8!����E�X��!���!8RY�� I���D!m]Y�!V�Y�!==E�� ��XI��DRm]YRV�QLCYR==E�

Page 74: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

� ����$����VVA"�KDPEVV�z!{zR{Y�� ����$���VV"�9�Y�� ��Z�Z��n���$�%&�'���������"*��������������#-� !"�$�2��!�(���������A�#���0�'���!�$�!"@������'�1�����-1"� ���9���'��!"*��,"@�'!�#�'�����3�=�C�#�9���'�$�0����0�'�2��*�'�$�@��2��!�(����=�4����A�#���A"+�������'!�����7�$���(!"#��A�#�9���'�$�0����0�'�2�!������,%&5$�'�5!3�����> � /5�"';8&*�"' /"�#%+�P,6:+�1 2�9 u"�]6:"���3 4���2!"#�<���3�4���2!"#����"*����0�'������$�!"@�<��p�*-�9%�'�����������!���A"��$�D!����z{8!����8�!���;E3�4��������'!�����7�;���"*����0�'���$�����1��@���%03�"#�����0�$�0����������0� "@� 7���.��������#-8������V]�2�!�2��*�'��������#-3��(3�4���2!"#����"*����0�'������$�!"@�<�p�*-�9%�'�����������!���A"��$�^D!����z{z�QLCZ8!����8�!���;E3�4��������'!�����7�;���"*����0�'���$�����9���'� ����QLC�$����3�"#�����0�$�0����������0� "@� 7���.��������#-8������V]�2�!�2��*�'��������#-3�����^3 C�:1�;"#1<�^�3�C�:1�;"#1���"*����0�'������$�!"@�<���F!"#�������A���D�z{8�E�9"/�A�:1�;"#1��������0�'���1��@���%0�� ��"����%���%5���S�'3�^(3�C�:1�;"#1���"*����0�'������$�!"@�<����'�-"*����:$�A�:1�;"#1���0�'���!�$�!"@������,%��������(���'!�����7�$�0����0�'���!�$�!"@������������0�'������$�!"@�8��!"#1���"��A�:1�;"#1���"*����0�'������$�!"@�����-� ���$��#!�$���'�����,%��$��$�'!�����7��%����0�'������$�!"@�� ������0�'���!�$�!"@�3�F!"#�������A���^D�z{z�QLC{8�E�9"/�A�:1�;"#1��������0�'���9���'�8�QLC�$����1��@���%0����"����%���%5���S�'3��X�7.4�g��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W�$��A��!���sQ�CmPY�$��A��!����QLCmPY� �!9�!�1��D!����z{z�QLC{8!��EY� �!9����1��D!����z{z�QLC{8!��EY�

Page 75: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

�!9�A���D!����zsQ�C{z�QLC{EY�� �!9���!�DE��X�� !���!8R8�zsQ�C{z�QLC{Y�� $��A$�DEY�� ���9��!c"DEY�� !�1��D�8sQ�CEY�� $����VVk`�����'�9�����1�`�kY�� ���1��D�8sQ�CEY�� A���D�EY�� $���VVk`����'�A���2�!�A�1�;"1����'<`�kY�� ���1��D�8sQ�CEY�� '"�$�DEY�� �"����Y��Z� �!9�A���D!����zsQ�C{z�QLC{E�X�!���!8R8���Y���!���(zsQ�CN�QLC{Y���I���D!m]Y!VsQ�CY!==E������I��DRm]YRV�QLCYR==E�� �����(zR=!N�QLC{m�z!{zR{Y����I���D!m]Y!VsQ�CN�QLCM�Y!==E�����I���DRm!=�YRVsQ�CN�QLCYR==E������ !I�D(z!{W(zR{E��������X�����m(z!{Y�����������(z!{m(zR{Y�����������(zR{m���Y��������Z���I���D!m]Y!VsQ�CY!==E������I��DRm]YRV�QLCYR==E������� �z!{zR{m(zR=!N�QLC{Y����"����Y�Z����> � /5�0)a,�#';82&*�* b"����3 n�"*��2��!�(������0�'���%&�$�2�!�9���'�

Page 76: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

^3 4��-�;��#��,"#�������1��@���%0�����2��*�'���@����5!�����'���0�'�D$�6�A�#� �&5������1��5�� !�$�0����0�'E3�L�J!����-�2��*�'�(7�������(!"*��97$��1������!"�����%�'�����$�����"/�'�*-������%+�'����@����J������'�$�%&�'���������#����!���5!3�

U3 n�"*��2�&0!���5��'!�����7�1�����&51�$�����0�'���%&�$�2�!�9���'3�����������������������j�� ���������(?������J-���> �T �5'v�1 2�5)&�#$)3�( 77$69969� &7�"),&#6$9-����J!������(!"#��A%0�9�5�'�����'�$�%&�'�����������$���U�$�!��"#���!"*������������ &�!����3�� =��!"/��9%+��!"���$�0������� =��a!�����7��%������'�(!"#��� =��B7��$�6��%����%+�$�0��(!"#������'�(�����&�3�4���'���@���"#��$��$�$�%&�'������� !"�$�A%0�9�5�'�(!"#������$���$�%&�'�������9"J��!"/��(&0!��"*��$�0���������!��"*��-���'�G��A%0�9�5�'�$�0����������'�$�%&�'������3���J!��"*��(!"#����%� ��-�A"+��%&��'�%��'� &�!������ 7���.������,�������'��*���&�8� ��� !"�$�;��$�,.���A%5��%&�'�%��'����-�A"+�9��������(!"*��97$�� ������-��.�����������#�����J!�2�!�$�%&�'�������,%&5$���%5$��!"��3��X�7.4����_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��!������Y�������m^^Y�

Page 77: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ �

���$����VVka!����!���������'�(!"��������<�kVV���VV"�9��� VVkC��(-�"�����'�(������9����$���(!"����-���<�kVVA!c"�ID���EVV"�9��� VVkH!��$�!�$���������9����$���(!"��������<�kVVr���Y����'"�$�DEY�����"����Y�Z���"�1�r�����'�$�%&�'���������"*������,"/���#-�,7��$�6�$�0�������(!"#����-�$����'�5!����������$�!"@���&�!�(!"#�3���%&�'���������"*��2�!���%5$��!"���A"+�!���"*�����������<����a!����7��%������'�(!"#��������<�^^���C�#�(-�"�����'�(�����&��9�����$���(!"#�����-����<�^���B7��$�!�$�0���*���&��9�����$���(!"#��������<�];IIIb�B"/��!"/����0��&�� "@�$��$����!�9��'�,�+�;��#������'�$�%&�'���������"*�������+-�;"��������!�����5��A��<��������B7��$�6�$�0��(!"#������$�����"/����-�,�#!�2�!���%5$��!"�����"*�����-��.���2���$����?$�&0���%+�'���@����%5$��!"���A���,��3�- �;.�*,;O�RT �5'v���"*��$�5��� !"�$��!"/����7�,7��$�6�$�0��(!"#�8�$����'����$�+�'�$�����"/��%����%+�RT �5'v�$�0�������(!"#�� ���������(!"#��,�+�,%&5$�2��!�(����1�����&51� .�9�5���%<�

�� � ����99�m�r���Y�OO�%��,7��$�6�(!"#������ ����(!"#������99��� � 9m�r�Y�OO�%��,7��$�6�(!"#���� ����(!"#��9�� � $��1�!��m�r$�Y�OO�%��,7��$�6�(!"#��$�� ����(!"#��$��1�!������$�(!"#������99�8�98�$��1�!���,%&5$�'�5!�����(!"#��$������03��!"#�����5!����-�9���'�,"/��%��,7��$�6��$�0������� ���'���&�����?$�,7��$�6�(!"#�������,��3�

��- J;3�7.4&*�RT �5'v��,"/�A%0�9�5�'�$��$�,7��$�6�,�+��%�� ����(!"#��D��%�'����'!�����7� ���� ���'���&������(!"#��,��'����0��&�!8����?$���#-�'!�����7�,��'��%������'� ���'���&�����-E3��==�$��'�$�#1��������%0��N3��"#���������%0����-�,!���%&�$�������"*��(!"#��$������0� .�9�5�

22 !����"��#��������� �$%!�

&�'�����(�����'����������)���� *�+,���� ���#�������&�'������ ���'(��� ��-����.�/0���1��

������ ��������

�� ����� �-����.����)���� ��� �-����.���������)�� �

���"����� �-����.���������)�����

Page 78: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

D��%�N����99�8�N$��1�!��E�$����'�G���������!�,"#��'!�����7�,��'��%����5!� ���'���&��$���,7��$�6�,��'��%������'�(!"#��$������03�F.�9�5�'!�0�A%0����$��������(!"#��$������0�-3�'!�����7�$�0��(!"#���!"�������];xx���D,7��$�6�$�0���*���&����%���xx�������'��s��E�'!�����7�,��'��%����%+���5!��*���&�����-������]]8��������$���������!�����5��(�����&����%�A��<�����������%� ��-����$��<����'!�����7�$�0��-�����];xx���'!�����7�$�0��N-������]]�D'!�����7��%����5!� ���'���&��];xx��E8�,�*-����������$��$����#-�'!�����7�'!�����!"#18���"��$��$�����-����-��.���1��0!�9���,"#����!�,7��$�6������&�!�������,%&5$�'!�����7��]]3D,�@���!"*��9���,"#��,7��$�6�$�%�������'�-8�A���,����%��,7��$�6����-��&�!�9���,"#���*���&��$���,7��$�6��%&�'�%��'�,"/�������,7��$�63���*����0!�,�?����<����0!�(�0�$�*�'���%� ��-8���!�A���$����'������5!�1��0!�A%0�9�5�'�$������03��"@����0�'����0��&�!�$���$�*�����-�����9%5����"*����#!�������"���������!"#��'!%+��$������0���0�'8�$�+�'���%� !"�$�A%0�9�5�'�$������0�,"/���5�� ���;����$��$�(!"#��,���'�2�!�$�%&�'�������,��'���%5$��!"��3�

��' ,�< /)�5)&�#$)3����+�'���%���#��$�0�$��$�(!"#��2���$8�(!"#��$������0�1��0!�,%&5$�2��!�(������%&�$�2�!�$����'�,%&5$�A%0�9�5�'�,"/��%��$��$�,7��$�63��!�2��!�(����(!"#��$������0�$����'����1��0!�$���(!"#��$������0����-�A"+��%��,7��$�6�$�0�� ���'���&���%�����5!�9%+��!"�������3�F�� ��-�$���1���1�,"/�2��!�(����(!"#��$������0���%�A��<�9����-1"����N1�!��"�����"Y�F.�9�5<���!���N����99�Y��

� $����N$��1�!��Y���!�(����!���N����99��$�6������!�,!"@�<���%&�$��"#�������99�����������(!"#��$������08���%����!� ���� ���'���&��,%&5$��%������'�����99��1��0!� ���� ���'���&���%����%+������A�#��'�-"*��2!"/��!���D��-�(!"#����������99�����0�,"#��1��0!����������(!"#��2!"/��!��E8��

�X�7.4�E��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��!���N�99�Y����!����m�Pd8�m^^Y����$��A$�DEY�

100

!����"��#��������� �$%!�

&�'������ ���(������ ��-����.�/022%%��

22%%�

3� ������ ���'����������)��(�

Page 79: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������ ��

����99�mr�Y����$����VVkH!��$�!���������'��99���!"��'!����<�kVV�99�VV"�9���OO];IIIb�� VVka!����!�������!� ��'�����$��9!��$�!�$��������'��99��<�k�� VVN�99�VV"�9�Y���������������������������������������������OO�Pd������99�mr�Y����$����VVkH!��$�!���������'��99���!"��'!����<�kVV�99�VV"�9��OO];III^�� VVka!����!�������!� ��'�����$��9!��$�!�$��������'��99��<�k��� VVN�99�VV"�9�Y���������������������������������������������OO^^����'"�$�DEY�����"����Y�Z������(!"#��$������0�$���2.$����%&�$���!�(-�"� ���1��5������$� ����2��!�(����(���,�@������A"+�$�%���,7��$�6��$�0�� ���'���&���(-�"�8�(-�"�8b(-�"w�4���'���%5$��"#�9�������$������0�2!"/��$���8�!���8�I����8���-�9��(�"�����$������0�$�+�'�$�6�$�%����*���&��,�@���!"*��$�0�� ���'���&����������$�6��&�!8���%�'���&�� ����A%5�2��!�(�������-����-��.���A"+�(!"#��$�@��1��0!���#-�(�����!"*���*���&��2�!����-�;��#���&�!�$������0����-3�4��;"��������!�����5��A��<�����������������������������������������������������];II]]��������0�2!"/��$����

�];II]]�

� �� � �

� � � � ];II]��� � ��������0�2!"/��!���

�];II]��

� �� � �

� � � � ];II]U�� � �$������0�2!"/��I�����

�];II]U�

� �� � �

�- ��,6:&�#' +�5',6:.�1 2�<,6:&�5)&�#$)3�����!"#�������$�!"#�����������(!"#��2�!�2��!�(����$�����"*��9�#��r�1�.����%&�$3��!"#�����-�$�+�'�������������5!�$������0���%�'�$�����!"@����5��$�"#�A�� &�!�$������03�=� �!"#�������$�!"#��9���'�,"/������$�!"#���&�!�,7��$�6�$�0�������(!"#�� ���$�6�������������*!�DB7��$�6��%������'�(!"#�������$�!"#��2��*�'���"/����-�,�/!�,%&5$E3��

=��B7��$�6�����(!"#�����-������$�!"#���&�!�1��0!�,%&5$�2�&0!���5���'�-���5!���&�!�,!"/��2��!�(�����'�-��%��,�@��

Page 80: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

=� C���2�!�,�+������2��0���&�!������(!"#������ !"�$�A%0�9�5�'�(!"#�������$�!"#��'!�#�'���%������(!"#�����*�'���%&��'� �����%+�'��"�������$�,���'��"*��(!"#�������$�!"#�����-�A"+��0����%&0�'��&�!�(!"#���������������$�!"#���&�!3�

�X�7.4�V��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��!����m�Pd8�r;m�Y����$��A$�DEY����$����VVka!����!�����'� ��'��������;������$�!"����!kVV;Y�OO�Pd����;m�]]Y����$����VVk`�a!����!�$������!"����!���<�kVV�Y��OO�]]����'"�$�DEY�����"����Y�Z��4���'� .�9�5���"*��������#-�(!"#��,7��$�6�$�%������'�$������0��99��$�����"/����-�,�/!�,%&5$8�$��������'� .�9�5����-�(!"#�������$�!"#��;�����$�6������$�!"#���&�!�(!"#�����������*!3�F&�!�(!"#�������$�!"#��;�A���2�!�,�+�2�&0!���5�����$�6�$�����"/����-�;��#��,"#��'!�����7��%����5!� ���'���&���������������$�!"#���&�!� �������'���%&��'��&51����-����$�+�'�2��*�'�$�@��'�!�9�#��N�("*��$�5����"*��(!"#�����> �6L&�+ 3&*�0 2�5)&�#$)3��a!%+���"*����0�'� ���$������0�$�����#!�������������!"#�� &�!�����3�4���'�1��@�����-�$����'����A"+������!"/��$�!��!"#����#!�������"��,��3��4���'� (��!� ��%&�$� $����'� ��� ,�+�A%0� 9�5�'� $�6�A�#�,"/� ���-� ;��#�� �&�!������ 1��@�� �%0� $�0����0�'3� .� 9�5� ��%� 2�!� ��� '�!�'��9"zU{� �'�G�� ���� ���-� ;��#�� �&�!� 1��@�� �%0� ��%�� �%� ����'���0�'�'��9"3�F!"�$�A%0�9�5�'�$�6�A�#�,"/����-�;��#����0�'�A"+������$����'%&�!� !"#��$�%&�'�������$�0�����#-�(&0!�����,�+�$�"�,��-� !"�$�A%0�9�5�'�,7��$�6�("*������'����-��.��3��!����A%0�9�5�'�$�6�A�#���.����-��.���A"+�9%5�� ����$�6�A�#����-� ���,7��$�6�(�:��,�@��$�0�� ���'���&��9�����$�����0�'�,"/�;��$�,7���,7��$�6�$�0��1��@���%0�����������#�����-�;��#���&�!8�F.�9�5�,"/����-�;��#��1��@�� �%0�'��9"zU{D'!�0�A%0�'��9"� �����������0�'�A�#��'�-"*�E� �������-��.���A"+�;��$�,7���,7��$�6�$�0��1��@���%0����-���%�A��<�� r'��9"zU{m�r'��9"z]{�=�DUN^E��'!�0�A%0�2!"/��!���$�!"#��^�(-�"�����'�(�����&�3��

'��9"z]{�D^�(-�"E�

'��9"z�{�D^�(-�"E�

'��9"z{�D^�(-�"E�

'��9"zU{�D^�(-�"E�

'��9"zb{�D^�(-�"E�

4�����5/6�

4�����5/6�789:;�

Page 81: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��

� � � � � � � � �

������4�"��$��$����"*�����$�+�'�$�����"/�9���'������$������0��%��,7��$�6�(�:��,�@��$�0���������0�'�A���,���(�:��$�%&�$�$��$�������$�0�����-�,"/����-�;��#��,"#�������1��@���%0�$�0����0�'3�4����+-�;"��;"���$�%&�'�������A��<��X�7.4�Z��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��$��A��!���C���mPY����!���!8�N�99�8�'��9"zC���{mXgd8de8ef8fP8PbZY����$��A$�DEY�����99�mr'��9"z]{Y����I���D!m]Y!VC���Y!==E�� ��$���VV'��9"z!{VVk�kY��D�E���������������$����VV"�9�Y�����I���D!m]Y!VC���Y!==E�� ��$���VVND�99�=!EVVk�kY�D(E������'"�$�DEY�����"����Y�Z��4���'�$�%&�'���������"*���$�0���!�,��5���"����D�E� ���D(E�,"@��$���$�*�'�9�5�'�!��$��$�'!�����7�$�0����0�'��"*�����������3�4���'�,�������%��-��,��5���"����D(E<����,�@��$�%&�'� ������ &�!� �"�����99�mr'��9"z]{� ����,7��$�6�(�:��,�@��$�0����0�'�,%&5$�'���� ����$������0��99�3��!�,���D�99�=!E�A"+��%��,7��$�6�$�0��1��@���%0���%��!�����'���0�'� ���ND�99�=!E�����'!�����7�$�0��1��@���%0���%��!�����'���0�'3�4��$���;"��(�0�'�-���'�G��'!%+��$��$��������%�$����-�;��#����"*�<�����@���%0� �T �5',�5.3 �"' &�#;3�#';/�,� �, /�#$T�5.3 �"' &�#;3�#';/�,�

Page 82: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��%��!�$�0����0�'��'��9"�

C%0�9�5�'��������%0�

�����$�!"#��r�

C%0�9�5�'�$������0��99��

C%0�9�5�'�$�6�A�#�

C%0�9�5�'�$������0�'��9"�

]� r'��9"z]{� �99�� '��9"z]{� ND�99�E��� r'��9"z�{� �99�=�� '��9"z�{� ND�99�=�E�^� r'��9"z{� �99�=^� '��9"z{� ND�99�=^E�U� r'��9"zU{� �99�=U� '��9"zU{� ND�99�=UE�b� r'��9"zb{� �99�=b� '��9"zb{� ND�99�=bE��L%��-����)�'�ND�99�=UE�������������$���-���'�G��2���$� &�!�N�99�=U3�ND�99�=UEm�'!�����7�1��@���%0�'��9"zU{�N�99�=Um�'!�����7�$�0��1��@���%0�'��9"z]{=U�n���$�%&�'���������"*��������#-�������������$�����"/����-�;��#����0�'����*�'����������$������03�4�-���!"*�� !"�$�2��!�(����$������0��99��,"/�A%0�9�5�'�����'� !"�$����-�������A%5�2��*�'�$�@����!"#�8���,�� �%���%����2�3��+��������������,����) �'�, � �����*� �411���������������%��'�(��'�, ���!���) ���,��'�, ��-����%��35����6����,��3�7����,��'�, �3�%�$�&�������) ����2������3�2��35����6����%���� ���) �'�, � �&��$!�$�(����) �'�, �3��+�� �+����&�'�(����8 ��� ���,����%���"#�,��5���"����D(E�$�0��$�%&�'���������"*��,%&5$� !"#����5!���%�A��<��X�7.4�c��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��$��A��!���C���mPY����!���!8�'��9"zC���{mXgd8de8ef8fP8PbZY����$��A$�DEY����I���D!m]Y!VC���Y!==E�����$���VV'��9"z!{VVk�kY���D�E��������������$����VV"�9�Y����I���D!m]Y!VC���Y!==E�� ��$���VVND'��9"=!EVVk�kY�D(E������'"�$�DEY�����"����Y�Z�������> ?'6/"�#) /&�9):�')45�#$6L&�5)&�#$)3��a!�����7��%������'�(!"#��$������0����������,7��$�68� �� ��-�2�!������%5$��!"���1�"�1�$���'����?$���%����"*�������(!"#��$������0����A"+�������,%&5$������,7��$�6�2���$�����'�(!"#��$������0����-3��

Page 83: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

F.�9�5<�$��2��!�(����A����!������Az�]]{Y�!���N1�!��Y�1�!��mr���Az]{Y�OO�S���$����-�'!�����7�$�0��1�!�������,7��$�6�$�0��1��@���%0����Az]{����?$�1�!��m���Y��"#��$����"����'����1�!��m1�!��=^Y������ ���$����-�'!��� ��7�$�0��1�!��� ����,7��$�6�$�0��1��@�� �%0����Az{� D'!��� ��7� ����'�$��� ���0�1�!���,�+����-�,�/!E3��!����$���'����?$���%�������'!�����7���"*��(!"#��$������0�����'!�����7����-�1��0!�������)�'8�(!"#�����?$�(!"/����%�$�$���'!�����7�2!"/��A�#��'�-"*�8� ���1��0!�$��:$���)�'�A���2�!�$���'����?$���%������'!�����7�$�0���(!"#��$������0� �J�����0��&�!������,7��$�6�$����'�G�3�F.�9�5��"#�����$����"����1�!��m1�!��=^]]8��"�������-���������-�,�/!�'!�����7�����'�1�!��� ���,7��$�6���&�!����������,7��$�6�2��*�'�$����'�G��,�*!� &�!���0�'����A3���4��$�+�'�$�����"/���1�9�5�'�$��$�1�"�1���������S�'O'!�0��D==OMME������'�*!� ��"*��(!"#��$������03���+-�;"��;"��� .�9�5�A��<��X�7.4�f���_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X��$��A��!���C���mPY����!���!8�N1�!��8�'��9"zC���{mXgd8de8ef8fP8PbZY����$��A$�DEY����1�!��mr'��9"z]{Y�OO�1�!��m'��9"��������I���D!m]Y!VC���Y!==E���������������������������������� ��$���VVND'��9"=!EVVk�kY���D�E����������������$���VV"�9�Y����I���D!m]Y!VC���Y!==E�� ��$���VVND1�!��=!EVVk�kY���D(E�����$���VV"�9�Y�����I���D!m]Y!VC���Y!==E�� ��$���VVND1�!��E==VVk�kY���D$E�

Page 84: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�����'"�$�DEY�����"����Y�Z����0�U�,��5���"����D�E8�D(E8�D$E�,"@��$���$�*�'�9�5�'�!��'!�����7�$��$�1��@���%0�����'���0�'�'��9"3�B������"����D�E����,�+�'�?1�&0� .�9�5���%&�$8�L%��-������$��$��'�!�ND1�!��=!E�2��*�'���������-�,�#!�'!�����7�����'�1�!���$����$��$��'�!�N1�!��==����� ��������-�,�/!�'!�����7�$�0��1�!���A�����J!���@����%5$��!"��3���*����0!<��- �"#��,�?��,��5���"����D$E��"*����"*��$���'�����2"#�����0�$���'!�#�'���%���%&�$�,���2��*�'3�- F!"#��,��5��$�%&�'��������.�����/�'�$�0����0�'�'��9"�(�)�'�U�$��$�<�A%0�9�5�'�$�6�A�#8�A%0�9�5�'�$������0���%�'�2��*�'���������-�,�/!�'�.���7�����'�$������08�A%0�9�5�'�$������0� &�!�$��$�1�"�1�������������'�*!3�

�F!"�$�A%0�9�5�'�$��� ���0�,"/� ���-�;��#����0�'�$��� ��"/�2�����&��9���'�$�6�A�#� ��-���!"*������'������A�#� ��%&��'��&51��"#��(!"#�� �A%0�9�5�'�$��� ���0�A"+� ��#���!"������08�$��o�'���5������'�(��!�������A�:1�;"#1���0�'���!�$�!"@�3������'���+-�;"��;"���$�%&�'�������A��<���X�7.4�g��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W�$��A��!���sQ�CmPY�$��A��!����QLCmPY� �!9�!�1��D!����z{z�QLC{8!��EY� �!9����1��D!����z{z�QLC{8!��EY� �!9�A���D!����zsQ�C{z�QLC{EY�� �!9���!�DE��X�� !���!8R8�zsQ�C{z�QLC{Y�� $��A$�DEY�� ���9��!c"DEY�� !�1��D�8sQ�CEY�� $����VVk`�����'�9�����1�`�kY�� ���1��D�8sQ�CEY�� A���D�EY�

Page 85: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

� $���VVk`����'�A���2�!�A�1�;"1����'<`�kY�� ���1��D�8sQ�CEY�� '"�$�DEY�� �"����Y��Z� �!9�!�1��D!����z{z�QLC{8!����E��X�!���!8RY����I���D!m]Y�!V�Y�!==E�����I���DRm]YRV�QLCYR==E���������z!{zR{m���9��D�]]EY��Z� �!9����1��D!����z{z�QLC{8!����E�X��!���!8RY�� I���D!m]Y�!V�Y�!==E�� ��XI��DRm]YRV�QLCYR==E�� ����$����VVA"�KDPEVV�z!{zR{Y�� ����$���VV"�9�Y�� ��Z�Z� �!9�A���D!����zsQ�C{z�QLC{E�X�!���!8R8���Y���!���N1Y���1mr�z]{z]{Y����I���D!m]Y!VsQ�CN�QLCM�Y!==E�� I���DRm!=�YRVsQ�CN�QLCYR==E�� � !I�DND1=!EWND1=REE�� ���X�����mND1=!EY�� � ��ND1=!EmND1=REY�� � ��ND1=REm���Y�� ���Z����"����Y�Z����R���&0!���0�'���!�$�!"@��,%&5$��%����%+��!"*����5$����������'�(�����&�� �����"���%��'�9���'��%������!�����1��0!� �� ��-��"#�����A%0�9�5�'�$������0�,"J����-�;��#����0�'�����;"����%�,�*-�������0�'������$�!"@�8� �����%� ��"#� !"�$�A�:1�;"#1���0�'���!� $�!"@�� ��&0� ���������0�'������$�!"@��D2��*�'�1��0!�9���'���0�'�1��5E3�4���'�$�%&�'���������"*������%��-��,"/���#-�,7��$�6�,�@��$�0����0�'���!�$�!"@�����1��0!�A%0�9�5�'��"���<�1mr�z]{z]{����?$�1mD!��NED�EY�

Page 86: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��$.K6&�RT �5'v�5')�#' +�9):�<83,�5)&�#$)3��������'����,�+�(!"#�������1�%&�'�1���1����-"@��,7��$�6�$��������A�#�,�������A%0�9�5�'������$�!"#�3�4�-���!"*�8�1�%&�'�1���1����-�$����������%&5$�,!"/�������&�!�'�5!������2��*�'�$������(!"#�� ����9%+��!"������-"@��$���������������-"@�������$�!"#����-�$��� �������73���6�2�!����������� �����'�-"*����J�����?$�9���'��!"*��,"@�$�0�����������&�!�1������!"���,%&5$3�F.�9�5���%������ �����&�!�'�5!������AK�1D!8RE����2��*�'���"/�(!"#��!8R����-"@��$��������A�#����5!�����8�����$�6�(!"#��2�!������ ����9���'��'�-"*����J�<� �!9�AK�1D!��r�8�!��rE���-�9���'��!"*��,"@�� �!9��AK�1D!��r�;8�!��r�-E����������������'%&5$� &�!�1�%&�'�1���1�A%0�9�5�'������$�!"#�8�1�%&�'�1���1����-"@��,7��$�6�$��������A�#�(�)�'�$������0�,%&5$���"/��!"�����0�����'�����'�$�0��'�-"*����J����J���&�!�'�5!�����3������'������+-�;"��;"��� .�9�5�A��3�4���'� .�9�5����-�$��������AK�1�,"/�,�/!�'!�����7�$�0����!�(!"#�����-"@��$������8�$��$������A�#�$�0�������,%&5$�2��!�(������"��9�5�'�$������0� ����&�!�'�5!����������'���%&��'��&51����-�1��0!�A%0�9�5�'��������%0�r���%&�$��"*��(!"#�����-"@��$�������3��X�7.4�i���_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�1),7��9_ "(,&#w`�,&#w-t� �!9���!�DE�X� !������!mP8Rm�]Y���$��A$�DEY�� $����VVk`��4���$�2�!�'�!�����AK�1`�k�� �����VVk!m�kVV!VVk��k�VVkRm�kVVR�VV"�9�Y�OO�mP���Rm�]���������9_ "(x,x=-t�� $����VVkC���2�!�'�!�����AK�1`�k�� �����VVk!m�kVV!VVk��k�VVkRm�kVVR�VV"�9�Y�OO�m�]���RmP�� '"�$�DEY�� �"����Y��Z�1),7��9_ "(,&#w�],&#w�K-��X��!������Y�����# +ew]t�����w]ewKt�����wKe# +t������"����Y�

Page 87: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

�Z���+-��%��-��$��$�9���'�!��,��������'�$�%&�'�������,"/����#-�,%&5$�$��$��A%0�9�5�'� ���2��!�(����$������0����> �,6:&�y�)!&*z����F&�!�$��$�(!"#������$����'����,�+�A%0�9�5�'�,%&5$�'�5!�����(!"#���6��3�B�?$�9!"/��$�0����%+�'�(!"#�����-�����1��0!�2��!�(������%&�$�2�!�A%0�9�5�'� �������,%&5$�9�����$�������� ���'���&�� %��� ,�0� ,"/� �%�� ��%+� 9%+� �!"��8� ��� ������ ������ 2��*�'� ���-� ,�/!� ,%&5$D��S�'O'!�0�� 2.$����%&�$E�2�!�$�%&�'�������,��'���%5$��!"��3�F���'���&�����-�A"+�,%&5$�$�!"#��9�5�'�$���,"#��2�!������,�+�2��!�(�������(!"#�����-�2"#������$3�B!"@�����-�9�J��,"@������� ��!���5��$�"#�����'�$��$�$�%&�'�������$�@��A%0�9�5�'���!"@��(�����&����%�'�A�#��%&5�'�2��*�'��/��,7��3�F.�9�5���%�����'��������������2��!�(�����������0�'�A�#��'�-"*��P]]�1��@���%08��2�!���%5$��!"���$�%&�'��������"#��A%0�9�5�'�.���&��P]]�A�#��'�-"*������ ���'���&����%���9�����$�����0�'� ���-� $�+�'� 2��*�'� ��"/�A%0�9�5�'�,"/� $��'� $�#1� $��� (!"#�� 2���$3��"#��A%0� 9�5�'���!"@���&������$�%&�'�������2��*�'���"/�,��1�%��'�,%&5$3��B"/�'!�0!���-"#�� �#��,"@���"*���==�$��'�$�#1������ ���5!�(!"#��,���'8�,�?$�,!"/��$�0�� ���5!�(!"#�����-�����2��*�'�$�@��2��!�(������%&�$� ���$�����"/�$�#1�1��������?$����5!�(�0��'�-�����'���&�!�,!"/��$�%&�'�������,��'���%5$��!"��3�H��2��*�'�2��!�(������%&�$D�2��*�'�$����"*�E��"*��2�!�;!��$�#1�1��������1��0!��%��,7��$�6�$�0�� ���'���&��,%&5$�$�#1�1����� ���������$������03��������!��������%0�,"/�$�#1�1����� ���'!�0!�1����'�(!"#��,���'������"K� ���9"�"�"�5./�"' /"�#) /&�#;3�&6_��{"),&#6$o1 $, <06|�e�&6_�{7 # #K"6|p&qt��F.�9�5<� !��N��1Y�� 1�m��"K�!��z�]{Y�$�#1�1����� ���'���&��$����]�1��@�� �%0�2!"/�� !��8�,7��$�6� ���'���&��,%&5$�$�#1�1�����A"+�'���� ����$������0�18��"#��2��*�'�,�0� ���'���&��$�#1�1���������A"+����0� "@�'!�����7��yLL8�2�!�,���$������0�,%&5$�'�5!�����$������0�$���'!�����7���/�'3�5./�"' /"�#) /&�#;3�7606#6��7606#6�"),&#6$o1 $, <06�t��F.�9�5<� 9"�"�"�1Y����%&�'�������A���,�*-�A"+���5��'!�����7�$����������+�'�,���'� ���!����0�'��"*�����������3�C�#�1��@���%0�$�0����0�'�,%&5$�����1� ����2�!���%5$��!"���$�%&�'������3��X�7.4�j��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA�9�!(3�W��

Page 88: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�!9���!�D �!9E�X� ���'�!���������T���8!Y�� !��N����Y�� $��A$�DEY�� $����VVk`��$���(!"��A��1������������A��9��'kY�� $!��WW���T���Y�� !I�D���T���W]E�� X�����m�"K�!��z���T���{Y�� ���!I�D���qm�yLLE�� �����X����9��!c"Y�� �������I���D!m]Y!V���T���Y!==E�� � ��OO�ND���=!Em���9��D�]]EY���������������z!{m���9��D�]]EY�� �������I���D!m]Y!V���T���Y!==E�� � ���$����VVND���=!EVVk�kY�� �������9"�"�"D���EY�� ������Z�� ����"�A"�� �������$����VVk2���'�9��(�����kY�� Z�� '"�$�DEY�� �"����Y��Z���> � /5�0)a,�#';82&*�* b"���3 L%�������,7��$�6� ���������(!"#��2��*�'�1��0!�����$������0�^3 H���'�$������0����-�;��#���&�!������1��@���%0�2��*�'���@����5!3�F.�9�5�$�����0�'�!����z�]{8�����'�2�!�,�� ��5!� ���-�;��#��ND�=�]E����?$�ND�=��E33� ��J!����-�2��*�'�,%&5$�(&0!� ������(!"*��97$��9��,���$�����"/�9�J��,"#�������A�#����������5�'���#���'�-��!"/��

U3 C%0�9�5�'�1�"�1���������#-�,7��$�6�2��*�'�1�����&51� .�9�5��"#��1����������$������08�$���(!"/����%�$�<� 1mrbPY���1mrD�!�"=�]E�$�0���!�(!"/����%�$���"*��,!"@��2��*�'��&51��"��(&0!� ,�+� 9���'� 1�"�1� r� ��%�'� ��5!� ��#-� ,7�� $�6� $�0������� '!��� ��78� ��%�'� (!"/�� ��%�$�1mr�!�"=�]�����&51��"�3�

b3 L�#-�,7��$�6�$�0�������(!"#���"'!A�"�� .�9�5<�� �"'!A�"��!��������Y�� !���N1Y�� 1mr������Y�OO�!� ��!9O��4��2��*�'���"/�,7��$�6�$�0�������(!"#���"'!A�"��(&0!�(!"#�����-�2��*�'��%��&0�����'�(�����&��$���/�3�

Page 89: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

P3 �&0!���5��'!�����7�$��������(!"#��$������0�2��*�'�,���'3� .�9�5���%�!���N1mbPY�f3 ���*�'�1��*��(!"�����0�'!%+��(!"#��$������0� �����)�'�$������03��������)�'�$������0�$�+�'�'!�#�'���%������(!"#��$������0���%�'�$�����!�'!&�!���5�<�- ��*�'���"/���#-�,7��$�6�$�0�������$������0���)�'� .�9�5���%��� !����z�]{8N1Y�� 1mr�Y�����2��*�'��&51��"����%�'�1m�����������(!"/����%�$��&51��"��- ��*�'���"/����-�,�/!�,7��$�6�$�%�������'�$������0���)�'� .�9�5��m�=������A�!�

���������������������d�� ��� �C��(J�����J-����> �' /,��,6!+����)�'�$���/!<�L�����#��$�0���%+�'�'��,%&5$�,�?������'�$�?1�9�#������-�2"�13�F.�9�5���%�<�\;-c\8�[N�^U�l\�������$���/!�����,%&5$��%����%+���%��������+�'�2!"/��$���� ���2"#������$�(&0!�2-���%5�$�����+��A$!!�����]� �������'�$�%&�'����������(!"/��9!"J��2-���%5����-�(&0!�2-���!"���h`]i�D'�5!�����2-���%5�2"#������$�$���/!E3�F.�9�5�$���/!�[�����(��\�,%&5$�����'�(�����&����%�A��<���� �� �� �� � (� �� �� `]��F!"�$�2��!�(���������(����$���/!�����'!��#�'���%�2��!�(�����������0�'�2!"/��$���3�F.�9�5<�$��A��!�����p���smd]Y�$����A�X��p���s{Y�

Page 90: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

L%��-����)�'�2�!����2��!�(����$���/!���p���s�1��@���%0���������$�%���,%&5$���p���s�>��2-���%5� ������1��0!��%��2-���%5�h`]i�&0�$��#!�$���/!3�����1� ���;��#��9%+��!"���2!"/��$���/!<��B"/�����1�9%+��!"���2!"/��2-���%5����?$�$���/!��==�$��'�$�#1���!�����<�� $!�3'"�D$�E<�����1������2-���%5�(����1�.�� ����(!"#��$��D$�����������(!"#��2!"/��$���E�� ���?$�$!�3'"�DE�$�&��������2-���%5��%��(����1�.���� $!�3'"��!�"DA�8�E<�����1������$���/!�2-���%5���#!�,���M��2-���%5��%��(����1�.�� ����(!"#��A�DA�������������0�'�$���E��"#������1��&������1��@��2-���%5�$������5!�A"+�,"/���"*�� ���'��,"���4��$�+�'�$�����"/�9���'�$!��,"/�����1�2-���%5����?$�$���/!���%�'�����'���%&��'��&51����-�����2��*�'�$���1�"�1�����1�2-���%5����:�'����?$�$���/!�$���2-���%5����:�'3��X�7.4����_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W� �!9���!�DE�X�$��A��!�����pm�]Y�� $����A�z��p{Y�$����VVk���1�����$���!���!�9��[VVD��pM�EVV\�2-����kY�$!�3'"��!�"DA�8��pEY�$����VV\����!� ������1����<\�VV�Y�'"�$�DEY�

���"����Y�Z�L%��-�<��!�����1�9%+��!"����"#��$����'��������1������A�#�2-���%5���!�,7���D��pM�E�����$�����"/��0����%&0�'�,"#����%+�'� �"��������1�A������?$�$��� ��"/� ������0����%&0�'�,"#�����5��,���'�$�0�����-��.��3�B"/����������������5�'����-���%&��'�A���2�!�����1�9%+��!"���(�)�'�$!�8�$!�3'"�8�$!�3'"��!�"����A%0�9�5�'������$!�3!'���"3���������-�$���$���1���1���%�A��<�� $!�3!'���"D!����8�h`�iE�� $�*�'�9�5�'�$�0�����������(�0�������#!�,��������'� ���'�,"������?$�2�!�'�?1�1�.��"��"��D`�E����2"#������$��"����$!�3������'������+-�;"��;"���$�%&�'�������A��<��X�7.4�E��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V!����!13�W�_!�$��9"�VA�9�!(3�W� �!9���!�DE�X��$��A��!�����pmPY����$�����z��p{8(z��p{8!Y����$��A$�DEY�

Page 91: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���$����VVk���1�����$���!kY����$!�3'"��!�"D�8PEY������OOD�E����$!�3!'���"D�]]8j`�jEY����$����VVk���1�����$���!kY����$!�3'"��!�"D(8PEY������OOD^E����$���VV�VV\�[VV(Y�

���'"�$�DEY�����"����Y�Z�- �"#���������1�$���$���/!��� &�!����!�9��'<���($9"I'�� ���$���/!�(� &�!����!�9��'��!R2������$�%&�'�������!���"*�������������($9��!R2�

4��*�'���%&��'�����$��5�������������A�#�Wm�^e�D(&0!����$�6�$�����"/�����1��%��(����1�.����#!�,���^e�2-���%5� ����(!"#�E��4��-�;��#���%��'�2-���%5�����'�$���/!<�H��$���/!������������0�'�2-���%5� �� ��-����$�����"/����-�;��#��$���/!�(�)�'�$�6�A�#���%����-�;��#����0�'3��X�7.4�V���,6:#�5';8&*�#$%&'�&' !"�#$)&*�R)/�5)/�+)!#�' 2+�9):�&' !&�5'.)a,�R;845�#$.K6&�#')L&*�Q. �#' +�9):�P',�' 2+�R;845�*)4,>�� 2+�#$ 3�16�9):�&*.K6L&� L+�5.3 �5'.)a,�& 2K>��'.)a,�R;845�&' !"�#;2�< 2&�"'X+>�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W�!��� �K"�AD$����A��z{EY� �!9���!�DE�X��$��A��!�����pmd]Y����$����A�z��p{Y����$��A$�DEY����$����VVk���1�����$���!kY����$!�3'"��!�"DA�8��pEY����$!�3!'���"D�]]8j`�jEY����$���VVkC���'�-"�������<�kVV �K"�ADA�EY����'"�$�DEY�����"����Y�Z�!���� �K"�AD$����A��z{E�X��!���$����m]8!m]Y����K�!�"�DA��z!{qmj`]jE����X�AK!�$�DA��z!{E������X�$�A"�j�j<�

Page 92: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�������$�A"�j"j<��������$�A"�j!j<��������$�A"�j�j<��������$�A"�j�j<�$����==Y������Z������!==Y����Z�����"�����$����Y�Z��L%��-�<������ �K"�A�����'���%&��'��&51����-�2��*�'�$�@��2��!�(���������A�#�,"/�������A�#�1��@���%0�,��'�$�������'�$���/!�(&0!� �����$�����"/�������(!"#�����*�'�����2-���%5�2"#������$�$���/!3���X�7.4�Z���,6:#�5';8&*�#$%&'�&' !"�*, /�#$T�5')�+)!#�<,6:&�5'.)N,�< Y&*�5,&>*6#(-�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W� �!9���!�DE�X��$��A��!�����pmd]Y����$����A�z��p{8$Y����!���!m]Y����$��A$�DEY����$����VVk���1�����$���!�`�kY����K�!�"�D!V��p�rrD$m$!�3'"�DEEqmj`�jE�����A�z!=={m$Y����A�z!{mj`]jY����$���VVk����!� ������1���<�kVVA�Y����'"�$�DEY�����"����Y�Z���X�7.4�c��S LK�7;4&*�' 2+�5)/�' ,�#' +�9):�R6N�&' !&�' ,�5'.)N,�9 .�R)/�5)"K�&)!,�7.&*�5'.)N,�#';/�' ,�9 &*�5'.)N,�#';/�&' :#>�� �!9�A��$�1-D$����A��z{8�$����A�^z{E�X�� !���!m]Y���� K�!�"�DA�^z!{�qm�h`]iE�� X� A��z!{mA�^z!{Y�� � !==Y�

Page 93: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

� Z�� A��z!{mi]iY�� �"����Y�Z���%&�'���������"*��$�����"/� !"#����5!�$�*�,���'� ����!"������0��&����%�A��<� �!9�A��$�1-D$����A��z{8�$����A�^z{E�X�� !���!m]Y���� K�!�"�DA�^z!{�m�A��z!{E�� � !==Y�� �"����Y�Z��?' L&�#X5'�9;4�',6!.�Q. 3�5.3 �5';8&*�#$%&'�1;2 �1,6:#>���> �)&�#$)3�1 2�5 /5�' 2+�#$6L&�5'.)N,���3��������0�,�?$�(!"����%0��.$������'� !"�$�;�*-�9%5�'�$��$������;%0��-��$���/!3��!��A%0�9�5�'�$������0�,"/����-�;��#��$���/!����-� ��9���'�$�6�A�#�����$�%&�'�������A"+�$�*�,�5�'� ����!"������0��&�3�B"/��!�����5��$���,!"@�����-�$����'����;"��������A���,�*-����������A��$�1-�,%&5$� !"#����5!�(�)�'�$��$��A%0�9�5�'�$������03�� �!9�A��$�1-D$����A��z{8�$����A�^z{E�X�� K�!�"�DNA��==�m�NA�^==EY�� �"����Y�Z�����X�7.4�f�������$�%&�'�������,�@-�,�0�$���A%0�9�5�'������A��$�1-�,%&5$���"/��!"�����%�A��<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W� �!9�A��$�1-D$����A��z{8�$����A�^z{EY� �!9���!�DE�X��$��A��!�����pmd]Y����$����A��^z��p{8$8A���z��p{Y����!���!m]Y����$��A$�DEY����$����VVk���1�����$���!�`�kY����$!�3'"��!�"DA��^8��pEY�

Page 94: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

� �$!�3!'���"D�]]8j`�jEY����A��$�1-DA���8A��^EY����$���VVk`�kVVA���Y����'"�$�DEY�����"����Y�Z� �!9�A��$�1-D$����A��z{8�$����A�^z{E�X�� K�!�"�DNA��==mNA�^==EY�� �"����Y�Z��^3����$��������������$���"*��$���/!<����$��������������$�$���/!�����$����!"*��,"@��$�%�������'�A��!�'3���9%&�!�,�*-�����$��$�9����A��$��$��$�����<�4"*������� ��*�'�9�5�'� F.�9�5�C��$1-DA��!�'T ��8�A��!�'T";1E� ��1-����!�9��'�$�0��$���/!�A��!�'T";1�D(!"/��

��%�$� $���/!E� A��'� $���/!� A��!�'T ��� D(!"#��$���/!E�

A��$1-DA�8\�($9\E�

A��$��DA��!�'T ��8�A��!�'T";1E� a�"�1� ���!� 9��'� $�0�� $���/!� A��T";1� ����$��#!�$���/!�A��!�'T ���

A��$��D�"A�8\�($9\E�

A���"�DA��T";1E� 4��0� "@�$�!"@��9��!���%5$�$�0��$���/!8�2��*�'��.���2-���%5�h`]i��

A���"�D[�"���\E�

A��$�1DA��T";1�8A��T";1^E� C��A����� $���/!�A��T";1�� ���A��T";1^8� 2"#�����0�$�0����������<�- A�#��*���"#��A��T";1�VA��T";1^�- A�#�m]��"#��A��T";1�mA��T";1^�- A�#�9%&�'��"#��A��T";1�VA��T";1^�

A��$�1D[���\8\L��\E�

A���$1-DA��T ��8A��T";18�E� ��1-���2-���%5�$�0��A��!�'T";1�A��'�A��T ��3��"#��A��T";1� %&5����������2-���%5�����2-���%5�h`]i�A"+�2��*�'�,%&5$�$�"��� ����$��#!�$���/!�A��T ���

A���$1-DA���8A��^8PE�

A���$�1DA��T";1�8A��T";1^8�E� A��A�������2-���%5�,�@��$�0����!�$���/!�A��T";1�� ���A��T";1^3�"#�����0����0� "@�$�0�������'!�#�'���%������A��$�1�

A���$�1D[�"-\8\�"�9\8^E�

A��$��DA��T";18$���T";1E� 4��0� "@�,7��$�6�$�0��2-���%5�,�@���!"*������'�$���/!�A��T";1�'!�#�'� &�!�$���T";18������$���2"#�����0��yLL��"#��$���T";1�2��*�'�$�������'�A��T";1��

A��$��D[�"���\8i"iE�

�X�7.4�g��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W�_!�$��9"�VA�9�!(3�W�

Page 95: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�!9���!�DE�X��$��A��!�����pmd]Y����$����A��^z��p{8$8A���z��p{Y����!����Y����$��A$�DEY����$����VVk���1�$���!������<�kY����$!�3'"��!�"DA���8��pEY����!I�DA���"�DA���EWm��pM�E�$!�3!'���"D�]]8j`�jEY����$����VVk���1�$���!�����^<�kY����$!�3'"��!�"DA��^8��pEY�����m�A��$�1DA���8A��^EY����!I�D�V]E�$����VVA����VVk���������k�VVA��^VV"�9�Y����"�A"�!I�D�mm]E�$����VVA����VVk�mm�k�VVA��^VV"�9�Y���� ������"�A"�$����VVA����VVk���������k�VVA��^VV"�9�Y����$����VVk��!"��9�!�$���!���������<�kVVA���"�DA���EVV"�9��� VVk��!"��9�!�$���!�����^���<�kVVA���"�DA��^EVV"�9�Y�����A��$��DA���8A��^EY�OOC���2�!���!�$�!"��9�!�2]�9��$� ��������1���� !����$����VVkC���2�!���!�$���!�^� ���$���!���`�k�� VVk$���!�����<�kVVA���VV"�9�Y�����A��$1-DA���8A��^EY����$����VVkC���2�!�$�1-���!�9��'�$���!�^� ���$���!���`�k�� VVk$���!�����<�kVVA���VV"�9�Y����'"�$�DEY�����"����Y�Z��������$��������������$���"*��2-���%5�A���,�*-������$����!"*��,"@��$�%�������'�$�-1"3�<�4"*������� ��*�'�9�5�'� F.�9�5�

!���!A��1��D$���T";1E��2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������$�%+�$��!�

!A��1��Dh;iE�

!���!A�11"�D$���T";1E�2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������$�%+�$��!�����

!A�11"�Dh�iE�

!���!A��K"�D$���T";1E�4��0� "@�$�!"@��9��!���%5$�$�0��$���/!8�2��*�'��.���2-���%5�h`]i��

!A��K"�Dh�iE�

Page 96: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

!���!A9!'!�D$���T";1E�2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������2-��A�#�

!A9!'!�Dh�iE�

!���!A�A$!!D$���T";1E�2"#�����0�$�0�������$���'!�����7�2���$�]��"#�� $���T";1� ��������� 2-�� �%5� $�����+��A$!!�V�^d�

!A�A$!!Dh�iE�

!���!AA1�$"D$���T";1E��2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������2���0�'����:�'�

!AA1�$"Dh�iE�

!���!A1�!��D$���T";1E��2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������2-���%5�$�����"/�!��,%&5$�

!A1�!��Dh�iE�

!���!A$����D$���T";1E��2"#�����0�$�0�������$���'!�����7�2���$�]�2�!� $���T";1� ���� ����� 2-�� �%5� ,!"@��2�!"/��

!A$����Dh�iE�

!���!A1����D$���T";1E��2"#�����0�$�0�������$���'!�����7�2���$�]�2�!�$���T";1����������2-���%5�9�#��

!A1��$�DhqiE�

!������11"�D$���T";1E�"#�����0�$�0�����������2-���%5������%&�'�%��'� &�!�$���T";1�

���11"�Dh�iE�

!�������K"�D$���T";1E��"#�����0�$�0�����������2-���%5���%&��'��%&�'�%��'� &�!�$���T";1�

����K"�Dh�iE�

��X�7.4�i���';8&*�#$%&'�9 .�R LK�,&�06L&�+ 2&�'%&'�5')�<,6:#�5 /5�R b5�#X&'� 95,,�PK/�#;4�R,6.�P',6N& �PK/�#;4��,&�R;845�PK/�#;4�7 :. �5.3 �Ecf�PK/�#;�#$)&*�< 3&*�+ O��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V$�-1"3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X��$��A��!�����pmd]Y����!���!Y����$��A$�DEY����I���D!m]Y!Vm^PPY!==E����X�!I�D!l^^mm]E������X�'"�$�DEY��������$��A$�DEY��������$����VVA"�KDUEVVk���4�kVVA"�KDdEVVk4��C���kVVA"�KDdEVVk4�Hk�� ��VVA"�KDdEVVk4���kVVA"�KDdEVVk4�H�ykVVA"�KDdEVVk��4ykVV"�9�Y������Z������$����VVA"�KDUEVV!VVA"�KDdEVV!A�A$!!D$���D!EEVVA"�KD�]E�

Page 97: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

� ��VV!A$����D$���D!EEVVA"�KDeEVV!A1�!��D$���D!EE�� ��VVA"�KDdEVV!A1��$�D$���D!EEY������!I�D!A1�!��D$���D!EEE�$���VVA"�KDeEVV$���D!EY������$����VV"�9�Y����Z����'"�$�DEY�����"����Y�Z�����$������$��-"/��,�/!5�A���,�*-������$����!"*��,"@��$�%�������'�A�9�!(3�<��

!������!DA��T";1E����-"/�� ����� $���/!� A��'� A�#��'�-"*�3�F!"�$� $��-"/��,�/!�A"+�9%��'�2�!�'�?1�2-���%5�2��*�'�1��0!�����2-��A�#���

���!Dh�^U�bPiE�

9��(�"����ID$���T";1E�

���-"/�������$���/!�A��'�A�#�9��(�"3�F!"�$�$��-"/��,�/!�A"+�9%��'�2�!�'�?1�2-���%5�2��*�'���"/�$��-"/��A��'�9�5�'�9��(�"�,%&5$�

$���N��!���D!��� ���"8�$����NA�8�!�����9!;E��

���-"/0��'!�����7�A�#��'�-"*��A��'�9�5�'�$��&0!� ���'���� ���� ���'���&������$������0��A��,��'����0�,"#�3�A�����������$������0�2!"/��2-���%5�

���X�7.�j���';8&*�#$%&'�9 .�5)/�' ,�' 2+�P,6N+�#$ �1,6!5�&' !"�9):�&*.K6L&�1 2�9):�#';45�5)/�5'X&'�] /5�' K�P')L&*���_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA�9�!(3�W�_!�$��9"�V$�-1"3�W�!����"A�T!��D$���NEY�!����"A�TI����D$����NA�EY� �!9���!�DE�X����$��A��!�����pm�]Y����$����A��^z��p{Y����!����Y����9��(�"��;Y�

Page 98: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���$��A$�DEY����$����VVk���1�����A���'�-"��`�kY����$!�3'"��!�"DA��^8��pEY����!I�DA���"�DA��^EWm��pM�E�$!�3!'���"D�]]8j`�jEY����!I�D�"A�T!��DA��^EE����X��m���!DA��^EY�����$���VVj`�jVV�VV"�9�Y����Z����"�A"�$����VVk���1�A�!kY����$����VVk���1�����A��9��(�"�`�kY����$!�3'"��!�"DA��^8��pEY����!I�D�"A�TI�����DA��^EE����X�;m���IDA��^EY������$���VVj`�jVV;VV"�9�Y����Z����"�A"�$����VVk���1�A�!kY�����'"�$�DEY�����"����Y�Z�!����"A�T!��D$����NA�E�X���K�!�"�D!A9!'!�DNDA�EEE�A�==Y������"�����q!��DNDA�EEY�Z�!����"A�TI����D$����NA�E�X���K�!�"�D!A9!'!�DNDA�EEtt�NDA�Emmj3j�E�A�==Y������"�����q!��DNDA�EEY�Z�����> � /5�0)a,�#';82&*�* b"���- H���'�$������0����0�,"#������������1��@���%0�2��*�'���@����5!3�L�J!����-�2��*�'�,%&5$�1������!"���(&0!�������(!"*��97$�8� �� ��-�����$����!"���$�0���'%&�!����1�������1��0!�$��:$�$��:����)�'�,7��$�6�$�%�������'�$������0����������,7��$�6����0��&�!������ ���'�9%+��!"����&51��"�3�

- L�J!���%����!�;�+-����9��2��*�'�$��'�$�#1�,�0� ���'���&��,"/��%�������$���/!3�L�J!����-�$�+�'�2��*�'�,%&5$�1������!"���(&0!� ������(!"*��97$�� �������$��� ��"/� ������0����%&0�'�,"#��$��$�9%+��!"���2���$8�$�+�'���%�$�.������3�

��

Page 99: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��������������������������������� ��� ��� ���(J�� �� ��J-����>�.45�RX5' �B��' ,�< /)��

F&�!�$��$� ���5!�9%+��!"������,�+���5$����������(!"#��$�6�$�����"/� �%��,%&5$������ ���5!�9%+��!"��3������(!"#��$�#������$�����$�����"/��%����%+�9%+��!"��������$���!"@��2!"/��2���$�����3��'%&�!����$����'�5!�2!"/��$�#������$�����2!"/���"$��9�D(�0��'�!E3������(!"#��$�#������$�A"+�$���$��$�������� !"*��$�0��$�#������$�$����'�5!�������%&��'�DI!"�9AE3���J!���%&��'�������$������2!"/��9%+��!"��������,��3����!�(����9%+��!"��<�$���1���1�2��!�(����(!"#��$�#������$���%�A��<��A���$��X�� 2��!�(����$��$���%&��'�Z�9����A��$���"*��(!"#��$�#������$Y�

Page 100: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

�F.�9�5<�����$��X�!��������Y�!���9�-Y�!���-"��Y�Z�(!���8�$���"��Y��4��-� ;��#�� (!"#�� $�#�� ����$<� � 4��-� ;��#�� (!"#�� $�#�� ����$� �'�G�� ���� ���-� ;��#�� $��$� �������1��#��$�0��(!"#�����-3�����1���1<���"*�(!"#�3�"*����%&��'����X�7.4�����_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�!�����!�DE�X� A���$��X� !���9�-Y�� !��������Y�!���-"��Y�

Z�(!���Y�$����VV\��-����1��'�-�����'�����A!���$���(��\VV"�9Y�$����VV\�'�-<�[Y�$!�WW(!���39�-�Y�$����VV\4���'<�[Y�$!�WW(!���3�����Y�$����VV\���<�[Y�$!�WW(!���3-"��Y�$����VV\�'�-�����'����� ������1�\VV"�9Y�$����VV�(!���39�-VViOiVV�(!���3�����VViOiVV�(!���3-"��Y�'"�$�DEY��"����Y�

Z��F&�!�$��$��2��!�(������"*���"#����%�����'�$��$������A%0�9�5�'���%+�'�(!"#��$�5$�(���$���$�#������$�'!�#�'���������� !"�$�2��!�(����A"+���#����!"@����&�!�'!����"*���==�$��'�$�#1���"*��$��$�� 2��!� (���� ��%����!3� 4�"�� $��$�����-� ���A"+�,7����'�G�������2!"/��$�#�� ����$���)���'���!�$��$������D2!"/��9%+��!"���������$�5$E8�����'�$��$������$�6� !"�$�2��!�(����(!"#��$���2!"/��$�#������$�,�+�,7����'�G�3�����1���1�,7����'�G�������2!"/��$�#������$���%�A��<��

Page 101: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

A���$��V�"*��2!"/�W�X� �� 2��!�(����$��$���%&��'�ZY���X�7.4�E����';8&*�#$%&'�#$6L&�5)/�#'6N�1,6:#�0 4,�#'6)�5 /5'�P' ,�< /)�#';/�' ,�&';�9 .���_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�A���$��9��"�X� !���9�-Y�� !��������Y�!���-"��Y�

Z�Y�!�����!�DE�X���9��"���(!���Y� �$����VV\��-����1��'�-�����'�����A!���$���(��\VV"�9Y�$����VV\�'�-<�[Y�$!�WW(!���39�-�Y�$����VV\4���'<�[Y�$!�WW(!���3�����Y�$����VV\���<�[Y�$!�WW(!���3-"��Y�$����VV\�'�-�����'����� %������1�\VV"�9Y�$����VV�(!���39�-VViOiVV�(!���3�����VViOiVV�(!���3-"��Y�'"�$�DEY��"����Y�

Z���&0!���5��'!�����7�$���(!"#��$�#������$<� !"�$�2�&+!���5��'!�����7�$���(!"#��$�#������$�'!�#�'���%�2�&0!���5��$�����0�'3�F.�9�5<���9��"��(!����mD�^8�]8]]]EY����> � 3&*�5 :.�#$./5��C%5���������&5!�$�0��(!"#��$�#������$�,%&5$����#-���0�2�!����$�@��

�%�� ��%+� ���*�'� �!�� $�0�� ��!"@��,�#!� �%&5�'8� $��o�'� ��5�� ��%� �%�� ��%+� ��5� �"*�8�,!"/����*��������8�,!"/����*������8�,!"/����*���-��$�0��$��$���.�A!�������'������2-����!3�4��-� ��1��0!�A%0�9�5�'�U���0�'������$�!"@��,"/��%����%+����$�����"/�9���'��������0�'������$�!"@��2!"/��$�#������$�,"/��%����%+�$��$����*�'��!����"*�3�

��!�,�����J!�1��@���%0�$�0����0�'����������(!"#��2!"/��$�#������$3�

Page 102: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

4��$�����"/�2��!�(������������0�'�$�#������$���%�A��<�A���$���9���A�$��X�� !���A(9Y�$�������"�zP{Y�

� I���������8�-8���Y�Z��9���A�$���(��'9!"�zP]{Y��X�7.4�V���';8&*�#$%&'�9 .�R LK�5')�"'6/"�&' !"�1 2�,&�< 3&*�R,6N+�5.3 �#'X�9,&'�06L&�+ 2&�'%&'>��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W�_!�$��9"�V!����!13�W�$��A��!�����p����m^P8�y�s��mUY�A���$���9���A�$�����X�!���A(9Y������$�������"�z��p����{Y������I����������8�-8���Y����ZY� �!9���!�DE�X����9���A�$��(��'9!"�z�y�s��{Y����!���!Y����$��A$�DEY����$����VVk��������a�H�����y��C����F���`�kY����I���D!m]Y!V�y�s��Y!==E����X��$����VVkC��(���9���<�kY�$!�WW�(��'9!"�z!{3A(9Y�������$!�3!'���"D�]]8j`�jEY�������$����VVk��� ���"�<���kY�$!�3'"��!�"D(��'9!"�z!{3���"�8��p����EY�������!I�DA���"�D(��'9!"�z!{3���"�EWm��p����M�E�$!�3!'���"D�]]8j`�jEY�������$����VVkH!"������<���kY�$!��WW�(��'9!"�z!{3����Y�������$����VVkH!"���-<�����kY�$!��WW�(��'9!"�z!{3�-Y�������$����VVkH!"����������kY�$!��WW�(��'9!"�z!{3���Y����Z����$��A$�DEY����$����VVk�MMMMMM���a�H�����y��C����F���MMMMM`�kY����$����VVkC��(���9������������"������H!"��������H!"���-���H!"�����`�kY�

Page 103: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���I���D!m]Y!V�y�s��Y!==E����X��$����VVA"�KDPEVV(��'9!"�z!{3A(9VVA"�KD^]E�� ���VV(��'9!"�z!{3���"�VVA"�KD�]E�� ���VV��(��'9!"�z!{3����VVA"�KD�^E�� ���VV�(��'9!"�z!{3�-VVA"�KD�bE�� ���VV�(��'9!"�z!{3���VV"�9�Y����Z����'"�$�DEY�����"����Y�Z�����> �' +�9):�P,6N.�5 :.�#$./5���

�F!"�$����-"@�� ��������������A�#�2!"/��$�#������$�����$�+�'��%&�'��%5���%� !"�$�$��$����5!�9%+��!"��� �*��%&��'3�����(���������%�$����-"@�������������A�#<��������78������$�!"#�8�9���'�$������03�B"/��!�����5��$���� !"�$����-"@�������������A�#�$����'���� !"#����5!� .�9�5���"*��(�)�'�$��$��;�*-�9%5�'���!������!�1��� ������1���,"/�����1� ���!��(�0�'�,!"/��$�0��A!��� !"*�3�4���'�,��������!�1���A%0�9�5�'��������$�!"#��2!"/��9���A�$��$������������1�������9���'��������7�2!"/��9���A�$����X�7.4�Z��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�VA��!�'3�W�_!�$��9"�V!����!13�W�$��A��!�����p����m^P8�y�s��mUY��A���$���9���A�$�����X�!���A(9Y������$�������"�z��p����{Y������I����������8�-8���Y����ZY� �!9�!�1��D9���A�$�rEY� �!9����1��D9���A�$�EY� �!9���!�DE�X����9���A�$��(��'9!"�z�y�s��{Y����!���!Y����$��A$�DEY�

Page 104: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���$����VVk��������a�H�����y��C����F���`�kY����I���D!m]Y!V�y�s��Y!==E��������!�1��D(��'9!"�z!{EY����$��A$�DEY����$����VVk�MMMMMM���a�H�����y��C����F���MMMMM`�kY����$����VVkC��(���9�������������"�������H!"������������H!"���-������H!"�����`�kY����I���D!m]Y!V�y�s��Y!==E�� ���1��D(��'9!"�z!{EY����'"�$�DEY�����"����Y�Z�� �!9�!�1��D9���A�$�r�(9E�X�������$����VVkC��(���9���<�kY�$!�WW�(93A(9Y�������$!�3!'���"D�]]8j`�jEY�������$����VVk��� ���"�<���kY�$!�3'"��!�"D(93���"�8��p����EY�������!I�DA���"�D(93���"�EWm��p����M�E�$!�3!'���"D�]]8j`�jEY�������$����VVkH!"������<���kY�$!��WW�(93����Y�������$����VVkH!"���-<�����kY�$!��WW�(93�-Y�������$����VVkH!"����������kY�$!��WW�(93���Y��������"����Y�Z� �!9����1��D9���A�$��(9E����X��$����VVA"�KDPEVV(93A(9VVA"�KD^]E�� ���VV(93���"�VVA"�KD�]E�� ���VV(93����VVA"�KD�^E�� ���VV(93�-VVA"�KD�bE�� ���VV(93���VV"�9�Y��������"����Y����Z��4��0���5$�!�1���2�!�A%0�9�5�'�$������0<��� �!9�!�1��D9���A�$��NEY�OO9���'��'�-"*����J���I���D!m]Y!V�y�s��Y!==E��������!�1��Dr(��'9!"�z!{EY�OO�&�!�'�5!����������'���!���

Page 105: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

�!9�!�1��D9���A�$��N(9E�OO���!�9��'������!�1���X�������$����VVkC��(���9���<�kY�$!�WW�DN(9E3�A(9Y�OO����-�DN(9E3A(9�������$!�3!'���"D�]]8j`�jEY�������$����VVk��� ���"�<���kY�$!�3'"��!�"DDN(9E3���"�8��p����EY�������!I�DA���"�DDN(9E3���"�EWm��p����M�E�$!�3!'���"D�]]8j`�jEY�������$����VVkH!"������<���kY�$!��WW�DN(9E3����Y�������$����VVkH!"���-<�����kY�$!��WW�DN(9E3�-Y�������$����VVkH!"����������kY�$!��WW�DN(9E3���Y��������"����Y�Z��!�A%0�9�5�'�$������0�,"/����-�;��#��'!�����7�$�0��$�#������$�����"*���%��-��$���1���1<��DN1�!��"�E3I!"�9����?$�1�!��"�MWI!"�9����> &,)&��

���!���������������5!�9%+��!"���$���,�?$�,!"/��A%0�9�5�'�$���'������ ���'���&��$�����!"@��(!"#�3����$�(!"#��$�����"/�2���$����5!�9%+��!"��3�4�-���!"*����5!��������&�!�,!"/��$�6�A%0�9�5�'�,%&5$����������'���%+�'�(!"#��9���'�$���'� ���'���&�����-3��4��$�����"/�;"����������!����%������$�#������$���%�'�$��$���%&��'�$�0������$���$���'� ���'���&�3�L��5!����-�,%&5$�A%0�9�5�'�$����$��$�(!"#��.��9���'�����'�$�%&�'������� ���$��$�(!"#�����-�2��*�'�A%0�9�5�'�$���'����$� &�!���������)���!"#��2!"���(�����&�3�����1���1�2��!�(���<�� ��!���� X�� �� � 2��!�(����$��$���%&��'�� Z��"*��(!"#�Y��F.�9�5<�� ��!���� X� $�����2"-Y�� � !��� ���Y�� � 9��(�"�1�!$"Y�� Z� ��Y��OO(!"#�� ���$���2!"/����!����� ��!����9��"�!�"�OO9��"�!�"����������2!"/��9%+��!"�����!���� X� ���'�!���9�-AY�� � 9��(�"��!�"Y�

Page 106: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

� ZY��� 9��"�!�"��I!�A�8A"$��9Y�OO�I!�A�8�A"$��9�������!�(!"#��2!"/��9��"�!�"����4��$�+�'�$�����"/�,7����'�G��2!"/��9%+��!"�����!��� ���A���$����@�'� ��������3���+-�;"��� .�9�5�A��<���X�7.4�c���,6:#�5';8&*�#$%&'�5)/�#'6N�#X&'�7,6!&�#X5'�5.3 �'%&'�5';O�&' !#�'%&'�#$)2& �'%&'�#' &*>��',�5';8&*�#$%&'�#';45�',6!&�&*;82,�9;3�7.4&*�96O�5')�<,6:#�0) 4,�'%&'�+.):&�#X&'�7,6!&�#X5'>��_!�$��9"�V!�A��"��3�W�_!�$��9"�V$��!�3�W�_!�$��9"�V$�-1"3�W���!����9�'!�$����X������$�������!Y������A���$���������XI�����9�!8���'YZ$�Y������A���$���������XI�����(��2!��Y�Z��Y������A���$���������XI�����9�-���89�-���8$��YZ��Y����ZY���� �!9���!�DE�X����9�'!�$�9'Y����$��A$�DEY����$����VVk����(!"�����!��!���������!���9!"���!$�D$D$�������EO�D����'EO�D����EkY����$!��WW9'3���!Y����AK!�$��D���11"�D9'3���!EE����X�����$�A"�j�j<�� � � $����VVk����(!"��$�!"��9�!<�kY�

Page 107: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������� �

� $!���WW9'3$�39�!Y�� $����VVk����(!"��$�!"�����'<�kY�� $!���WW9'3$�3���'Y�� $����VVkH!"���!$����<�kVVD9'3$�39�!N9'3$�3���'EY�� (�"�2Y�

����$�A"�j4j<�� � � $����VVk����(!"��9�-����<�kY�� � � $!���WW9'3��39�-���Y�� � � $����VVk����(!"��9�-����<�kY�

� $!���WW9'3��39�-���Y�� $����VVk����(!"��$�!"��$��<�kY�� $!���WW9'3��3$��Y�$����VVkH!"���!$����<�k�� � � � �VVDD9'3��39�-���=9'3��39�-���EN9'3��3$��O^EY�

� (�"�2Y����$�A"�jsj<�� � � $����VVk����(!"��(���2!��<�kY�

� $!���WW9'3��3(��2!��Y�� $����VVkH!"���!$����<�kVVD9'3��3(��2!��N9'3��3(��2!��NU3�bEY�� (�"�2Y�

���9"I����<�$����VVkH���!"��2���'�$�!��;�$kY��Z��'"�$�DEY���"����Y�Z���������?��AA�J������3 ��+-�$���(!"#��$��$�9����,7���A���,�*-�$����&51��"��2��*�'3�F&�!�$��$�9����,7����&1��"����+-�$���(!"#��

,���$���1��0!�����������"*��'&5!���&��2��*�'3�������"*��'&5!���&������������"*������(�0�����*���������!��"*��1��@���������5$�,.$��A%0�9�5�'�,�#!� &�!��"*�����-33�F&�!�$��$�9����,7���2��*�'��&51��"����+-�$���(!"#����5!�A���2��*�'��&51��"�<�

���^Ub� �"KT1�!$"� �($9� ��^U� ��^UbP� A�T���� �9�� � �";�� !� �!$"A� 9"�TA�T���T��1T��!� !��� �"K��^(U$b9P� $�� ;d��^3 4�%0�,�?���"*��$���$��$��������%5$��!"�����%+�'�$�*�'� !"�$�A��<�

�3 4���'!�����7��&������#������'���������1��&51�$��$�A�#��(3 4���'!�����7����0����#������'���������1��&51�$��$�A�#��$3 �!"#��,�/!������2-���%5���%&��'�A��'�2-���%5�����93 �!"#��,�/!������2-���%5�����A��'�2-���%5���%&��'�"3 C�:1�;"#1����1��&51�$��$�A�#���"����%���%5���S�'�9�@��

Page 108: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

U3 H���'�5).#� !"#�������$�%&�'�������!���"*��$�0��(�5���"*�������9���'���"*�����������8�A�#�����8��"*��,%&��'�$�0�������(�5����"*��9���'�2"#��!"#1�

b3 ��3 ��+-�$���(!"#��1��0!�9���'�(�����!"*���"����5).#��,"/�!����J��A����"*�����������<�

�� O���� ��� � ����������8&�*, /�4�^ef� �f3Ub�4�U]]� �d3g^�4^]b�� �fP3b]�4bbd^� �Uf3gg�

(3 C�#��"����$������#!���!"/��9���'�,"/�!����J����"*������(�����!"*�3�$3 F!"#��$�%&�'�������,"/�!����J����"*���"*�����������3�

P3 ��+-�������(��-���5!�$��$�$�%&�'��������A���$�����0�����'��&�<��3 _!�$��9"�V!�A��"��3�W�

!�����!�D��EX�$�������������������VV�[4�"��!�"���A�$��"\�Y��"�����]YZ�

(3 _!�$��9"�V!�A��"��3�W�!�����!���D�������EX$����VV�[�"K��2�!A���$!�-�`�\�Y�$����VV��[����"K��"�A"-�`�\Y�$����VV�[���!A���A����$!�-�`�\�Y�$����VV�[���H"��K��"�`�\�Y��"�����]YZ��

$3 _!�$��9"�V!�A��"��3�W�!�����!�DE�X�$����VV�s"�9!�'���1��'�����`�\Y�$����VV�[!A���$��"�A!"��`�\�Y�$�����VV���9�"�$��A���"�"���!A�K�!��"��`�\Y�$����VV���������������������!�"�(-�!�A"�I`�\�

��������?��AA�J���E��3 ���5�����5!�9%+��!"�����.$���&51�$���$��$�'!�����7�A��<�

�3�B!"/������'�(����$�0��(�#����*����5$�(3�C�#���'��-�����'�����������'��$3���!"@��9��!�$�0�������$�*-�$�@��93����0�'�$��$���%�������,!"/�����-�A��'�,!"/��2���$��

^3 F!"#����5!�$��$�A�#�9%&�!�,�*-�&0�9�5�'�A�#�����1�1��*��$���/�<�f3UP"P� �3P�g^f"^� ^3gP"MU�b3f^U"Mb�� ��

U3 F!"#�����5!�$��$�A�#�����1�1��*��9%&�!�,�*-�&0�9�5�'��A�#���+<�b3 �^f3� fPf3^U�� bdgU3^�� 3U^�� � 3]�^U� � 3]]fedg�P3 4%��$��$�(!"/����%�$�,�5!�A�#�("*��9%&�!���+-� !"#����5!���%+�'�(!"/����%�$��&51�����'��==�

• D^EDUE=DbEDPE�• b3fDU=�g3gE�

2186

1.32.125.4

+−

Page 109: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

• D�^3�=�d3gED�P3UMU3dE�f3 ����(!"#��2"#�����0�;��#��$�0��$��$�$�%&�'�������A��<��E�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� $���VV\2"#�����0��<�\�VVgObY�� $���VV\�2"#�����0�^<�\�VV�eOUY�� �"����Y�Z�(E�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� $���VV\2"#�����0��<�\�VVglbY�� $���VV\�2"#�����0�^<�\�VV�elUY�� �"����Y�Z��e3 F!"#��$�%&�'�������;��#��2"#�����0�$�0��$��$�(!"/����%�$�A����"*�����������<��

U3]NP3]�e3�Nd3UM^3^�PNDUMfENb�L%��-�<�"#�����0�;��#���"*������������$�+�'�'!�#�'���%�2"#�����0��.���������,%&5$�(�)�'���-3� �

�d3 ��6����$��$���J!�$�������'�$��$��"����A��<�

�3 $����VV`��VV\��PE�(3 $����VV\A"�KDbE\�VVUUY�$3 $����VV�[A"�1�!$!A!��D^E\�VVP^f3efdY�93 $�����VVbe�VVA"�KDfEY�"3 $�����VVA"�D�]E�VVP^f3dg��VVA"�1�"$!A!��D^EY�

��g3 ��0�'�("*��9%&�!�$���(!"#��A%5��%&�'�%��'��P�$�%+�A�#�D�%����,"#���PE�����'��"������1�1��*�� &�!��"������1�

��5$�1��*�� ���(����1��*�<�H"$!���� �� ^� U� b� P� f� e� d� g� �]� ��� �^� �U� �b� �P�Q$���� �� ^� U� b� P� f� e� �]� ��� �^� �U� �b� �P� �f� �e��";�9"$!���� �� ^� U� b� P� f� e� d� g� �� (� $� 9� "� I�

H%5�� ����(�0�'���"*����+-�$���(!"#��2"#�����0�;��#��$�0��$�%&�'�������A��<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X�� $����� VV�[��a!�����7�$�0���b�����'��"��(����1��*�����<\�VV�$��VV�b�� � VV�[��a!�����7�$�0���b�����'��"������1���5$��1��*�����<\�VV�";�VV�b�� � VV�[��a!�����7�$�0��];������'��"������1�1��*������<�[�VV9"$�VV];��� � VV�[��a!�����7�$�0��];������'��"��(����1��*�����<�[�VV9"$�VV];��

Page 110: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

� � VV�"�9�Y�� �"����Y�Z�

�]3 ����(!"#��$��$��"*��(!"#��A���,�*-�$����&51��"��2��*�'3�F&�!�$��$��"*��(!"#��2��*�'��&51��"����+-�$���(!"#����5!�A��<�

1��9T�� $�^Ub� �($9� M$U� �^UbP��"K(��� � �!�"� ������� �"K�(��� ��(^�g�(f� A��3�I� '��9"�� ^'��9"� �";��

����3 ��+-� !"#���"����2��!�(����$���$��$�(!"#����%�A��<�

�3 $�����9���'�,"/��%�������A�#��'�-"*��(3 '��9"�9���'�,"/��%�������A�#���%5$�,���$�.���;��$�,&��$3 -!"�9�9���'�,"/��%�������A�#���%5$�,���$�.���;��$�2"�1�93 !�!�!���9���'�,"/��%�������2-���%5�"3 ����8����^8����U��9���'�,"/��%���A�#��'�-"*��I3 '��9"�8�'��9"^8�'��9"U��9���'�,"/��%���A�#���%5$�,���$�.���;��$�,&��

�^3 ����(!"#��-���'�G��$�0���%��'��"��������'�$�%&�'�������A��<��

_!�$��9"�V!�A��"��3�W� �!9���!�DE�X� !�������8����^8������Y�� ����m^PY�� ���^mUPY�� �����m����=���^Y�� $����� VV\4�"��������I�[�VV�����VV�[��9\�� � VV���^�VV\!A\�VV������VV"�9�Y�� �"����Y�Z��

�U3 F!"#���$�%&�'��������%����/�'�$�0����!�A�#��'�-"*���^� ���UU� ���������(!"#��$����"*������A���A���,���!��'!�����7�$�0��(!"#��A����"*�����������3�

�b3 F!"#��$�%&�'��������%��'!�����7��P� ����(!"#����"�'��� ���e� ����(!"#��K!9��8�A���,����%��2"#�����0�$�0��(!"/����%�$�<��"�'��NK!9��O^� ����(!"#����"���A���,���;��#��'!�����7�$�0����"���"*�������������4�"��(�5��1��0!�2��!�(����2!"/��9%+��!"���$�0��$��$�(!"@����%���"#������

�P3 F!"#��$�%&�'��������%��'!�����7��]P3f^� ����(!"#������8�dg3UP^� ����(!"#�����^� ���gd3fe� ����(!"#�����U3�C���,����.�����/�'� �����7�����'�(����$�0��U�(!"#����"*�� &�!���/�'�,%&5$��%�� ����(!"#�������� �����7�����'�(�����%�� ����(!"#��� "��'"3�p��#��2"#�����0�$�0�������� ���� "��'"3�

���������?��AA�J���V��3 4��� ���A%0����J!�����'�$��$�$�%&�'�������

�3 _!�$��9"�V!�A��"��3�W� �!9���!�DE�X� �� K!9���m��PY�� ��"���m���"�'���N�K!9��Y�� $����VV\���"�m�[�VV���"��� �"����Y�

Page 111: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

[ ] [ ]222

221 yyxx −+−

Z�(3 �

�!9���!�DE�X� !����"�'��8�K!9��8���"�Y�� ��"���m���"�'���N�K!9��Y�� K!9���m��PY�� �"�'���m�^]Y�� $����VV\���"�m�[�VV���"��� �"����Y�Z�

$3 _!�$��9"�V!�A��"��3�W� �!9���!�DE�X� !����"�'��m�P8�K!9��m^]8���"�Y�� �"�'���N�K!9��m���"�Y�� $����VV\���"�m�[�VV���"��� �"����Y�Z�

^3 F!"#��$�%&�'��������.��� ���;��#��2"#�����0��"*��������������7�����'�(����$�0��$��$�A�#�U^3f�8�PP3^8�fe3g� ���bd3f3�

U3 F!"#��$�%&�'��������.���$��� !�$�0������������������D$ m�^N(2NU3�bE�'!�0�A%0�(����2.���$�0��,%&��'�����������U3U�$�3�

b3 F!"#��$�%&�'��������.���9!"����.$��$�0������������������D9�m�(2N(2NU3�bE�'!�0�A%0�(����2.���$�0��,%&��'�����������P�$�3�

P3 F!"#��$�%&�'��������.�����"/��.$��$�0�������$��!���@�$���$�!"@��9��!�����^3P��$�!"�������'���� ���$�!"@��$�������b��D��"/��.$�m9��!�N�����'�N�$��E3�

f3 F!"#��$�%&�'��������.���,���9��!�$�0����������0�'�,%&��'���"��,&�� 7�����I""�3��!"#�����0�'�,%&��'�9��!�^3Uf��!�"�D���!�"mP^d]�I""�E�

e3 ��+-�$���(!"#����5!�A���(!"/����%�$��M(m^PY�����2��*�'��&51��"�8���%�'��MD(m^PEY������&51��"�3�d3 F!"#���&�!�'�5!������,"/��.���$��$�'!�����7�A��<�

.�9�5<���S��(��$�^�$�0��f3Ue� �����&�!�'�5!����������A���Df8UeE��3 $�S��(��$�^�$�0��;M-�(3 A!��$�0��'��$�U]�,���$3 A!��$�0��'��$�f]�,���93 ��7���-"���,�#!�$�0���^M(^�"3 a!�����7�$�0��"U�

g3 �����m�]3f8�(m�U3g� ���$mMU3b^���+-��.���'!�����7�$�0��$��$�(!"/����%�$�A��<��3 !��D�E�(3 !��D(E�$3 !��D$E�93 !���D�=(E�"3 !��D�E=(=$�I3 !��D�=(E�=$��

'3 !��D�=(=$E��3 I����D!��D�EE=(�!3 I����D!��D�=(EE�R3 �(AD�E=�(AD$E�23 A���D�(AD�M(EE�

��]3 F!"#��$�%&�'��������.���2���0�'�$��$��'!%+��^�,!"/���$�����5��,���De8�^E� ���DU8gE��(!"#��$�*�'���%�$�,"/�

�.���2���0�'�$��$��'!%+����!�,!"/��$�����5��,���D;�8-�E� ���D;^8-^E����<��9!A���$"m�

Page 112: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

���3 �==�$���1�"�1���%5$��!"����������%0�$���'� �����%��'!%+�������2-���%5� ��������A�#��'�-"*�3�B!"@�������$�����"/�

��%5$��!"���,%&5$� ����9���==� ���*�� ���*��$��-"/������� 2-�� �%5� ������������A�#��'�-"*�� �%&�'�%��'� D,���$�.���������+��C����$�0��2-���%5�E�2�!����A%0�9�5�'������2-���%5�����'������(!"/����%�$�A�#���5$3���%� ��-�2-���%5� ���A�#��'�-"*��$�����"/���������/������'������(!"/����%�$�A�#���5$3�F.�9�5<�2"#�����0�$�0��(!"/����%�$�h�i=������gd�2"#�����0�$�0��(!"/����%�$�hciM�������^�����-�2"#�����0�$�0��$���Dh�i=�E�����h(i�H%5�� ����$��$����*�'��!����"*����+-�;��$�,7���2"#�����0�$�0��$��$�(!"/����%�$�A��<��3 $���Dh�iMPE�(3 $���Dh�i=PE�$3 $���Dhai=fE�93 $���DhaiMfE��

"3 Dh(i�>�h�iE�I3 Dh'i�>�h�i=�E�'3 Dhai�>�h�i�=�E�

��^3 F!"#��$�%&�'��������.��� ���!��2"#�����0�9!"����.$��$�0�������������������"*������������ &�!�(����2����,%&5$�

����1��%��(����1�.�3��U3 F!"#��$�%&�'��������.��� ���!��2"#�����0�9!"����.$��$�0�������$�S��1����'������$�%+���������"*������������

&�!�$�!"@��9��!� ���$�!"@������'�$�0��$�S��1����'�,%&5$�����1��%��(����1�.�3��b3 F!"#��$�%&�'��������.��� ���!��2"#�����0���"/��.$��$�0���������@�(&!��"*������������ &�!�$�!"@��9��!8�$�!"@��

����'� ���,���A�*��$�0��$�S��1����'�,%&5$�����1��%��(����1�.�3��P3 F!"#�� $�%&�'� ������ ����1� ���� b�A�#� �'�-"*��A���,��� !�� �"*������������ ��7� ����'�(���� $�0��(�#��A�#�

�'�-"*�� %�������13��f3 F!"#����5!�(��!�b� &�!�,!"@��2!"���$�%&�'�������$�6�A%0�9�5�'������(!"#��,"/��%��'!�����7�$�0��(�#��A�#��'�-"*��

����1� ���3��e3 F!"#�������$�%&�'�����������'�,���2��!�(���������(!"#��A�#��'�-"*�3���%&�'�������9���'�$!��,"/�����1�

'!�����7�$���(!"#�����-��%��(����1�.�8��'�-�A���2�!�����1�$�%&�'�������9���'��"����$����,"/�;��#��2"#�����0�$�0����"*���"*�����������3���+-�$��� ��%5$��!"���$�%&�'� ������ ��"*��(�� ��@�3�L�@��,�@������1� ���������A�#��'�-"*�8� ��@�� ��%����!�����1� ���������A�#� ��%5$8� ��@�� ��%��(������1� ��������� 2-�� �%53�H%5�� ����2"#�����0�$��$� ��@�� ��%5$��!"���$�%&�'�������,"/�;"��'!�����7�$�0��(!"#������'�$��$���@������1���%���"#�����3�

�d3 L������5!�(��!�A�#�f���%�'��2��!�(���������(!"#��2!"/��I����3���+-�$�����%5$��!"���$�%&�'���������"*��(�#����@�3�L�@��,�@������1� ���������A�#��'�-"*�8���@����%����!�����1� ���������A�#���%5$�$���.���&��f�$�%+�A�#�8���@����%��(������1� ����A�#���%5$�$����&��f�$�%+�A�#8���@����%���%�����1� ���������2-���%53�H%5�� ����2"#�����0�$��$���@����%5$��!"���$�%&�'�������,"/�;"��'!�����7�$�0��(!"#������'�$��$���@������1���%���"#�����3�

�g3 L������5!�(��!�A�#�e���%�'��2��!�(���������(!"#��2!"/��9��(�"3���+-�$�����%5$��!"���$�%&�'���������"*��(�#����@�3�L�@��,�@������1� ���������A�#��'�-"*�8���@����%����!�����1� ���������A�#���%5$�$���.���&��f�$�%+�A�#�8���@����%��(������1� ����A�#���%5$�$����&��f�$�%+�A�#8���@����%���%�����1� ���������2-���%53�H%5�� ����2"#�����0�$��$���@����%5$��!"���$�%&�'�������,"/�;"��'!�����7�$�0��(!"#������'�$��$���@������1���%���"#�����3�

^]3 n���$��$�(��!����1�f8�e8�d����"��(�5�8���5!�A��������$�%&�'�������%��'�9�5�'��������$�*�'�1��0!�(���'�@��$�0�1��@��2!"/�������.����&51��"��$�0��9%+��!"�������13��

^�3 a!�0�A%0������$�%&�'�������$�@��(��'!�����7��'��-������'���S��,%&5$�����1��%��(����1�.��(&0!��'%&�!�A%0�9�5�'3����'!�����7���"*����%���"#����������,%&5$�;"�������&51��"�3�

��������?��AA�J���Z��3 ��+-�;��$�,7���'!�����7�$�0����%+�'�(!"/����%�$�A��<�

'!�0�A%0��mP8�(m^8�$mb8�9mf� ���"mU�

Page 113: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�3 �W(�(3 ��qm(�$3 9l(�mm$l(�93 �N$�qm�9N(�"3 9N(�mm�$N"�

I3 �N(�'3 �l(N$��3 $l(N��!3 (l$N��

^3 F!"#����5!�$��$�(!"/����%�$�("*��9%&�!�(�)�'�$��$����"*�� ����$��$�9�#���'��?$�,"/�$���(!"#����%���%5�A"+���%5$��!"���$��$�1�"�1������3�C���,�����+-��.���'!�����7�$�0��$��$�(!"/����%�$� &�!��mP8�(m^� ���$mb3� .�9�5<��l(N$�rr�$l(N��,%&5$� !"#����5!<�DD�l(E�$ErrDD$l(EN�E��3 �l(N$�tt�$l(N��(3 (l$�N���rr��l$�N(�$3 (l$�N��tt��l$�N(�

�U3 F!"#��$��$�(!"J����%�$�������"��,"/�(!"/��9!"J��$��$�,!"@��2!"���A���D�"*��(!"#��9��(�5���%5�,�?�E�

�3 4��/!�$�0��������'%&�!�(�)�'�U]�(3 ��!"���,���$�0��������'%&�!��&����&��Ue]$��$3 ��!"@��$���$�0��������'%&�!�$����&���3e��93 4��/!�$�0��������'%&�!��&����&�����?$�(�)�'�U]� ���$����%���3e����&0��"*��"3 ��!"@��9��!��&����&��P�� ������0��&��d��

b3 p��$�,7���(!"/��'!���$�0����%+�'�(!"/����%�$�A���'!�0�A%0��mP8�(m^8�$mb� ���9mP��3 �mmP�(3 (�N�9�mm�$N$�$3 9�l�(�N�$WP�tt$l(�N�9Ve��

P3��3 L�+!�A��#���!"@��'&0!��!"#��2!"�����5!�������'�*������'�,%&5$��.�����%�A��<��"#����&�!�'!���'&0!��&��P�

��S��������+!�A��#������g3Pl8�$��$���%&��'��&51�$������5!�����P3bl3���+-� !"#�������$�%&�'�����������1�A�#���S��,�+�'&0!��!"@�� ����(!"#�����-"��8�A���,���$����!"����"*�������������6��"����+!�A��#��1�����&51� &�!�'!�����7�$�0��(!"#�����-"��3�

(3 ���0!���%5$��!"���$�%&�'�������(�����!"*����@��,"/�(!"#��$�%&�'��������"*��$�0��(�5����%5$��!"���$�.���;��$3���5��1��0!�����1���%+�'�'!�����7������,"/��"A��$�%&�'������3�

�f3�

�3 B"/���!�,�/��������*����5$������,�������,!"/����!�$�0����5$�A!���$�����*�����-�1��0!��&����&�����?$�(�)�'�P]� �����!��&����"#��$���,!"/�����#1��&�3���+-� !"#��$�%&�'�������$���1�"�1�����1� ���������,!"/��A���,���!���"*������������[��1�AA!�'�'��9"\����?$�[��I�!�!�'�'��9"\�

(3 ���0!���%5$��!"���$�%&�'�������(�����!"*����@��,"/�(!"#��$�%&�'��������"*��$�0��(�5����%5$��!"���$�.���;��$3���5��1��0!�����1���%+�'�'!�����7������,"/��"A��$�%&�'������3�

�e3�

�3 F!"#��$�%&�'�������,"/���.��� ����!"/����7�A�#��%&�'���+���,%&5$�$�����������@��$�0�������$�*�'����*��,%&5$�;��$�,7�����"����-���:$�A��<��"#��A�#�'!&��,�+���������0��&�����?$�(�)�'�b]�����������,%&5$�^]]]],O'!&���'%&5$���5!�A"+�������,%&5$�^P]]],O'!&��$���'���"*��^P]],�$�����J!�'!&��,�#!� &�!�A�#�'!&�� %&5�������b]3�C�#�'!&������� !"�$�,%&5$�����1��%��(����1�.�3��

(3 ���0!���%5$��!"���$�%&�'�������(�����!"*����@��,"/�(!"#��$�%&�'��������"*��$�0��(�5����%5$��!"���$�.���;��$3���5��1��0!�����1���%+�'�'!�����7������,"/��"A��$�%&�'������3�

d3�

Page 114: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�3 ������'%&�!�(��������'�$������*���!"*��$���,%&5$�������������P]]]]],O���@�� ����'%&�!�$������*���!"*�����#1�,%&5$�������������Ud]]]],O���@�3���+-� !"#��$�%&�'�������$���1�"�1�����1������2-���%5� ����(!"#��#' +&,6&>��"#�������!"�mi$i������!"/����7��%�$��%&�'�$�0���'%&�!�$������*���!"*��$��8��'%&5$���5!��!"/����7��%�$��%&�'�$�0���'%&�!�$������*���!"*�����#13�

(3 ���0!���%5$��!"���$�%&�'�������(�����!"*����@��,"/�(!"#��$�%&�'���������"*��$�0��(�5����%5$��!"���$�.���;��$3���5��1��0!�����1���%+�'�'!�����7������,"/��"A��$�%&�'������3�

g3F!"#��$�%&�'�������$���1�"�1�����1� ����%����%+������2-���%5� ����(!"#��$��A���,���!���"*������������$���(!"#��2-���%5� %�������1�$���1��0!����������$�%+�$��!���%&��'���-�2��*�'3���]3 F!"#��$�%&�'�������$���1�"�1�����1� ����%����%+������2-���%5� ����(!"#��$��A���,�����+-�;��$�,7���2-���%5�

%�������1�$���1��0!����������$�%+�$��!���%&��'8��"#�����������$�%+�$��!���%&��'���+-�;��$�,7��� 7���.�$�0��2-���%5����-�����'�(�0��$�%+�$��!3�

���3 F!"#��$�%&�'�������$���1�"�1�����1� ����%����%+������2-���%5� ����(!"#��$���"#��2-���%5� %�������1�����������

$�%+�$��!���%&��'8���+-�!���"*������������$�%+�$��!������%&�'�%��'��D'&5!�-�<�h�im�$���Dh�iMU^EE3��

�^3 ��%&�'�������9%&�!�,�*-����*�����*��!���!"/����7�$�*��[�"���\�����2��*�'��������*��,"#��'!�����7�$�0��(!"#��06##6$>���+-�$���(!"#��$��/�A�!�����'�$�%&�'������� ���$���(!"#����5!�A���$�%&�'����������*�����*���!"/����7�$�*��[�"���\3�

�_!�$��9"�V!�A��"��3�W� �!9���!�DE�X�� $�����"��"�Y�� $����VV\����1������2-���%5\Y�� $!��WW��"��"�Y�� !I�D�"��"�mi�iE�� � $����VV\�"���\Y�� �"����Y�Z��

�U3p"#1����5!�$�0�������A!��� !"*��9%5�� ����,!"/������'�(����$�0��$��$���*����5$�,%&5$�$�����"��(�0�'�A��<��

���F���� �������� S��?�������L&����&�����?$�(�)�'�g]� �����0��&��g]���%�'��&����&�����?$�(�)�'�d]� �����0��&��d]���%�'��&����&�����?$�(�)�'�e]� �����0��&��e]���%�'��&����&�����?$�(�)�'�f]� H����0��&��f]� ��F!"#��$�%&�'�������$���1�"�1�����1� ����,!"/������'�(����$�0�������A!��� !"*�3�C���,�����+-�!���"*������������;"#1����5!�$�0����5$�A!������-�1��5������$� �����,!"/�� %�������13��b346��"����+!�A��#���!"@��'&0!��!"#��2!"�����5!�������'�*������'�,%&5$�;��$�,7���9%5�� ������&�!�'!���$�0��A�#��!"@��,%&5$�'&0!3�46��"�����-�,%&5$�$���(&0!�(�0��A��<��

�'82,�*, &�*83,� �v�06!�L&����&�����?$�(�)�'�P���S�� 3]gP�

Page 115: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

���0��&��P���S�����%�'��&����&�����?$�(�)�'�b���S��

3]g�

���0��&�����S�����%�'��&����&�����?$�(�)�'�U���S��

3]dP�

���0��&��U���S�����%�'��&����&�����?$�(�)�'�^���S��

3]eP�

���0��&��^���S�����%�'��&����&�����?$�(�)�'�����S��

3]fP�

���0��&������S�� 3]Pd�F!"#��$�%&�'�������$���1�"�1�����1���&�!�'!���'&0!��!"@�3�C���,�����+-�!���"*�������������6��"����+!�A��#���%&�'�%��'� &�!���&�!�'!���,�+�����13���P3F!"#��$�%&�'�������$���1�"�1�����1�������A�#8�A���,������������2���0�'����:�'8�A���2���0�'����:�'����������2-���%53��"#��2-���%5�����hIi8�����;"����%�'!�����7�A�#�,�+�����1�������!"���,����.�����"��,���x�� �����+-�,�/!����,������%&�'�%��'3��"#��2-���%5�����h$i�����;"����%�'!�����7�A�#�,�+�����1�������!"���,����.�����"��,����� �����+-�,�/!����,���x���%&�'�%��'3��"#��2-���%5�2��*�'�1��0!�����hIi�����$�+�'�2��*�'�����h$i������!"/����7�$�*�����*�'�(����[H%+��!"�������1�2��*�'�$�.���;��$i3�

��*�'���%�$�$��-"/��,�/!���%�A��<�� �"�A!�Am�DP3]Og3]E�N�DI���"��"!��>U^3]E�� x���"��!"�m�Dg3]OP3]E�N�D�"�A!�A=U^3]E�

���f3 ����$��$�$�%&�'�������A��<��3��_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X�� I�����9�������8������1Y�� $����VV\����1�9��������<�[Y�� $!����WW�9�������Y�� !I�D9�������WmP]]]]]]E�� � ������1mUeP]]]=9�������N]3�fIY�� "�A"�� � !I�D9�������Wmb]]]]]]E�� � � ������1mUP]]]]=9�������N]3�bIY�� � "�A"�!I�D9�������WmU]]]]]]E������ � �������������1mU^P]]]=9�������N]3�^IY�� � "�A"�!I�D9�������Wm^]]]]]]E�� � � �����������1mU]]]]]=9�������N]3]gIY�� � "�A"�!I�D9�������Wm�]]]]]]E�� � � � �������1m^P]]]]=9�������N]3]PIY�� � "�A"�������1m^]]]]]=9�������N]3]UIY�� $����VVA"�!�AI��'AD!�A<<I!;"9EVVA"�1�"$!A!��D]EVV������1Y�� �"����Y�Z��(3�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W�

Page 116: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

�!9���!�DE�X�� I�����9�������8������1Y�� $����VV\����1�9��������<�[Y�� $!����WW�9�������Y�� !I�D9�������WmP]]]]]]E�� � ������1mUeP]]]=9�������N]3�fIY�� !I�D9�������Wmb]]]]]]�rr�9�������VP]]]]]]E������������ ������1mUP]]]]=9�������N]3�bIY�� !I�D9�������WmU]]]]]]�rr�9�������Vb]]]]]]E�� � ������1mU^P]]]=9�������N]3�^IY�� !I�D9�������Wm^]]]]]]�rr�9�������VU]]]]]]E�� � ������1mU]]]]]=9�������N]3]gIY�� !I�D9�������Wm�]]]]]]�rr�9�������V^]]]]]]E�� � ������1m^P]]]]=9�������N]3]PIY�� !I�D9�������V�]]]]]]E�� � ������1m^]]]]]=9�������N]3]UIY�� $����VVA"�!�AI��'AD!�A<<I!;"9EVVA"�1�"$!A!��D]EVV������1Y�� �"����Y�Z���%&�'��������E� ���$�%&�'�������(E�$���$���2"#�����0�'!�#�'������2��*�'v���%&�'��������������#���&�v�4�5!�A��v���e3 ��%&�'�������A���,�*-�$���$���2"#�����0�'!�#�'�$�%&�'�������b3��2��*�'<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X�� I�����9�������8������1Y�� $����VV\����1�9��������<�[Y�� $!����WW�9�������Y�� !I�D9�������V�]]]]]]E�� � ������1m^]]]]]=9�������N]3]UIY�� � "�A"�!I�D9�������Wm�]]]]]]E�� � � ������1m^P]]]]=9�������N]3]PIY�� � "�A"�!I�D9�������Wm^]]]]]]E������ � �������������1mU]]]]]=9�������N]3]gIY�� � "�A"�!I�D9�������WmU]]]]]]E�� � � �����������1mU^P]]]=9�������N]3�^IY�� � "�A"�!I�D9�������Wmb]]]]]]E�� � � � �������1mUP]]]]=9�������N]3�bIY�� � "�A"�!I�D9�������WmP]]]]]]E�� � � � �������1mUeP]]]=9�������N]3�fIY�� $����VVA"�!�AI��'AD!�A<<I!;"9EVVA"�1�"$!A!��D]EVV������1Y�� �"����Y�Z�F&�!�'!�����7����������$�%&�'�������A"+�$���2"#�����0�,���'3���d3��+-� !"#����5!�,��5��$�%&�'�������A���(�)�'�$�#������$�AK!�$��!I��D;"1���!mmi�iE�

Page 117: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������� �

� $����VV\B!"/������'�(����'!%+��g]� ����]]\Y�"�A"�!I��D;"1���!mmi�iE��� $����VV\B!"/������'�(����'!%+��d]� ���dg3g\Y�"�A"�!I��D;"1���!mmi�iE��� $����VV\B!"/������'�(����'!%+��e]� ���eg3g\Y�"�A"�!I��D;"1���!mmiHiE��� $����VV\B!"/������'�(�������0��&��e]\Y�"�A"���$����VV\H%+��!"�������1�2��*�'��&51��"�\3���g3���+-�$���(!"#��$�%&�'�������b��$�0��1��@������$�����"/� !"#����5!�(�)�'�$�#������$�AK!�$��,%&5$�2��*�'v3�^]3�F!"#����5!�$�%&�'�������A�#�U�$�0��1��@������(�)�'�$�#������$�AK!�$�3����������?��AA�J���c��3 ��%&�'�������9%&�!�,�*-�2�!���%5$��!"���A"+�!���"*������������$��$�A�#��'�-"*���%����,"#���]3�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���$����Y�� $����m�Y�OO�&0!���5��'!�����7�$���(!"#��$������ K�!�"�D$����Vm�]E�OO$�����$�������0��&�����?$�(�)�'��]�����$������?13�� X� $����VVA"�KDUEVV$����Y�

$����m$����=�Y�OO�4��$�,���'��"*��(!"#��$�����,"/�,"#����������$���OO��4Bm]����mmW2"#������$� ���'���?1�

� Z�� �"����Y�Z�

�3 H%5�� ����$�%&�'���������"*����+-� !"#��$�%&�'�������!��$��$�A�#�$��)���%��^�,"#��^]��"*�����������3D'&55!�-�<�$�����,%&5$�2�&0!���5��(�)�'������'!�����7�$��o�� ���A�����J!���@����?1�'!�����7�$�0��$�����A"+���S�'�^E3�

(3 F!"#����5!�$�%&�'���������� &�!�-"*��$�@��$���1�"�1��'%&�!�A%0�9�5�'�����1� ����1��5�� !�$��$�A�#�$��o�����#��!���"*�����������3�

�^3 �

�3 ��+-�$���(!"#����/�'�$�0��$��$�A�#��'�-"*��,%&5$�!���"*������������(&0!�$�%&�'�������A��8� ���A�#��'�-"*��,�@���!"*�� ���A�#��'�-"*��$��#!�$���'�,&5$�!���"*������������������%+�'�A�#��'�-"*������3�

(3 �"#��,�0���'%&5$� 7���.�$�0����!��"��������'� ���'�K�!�"�����'�$�%&�'�������A�������$�%&�'�������A"+����5��,���'���%���"#�����3�

_!�$��9"�V!�A��"��3�W� �!9���!�DE�X� !������m]Y�� K�!�"�D���Vm^]E�� X� ���==Y�� � $����VV���VV\�[Y�� Z��"����Y�

Z�

Page 118: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

U3 F!"#��$�%&�'�������!��(�0�'�$��-"/��,�/!��%��'������A��'��!�"�3���%&�'�������$����!"���$��$�'!�����7�'�������%���]�,"#��^]�D(%&�$����0-������E� ���$��$�'!�����7��!�"���%&�'�%��'3��!"#����)�'���'������$��#����0�'��%&�'�,%&�'�U3edP��!�"�3�

b3 F!"#����5!�$�%&�'�������U� &�!�-"*��$�@��1��5�� !�$�0��$��$�'!�����7�'������ ���(%&�$����0-�,%&5$�����1��%��(����1�.�3��

P3 F!"#��$�%&�'�������!��(�0�'�$��-"/��,�/!��%��I""��A��'��"�"�3���%&�'�������$����!"���$��$�'!�����7�I""���%��U�,"#��U]�D(%&�$����0-�����UE� ���$��$�'!�����7��"�"���%&�'�%��'3��!"#����)�'�U3^d�I""���%&�'�,%&�'����"�"��

f3 F!"#����5!�$�%&�'�������P� &�!�-"*��$�@��1��5�� !�$�0��$��$�'!�����7�I""�8�(%&�$����0-�,%&5$�����1��%��(����1�.�� ���$�%&�'�������1��0!�2!"/������$��$�'!�����7�����1� ������"��-"#��$�@��A��<�a!�����7����0����#��$�0��I""��1��0!�Wm�8�'!�����7��&������#��$�0��I""��1��0!�VmP]� ���(%&�$����0-�1��0!�Wm^3��"#��$��������'!�����7������2��*�'��&51��"���������*�'�(����[H%+��!"���2��*�'��&51��"�\���@!�2"#������$�$�%&�'������3�

e3 �����$��!����-�����'��'�����$&�2�.�,%&5$����� &�!�'!���^d]]]]],� ���,%&5$�2��#��������"���6���"��A��<��P]]]],O�����'�����'� ���'��g������'3���+-� !"#�������$�%&�'�������!���"*��������������J��A��<�

�4����'� � ��#������ � � a!�����7�$������5!� � � � 4�/�'�'!�����7�,�+�2��#������MMMMMMMM� � MMMMMMMMMMMM� � � MMMMMMMMMMMMMMMMM� � � � MMMMMMMMMMMMMMMMMMMMMMMMMMMMMM�� �� �P]]]]� ^fP]]]]� �P]]]]�� ^� �P]]]]� ^P]]]]]� U]]]]]�� 33� 333333333333� 33333333333333� 333333333333�� �g� �]]]]]� ]� ^d]]]]]�

d3 ��%&�'�������("#��9%&�!�,�*-�!���"*������������'!�����7�$�0���]�A�#��'�-"*��,%&5$�����1��%��(����1�.�3�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���A�89"�8���'m]Y�� 9"�m]Y�� K�!�"�D9"�V�]E�� X� $����VV\���1�����A�<�\Y�� � $!��WWA�Y�� � ���'�=mA�Y�� � 9"�==Y�� Z�$������VV\�4�!�����'�(!���$���$�$�A�� ������1���<�[��

VVA"�1�"$!A!��D^EVVDI����D���'EO9"�EY�� � �"����Y�� Z��3 a!�0�A%0�9��A�!�A����$�%&�'���������"*��,%&5$� !"#����%�("*��9%&�!�$���$���2"#�����0�$�.���;��$�2��*�'3��_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X� !���A�89"�8���'m]Y�� 9"�m]Y�� K�!�"�D9"�V�]E�� X� $����VV\���1�����A�<�\Y�

Page 119: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

� � $!��WWA�Y�� � ���'�=mA�Y�� � 9"�==Y�� � $������VV\�4�!�����'�(!���$���$�$�A�� ������1���<�[��

�VVA"�1�"$!A!��D^EVVDI����D���'EO9"�EY�� � Z�

�"����Y�� Z�(3 ��!�$�%&�'���������"*��$�%&�'��������������#���&�v���5!�A��v3�$3 a!�0�A%0�&0�$��#!�9���'�� K�!�"�D9"�V�]E�$�����"*��9�#��Y�����$�%&�'�������A"+����5��,���'���%�

��"#������g3 F!"#��$�%&�'�����������%&�$�A�#�$���'��&������#��$�0����!��'�-"*��9%&�'�,%&5$�����1��%��(����1�.��

��"��'!�0!�������<�2�!���!�A�#�$����2���$������������#-�A�#��&�����%��,!�A�#����0�$���,"#��2�!���!�A�#�$���'!�����7�(�)�'����������,���$�.�������%&�$�A�#�$���'��&������#��

�]3�����(!"#��2"#�����0�;��#��$�0��$�%&�'�������A��<��_!�$��9"�V!�A��"��3�W� �!9����!�DE�X� !���!Y�� I���D!m^]Y�!Wm]�Y�!�MmbE�� � $����VV�!�VV�[�[�Y�� �"����Y�Z���3 C%0�9�5�'� ���'�I��� !"#��$�%&�'�������!���"*������������(�0�'�'!�����7�(����1�%&�'8����1�1�%&�'�$�0��

$��$�A�#��'�-"*��$��o���%��^�,"#��U]���3�F!"#��$�%&�'�������A%0�9�5�'� ���'�I���!��(�0�'�$��-"/��,�/!��%��,���I���A��'�,����3�F&�!�1��5�� !�$�0��,���x��$�@���!"/����78�(%&�$����0-�,%&5$�����1��%��(����1�.�3��!"#���$�*�'���%�$�$��-"/��,�/!���%�A��<�

]�mDP3]Og3]ENDI�MU^3]E��^3�F!"#��$�%&�'�����������1��]�'!�����7�&0�,&�� 7��!�"�� ���!�����'!�����7�'�������%&�'�%��'�D��J!���@������1������'!�����7E�(!"#���U3edP��!�"�������%&�'�,%&�'���'�����3�D9���'� ���'���?1�I��E��U3���%&�'�������9%&�!�,�*-�$���A�!�$���1���1�2��*�'3��"#��A�!���+-�,!"@��$�6���,"/�$�%&�'�������$�����"/���%5$��!"���,%&5$3�_!�$��9"V!�A��"��3�W� �!9���!�DE�X�� I���D!m�Y�!V�]Y!==E�� � $����VV!�VVj`�jY�� I���D!m�Y�!VPY!==E�� � $����VV!�VV"�9�Y�� �"����Y�Z���b3 F!"#��$�%&�'��������.���2"#�����0�$�0��(!"/����%�$<�'�m�N^NUN333N�8�� &�!���,%&5$�����1��%��(����1�.��

D�Vm��E3��P3 F!"#��$�%&�'��������.���2"#�����0�$�0��(!"/����%�$<�'�m�N^NUN333N�8�� &�!���,%&5$�����1��%��(����1�.��

D�Vm�bE3�

Page 120: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

�f3 F!"#��$�%&�'�����������1� ����A�#���D�'�-"*��9%&�'E8�!�����'!�����7�$�0��� � � � �^�=�^^�=�333�=��^�� � � �����3^�=�^3U�=�3333�=��3D�=�E��e3 F!"#��$�%&�'�����������1� ����A�#���D�'�-"*��9%&�'E8�!�����$��$�A�#�$��o������'�2���0�'��%����,"#�����d3 F!"#��$�%&�'�����������1� ����A�#���D�'�-"*��9%&�'E8�!�����$��$�A�#��"0�����'�2���0�'��%����,"#�����g3 F!"#��$�%&�'�������!��(�0�'���+��A$!!�$�0��$��$�$�%+�$��!����� �����%&��'��"*�������������F.�9�5<��3333�� �� fP�� �� � ff�� �� fe�� 33333333�� �� � ge�� (� � gd�� 33333333�^]3 F!"#��$�%&�'�����������1�A�#��8�A�#���5�'�,�@���!"*���� ���$�*�'�A�!�93�����"*��������������A�#���5�'�,�@��

�!"*��$�0��$�#1�A�#�$���'3�^�3 F!"#��$�%&�'�����������1�A�#��8�A�#���5�'�,�@���!"*���� ���$�*�'�(��!��3��"*��������������A�#���5�'�,�@��

�!"*��$�0��$�#1�A�#����*�3�^^3 F!"#��$�%&�'�����������1�A�#��3�����"*������������$��$�%&�$�A�#�$�0�����3�^U3 F!"#��$�%&�'�����������1�A�#��3�����(!"#������$���(�����!"*��%&�$�A�#3�^b3 F!"#��$�%&�'�����������1�A�#��3�����"*������������$��$�%&�$�A�#�$��o��$�0�����3��^P3 ��3 H���'� ���'���?1�9��>�K�!�"� !"#��$�%&�'�����������1� ����,!"/��$�0���������5$�A!��3���%&�'�������

1��0!�-"*��$�@���'%&�!�A%0�9�5�'�����1���5!��"#��'!�����7�����1�2��*�'��&51��"�3������'!�����7�2��*�'��&51��"��������%+�'�'!�����7����0��&��]����?$��&����&���]]3�C���2�!�,�+�$���'!�����7��&51��"������!�������"*�����������3�

(3 F!"#����5!�$�%&�'���������� &�!�-"*��$�@��2�!�$��������'!�����7�����1�2��*�'��&51��"������(����$����'%&�!�A%0�9�5�'�(!"#�� ���$���1�"�1��'%&�!�A%0�9�5�'�����1���5!����?$�2"#������$�$�%&�'������3�

$3 F!"#�� ��5!�$�%&�'���������� &�!�-"*��$�@��2�!�$��������'!��� ��7�����1�2��*�'��&51� �"�� ���� �%5�,���'�2"#������$�$�%&�'�������

^f3 F!"*��$�%&�'�������!���"*������������A�#�,�0���'%&5$�$�0�������A�#��'�-"*��9%&�'�����1��%��(����1�.�3�F.�9�5<�A�#�����1� ��������deUP����!���"*�������PUed3�

^e3 F!"#�� ��5!�$��&�'��������P� &�!�-"*��$�@��$���1�"�1�$�%&�'���������"*����%5$��!"�����!"@����@�3�C�#���@����%5$��!"���1��5������$� �����'%&�!�A%0�9�5�'3��

Page 121: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

��������?��AA�J���f��3 F!"#��9���'��!"@��,"@�$�0��$��$������,%&5$���*���0���%�A��<��3 4"*�������$�"$28������$���U������A�#8������A�#���%�����#��A"+������������'.����7��A�#��'�-"*�8������

A�#���%����!������������'!�����7�2!"/��I����� ��������A�#�$��#!��������'!������7�2!"/��9��(�"3������2��*�'����0� "@�'!�����73�

(3 4"*�������I!�9T�(A8������A"+������������'!�����7�2!"/��9��(�"����-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3������A"+�����0� "@���7���-"���,�#!�$�0��'!�����7�,%&5$����-"@�3�

$3 4"*���������������������A"+���������!�'!�����7�2!"/��I��������-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3������A"+�����0� "@�'!�����7��.$��$�0����!�'!�����7����-"@��$������3�

93 4"*�� ����� ���� 1�KTI��� ����� A"+� ������ ��!� '!��� ��7� 2!"/�� !��� D� ;8-� &�!� -� ���� ����� � �'�-"*��9%&�'E���-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3������A"+�����0� "@�'!�����7�;���+-���%���-�2"#�����0����0� "@�$�0������������$�2!"/�����'�!��3�

^3 �$3 F!"#������� ����� $��� �"*�� $�"$2� ����� $��� U� �����A�#3� 4����A�#� ��%�� ���#��A"+� �����������A�#�

�'�-"*�8������A�#���%����!������������'!�����7�2!"/��I����8� ��������A�#���%��(�������������'!�����7�2!"/��9��(�"3����!�9��'�$�0�������$�6���%5$��!"�������� !"�$������!"/����7�$��$�'!�����7�,�+����-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3���

93 B%���������"*�� ���������$�%&�'������� �������,%&5$�'�5!���%5$��!"���(&0!��������!�3�4"A��$�%&�'� %��� !"#��(�)�'�$��$����%5$��!"��� ��!���@�8���J!���@�� &�!�$��$�'!�����7����-"@��$��������2���$�����3�

�U3 �

�3 F!"#������������$����"*��I!�9�(A�A"+������������A�#�9��(�"����-"@��$������� �����������0� "@���7���-"���,�#!�$�0��A�#����-3���

(3 B%�� ����� ��"*�� ��������� $�%&�'� ������ ��� ���� ,%&5$� '�5!� ��%5$� �!"��� (&0!� �������!�3� 4"A��$�%&�'� %��� !"#��(�)�'�$��$����%5$��!"��� ��!���@�8���J!���@�� &�!�'!�����7����-"@��$��������2���$�����3�

�b3 �

�3 F!"#������������$����"*�������A"+�������^�'!�����7�2!"/��9��(�"����-"@��$������� ������0� "@��2"#�����0�$�0�� !"�$����*����!�'!���,�+����-"@��$������3���

(3 B%���������"*�� ���������$�%&�'������� �������,%&5$�'�5!���%5$��!"���(&0!��������!�3�4"A��$�%&�'� %��� !"#��(�)�'�$��$����%5$��!"��� ��!���@�8���J!���@�� &�!�$��$�'!�����7����-"@��$��������2���$�����3�

P3 ��3 F!"#������������$����"*��A����"�,"/��.��������� ������0� "@�(����1�%&�'�$�0�������'!�����7����-"@��$���

���3������$���2��0���S�'��.���(����1�%&�'�$�0�������A�#���%5$3���(3 B%���������"*�� ���������$�%&�'������� �������,%&5$�'�5!���%5$��!"���(&0!��������!�3�4"A��$�%&�'�

%��� !"#��(�)�'�$��$����%5$��!"��� ��!���@�8���J!���@�� &�!�$��$�'!�����7����-"@��$��������2���$�����3�f3 �

�3 F!"#������������!���"*�����������������(�0�'�'!�����!�$�0��$��$�A�#��'�-"*���%����,"#���]�$���'�$��$�'!�����7�(����1�%&�'� ������1�1�%&�'�$�0�����3���

(3 B%���������"*�� ���������$�%&�'������� �������,%&5$�'�5!���%5$��!"���(&0!��������!�3�4"A��$�%&�'� %��� !"#��(�)�'�$��$��$�����%5$��!"���$�%&�'������3�

e3 �$3 F!"#����5!����������'�(��!�e��,"/���������-�A"+�������(��'!�����7����-"@��$������3�4����A�#���%�����#��

$���(!"#��'!�����7�(�:��,�@��!�8������A�#���%����!�$���(!"#��,�����S�'�A�����J!���@��!�� ��������A�#���%��(��$���(!"#��A"+�!��(�����!"*��A�#3�

93 B%���������"*�� ���������$�%&�'������� �������,%&5$�'�5!���%5$��!"���(&0!��������!�3�4"A��$�%&�'� %��� !"#��(�)�'�$��$��$�����%5$��!"���$�%&�'������� ��!���@�8���J!���@�� &�!�$��$�'!�����7�2���$�����3�

Page 122: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

d3 F!"#��$�%&�'�����������'�,���$�������������A"+������������'!�����7�A�#��'�-"*�����-"@��$�������2�!������,%&5$�'�5!� ������0� "@�'!�����7�]��"#��,�������A�#�$��o�8��'%&5$���5!����0� "@�'!�����7��3�4�%5$��!"���$�%&�'������� &�!�$��$�'!�����7����-"@��$��������2���$�����3�

�g3 F!"#��$�%&�'�����������'�,���$�������������9�5�'�I��$�!����"�1���"�$������������A�#� &�!���"*��9!A1��-8�

��������-�A"+�$����!"��� �"*������������'!��� ��7�,%&5$� ���-"@��$������� D'!��� ��7� ���-"@��2��*�'�(!"#����%&�$� ���5!�9%+��!"��E3�4�%5$��!"���$�%&�'�������$�%&�'�������b���@�� &�!�$��$�'!�����7����-"@�������$�2!"/��9%+��!"��<�$���8�!��8�I����8�9��(�"3�

�]3 F!"#��$�%&�'�����������'�,���$�������������9�5�'��I��$�!����"�1���"�$�������������A�#� &�!��"*��K���"8���������-�A"+����0� "@�2"#�����0����������A�#��'�-"*�� &�!�(�#��$%��'!�����7������,%&5$����-"@��$�������2�!������,%&5$�'�5!�D'!�����7����-"@��2��*�'�(!"#����%&�$����5!�9%+��!"��E3�4�%5$��!"���$�%&�'�������$�%&�'�������U���@�� &�!�$��$�'!�����7����-"@�������$�2!"/��9%+��!"��<��!��8�I����8�9��(�"3�

��3 F!"#��$�%&�'�����������'�,���$�������������9�5�'��I��$�!����"�1���"�$����"*��I!�9��;8������A"+����0� "@�2"#�����0�����'!�����7��&������#������'�U�'!�����7����-"@��$�������2�!������,%&5$�'�5!3�!"/��9%+��!"���$�0��(��'!��� ��7� 2��*�'�(!"#�� ��%&�$���%�'�'!�0�A%0�(��'!��� ��7� ���-� $��� $���'�2!"/��9%+� �!"��3�4�%5$��!"���$�%&�'�������$�%&�'�������U���@�� &�!�$��$�'!�����7����-"@�������$�2!"/��9%+��!"��<��!��8�I����8�9��(�"3�

�^3 �����,����%�$�(��$���!���"��;�,%&5$�(!"J��9!"J��(&0!�(!"/����%�$�A��<��;^=(;=$8� &�!���8(8$�����$��$�'!�����7�A�#� �����2���$�]3���+-� !"#��$�%&�'�����������'�,���$���������1��-�K�D�8(8$8;E�A"+��.��������� ������0� "@�2"#�����0�$�0��,����%�$� &�!�$��$�'!�����7��8(8$8;�A"+�����-"@��$��������2�!��,%&5$�'�5!3�

�U3 F!"#�� $�%&�'� ������ ����'�,���$�������� �!'��T��!��'�"� �A"+���������!�'!��� ��7�2!"/�� I�����,%&5$�;"�� ����$�!"@��9��!� $�0����!� $�5���'��$� ��*�'� ����'������ ����'!��$3������A"+� ���0� "@�'!��� ��7�$�0�� � $�5�����-"@���%&�'�%��'3�

�b3 H��'��.$��$�0�������;!�����,%&5$��.���(&0!�$�*�'���%�$�� mπ�^�3�F&�!�������(����2.���$�0��;!����8�������$�!"@��9��!�$�0��;!����3�C%0�9�5�'�$�*�'���%�$���"*�� !"#������������$����"*��$-� ���A"+���������!�'!�����7�(����2.��� ���$�!"@��9��!�$�0��;!�������@!��.���������A���,������0� "@�2"#�����0�9��'��.$���%&�'�%��'3�

�P3 ����������������������������������A�#���%5$�&0�$�%+�A�#�����1�1��*����%����,%&5$���*���0���%�A��<�(�<����*��A�#�$�@������������� &�!��]��

(^<�����'�]3P� ����2"#�����0���"*��(U<���0�1��@������1�1��*��$�0��2"#�����0������&0�(%&�$�^�(b<�$�!��2"#�����+�(%&�$�b�$����]��"#�����0�&0�(%&�$�b�����'!�����7�A���2�!�����������3�F.�9�5����$�@�������������A�#�ed3Uebf^P�&0�$�%+�A�#�����1�1��*����%��U<�(�<�ed3Uebf^P�;��]Um�edUeb3f^P�(^<�edUeb3f^P=]3Pm�edUeP3�^P�(U<�edUeP�(b<edUePO�]]]�m�ed3UeP�F!"#������������$����"*������9I�A"+���������!�'!�����7W�a!�����7���%�����#��$���2!"/��9��(�"� ����'!�����7����#������������8�'!�����7���%����!�2!"/��!���$���(!"#�� 7���.�$�0��$�%+�A�#�����1�1��*�����#������������3������A"+��.�����������@!����0� "@�2"#�����0�$�0��A�#�,�+�����������3�F!"#��������$�6���������������$�%&�'���������@!�$�����%5$��!"��3���

�f3 F!"#��$�%&�'�����������'�,���$��������K���"��A"+�����������'!�����7�2!"/��I����3�����A"+����0� "@�'!�����7�1��@���'�-"*��$�0��A�#�,%&5$����-"@��$������3�

�e3 F!"#��$�%&�'�����������'�,���$��������K���"��A"+�����������'!�����7�2!"/��I����3�����A"+����0� "@�'!�����7�1��@������1�1��*��$�0��A�#�,%&5$����-"@��$������3�

�d3 F!"#��$�%&�'�����������'�,���$��������$���'"�$�������� �����A�#��"*�����"-�2!"/��!��� ���f������A�#�2���$�$�+�'�2!"/��!�����%�'�&0�9�5�'������$�!"#��$����"*�����9�"9A8�I!I�!"A8��K"��!"A8��"�A8�I! "A8���"A3������A"+�;"��;"���'!�����7����"-�,%&5$����-"@��$���������@!���-�,�/!�'!�����7�,������$��$����5!�

Page 123: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�!"*���%&�'�%��'� &�!�A�#��&��.�����#����@!�'&0!�'!�����7� ��������'�$��$������A�#�9�5�'������$�!"#���%&�'�%��'3�(�0������������2��*�'����0� "@�'!�����73���F.�9�5<��"#�����"-m�PP^�����'!�����7����0� "@�����'�$��$������A�#�9�5�'������$�!"#�����<����9�"9Am��P�I!I�!"Am���K"��!"Am]��"�Am]�I! "Am]���"Am^�������%5$��!"���$�%&�'���������"*����!"@����@��,"/�2!"/�����3�

�g3 F!"#��$�%&�'�����������'�,���$��������$���'"�$�������� �����A�#��"*�����"-�2!"/��!��� ���f������A�#�2���$�$�+�'�2!"/��!�����%�'�&0�9�5�'������$�!"#��$����"*�����9�"9A8�I!I�!"A8��K"��!"A8��"�A8�I! "A8���"A3������A"+�;"��;"���'!�����7����"-�,%&5$����-"@��$���������@!���-�,�/!�'!�����7�,������$��$����5!��!"*���%&�'�%��'� &�!�A�#��&��.�����#����@!�'&0!�'!�����7� ��������'�$��$������A�#�9�5�'������$�!"#���%&�'�%��'3�(�0������������2��*�'����0� "@�'!�����73���F.�9�5<��"#�����"-m�PP^�����'!�����7����0� "@�����'�$��$������A�#�9�5�'������$�!"#�����<����9�"9Am��P�I!I�!"Am���K"��!"Am]��"�Am]�I! "Am]���"Am^�������%5$��!"���$�%&�'���������"*����!"@����@��,"/�2!"/�����3�

^]3 ��3 ��+-��!"���2"*�$��$��&�1��%����%+�9�����$���(!"#��$�5$�(��3�(3 ��+-��!"���2"*�$��$��&�1��%����%+�9�����$���(!"#��������$�5$3�

^�3 ��+-�$���(!"#��A%5�2���$������'!%+��$��$�(!"#��$�5$�(��������$��&�1������ ���$��$�(!"#��$�5$�(��������$��&�1�A���!$�

^^3 C%5�2���$������'!%+����!������!�!��� ���!�!�^�9%&�!�,�*-�����'�<�_!�$��9"�V!�A��"��3�W�_!�$��9"�V!����!13�W� �!9���!�DE�X�� !����Y�� !���!�!��DEY�� !���!�!�^DEY�� I���D!m�Y!VmPY�==E�� � $���VVA"�KDUEVV!�!��DEY�� $���VV"�9Y�I���D!m�Y!VmPY�==E�

� � $���VVA"�KDUEVV!�!�^DEY�� �"����Y�Z�!������!��DE�X��A���!$�!���-�Am�Y�� -�A==Y�� �"�����-�AY�Z��

Page 124: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

!������!�^DE�X��A���!$�!���-�AY�-�Am�YY�

� -�A==Y�� �"�����-�AY�Z�

^U3 ����(!"#��A%5�2���$������'!%+��(!"#��������$�5$������$��&�1��A���!$� ���(!"#��������$�5$������$��&�1�";�"��3��"#�������(!"#��,%&5$�2��!�(���������$��&�1�";�"�������,��!���0!�(!"#�����-���%&�$�,���1��0!���%���"#�����3�

^b3 L"����2��!�(����A���!$�9��(�"�-"��A��$�����"/�9���'�,"/�2��!�(����(!"#��-"��A����������(!"#��$�5$�(������?$�(!"#��-"��A����������(!"#��������$�5$3���+-�$���(!"#��1��5�� 7�$�0��(!"#��-"��A�����'��%��'��&513�

^P3 ����$��$������ ���$��$�(!"#��,%&5$�2��!�(������%�("*��9%&�!3���+-�$���(!"#�� 7���.�2��!�(����(!"#��";�"���,"/�,�5��,%&5$�-"*��$�@������'���J!���%&��'��&51�A��<�

x!�"��� � x!�"�^�$�����$��!$"Y�!���I��'Y����'�9��"8��!�"Y� �!9���!�DE�X�� 3�� 3�Z�9��(�"�$��1��Y�!����1�!$"DEY�X�� 3�� 3�Z�!���-!"�9DE�X�� 3�� 3�Z�

� $����(��9�-1"Y�9��(�"������!�-Y�!�����!DEY�X�� 3�� 3�Z�!���19�$�!��DE�X�� 3�� 3�Z�!���(!9DE�X�� 3�� 3�Z�

��3 �&0�����'�1��5�� !�$�0��(!"#��$��!$"����������(���$��$����������'�I!�"�^�(3 �&0�����'�1��5�� !�$�0��(!"#��I��'�����'������19�$�!���$3 �&0�����'�1��5�� !�$�0��(!"#��9��"�����'������19�$�!��� ��������(!9�93 �&0�����'�1��5�� !�$�0��(!"#��9��"�����'��������!�"3 �&0�����'�1��5�� !�$�0��(!"#��$��1�������'��������!�I3 �&0�����'�1��5�� !�$�0��(!"#��(��9�-1"����������(���$��$����������'�I!�"���'3 �&0�����'�1��5�� !�$�0��(!"#�������!�-�����'������1�!$"� ��������-!"�93��

Page 125: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

��������?��AA�J���g��3 ��+-�$���(!"#��9����A��$��$��$�1��@���%0�A"+�!���"*������������(&0!�$��$�,��5���"����A��<��"3 I���D�m�Y�VmPY�==E�

$����VV�z�{VV\�[Y�I3 I���D�m�Y�VmPY��=m^E�

$����VV�z�{VV\�[Y�'3 I���D�mUY�Vm�]Y�==E�

$����VV(z�{VV\�[Y��3 I���D�mUY�Vm�^Y��=mUE�

$����VV�z�{VV\�[Y�!3 I���D�m^Y�V��Y��=m^E�

$����VV�z�{VV\�[Y��^3 ��3 F!"#��$�%&�'�����������1�$��$�'!�����7�A���,�*-� �����������0�'�$����"*��1�!$"<��]3gP8��f3U^8��^3�P8�

d3^^8��P3gd8�^f3^^8��U3Pb8�f3bP8��e3Pg3�C���2�!�����1�;��'�$�%&�'�������$���!��$��$�'!�����7�$�0����0�'��"*�����������3�

(3 F!"#�� ��5!�$�%&�'�������^����%�'�A���2�!�����1�;��'�����!��$��$�'!�����7��"*��������������"����J��A��<�

� �]3gP� �f3U^� �^3�P�� d3^^� �P3gd� ^f3^^�� �U3Pb� f3bP� �e3Pg�U3 F!"#��$�%&�'�������$���1�"�1�����1�d�A�#��'�-"*�� �����������0�'�$��� �"*��'��9"3�4���'�2�!�����1�

��+-�$���'�9�@��'!�����7�$�0��$��$�1��@���%0� ���������(!"#�3�C���,���!�� �"*������������$��$�'!�����7� %�������1� �����7�����'�(����$�0��$����'3�

�b3 ��3 F!"#��$�%&�'�����������1��]�A�#��'�-"*�� �����������0�'�$����"*��I��;� ���;��$�,7���'!�����7��&������#��

����'�$��$�'!�����7�,�+�����13���%&�'�������$�6�,%&5$�1�"�1�$�%�������� ���'���?13��(3 F!"#����5!�$�%&�'�������b�8���%�'�$�%&�'�������1��0!�;��$�,7���$�0� 7���.�$�0��1��@���%0�$���'!�����7��&���

���#�3�C���2�!���0�'�,�+�����1�;��'8�$�%&�'�������A"+�!���"*�����������<�a!�����7��&������#�����<�TTTTTT�B�*-�����1��@���%0���%�TTTTTTTTT����'���0�'3�

P3 ��3 F!"#��$�%&�'�������$���1�"�1�����1�$��$��A�#��'�-"*��9%&�!�,�*-� �����������0�'�$����"*��'��9"<�dg8�

gP8�e^8�dU8�gg8�Pb8�df8�eP8�g^8�eU8�eg8�eP8�d^8�eU�4���'�2�!�����1���+-�$���'�9�@��'!�����7�$�0��$��$�1��@���%0� ���������(!"#�3�C���,���$��$�'!�����7�,�+�����1�;��'� ���,�+�$���'!�����7���/�'�$�0����0�'8���+-��.�����7�����'�(����$�0����0�'8���@!��9���'���7�����'�(�������-�,"/��.���,����"�$��$�0����J!�1��@���%0�$�������'���0�'�A�� &�!���7�����'�(���3�L%��$��$�'!�����7�,����"�$���.���,%&5$� �����������0�'�$����"*��9" !��!��3�B����"�$��,%&5$��.�����"��$�*�'���%�$<�9" !��!��z!{m�'��9"z!{M�� "�'��"3���%&�'���������+-�!���"*������������2"#�����0���"����J��A��<�

��� ���@���%0� B!"/�� �B���� ����%�� � L"�$��� TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT�� ����

Page 126: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

�� � �f3 F!"#��$�%&�'�����������'�,���2��!�(����U���0�'������$�!"@�<�1�!$"8�������8� ��������3���J!���0�'�$�����"/��%���%&�!�1��@���%03�H���'� ���'���?1�I���,"/�����1�'!�����7�$�����0�'�1�!$"� ���������8�'!�����7�$�0����0�'�������A"+�,%&5$�;��$�,7����'�-�A�����J!� ��@������1�;��'�'!��� ��7�$��������1��@�� �%0�$�0����0�'�1�!$"� ��������3�F&�!������z!{m1�!$"z!{N������z!{3�C���2�!�$��$���0�'�,�+�$���'!�����7���+-�!��9%+��!"����"*��������������"����J��

�� ��!$"� ������� 4������ TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT��e3 ����9���'�2��!�(����9%&�!�,�*-�,"/���5����0�'�'��9"A�2�!�$�%&�'�������,%&5$���%5$��!"��<�

$��A��!����y�as�H�CmP]]Y�9��(�"�'��9"Az�y�as�H�C{Y�H%5�� ����2��!�(������"*����+-� !"#��9���'��!"*��,"@�D��"����!�$��$�E�$���������$����"*��A�������-�A"+���������0�'�'��9"A����-"@��$�������2�!�,%&5$�'�5!����*�'����������A�#�!�����-� ��������2��*�'����0� "@�'!�����73��

d3 F!"#�� $�%&�'� ���������� ����'��������!�� $���2��!� (�����������0�'� !��T����-� $��� ��"/� $�%����]� �A�#��'�-"*�3���

��%&�'�������$��������!�1���9���'�,"/�����1�'!�����7�$�����0�'�!��T����-8���������1���,"/�;��#��'!�����7�$�0����0�'�!��T����-��"*�����������8������A��T����-����0� "@�2"#�����0���/�'�'!�����7�$�0��$��$�1��@���%0�����'���0�'�!��T����-8������A���T����-�,"/�A�:1�;"#1�'!�����7�$�0����0�'���!��T����-���"����%���%5�'!�0��9�@�3�

���$��������"*��,%&5$�'�5!���%5$��!"���(&0!��������!��,"/�����18�A�:1�;"#18�!��'!�����7�$�0��!��T����-� ���A���,���!����/�'�$�0����0�'��"*�����������3�

�g3 F!"#�� $�%&�'� ������ ����'�,��� 2��!� (���� U���0�'������ $�!"@�<� 1�!$"8� ������8� ��� �����3� ���$���0�'�,%&5$�2��!� (���� ����'��������!����J!���0�'�$��� ��"/� �%���%&�!�1��@�� �%0�A�#� ��%5$�2!"/�� I����3�4���'�$�%&�'���������+-�;�*-�9%5�'������!�1��T���8����1��T���� ���$��T�����8������!�1��T���8� ������1��T����9���'�������18�!��'!�����7�$���U���0�'���"*��D��J!���@��'�5!������!�1��T��������A"+�����1�'!�����7�$�����0�'�,%&5$����-"@��$������8�$���������!�1��T��������!��'!�����7�$�0����0�'����-"@��$������E3�������$��T������A"+�������(����0�'����-"@��$����������*�'�����$��$������A�#�1�����&51�2�!������,%&5$�'�5!3�H%5�� ����'!�����7�$�0��$��$���0�'�1�!$"� ����������������A"+��.���'!���$�����0�'������� &�!������z!{m1�!$"z!{N������z!{3�

���$��������"*��,%&5$�'�5!���%5$��!"���(&0!��������!��,"/�����1�'!�����7�$�0����0�'�1�!$"8�������8��.���������'!�����7�$�0����0�'������� ���A���,���!���'!�����7�$�0��U���0�'���"*���"*�����������3�

��]3 F!"#��$�%&�'�����������'�,���$���2��!�(����U����0�'���!�$�!"@��P;P�$����"*���8(8�������%��$��$�'!�����7�A�#��'�-"*�3����$���0�'��,%&5$�2��!�(��������'��������!�3���%&�'�������$���1�"�1�����1��!��'!�����7�$�0����0�'��� ���(8�A���,���;��$�,7���'!�����7�$�0����0�'���������"��$�*�'���%�$<�

������z!{zR{m�z!{zR{=(z!{zR{Y�C���,���!��'!�����7�$�0����0�'��������"*�����������3�F!"�$�����1�'!�����7�$���$��$���0�'��8(�,%&5$���%5$��!"���(&0!������!�1��3�F!"�$�;��#��'!�����7�$�0��$��$���0�'����8�(8�������,%&5$���%5$��!"���(&0!���������1��3�F!"�$�;��$�,7���'!�����7�$�0����0�'�������,%&5$���%5$��!"���(&0!������A��T�(����$���������-�,%&5$�'�5!���%5$��!"���(&0!��������!�3���3 F!"#��$�%&�'�������$���1�"�1���5��'!�����7��'�J����!"���$����������0�'���!�$�!"@���D�;�E$���'!�����7��%��

�]��]]3�C���,�����%5$��!"���$��$�$�*�'� !"�$�A��<�

Page 127: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� �������� �

=�B"#������'���0�'�$���(�����!"*��'!�����7�$��o�3�=�B"#������'���0�'�$���(�����!"*��'!�����7��"03�=�4.�����/�'�$��$�'!�����7�����'���0�'3�=�4.�����/�'�'!�����7���"*���%��'�$���3�=�4.�����/�'�'!�����7���"*���%��'�9���'3�

3�F!"�$���5��'!�����7�$�����0�'���,%&5$���%5$��!"���(&0!������!1���3�B"#��$��$�'!�����7�$��o��$�0����0�'���%5$��!"���(&0!������$����T" "�3������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'������-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3���������0� "@�A�#�1��@���%0�$���'!�����7�$��o��,"#��,%&5$3��3�B"#��$��$�'!�����7��"0�$�0����0�'���%5$��!"���(&0!������$����T�993������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'��� ���-"@��$�������2�!�,%&5$�'�5!� ��%5$��!"��3������ ���0� "@�A�#�1��@�� �%0�$���'!��� ��7� �"0�,"#��,%&5$3�3�4.�����/�'�$��$�'!�����7�����'���0�'���%5$��!"���(&0!������A��3������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'������-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3���������0���/�'�'!�����7�$�0����0�'��.���,%&5$3�3�B"/��.�����/�'�'!�����7���"*���%��'�$������+-� !"#������������A��T$���,"/��.�����/�'�'!�����7�$�0�������$����3������1��0!�$��������A�#�,"/���������0�'��� ��������A�#�,"/�������'!�����7�$���(!"#��$����$�@���.�����/�'3���������0� "@�'!�����7���/�'�'!�����7�$�0��$���3���������-�A"+�,%&5$�'�5!�����@��,"/��.�����/�'�$�����$���3�3�4%&�'��%5�$��� !"�$��.�����/�'���"*��$��$�9���'���+-� !"#�������A��T���3���^3 C%0�9�5�'���0�'���!�$�!"@��,"/��%����%+���%+�'�A�#��!"���9�����������J!������'�$�0��$��$�,�5!��-��,%&5$�$���

��%�A��<������4����'�B�5!��-�� �� E� V� Z� c� f�

�� ^]]� ^]]� P]� f]� �]]� �^]�E� �]]� ^U]� b]]� b]]� ^f]� PU]�V� �P]� �b]� ^U]� ^]]� �b]� �b^�Z� fb]� �P]� f]]� �^U� ^U]� ^f��c� P]]� Ub]� �P]� P]]� bP]� bU^�

� � C���2�!�,�+�����1�;��'�����!���"*������������(����$������"����J����"*�3�����"*��������������@�'�9���������$�0���%��'�,�5!��-�� �����/�'�����$�0��$��$�,�5!��-������'��%��'������'���"����J��A��<�

�����

4Q��a�HQ����4�y��y�������B����L��4sQ�a�f�4���a�

<%=>��?@� A+BCD�E+%C��A�F�� G9/�� HHHHHHH�9� HHHHHHH�1� HHHHHHH�I� HHHHHHH�

Page 128: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

4Q��a�HQ����4�y�����a�4���a����U3 ���������'���!�$�!"@���;��$�%���$��$�'!�����7�A�#�,%&5$�;"����%����������������;�3��������������

�D�;�E8�����������D�;�E�,%&5$�'�5!�����$��-"/�� 7�$�0��������������"#�������������$���,�?$�,!"/�<����$�1��@���%0���"*��$����!�$�0������������D�.�����"��$!"@���%����"*��;��#�'E��$���'!�����7�(�)�'� &�!�$��$�1��@���%0���"*��9���'�!�$�0�������������D�.�����"��$�!"@���%������!�����1��0!E3�F.�9�5<�����������DU;bE�$���'!�����7�<�

�����������������������������������������������������������$��-"/�� 7�������������������������������������������������$�0����������Db;UE�$����

������������������������������������������������'!�����7<��������+-� !"#��$�%&�'���������5��'!�����7��'�/����!"*��������������$���P�9���'�f�$���3�C���,���9%5�� ����'!�����7�$��0������������,"/���5����7�'!������������$��-"/�� 7��Df;PE3���$��$�����������"*�����������3���

3 2 1 6

4 7 8 9

5 12 11 10

3 4 5

2 7 12

1 8 11

6 9 10

A�%@CD� A+BCD�E+%C��A�F�� IJ/�� HHHHHHH�9� HHHHHHH�1� HHHHHHH�I� HHHHHHH�K� �

Page 129: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

��������?��AA�J���i��3 ��+-�$���(!"#���"#��� "�'��"����������(!"#������r� "�'��"�$����'�G������'�3�^3 ����$��$�(!"#�� ���������!�����5��("*��9%&�!���+-�;��$�,7���'!�����7�$�0��$��$�(!"/����%�$<�r�"�18�r9!A�8�r9��"8�r�!�"A<�

��99�"AA"A� �fdg^� �fdgU� �fdgb� �fdgP� �fdgf� �fdge� �fdgd� �fdgg���

� � � � � � � �

����

�99�"AA"A� �fg]]� �fg]�� �fg]^� �fg]U� �fg]b� �fg]P� �fg]f� �fg]e���

� � � � � � � �

����

�99�"AA"A� �fg]d� �fg]g� �fg�]� �fg��� �fg�^� �fg�U� �fg�b� �fg�P���

� � � � � � � �

���U3 �

F!"#��$�%&�'�����������'�,���(���'�@��$��$�9���'�2��!�(����(!"#��("*��9%&�!8�A���,���9���'�$����,"/�!��,7��$�6�$�0��$��$(!"#���%&�'�%��'��"*�������������

!������8�$����Y����'��9��"Y�I�����-!"�9Y�9��(�"�1�!$"Y�4�"*�� ����$�%&�'���������"*��$��$��"����1�����&51�,"/��!"�����7�A�#�(-�"�9�����$�����J!�(!"#�3�C���2�!���%5$��!"���$�%&�'������� ���9%5�� ����$��$������&0�(��!�����+-� "+�������!�����5�� ���'���&��

9�����$���$��$�(!"#��$�������'�$�%&�'��������b3 �"#�������(!"#��,%&5$�2��!�(��������$������08�����$��!�'��$�����"/��%������'�(!"#�����-3<�P3 ��+-�$���(!"#��'!�����7��%������'���J!�(!"#��,%&5$�2��!�(����A���,�*-<���3 $����N2"-Y�(3 !���N�Y�$3 9��(�"�N�99��

93 ���'�N1��Y�"3 I�����N1Y�I3 !���N1�9��"Y�

f3 ���$�(!"#��,%&5$�2��!�(����9%&�!�,�*-8�(!"#�����������$������0<��3 ���'��Y�(3 !���N�Y�$3 $����N$Y�93 !���;Y�

"3 !���N�Y�I3 I�����N2Y�'3 I������Y��3 9��(�"�NcY�

e3 �����$��$�2��!�(����A��<�!���N;1�8�N-�99�Y����'�N9��99�8�N1��99�Y�9��(�"�N1�cY�

temp dist

miles

Page 130: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

!����Y����'�(Y�9��(�"�$Y�

H%5�� ����$��$�2��!�(������"*����+-�;��$�,7���$��$��"���������9%&�!�,�*-������&51��"�<��3 -�99�mr�Y�(3 -�99�mr(Y�$3 -�99�mr$Y�93 -�99�m�Y�"3 -�99�m(Y�I3 -�99�m$Y�'3 9��99�mr�Y�

�3 9��99�mr(Y�!3 9��99�mr$Y�R3 9��99�m�Y�23 9��99�m(Y��3 9��99�m$Y��3 1�cmr�Y��3 1��99�mr(Y�

�3 1��99�mr$Y�13 1��99�m�Y��3 1��99�m(Y��3 1��99�m$Y�A3 -�99�m;1�Y��3 -�99�m9��99�Y��3 -�99�m1��99�Y�

�d3 ����$��$�(!"#�� ���$��$�,7��$�6��!�����5������'������("*��9%&�!3���+-�,!"@��$��$�'!�����7���.$���&51� ����$��$��*���&�3�

�3 1����m�r�Y�(3 ����99�m�r���Y�$3 Nc�99�m^PY�93 2mN����99�Y�

"3 1�9�-mc�99�Y�I3 N1�-�m�gdeY�'3 ����99�mP��3 1����m�]�

� �4"*��(!"#�<�B7��$�6<�

1�����cdd�

� 4"*��(!"#�<�B7��$�6<�

����99��cfZ�

� � � � �4"*��(!"#�<�B7��$�6<�

c�99��idEZ�

� 4"*��(!"#�<�B7��$�6<�

������9��d�VE�

� EdZjE� � � �ijVi�4"*��(!"#�<�B7��$�6<�

1�9�-��ZifE�

� 4"*��(!"#�<�B7��$�6<�

1�-���cd�d�

� � � � fjZ�4"*��(!"#�<�B7��$�6<�

-"��A�fjZ�

� 4"*��(!"#�<�B7��$�6<�

��idjf�

� � � � �4"*��(!"#�<�B7��$�6<�

�����fEcf�

� 4"*��(!"#�<�B7��$�6<�

I!�A������ijVi�

� � � � �cZ�4"*��(!"#�<�B7��$�6<�

(����$"�EdZjE�

� 4"*��(!"#�<�B7��$�6<�

2�EZfdi�

� � � � �g3 F!"#��$�%&�'�����������'�,���9���'��������%0�A!c"�I�9"/�!�� �"*������������A�#�(-�"��������-��.���$�0��(�5��9���'�,"/��%���,7��$�6�$�0�������A�#�2!"/��!��8�$���8�9��(�"8�I����3���

C���2�!���%5$��!"���$�%&�'�������(�5��A"+�������,%&5$�$��$�2"#�����0���"*�����������3���+-�'!��!���.$����5!�A���2.$����%&�$�$�0��$��$�2!"/��9%+��!"�����"*��2���$��������%�'�A�#�(-�"�,"/��%��,7��$�6�$�0��$����'�(�)�'�����3�

��]3 4��-�$��$��"�������-�;��#����0�'�,%&5$�$���("*��9%&�!��(�)�'�$��$��A%0�9�5�'�$������0<��3 1�!$"AzP{�(3 '��9"Az{�$3 -!"�9z�]{�

I3 �"�1z]{�'3 $"�A!�Az�f{��3 ���zP]{�

Page 131: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

93 9!A�zg{�"3 �!�"z]{�

!3 �!�"z�^{�R3 9�-z]{�

���3 4��-�$��$��"�������-�;��#����0�'�,%&5$�$���("*��9%&�!��(�)�'�$��$��A%0�9�5�'�$�6�A�#3��!"#��$��$��"*��

,%&5$�A%0�9�5�'�����'�$��$�(!"/����%�$�("*��9%&�!������"*��$�0����0�'3��3 ND�"AA�'"=fE�(3 N�������$3 ND���"=�PE�

93 ND-�A=�]E�"3 NDA��$2A=^E�I3 ND$�9"=�gE�

�^3 F!"#��$�%&�'�����������'�,���2��!�(�����������0�'�,"/�$�%���$��$�'!�����7�A��<��^3g8��d3f8���3b8��U3P8�g3P8��P3^8��e3f�A���,���!��'!�����7�$��$�1��@���%0�����'���0�'��"*������������(�)�'�$��$��A%0�9�5�'�$������03�

�U3 F!"#�� $�%&�'� ���������� ����'� �������!�� $��� 2��!� (�����������0�'� !��T����-� $��� ��"/� $�%��� �]� �A�#��'�-"*�3�

��%&�'�������$��������!�1���9���'�,"/�����1�'!�����7�$�����0�'�!��T����-8���������1���,"/�;��#��'!�����7�$�0����0�'�!��T����-��"*�����������8������A��T����-����0� "@�2"#�����0���/�'�'!�����7�$�0��$��$�1��@���%0�����'���0�'�!��T����-8������A���T����-�,"/�A�:1�;"#1�'!�����7�$�0����0�'���!��T����-���"����%���%5�'!�0��9�@�3����$��������"*��,%&5$�'�5!���%5$��!"���(&0!��������!��,"/�����18�A�:1�;"#18�!��'!�����7�$�0��!��T����-� ���A���,���!����/�'�$�0����0�'��"*�����������3�L%��-�<���%&�'�������A"+�9���'�$������0�,"/����-�;��#��,"#��$��$�1��@���%0�����'���0�'�

�b3 F!"#��$�%&�'�����������'�,���2��!�(����U���0�'������$�!"@�<�1�!$"8�������8� ��������3����$���0�'�,%&5$�2��!�(��������'��������!����J!���0�'�$�����"/��%���%&�!�1��@���%0�A�#���%5$�2!"/��I����3�4���'�$�%&�'���������+-�;�*-�9%5�'������!�1��T���8����1��T���� ���$��T�����8������!�1��T���8� ������1��T����9���'�������18�!��'!�����7�$���U���0�'���"*��D��J!���@��'�5!������!�1��T��������A"+�����1�'!�����7�$�����0�'�,%&5$����-"@��$������8�$��������� !�1��T���� ���� !��'!��� ��7�$�0����0�'� ���-"@��$������E3� ������$��T������A"+�������(����0�'����-"@��$����������*�'�����$��$������A�#�1�����&51�2�!������,%&5$�'�5!3�H%5�� ����'!�����7� $�0�� $��$� ��0�'� 1�!$"8� � ������� � ����� A"+� �.��� '!��� $��� ��0�'� ������ &�!� ND�����=�!EewD1�!$"=!E=ND������=!E�

����$��������"*��,%&5$�'�5!���%5$��!"���(&0!��������!��,"/�����1�'!�����7�$�0����0�'�1�!$"8�������8��.���������'!�����7�$�0����0�'������� ���A���,���!���'!�����7�$�0��U���0�'���"*���"*�����������3�

L%��-�<���%&�'�������A"+�9���'�$������0�,"/����-�;��#��,"#��$��$�1��@���%0�����'���0�'���P3 F!"#��$�%&�'�����������'�,���$���2��!�(����U����0�'���!�$�!"@��P;P�$����"*���8(8�������%��$��$�'!�����7�A�#�

�'�-"*�3����$���0�'��,%&5$�2��!�(��������'��������!�3���%&�'�������$���1�"�1�����1��!��'!�����7�$�0����0�'��� ���(8�A���,���;��$�,7���'!�����7�$�0����0�'���������"��$�*�'���%�$<������z!{zR{m�z!{zR{=(z!{zR{Y�C���,���!��'!�����7�$�0����0�'��������"*�����������3�F!"�$�����1�'!�����7�$���$��$���0�'��8(�,%&5$���%5$��!"���(&0!������!�1��3�F!"�$�;��#��'!�����7�$�0��$��$���0�'����8�(8�������,%&5$���%5$��!"���(&0!���������1��3�F!"�$�;��$�,7���'!�����7�$�0����0�'�������,%&5$���%5$��!"���(&0!������A��T�(����$���������-�,%&5$�'�5!���%5$��!"���(&0!��������!�3�L%��-�<���%&�'�������A"+�9���'�$������0�,"/����-�;��#��,"#��$��$�1��@���%0�����'���0�'�

�f3 F!"#��$�%&�'�������$���1�"�1���5��'!�����7��'�J����!"���$����������0�'���!�$�!"@���D�;�E$���'!�����7��%���]��]]3�C���,�����%5$��!"���$��$�$�*�'� !"�$�A��<�

�=�B"#������'���0�'�$���(�����!"*��'!�����7�$��o�3�=�B"#������'���0�'�$���(�����!"*��'!�����7��"03�

Page 132: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

=�4.�����/�'�$��$�'!�����7�����'���0�'3�=�C�:1�;"#1���0�'�5�'!�0��9�@����"��$�!"@���%������!�����1��0!� �����%����"*��;��#�'3�

3�F!"�$���5��'!�����7�$�����0�'���,%&5$���%5$��!"���(&0!������!1���3�B"#��$��$�'!�����7�$��o��$�0����0�'���%5$��!"���(&0!������$����T" "�3������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'������-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3���������0� "@�A�#�1��@���%0�$���'!�����7�$��o��,"#��,%&5$3��3�B"#��$��$�'!�����7��"0�$�0����0�'���%5$��!"���(&0!������$����T�993������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'��� ���-"@��$�������2�!�,%&5$�'�5!� ��%5$��!"��3������ ���0� "@�A�#�1��@�� �%0�$���'!��� ��7� �"0�,"#��,%&5$3�3�4.�����/�'�$��$�'!�����7�����'���0�'���%5$��!"���(&0!������A��3������1��0!�$���$��$������A�#�1�����&51�,"/���������0�'������-"@��$�������2�!�,%&5$�'�5!���%5$��!"��3���������0���/�'�'!�����7�$�0����0�'��.���,%&5$3�L%��-�<���%&�'�������A"+�9���'�$������0�,"/����-�;��#��,"#��$��$�1��@���%0�����'���0�'���������?��AA�J���j��3 F!"#��$�%&�'�����������'�,���!���"*������������$��$��'�-"*���*��$�������'������$���/!�,%&5$�����1��%��(����1�.�3�F!"�$�!��$��$��'�-"*���*��,%&5$���%5$��!"���(&0!����������3���������-�,%&5$�'�5!�(&0!��������!�3���

^3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�����������,"#��A�#�2-���%5�A�#�$�������'������$���/!�,%&5$�����1��%��(����1�.�3���������-�,%&5$�'�5!�(&0!��������!�3��

U3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�����������!����+��A$!!�$�0��$��$�2-���%5�$�������'������$���/!�&0��"������1���5$�1��*�3�����/!�,%&5$�����1��%��(����1�.�3���������-�,%&5$�'�5!�(&0!��������!�3�

b3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�����������!��$��$��%��$�0�������$���/!��"*�����������8���J!��%����"*�������9���'8�'!�0�A%0�'!%+����!��%�����������2���0�'����:�'3�����/!�,%&5$�����1��%��(����1�.�3���������-�,%&5$�'�5!�(&0!��������!�3�

P3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�����������$���2"#�����0����0� "@����������$���/!�$������!�9��'�,�0���'%&5$� &�!����!�9��'�$�0���$���/!���������������,%&5$�����*�'����������A�#�2�!�,%&5$�'�5!���%5$��!"��3���������-�,%&5$�'�5!�(&0!��������!�3�

f3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'������$����"*��9"�T$����$�����"/�;����,%&5$�$��$�2-���%5�����'������$���/!3������$���U������A�#<������A�#���%�����#��A"+�������$���/!�$�@��;���8������A�#���%����!������������A�#��'�-"*��$���(!"#��A�#�2-���%5����#��;���� ��������A�#���%��(��A"+�������A�#��'�-"*��$���(!"#�� 7���.�$�@��;���3�

e3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�(��������- �������%�����#��$���$�*�'�9�5�'�$�:��(�0�$��$�2���0�'����:�'�&��,�@�������$���/!����-"@��$�������- �������%����!�$���$�*�'�9�5�'�$�:��(�0�$��$�2���0�'����:�'��&0�$��#!������$���/!����-"@��$�������- ����� ��%��(��$���$�*�'�9�5�'�$�:��(�0�$��$�2���0�'� ��%���'!%+����!� �%�� D'!%0����!� �%��$�!�$��������

2���0�'����:�'8�$��$�2���0�'����:�'�$������5!�����2���0�'����:�'���%��E�����'������$���/!����-"@��$�������

d3 F!"#�� $�%&�'� ������ ����'�,���;�*-�9%5�'������$��� �"*���99T$���� $��� ��"/�$�"�������� 2-�� �%5� ���������$���/!3������$���U������A�#<������A�#���%�����#��A"+�������$���/!�$�@��$�@��$�"��8������A�#���%����!�������2-���%5�A"+�$�"��� ����$���/!� ��������A�#���%��(��A"+�������A�#��'�-"*��$���(!"#�� 7���.�$�"���2-���%53�

g3 F!"#��$�%&�'�����������'�,���;�*-�9%5�'�����������$���2"#�����0����0� "@�����A�#��%��$�������'������$���/!�'!�0�A%0�'!%0����!��%�����������2���0�'����:�'3���������-�,%&5$�'�5!�(&0!��������!�3�

�]3 ��+-�;��$�,7���'!�����7�$�0��N�";�8�ND�";�=UE� ���ND�";�=�]E8�'!�0�A%0��";�������������0�'�2-���%5� ����'!�����7�$�0����0�'�,%&5$�$�����%�A��<��3 [4��!�'!������ ��'���-�(�$`]\�(3 [���������9��$�9����!"1�(��`]\�$3 [���$�(���$������2-��'�!����� !`]\�93 [4����'����(!�����`]\�

Page 133: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

����3 ������!������,%&5$� !"#����%�A��<� �!9��$�� "��D$����A��z{E�X� !���m]Y�� K�!�"�DA��z!{�qm�h`]iE�X� A��z!{m�11"�DA��z!{EY�� !==�Z��"����Y�

Z��$�������11"�D$������"��"�E�X� !I�D�"��"�Wmi�i�rr��"��"�VmiciE�� �"�����D�"��"�MU^EY�� "�A"�� �"������"��"�Y�Z���+-�$���(!"#����J!��������"*��$���$�*�'�9�5�'�'�3���+-� !"#����5!������$�� "���(�)�'�$��$��A%0�9�5�'�$������0�D�'�G�����������$�� "���$����!"*��,"@���%�A��<� �!9�$�� "��D$����NA�E3�F!"#��������������$�%&�'�������������$�6�����@!�$�����%5$��!"�����%03���^3 F!"#��$�%&�'�����������'�,���$���������"�� "D$����A��z{8�$����$�E3������$���$�*�'�9�5�'�;������#��$�0�

$��$�2-���%5�$��$�������'�$���/!�A��3��U3 F!"#����5!�(��!�U� &�!�-"*��$�@��������"�� "�A%0�9�5�'�$������03��b3 F!"#��$�%&�'�����������'�,���$���������11"�9�$���1�"�1���"*�������2-���%5� ����$��#!������$���/!3�L%��-��

$��#!�$���/!�����2-���%5�h`]i�9��,���$�*�'� !"�$�$�0����0��1��0!����������,%��2-���%5��&�!� ���� 7���.�$�0��2-���%5�h`]i8�A���,���A"+�$�"���2-���%5�h`]i� ����$��#!�$���/!��&�!3������$�����!������A�#8�����������A�#�2!"/��$������0�$���/!� ��������A�#�$������5!�2!"/��2-���%53��

�P3 F!"#��$�%&�'� ������ ����'�,���$��������9"�$����$���1�"�1�;���������2-�� �%5�&0�$��#!������$���/!� D2-�� �%5���%&�$�2-���%5�h`]iE3������$������������A�#�2!"/��$������0�$���/!3��

�f3 �"#��$��$������ !"#������'�$��$�$�%&�'������������$�(��!��88U8b8P8f8e�$�0��1��@�������,%&5$� !"#����"��$��$��A%0�9�5�'��"*����+�'�������+-� !"#����5!�$��$�(��!����-�(�)�'�$��$��A%0�9�5�'�$������03�

Page 134: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

�������������?���F�����?��H%&�!�,�*-�����ff�(��!����1���%5$������3����$�(�5��1��0!��%5�'!�0!�$��$�(��!����1����-���%5$��!"#1���"*�����-��.��� &�!����&�!�'!����������J!�(��!�����bP�1�����DbPiE3�� 2,��>������1� ����b�A�#��8�(8�$8�9��'�-"*��9%&�'�2���$�����3���+-�!�����������������!�A�#�2��*�'�1��0!�����A�#��&������#�� ���A�#����0����#�3��"*��$�@��2��*�'�A%0�9�5�'���0�'�9%+��!"�������'�$�%&�'������3�� 2,�E>������1� ����U�A�#��'�-"*��9%&�'��8�(8�$�D2���$�����E3���+-�!���������������U�A�#���"*����"����%���%5���S�'�9�@��D$�%&�'�������$�6�,%&5$�9���'���"*����#!�,����!�(!"#��$���2!"/������A�#��'�-"*�8�2��*�'�A%0�9�5�'�(!"#��2!"/����0�'E3�!"/������U�A�#�,���$������1������������'!��$���-�2��*�'v��"#��$�������;��$�,7������5!�����'!��$�D1��*��(!"����������$��$����5!<�,"@�8� ��*�'8� ��*�'�$�*�8�$�*�8���%&��'E3�

� 2,�V>��F!"#��$�%&�'�����������1� ���������A�#��'�-"*��9%&�'��� �����%5$��!"���$��$�$�*�'� !"�$�A��<���� !"/��������$���1��0!�����A�#��'�-"*����#�2��*�'v���� �"#����2��*�'�1��0!�����A�#��'�-"*����#�����;��$�,7���A�#��'�-"*����#�'�@�������#�� ���("���&���3�� 2,�Z>��F!"#��$�%&�'�����������1� �����'��-8������'8���S�<�

D�E���!"/�������.����&51��"��$�0��A�#��!"�������1� ���3�����(!"#����S�����-�$���1��0!�������S���������2��*�'v�D(E�������1� �����'��-8������'8���S���.���2���0�'�$��$��'!%+���'��-������'���S�� %�������1� &�!��'��-��O��$�0��$���'���S�3�� 2,�c>��F!"#��$�%&�'�����������1� ����A�#��'�-"*���� �����%5$��!"��<����p��#�����������������A�#�,�@���!"*��$�0��$���J!�x!(���$!D$�����!�'!�����7�,�@�������� ����E�� 2,�f>��F!"#��$�%&�'�����������1�^�'!&��D'!&��$���(�)�'������$���J!�2-���%5�9�5�'<���<��<AAE���%5$��!"���$�*�'� !"�$�A��<�D�E���!"/�������.����&51��"��$�0��^�'!&��,�+�����1� ���3�D(E���p��#��2"#�����0�$�0�� !"�$��.���h=i� ���hMh�$�0��^�'!&�����-3�� 2,�g>�������+-�����1�A�#��'�-"*��9%&�'�$����������0�'���!�$�!"@����9���'� �����$���3�����(!"#����0�'�,���$�%���(�����!"*��A�#�$��<�(��$�%+�A�#8���!�$�%+�A�#� ��������$�%+�A�#3�� 2,�i>����F!"#��$�%&�'�����������1� ������������� ��*�'��z�{z�{3�D�E�����+-�,"#��A�#�1��@���%0�$���'!�����7��&������#��D��;E� ������0����#��D�!�E�����'�������������,�@�'���&�!���+-�;��#���������������$��$� 7���.�D!8RE� &�!��D!8RE�m���;8����?$��D!8REm�!�3�D(E���4���'��������������+-����-���"#�'!�����7�$�0��$��$�1��@���%0�$���'!�����7�(�)�'���;����?$�(�)�'��!��(�)�'�����'�(����$���'�$�0����;� ����!��� 2,�j>��F!"#��$�%&�'�����������1� ���������A�#��'�-"*��9%&�'��3�D�E�����+-�!�����������������#��$�0�$��$�%&�$�A�#�$�0�����3�D(E�������(!"#��A�#���$���(�����!"*��%&�$�A�#8� �����+-��.�����/�'�$�0����#��$�0�$��$�%&�$�A�#�,��3�� 2,��d>�������D�E�������1�A�#��'�-"*��9%&�'��� ��� !"#��������.���'!�����7�$�0�<�

��m��ODD�M^END�M�EN�E�D(E���4.�����/�'�9�+-�A�#�A��<�

C�m��OD�N^NUE�M�OD^NUNbE�=��ODUNbNPEw�����������������'!�����7�$�0��C3�

� 2,���>�����F!"#��������.���'!�!���%���$�0�������A�#��'�-"*����(�)�'�1�%&�'�1���1�,"����!3�D�E���F!"#��������.���;��8�;�2!"/��A�#���%5$8�������A�#��'�-"*��9%&�'3�D(E���C%0�9�5�'�$��$���������!���"*�� ���$��$������$�@����!"#��2���$�,"/��.�����/�'�A���(�)�'�1�%&�'�1���1�,"����!3�

Cm;�>�;UOUq=;POPqMw=DM�E�=�N;^�M�OD^�M�Eq�F&�!�;8������1��%��(����1�.�8�;�����A�#���%5$8���A�#��'�-"*��9%&�'3�

� 2,��E>�������D�E���F!"#��������.���;�3�

Page 135: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

D(E���F!"#��������.����q���"��1�%&�'�1���1�,"����!3�D$E����H���'��������"*��,"/��.��<�C�m�;O�q�=�;UOUq�=�;POPq�=w�F&�!�;8���,%&5$�����1� �����%��(����1�.�8�;�����A�#���%5$8�������A�#��'�-"*��9%&�'3�� 2,��V>�����F!"#��$�%&�'���������"��9�5�'���%5$�,&��,&��'!�0�8�$���1�"�1��'%&�!�9���'���%5$��!"���$��$���������$�A��<�D�E�������1� ������S��9%&�'��7$�8�,�/!�A��'���S���*���7$�3�D(E�������1� ������S���*���7$�8�,�/!�A��'���S��9%&�'��7$�3�D$E��������1� �����'��-������'���S�8�,�/!�����'��-�����'���S�3�D9E������1� �����'��-�����'���S�8�,�/!�����'��-���%����#-�$�0�������'�����3�� 2,��Z>�����F!"#��$�%&�'�����������1� ����A�#��'�-"*���3�������$��$�%&�$�A�#�$������&������#��$�0���3�� 2,��c>�����F!"#��$�%&�'�������!�����$��$�(����'�!"���D;8-8cE�$�0��1�%&�'������<�U;=P-�=ec�m��UP8� &�!�;8-8cWm]3�� 2,��f>�����F!"#��$�%&�'�����������1� ���������A�#��'�-"*��9%&�'��3���+-�!�������/�'���#��$�0�$��$�%&�$�A�#�$�0������ ���$���(!"#��$���(�����!"*��%&�$�A�#3�

F.�9�5<���m��^�mW�C�m��=^=U=b=f=�^�m�^d3�����f�%&�$�A�#3�� 2,��g>�����F!"#��$�%&�'�����������1� ����A�#����'�-"*��9%&�'3���+-�,�/!��������A�#���7�1��*���%&�'�%��'� ���!��������������3�� 2,��i>�����F!"#��$�%&�'���������%5$��!"���$��$�$�*�'� !"�$�A��<�D�E�������1� ���������A�#��'�-"*��$���U�$�%+�A�#8�;��#���������������$���J!�$�0�� !"�$�,�5$�A�#����-3�D(E�������1� ���������A�#��'�-"*����$���'!�����7����0��&����]]]�]]]8�;��#���������������$���J!�$�0�� !"�$�,�5$�A�#����-3�� 2,��j>�����F!"#��$�%&�'���������%5$��!"��� !"�$�����1� ���������$���J!�(!"/����%�$�A�#���5$�'�@��$��$�1�"�1�������=8M8N8O� �����%5$��!"���$��$�$�*�'� !"�$�A��<��D�E�������(!"#��$���(�����!"*���������%0�D=8M8N8OE���"*��$���J!�,��3�D(E���a!�0���!"#������'�(!"/����%�$�$�6�$���������������%03�4�%5$��!"��� !"�$��.���2"#�����0�$�0��(!"/����%�$����-� ���!��2"#�����0�������������3�� 2,�Ed>�����F!"#��$�%&�'���������%5$��!"��� !"�$�����1� ���������$���J!� �����%5$��!"���$��$�$�*�'� !"�$�A��<�D�E���B"#��A�#�2-���%5�2���0�'����:�'�$�������'�$���J!3�D(E�����0�$��$�2-���%5�2���0�'����:�'���%���D�$��$�2-���%5����:�'�("*������!8�("*��1��0!� ���&0�'!%+�E�D$E����p��#��$��$��%��1��*��(!"��8�$��� !"#������$��$�2-���%5�,�@����J!��%�3�� 2,�E�>�����F!"#��$�%&�'�����������1� ���������$���J!���#!�,��^PP�2-���%5�D�E���B"#��A�#��%��$�������'�$���+!�D$��$��%��$��$�������.�����#�������2-���%5����:�'E�D(E���|�'� &�!���J!��%�8�,�0�� 7���.�2-���%5�,�@�� ���2-���%5�$��#!�����'�������%�3�� 2,�EE>�����F!"#��$�%&�'�����������1� �����������0�'���A�#��'�-"*��D�Vm�]]E� �����,%&5$�����1��%��(����1�.�8���%5$��!"���$��$�$�*�'� !"�$�A��<�D�E�������������'�(����$���'�$�0��$��$��A�#�9%&�'� ���A�#��*��$�������'���0�'3�D(E�����������#��$�0�$��$�A�#��'�-"*����#�$�������'���0�'3�� 2,�EV>���������9�+-��D��8��^8��U8�w8���E� ���(D(�8�(^8�w8�(�E3�F!"#��$�%&�'������� ��%5$��!"���$��$�$�*�'� !"�$�A��<�D�E�������1� ����^�9�+-���"*�8�A���,���'��1�^�9�+-���5!���"����%���%5�;"��2"+�����3�D(E���4�%5$��!"��� !"�$�;����$��$�1��@���%0�'!�#�'��������"*����!�9�+-� %���'��1� ���!��������������3�� 2,�EZ>�����F!"#��$�%&�'�����������1� ����^�$���J!�2-���%58���%5$��!"���$��$�$�*�'� !"�$�A��<�D�E���B"#��A�#�2-���%5�����$�%+�$��!���%&��'�Dh�i8w8iciE�����'�$���J!��� ���,"#��A�#�2-���%5�2��*�'�����2-���%5�$�%+�$��!�D2��*�'���)������'�,��5��h�iwi�i� ���h�iwiciE�$�������'�$���J!�^3�D(E���a�"�1�$���J!�^� ����$���J!�����5!� 7���.���%��23D &�!�]Vm2Vm$�!"@��9��!�$�0��$���J!��E�� 2,�Ec>�����F!"#��$�%&�'�����������1� ����$���J!�2-���%5�D$�!"@��9��!���#!�,��$�0��$���J!�����d]�2-���%5E�D�E�����+-�$���(!"#��A�#��%��;��#���!"�������'�$���J!�A��3�

Page 136: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

D(E�����+-�����1� ������!�A�#��'�-"*��9%&�'��� ���18�����'�$���J!�A�����+-��!"#����������0-���2-���%5�(�:��,�@���%�� 7���.�13�� 2,�Ef>�����F!"#��$�%&�'�����������1� ������!�$���J!�2-���%5�A���� ���A��^3D$�!"@��9��!���#!�,��$�0����J!�$���J!�����d]�2-���%5E�D�E�����+-�$���(!"#��A�#���@��$���J!�A��^�;��#���!"�������'�$���J!�A���3�D(E�����+-�����1� ����A�#��'�-"*��9%&�'��8�A���,����!"#��������$�"���$���J!�A��^� ����$���J!�A������5!� 7���.��3�� 2,�Eg>�����F!"#��$�%&�'�����������1� ����^���0�'��z�{8��z�{� ���A�#��'�-"*��13���+-�$�"�����0�'��� ������0�'�����5!� 7���.�13�C���,���;��#����0�'���������������3�� 2,�Ei>�����F!"#��$�%&�'�����������1� ������0�'��'�-"*��9%&�'��z�{� ���^�A�#��'�-"*��9%&�'�18��3���+-���0-���1��@���%0�����'���0�'���(�:��,�@���%�� 7���.�13�C���,���;��#����0�'���������������3�� 2,�Ej>�����F!"#��$�%&�'�����������1� ������0�'��'�-"*��9%&�'��z�{8�A���,�����+-�A�:1�;"#1�$��$�1��@���%0�$���'!�����7��"0�&0�,�@����0�'� �����"����%���%5���S�'�9�@�8�$��$�1��@���%0�$�����&0�$��#!���0�'� �����"����%���%5�'!�0��9�@�3�� 2,�Vd>���������1� ����A�#����'�-"*��9%&�'8�A���,���A%0�9�5�'���������9�������1��'�J����!"*��9�+-���A�#��'�-"*��9%&�'�$���'!�����7��%����,"#���]]�

��+-����5!�(�0�$��$�1��@���%0������'����������'���0�'8�$�6�'!%+���5!������'!�����7�9�-����#������'�$��$�A�#������'������,��3�

� 2,�V�>�������D�E�������1� ���������$���J!�$�!"@��9��!���#!�,��d]�2-���%58�(���'�@��2-���%5�$�%+� ���2���0�'����:�'3�D(E���p����$��$�2���0�'����:�'�&0���!�,�@��$���J!3����$���J!�2"#�����03�D$E��������1� ���������2-���%5�$�� ����!"#��������;������#��$�0�$��$�2-���%5�$��$���;��#���!"�������'�$���J!�(���,�@��D2��*�'�1��*��(!"���$�%+����8�$�%+���%&��'E3����$���J!�2"#�����03�� 2,�VE>�������D�E�������1� ����A�#�1��@���%0�$�0����0�'� ���'!�����7�$�0���%��'�1��@���%0�����'���0�'��'�-"*����"����%���%5���S�'�9�@�3�D(E�������1� ����A�#��'�-"*��;� �������;"��;�,�+�;��#���!"�������'���0�'���-�$�%�3��"#��,�+�;��#���!"�������'���0�'����� !��A�#���@��;��#���!"���$�0��;3������2��*�'�����$�"���;� ������0�'�A���$�����%���%5�$�0����0�'�2��*�'�(7�;���������8�;��#����0�'�2"#�����0�������������3�� 2,�VV>�����F!"#��$�%&�'�����������1������$���J!�C�8�2!"/������$���J!�$���,�#!�;%��'���-�2��*�'3�D�E�������1�$���J!���%����!�C^8�2!"/������C^�$�����)������'�C��2��*�'3�D(E���4�"*��$���J!�C^� ����$��#!�$���J!�C�8�;��#��$���J!�2"#�����03�� 2,�VZ>���������1�A�#�1��@���%0� ���$��$�1��@���%0��'�-"*��9%&�'�$�0����0�'��3�D�E������$��$�A�#��'�-"*����#�$�������'���0�'��3�D(E���C�:1�;"#1�$��$�A�#�$���������'���0�'���"����%���%5���S�'�9�@�3�� 2,�Vc>�����F!"#��$�%&�'�����������1� �����������0�'��8�$�����1��@���%03�4��,7����'�G���������0�'�$�����S�'�9�@������'������������9�+-�$��$�1��@���%0��!"*���!"#1�'�@������� ���$�����%���%5���S�'�9�@������'��3�D�E���p��$�,7���A�#���0�'�$�����S�'�$�������'��3�D(E�����������0�'�$�����S�'�9��!����#������'��3�� 2,�Vf>�����F!"#��$�%&�'�����������1� ������0�'���D�E���F!"#�������2!"/��������0�'�,�#!�;%��'�2��*�'v��"#��$������0� "@����'%&5$���5!����0� "@�]3�D(E�������1���0�'�(8�2!"/��������0�'�(�$���1��0!�������0�'�$���$�0����0�'���2��*�'v��"#��$������0� "@�A�#���@����0�'�(�;��#���!"�������'���0�'��3�� 2,�Vg>�����F!"#��$�%&�'���������"��9�5�'�����<�����1� ������0�'��'�-"*����$�����1��@���%0� &�!�<�D�E������$�A�#��'�-"*����#�D�"#��$��E�����'���0�'�1��0!�V��]]3�D(E�����*�'�$���1��@���%0������'����������'���0�'3�D$E����4.�����/�'�$��$�A�#��'�-"*����#�����'���0�'3�

Page 137: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

� 2,�Vi>�����F!"#��$�%&�'���������%5$��!"���$��$�(%&�$�A��<�D�E�������1���0�'���%5$3�D(E���C�:1�;"#1���0�'���%5$���"����%���%5���S�'�9�@�3�D$E�������1��@���%0�$���A�#���@��;��#���!"�����!"@�����#������'���0�'3�D9E������1������A�#���%5$�;8�2!"/������;�$���;��#���!"�������'���0�'�����-�2��*�'3��"#��$���!����� 7���.�;��#���!"���$�0��;�����'���0�'8��'%&5$���5!�$�"���;� ������0�'�A���$�����0�'� �J����S�'3�� 2,�Vj>���������1� ������0�'��8�(���"��2!"/��$�#1�1�����,���'3�F&�!<�D�E������$�1��@���%0�$�0���� ���(�2��*�'������'�����3�D(E���p"#1���"����%���%5���S�'�9�@����!���0�'��8�(3�D$E������#!���!���0�'����-���5!���������������0�'�9�-����#��A���$�����0�'� �J����S�'3�� 2,�Zd>���������1� �����������0�'��3�4�%5$��!"���A�:1�;"#1�A��<�D�E���4�#��$�0�$��$�A�#��"0���)��1�.����%&�$�9�+-�A�#8�$��$�A�#�$�������)��1�.��A���9�+-�A�#8�$��$�A�#�]���)��'!%+�3�D(E�������1� ���������A�#�;8���+-�����A�#��'�-"*����#�����'���("���&�� ���'�@�� &�!�;����#�3�� 2,�Z�>�������+-�����1���0�'������ $�!"@��$�����1��@�� �%0� ������%+�'�A�#��'�-"*��9%&�'3���+-�$���(!"#����0�'�,���$�%���(�����!"*��A�#�$���'����0����+����!�,!"@��2!"��<�$���U�$�%+�A�#� �����J!�$�%+�A�#�,"@������A�#�$����3�F.�9�5�A�#<�^bf8�db]8w�� 2,�ZE>�������+-�����1���0�'���$�!"@��$�����1��@���%0�������%+�'�A�#��'�-"*��9%&�'3���+-�$���(!"#����0�'�,���$�%���(�����!"*��A�#�$���'����0����+����!�,!"@��2!"��<�$���U�$�%+�A�#� ���$��$�$�%+�A�#�,"@��,%&5$�A�:1���S�'3�F.�9�5<��^^8�bPe8�ddg8w�� 2,�ZV>�����F!"#��$�%&�'�����������1� ������0�'������$�!"@��$�����A�#��'�-"*��9%&�'3���+-�$���(!"#��A�#����������'���0�'�$���'!�����7�'�@�� &�!�����'�(����$���'�$�0����������0�'3�� 2,�ZZ>���������1� �����������0�'�$�����A�#��'�-"*��9%&�'�2���$�����3���+-�!�������#��$�0�$��$�1��@���%0�����'���0�'�$���'!�����7����0��&��'!�����7��&������#�� ����&����&��'!�����7����0����#��$�0����0�'3�� 2,�Zc>�����F!"#��$�%&�'�����������1��'�J����!"*���������0�'�$�����A�#��'�-"*��9%&�'3�����1� ���������A�#��'�-"*��9%&�'�23���+-��.�������'�(����$���'�$�0��$��$�1��@���%0�����'���0�'�$���'!�����7��&����&����-�(�)�'�23�� 2,�Zf>���������1� ���������9�+-�A�#��'�-"*��9%&�'��'�J����!"*��D���9��E�$�����1��@���%03�F!"#��$�%&�'�������!�����A�#��&����&��A�#����0����#��$�0��9�+-� ������0��&����-�(�)�'� &�!���5!�A�#�$������5!�D�'�G����������A�#����0���%����!�����'�9�+-E3��"#����1��@���%0�,"@��(�)�'�������������*�'�(���<�2��*�'���@����5!�A�#�$�@�����3�� 2,�Zg>�����F!"#��$�%&�'�����������1� ������0�'�A�#��'�-"*��$�����1��@���%03���+-�����A�#�$������&������#�� ���A�#��"0����0����#�3�� 2,�Zi>�������+-�����1�9�+-���A�#��'�-"*��9%&�'�$���'!�����7�����'�2���0�'��%���MW�]]3�C�:1�;"#1���5!�9�+-�A�#���"*����"��$�!"@����S�'�9�@�� ������5!�(�0�$��$�1��@���%0������'������D$�6�'!%+���5!������'!�����7�����'�A�#�,��E�� 2,�Zj>�������+-�����1�9�+-���A�#��'�-"*��9%&�'�$���'!�����7�����'�2���0�'��%���MW�]]3�C�:1�;"#1���5!�9�+-�A�#���"*����"��$�!"@����S�'�9�@�3�����1� ���������A�#�;��'�-"*��9%&�'3���"���;� ����9�+-�A���$�����%���%5�$�0��9�+-�2��*�'����-�,�/!3�� 2,�cd>�������+-�����1�9�+-���A�#��'�-"*��9%&�'�$���'!�����7�����'�2���0�'��%����MW��]]3�����������������$��$�A�#�$�����;��#���!"�������'�9�+-����"����%���%5���S�'�9�@�3�� 2,�c�>�������+-�����1�9�+-���A�#��'�-"*��9%&�'�$���'!�����7�����'�2���0�'��%���MW�]]3�������'!�����7�����'�(����$���'�$�0��$��$�A�#�$�����;��#���!"�������'�9�+-3�� 2,�cE�����F!"#��$�%&�'���������%5$��!"���$��$�$�*�'� !"�$�A��<�D�E�������1� ������������������$��$�'!�����7���%5$�2.$����%&�$��;�8� &�!��� �����,%&5$�����1��%��(����1�.�3�D(E���4.�����/�'�$��$�A�#�9%&�'�$�������'���0�'3�D$E����!"/������;"�������������$�����@����5!���-�2��*�'����������'�����$��$�1��@���%0�,�����S�'�9�@���%������!�A��'�1��0!3�� 2,�cV�����F!"#��$�%&�'���������%5$��!"���$��$�$�*�'� !"�$�A��<�

Page 138: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

D�E�������1� ������������������$��$�'!�����7���%5$�2.$����%&�$��;�8� &�!���,%&5$�����1��%��(����1�.�3�D(E���4�����#��$�0�$��$� 7���.�����'�������������0��-"*��$�@��A��<�'!�����7�$�0�������������5!� 7���.�,�������'!�����7��&������#��$�0����������3�D$E����!"/������;"�������������$����������������,�#!�;%��'�����,%&��'�$�"���$�.���2��*�'v�� 2,�cZ�����F!"#��$�%&�'���������%5$��!"���$�*�'� !"�$�A��<�D�E�������1� ����A�#��'�-"*��9%&�'��3���#1�1�����,���'��������0�'��'�-"*����$�����1��@�� �%03�4�%5$��!"��� !"�$�����1�'!�����7�$�����0�'����-3�D(E���!"/��������0�'���$���1��0!�������0�'�,���9�#����-�2��*�'v�D$E����4���A�#��'�-"*����#��&������#��$�������'���0�'3��"#��2��*�'�$���1��0!�$������*�'�(���3�� 2,�cc�����F!"#��$�%&�'�����������1� ������������� ��*�'��D�;�E8� &�!�������1� �����%��(����1�.�3�D�E�����������/�'�$��$�'!�����7�����'�����'!��$� ��*�'���"*��$�0�������������D2"/�$�0�$��$�1��@���%0���"*��,%&��'�$�"���$�0������������E�D(E����������������.$���;��������������3�� 2,�cf���������$�#������$�����F������%�A��<�M�������������F<�2!"/��A�#��'�-"*��$���'!�����7�����'�2���0�'�]wfPPUP�

M������������5�"*�<�2!"/��$���J!3�

M����������B7�$�6<�2!"/��$���J!3�

M������������nL<�$���'!�����7����"#�����*�� !"*�����-�����$����(������0���-�3�F!"#��$�%&�'���������%5$��!"��<��D�E�������1� �������*�'��!��$�0����������*�� !"*�3�D(E�������1� �������*�'��!��$�0�������*�� !"*�� �����,%&5$�����1��%��(����1�.�3���������5��"*��$�0��$��$����*�� !"*������$����(������0���-�3�� 2,�cg���������$�#������$�����F������%�A��<�M�������������F<�2!"/��A�#��'�-"*��$���'!�����7�����'�2���0�'�]wfPPUP�

M������������5�"*�<�2!"/��$���J!3�

M����������B7�$�6<�2!"/��$���J!3�

M������������nL<�$���'!�����7����"#�����*�� !"*�����-�����$����(������0���-�3�F!"#��$�%&�'���������%5$��!"��<��D�E�������1� �������*�'��!��$�0����������*�� !"*�3�D(E�������1� �������*�'��!��$�0�������*�� !"*�� �����,%&5$�����1��%��(����1�.�3�p����$��$����*�� !"*��2��*�'�����$����(������0���-�����2��0!�9����A��$�3�� 2,�ci��������$�#������$�����F������%�A��<�M�������������F<�2!"/��A�#��'�-"*��$���'!�����7�����'�2���0�'�]wfPPUP�

M������������5�"*�<�2!"/��$���J!3�

M����������B7�$�6<�2!"/��$���J!3�

M������������nL<�$���'!�����7����"#�����*�� !"*�����-�����$����(������0���-�3�F!"#��$�%&�'���������%5$��!"��<��D�E�������1� �������*�'��!��$�0����������*�� !"*�3�D(E�������1� �������*�'��!��$�0�������*�� !"*�� �����,%&5$�����1��%��(����1�.�3�����1���"*�����*�'��!��$�0����������*�� !"*�� �������1������A�#��'�-"*��23�4�%5$��!"��� !"�$�$�"������*�� !"*���&�!� ����9����A��$����5!� 7���.�23�� 2,�cj>���F!"#��$�%&�'�����������1� ��������������z�{z�{�

Page 139: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

D�E�����+-�;�*-�9%5�'���0�'��z�{� &�!��z!{�(�)�'���/�'���#��$�0�$��$�1��@���%0���"*��9���'�!�$�0������������3�D(E�����+-�$���(!"#��$��$�9���'�$�����/�'��&������#�� ���$��$�9���'�$�����/�'����0����#������'�����������3�� 2,�fd>����F!"#��$�%&�'�����������1� ��������������z�{z�{8���+-�;��#���������������$��$�1��@���%0��z!{zR{�A���$����z!{zR{�����1��@���%0�$���'!�����7��&������#��9���'�!� ������0����#��$����R3�� 2,�f�>����F!"#��$�%&�'�����������1� ������������� ��*�'��z�{z�{3�D�E���4���'���� ����������+-�,"#��A�#�1��@���%0�$���'!�����7� ����A�#��'�-"*����#8�,�@�'���&�!���+-�;��#�� 7���.��D!8RE�$�0��$��$�1��@���%0�$���'!�����7�����A�#��'�-"*����#3�D(E�����+-� ����'!�����7� �&������#�� ������0����#��$�0��$��$�1��@���%0�$���'!��� ��7� ����A�#��'�-"*����#���)����"*��,%&��'�$�"���$�.��� ���$�"���1��5�$�0������������3�� 2,�fE>����F!"#�����������1�����������������!�$�!"@���;�D�8��$�����"/����-�,�/!E�$���$��$�1��@���%0�2!"/���'�-"*�3�

C���,�������1��8�82� �%��(����1�.�� ���A%0�9�5�'������ ��"*��,"/�����1�^���� �������;�8��;23�F!"#��$�%&�'��������.����.$��$�0����!����������,��3�p��#�����������2"#�����0�������������3�

� 2,�fV>��������1����������$���A�#�9���'� ���A�#�$����,%&5$�����1��%��(����1�.�3�D�E���p��#�����������9%&�!�9�5�'�[$���/�\�D(E�������1� ���������A�#�;8�2!"/������A�#���@��;��#���!"���$�0��;�����'���������3��"#��;�2��*�'�;��#���!"��8���+-�!�����A�#��'�-"*������'����������$���'!�����7�'�@��'!�����7�$�0��;����#�3�� 2,�fZ>����F!"#��$�%&�'���������5���'�J����!"*����!���������� ��*�'��8�(D�;�E���"��2!"/��$�#1�1�����,���'3�D�E��������!�����������8�(�,�+�,%&5$���5�3�D(E��������������������/�'3�

��� D$E��������������������.$�3�� 2,�fc>����F!"#��$�%&�'�����������1� ������������������ ��*�'3�C�:1�;"#1����������A���$��<�D�E������@���%0��&������#��$�0����J!�����'���)����"*��,%&��'�$�"���$�.��3�D(E���C�:1�;"#1���S�'�9�@����"*��,%&��'�$�"���$�.��3�D$E�������-"/��,�/!�������������������0�'������$�!"@��$����N��1��@���%03�� 2,�ff>����F!"#��$�%&�'�����������1� ������������� ��*�'��z�{z�{3�C���,�����+-�A�:1�;"#1�$��$�1��@���%0���"*��,%&��'�$�"���$�.�����"����%���%5���S�'�9�@�8�$��$�1��@���%0���"*��,%&��'�$�"���1��5���"����%���%5�'!�0��9�@�3�p��#�����������2"#�����0�A���2�!�A�:1�;"#1�������������3�

��

Page 140: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

J��G �����������m���� ��G�� ����������m���������������G��AA����3�����n�����������������������3�

^3�����n�������������������I���}���������o�J��G ����?�}����~��[Z�

U3����F��G����o?�}����~������A[i�

b3�S����������I�� �� !"#$% !"&'�()*+,���������������n�������������o�?�}������A[g�

P3�S����������I�� �� !"#$% !"&'�()*+,������n���F���������I�� ����������������������n�B�?�}����~������A[Z>�

f3���������������� !"#$%-.+/���?�}����~�����A[Z(��������������������G��AAV>�-�

e3�������S��?�������������������������J����o?�}����~������A[V�

d3����~��l �������������n�����������o?�}����~������A[E�

g3������?�}����~��������G ������������

Page 141: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

�3���������|��a�4s����4|��a��|��3����� ���5-��%��'�(%&�$���$�%&�'�������������!��������%��'�9���'��"����$�0��$�%&�'������3�����^�$��$��$��5-�$�%&�'��������%��'�(%&�$<����� ���5-��%��'�9���'��"���� ���,!� ����("*������'������T���.����:��xe����J!���@�����#��xe�A"+���%5$��!"����"������5!�9���'�$��� "���A���'� ���9!�$��-"/�� "���A���'�,"#��9���'�2"#��!"#13��!�9���'��"�����������&�!�'�5!�,"#������������� "���A���'�A"+�9&�!�,"#��9���'��"����,�@���!"*������'������,��3����C%0�9�5�'�1�.����:�����-�2�!�$�@��$��5-�$�%&�'��������%��'�(%&�$�,"/�1������!"�����J!�$�!��!"#��("*������'�������3����� ���5-��%��'�9���'��"���� �����%5$��!"����&�!�'�5!����������2��*�'�,!� ����("*������'������,��T���.����:��xd3�����J!���@�����#��xd�A"+���%5$��!"����"������5!�9���'�$��� "���A���'� ���9!�$��-"/�� "���A���'�,"#��9���'�2"#��!"#13��!�9���'��"�����������&�!�'�5!�,"#������������� "���A���'�A"+�9&�!�,"#��9���'��"����2"#��!"#1���"���&�!�'�5!������,��8�����2��*�'�,!� ����$�!��!"#���%��'��"��������'�����3���C%0�9�5�'�1�.�����-�2�!�$�@��$��5-��%��'�(%&�$�����2��*�'�$�@��$��5-�$�!��!"#��("*������'�������� ��(!"#��$��:$�$��:�������,���2��*�'�$�����J!3�

^3���������|��a�4s����B�~��F��4s���Q��4sQ��T�C|��Hy��a������4��4�xb����!�$�@����!������������,��5���"��������2��*�'�$�@��1��0!����#��1�.��DxeOxdE�,"/�$��5-��%��'��"�������A%0�

9�5�'�$�%�$���S�'�$��5-�$�%&�'�������,"#�2�!�'�?1�9���'��"�����&!�$������0�A��5������0��,��'�,%��'3����!�(!"#��$��:$���,��5���"����2��*�'�$�����J!8����9!�$��-"/��$������0�A��5�����0��,"#���&!�k�'�!��'&�k�$�����J!�

������#��xbY�$�%&�'�������A"+�,%&5$���%5$��!"���$���,"#��9���'��"����$���$������0�A��5�����0�3�C���,�������!"#1���5$�A%0�9�5�'�1�.��xeOxd�,"/�9"(�'3�

U3�B�����H|��aT�����4��4��4sL=xd���������B!"/��9%��'������&!�$�%&�'�������A"+�9%��'���5!�2�!����0����+��,!"@��2!"���,!�2"��� &�!�,!"/��9%��'�,��3�����^����5!�,!"/��9%��'<������ 9���:��2'���& �$�)�3��7�����( ;�������%&�'�������A"+�9%��'�2�!�'�?1��"����$���,!"/��9%��'����-�����2��*�'�2!"/�����������,!"@��2!"���'�3�B"/���5��,!"/��9%��'����5!����-����9!�$��-"/��$������0�,"#��9���'��"����$�@��9%��'���@!����#����/��&51�1�.��4��1.<3������ "���A���'������,�0�A"+�;��#���!"���(����$���(!"#��,�*-�������,!"/��9%��'3������ 9���:��2'���& ���%�3��7�����( �������%&�'�������A"+�9%��'���5!�2�!�'�?1��"����$���,!"/��9%��'�����,!"@��2!"���,!�2"��� &�!�,!"/��9%��'�,���,%&5$����0�3�B"/���5��,!"/��9%��'����5!����-8�$���^�$��$�<��4�%����;���5��,!"/��9%��'� �*�,!"@��2!"�����@!�,!"@��$�6�����������'��"���=��� >?������ ��MW�9����A��$��$��$�,!"/��9%��'8�$��5��,!"/��9%��'�$�@���!"���$�6�����@!����#��@���8��!"���$�6���;��'����#��A�����3����4�%����;� �������o�'��"���=��� >?������ �>@���8���@!���5��;��'����#��B��3�����4���'�2�!���5��,!"/��9%��'�$�������������A�#�C��4�� ��$���1�"�1�$�6�,7���A�#���@��(�0�����2��*�'�9%��'�2�!�'�?1�,���'�,!"@��2!"���,��3�������"���+;���5!�9���'��"����A������,�?��,!"/��9%��'� &�!����9!�!�������!�m�b8���AA�������m�^<�wwwwwwwwwww3���m�D�]N2ElPY�����%&�'�������9%��'���5!�$�*���"�������-�2�!�'!�����7�!�m�b�,�+�;�+-����^���@��wwwwwwwwwww3��!�$�%&�'�������$��5-�����9���'��"�������-�,�@���!"*�8��"#��,!"@��2!"���!mb����0����+�8�$�%&�'������� �J��2��*�'�9%��'8���@����%��^� �J��2��*�'�9%��'� ���$�6�9%��'���5!�&0���@����%��U3��'�G������!mb�,�+�;�+-����U���@�3�C%0�9�5�'�,!"/��9%��'�2�!�$�@��k(�:�k�$�%&�'�������9%��'���5!�,�@��,��5��$�9"�k�'�!��'&�k�$�����J!�,"/�9"(�'3�D������%;�B"/�(�0�,!"/��9%��'8�9!�$��-"/��$������0�A��5�����0��,"#��9���'�$��� "���,�0� ������#������=xd����

Page 142: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

b3�p���a���4s���y���?E@FB>?E@GH�*IJK4�4sQ�a������������|��a�4s����T�������4sL=xe���������4���'������������$��5-��%��'�(%&�$���$�%&�'�������A%0�9�5�'�$��$�1�.�<�xeOxdOxbOB!"/��9%��'8����$�����"/�,�?��$��$����� >����2�����%�� ����$%0��A�/�� ��$��,"/��!"�����"��9�+!�'!�����7�$�0��$����'3������������!�$��$��,"/���"*�������(!"#�O(!"/����%�$� ����$%0��A�/�� ��$�<����4�%����;�H!�$��-"/��$������0�A��5�����0��,"#��(!"#�O(!"/����%�$� ������#��4��1.L3��"#��$�@����"��9�+!����� 8����#��@ ��3���"#��$�@����"��9�+!����2�����%�8����#����!"@����@����"'�0M�$�&�N0�,"/�$��5��(!"/����%�$����?$��%5����-�,�/!�(!"/����%�$���@!����#��@ ��3����4�%����;�B%��'�����'�$%0��A�/�� ��$�����#��E ���,"/���"*�������� >���2�����%�8�����1����� >���2�����%��$�������'�$%0��A�/�(�)�'�1�.��@ ��>=�����3�����B7���9�5�'�$���(!"#�O(!"/����%�$<��������*�'���%�$<����������@����� �O�����PNN��'����������MM������4���'�,��<����@����� ;�$�����"/�����(!"#�����?$�(!"/����%�$3���Q�����;�A�#���@����?1�>���1�9�5�'�$���9%+��!"���9�5�'���0�'3���.�'����������;�,7���9�5�'�$��$�9�5�'�A���,�*-<��<�2-���%5��H�<�A�#��'�-"*�3��xD�E<�A�#���%5$8�������A�#�$�%+�A�#�A���9�#������1�1��*��D2��*�'�(�:��(���$�1��0!�$��E���Op<�A�#��'�-"*��9�5�'�����1���5$3���<��!"���'!�����7�����'�(�����&���%��'�(-�"�����3����<��!"���9�5�'�$������0�I���A"'�"��<�IIA"���s�<��!"���$��$��������1��@��$�0�������A���$�8���!��3��C�<��!"���2-���%5�,!"@��2�!"/��D��+��C����]33U�E�9�5�'�h`�i���"���+;�$��o�'���5��$���$��$�2��!�(������%�A��<��!���28��z]{Y�A���$��CFX�$������4"�zb]{Y�!����CCFY�ZA z�]]{Y�2�!�,��8�����'�$%0��A�/�� ��$������1� ���<�����8�]�<��!"���'!�����7��]�1��@���%0�,�@���!"*��$�0����0�'�&0�9�5�'��";�3���A z�{8�<��!"����"*�� ���'!�����7��%&�'�%��'�$�0���%��'��������1��@������'�A���$��CF�$�0��A z�{3���

P3�p���a���4s���y���?E@FB>?E@GH�*IJK4�>�4����BQ���a���4s���y������~��4sQ�a����������M������4��4��4sL=xb3������"#��$�@��;"��'!�����7�$�0�������(!"#�O(!"/����%�$�����'�2�!�$��5-��%��'�(%&�$������$�%&�'������8����?$��.���������'!�����7������(!"/����%�$�����'����$� !"#��$�%&�'������8�������$�.����-�,�/!�'!�����7�(!"#�������$��$�����0�$�*�'�����'����$�$��5-��%��'�(%&�$������$�%&�'����������A%0�9�5�'�$�0��A�/�@$�������� ��A���������*�'�����1�.����:������=xb3����������^�$��$��,"/�����1�(!"#�O(!"/����%�$� ����$%0��A�/�@$�������� ��A�����<����4�%����;�H!�$��-"/��$������0�A��5�����0��,"#��(!"#�O(!"/����%�$� ������#������=xb3����"#��$��#1�������(!"#��,��8����#��@ ��3������"#��$�@����"��9�+!�(!"/����%�$8����#����!"@����@��1�.��MW� ���VM�,"/�$��5��(!"/����%�$3��

Page 143: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

��4�%����;����#������=xb�&0�,�*��$�+�'�,%&5$8���@!�����1�(!"#�O(!"/����%�$� ���3��������#��,7���9�5�'�2"#�����0�;��#���!"���$�0��(!"#�O(!"/����%�$�����;"��1��@��,7���9�5�'�����'���5$�b3��

f3�4��Q�F�~4��Q 4�?E@FB>RSKC�>������4��4��L4=xbD�����Q�4sQ�a��QsL��H��==U3�E�����4���'���*!���%&��'���==U3��$��������$�*�'�$�5���#����#��,"/�9"(�'�2�!� !"#��$��$�$�%&�'�������$���A%0�9�5�'�$������0�D9����A��$���!"*��2"#�8�$�*-wE8�$��$�,�#!��%&5�'�����'����1��������%&��'�,�#!��%&5�'3����������^�$��$��,"/�A%0�9�5�'�$�%�$���S�'����-�D$����-��$�6�9���'�����'�2�!�,��'�$��5-��%��'�(%&�$������$�%&�'������E<����4�%����;�H!�$��-"/��$������0�A��5�����0��,"#��(!"#�����#�����=xb3��"#��$��#1�������(!"#�O�&�1�,��8����#�����"�3���4�%����;����#�����=xb�&0�,�*��$�+�'�,%&5$8���@!�����1��"*��(!"#�O�&�1� ���3�����4���'�$%0��A�/�E ����8����A"+�$���������(������*�'��!�� "@�(!"#�O�&�18�$�����"/����-�,�/!�'!�����7���%�&0�$%0��A�/�@$�������� ��A������(�)�'�$��$�����#��T��1A3�H���'�$��$�1�.��9!�$��-"/����%�*���0M�N0�,"/�$��5��,�#!��%&5�'�����'�$%0��A�/8� ������#��@ ���,"/�UE ����U�,�#!��%&5�'�,����"#��9���'����5�'�����!�$��#!�����������$��<�E ����3����#��T��1E�,"/�'!&�!���5��2���0�'�$�@��;"��D��%&��'���1�9�5�'� &�!���0�'8�$������0E<� 7���.�(�:��,�@�8�A�#�1��@���%03��

e3��a����p�~������L����aQ����������LL�C4��T�����4��4��4sL=xU�����4���'����$�$��5-��%��'�(%&�$������$�%&�'������8����#������$��$�$�%&�'�������$�����!"@���&�!�'�5!��������@�'�����8�$��$�$�%&�'�������$���,"����-8�,"/�(!"#��$�%&�'�������,��'�$��5-�����'�����������������#������=xU�,"/� ����$%0��A�/������C��$23�4���'�$%0��A�/����-�$��$��&�!�'�5!������,%&5$��!"/����7���"��9�5�'��'�S��;"#18������'�5!���*�����#��A"+�&0�9%&�!�$���'8�������!"���������A"+�&0���"*��$���'8�$��$������A�#����-"@�� ����$��������$�+�'�,%&5$��!"/����7�&0�,�*-3��

d3��a��4�ny��4s����������4|��a��|��T�����4��4��4sL=x^�����4�����#����/��&51�1�.�����-�����'����$�$��5-��%��'�(%&�$���$�%&�'�������,"/��'�:��9"(�'� �����&0� "@����5�'�����!�A��5�����0��D "���A���'�(!"#����#�E��

g3����������4��4�4�� ��Hy��a<����� V���H ����������%�����%�>��&'���+���������%�����%������� ��WC�"'�T��1?�������>T��1X����1�?��������������%�$���S�'����-���#����������5�'8�'!��1������#-���5!���%+�'�,��5��$�9"���%&�$�,�������9�� �*��������-�$�#�-��,�+����-�,�/!8���"*��(&��8�������$�.�;����,!3�4��$�6�$�@�����#��T��1?���������!"*����5$�$���,"#��2�!�,��5��$�9"�$�@�������!"�����3��"#��$�@���������5!���������$�,�+���%5$��!"�����%&�$�2�!����#��T��1�?��������������#��T��1X����1�?�������3������ V���Y��2'����3�-�3�,�����;�Z�[�O��P�������������;�C�"'�4��1\1P����]��4��1\1O�B�*-�����1�.����#���!"���9�5�'�,"/�1������!"���$��$���J!���!"#��$��$�9�#���'��?$��%&�'�%��'3�H!�$��-"/��$������0�A��5�����0��,"#�����������'�$��$����5!�9�#���'��?$���"*����@!����#�����������'�^���/��&51�1�.�8��"#��$������0�A��5�����0�<����*�'�9!�$��-"/��MW���!"#��9�#���'��?$��%&�'�%��'����?$���%���9�#����5!� 7���.�$������0�,��'�,%��'3��H!�$��-"/��,"#�������9�#���'��?$8���%�'�A�!�MW���!"#��9�#���'��?$��%&�'�%��'3�

���R����%;�$�%�$���S�'����-�$�6�$�������'���==U3����&0�,!3������ V�9�*!'�����'>*!'�����'�$�&����������>R�]����+���������%���!'�����'����%��3�%;�C�"'�4��1\1.>�4��1\1T>�4��1R�����B"/����������,��5���";������'�$�%&�'������8�������#��4��1\1.�D��������$�����1��%&�'��%5�$%0��A�/�@$�������� ��A�����E3�C���,���$��5����"*�������A�#����*�'�A�#<��OP�4���^�� ���$��;�$���1��*��(!"���$�%+����O�$�%+���%&��'3��OP�_���������� ��;�����,��5���";��,%��'�,��$����13�����D�����;�����������(��� �S��(�0�3��

Page 144: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ��������

���X������������;���������'�2��#!� �S��(�0��,�����9�#�3�����.�'����;������%�� 7���.�$������0�A��5�����0�3�����@ ��������;������%��,�@��,"#��$��#!3�����.�����;�����;��*!3�����?������;������'%&5$3��

����B"/����� ������-���"#�������#��4��1\1T8�����1�$��$����*�'��!����%�1��@����"*�8���"*�� ����,��5���";��A"+����-���"#�,��5���";���������#-8�$�6�,7������*�'�A�#<��OP�C�'���� �������;����:$����-���"#���J!�2�!��������#-3��

����B"/����� ������-���"#���#��$�0�$��5��4�� ��T������-� ��$��5��Q3������B"/���?1���5!���������$�4��O4������-���"#���@��$��#!�$���'�������#��4��1R3������ V� �:�� ����) ���%����a�����%��3�%����]�������������C�"'�T��1.L>�T��1.<�����C���2�!�97$��$�����J!8����9���'�^�1�.�����-�,"/�9�-"��������%��'���J!�����2��*�'�$�@��97$����5!3�L%��-���"#��'�?1�$��$���J!�1�����A!���9���0����%&0�'���J������������"*��97$����5!�,"/����������*�'�(������J!��&�!3������ V�b�c�'���,���2������d��,WC�"'�T��1.b���������#��1�.�����-�,"/�;"��2"#�����0�;��#�����&0�����������HQC3�p"��;��'����#�����"��,"/���&0� "@�����������A��5�����0�3��"#�����#���!"���$%0��A�/����-�����'���*!���%&��'�A��5�����0�����#�����=� ���@!����#��Q3������ V�e�=� ���%�����%����,���2;�C�"'�T��1f��!"���9����A��$��$��$�$%0��A�/�,��'��&0�,"/�$��5��$%0��A�/������ !"�$�D�$�! "E3�4���'�9����A��$�����-�$���$�0�$��$�I!�"�,�+�,���'3������-�8���%&��'�$�����%+�'�I!�"�,%&5$��&0��%���/��<�����2��*�'�,���'8���-�'�*-�������*�'�(������J!�,G���"@��MW� ����,�*-�;������%+�'�$%0��A�/�,���,!3������ V�L�X�g����������( ��������%����,���2��C�"'�T��1_���7�� ��� �*��4�#��$�0�$��$�$%0��A�/�A"+�,%&5$��!"����"*�����������3������ V�<�B �g������ ��! ���5���]�>�����C�"'�4��1?������7�� ��� �@ �������7 �������!�$�%&�'�������(7���?1�2��*�'���#!�������8����?$�(7���"��������#������=��"�2�A���,������#�����"��^���@��,"/���&0� "@�����������A��5�����0�3������ V�V�4��+ ���,���2���&'�$��(���C�"'�T��1 � /�hV��������J!�$%0��A�/�,"@��,%&5$�,����������$���A�#�&0�'��$���"*��("*��1��0!�D��#����!"*���'��5!���%��$��$�$%0��A�/�,%&5$��&0���@����%���]���&0��"*�� ��$�6�$���g�$���A�#E3�����������&�!�,!"/��$�6�$��������$%0��A�/�'�5!�����$%0��A�/������ !"�$�D�$�! "E�>�,�������$%0��A�/�$���,%&��'�(!"*�������"���,�*!�mmm3����$�$%0��A�/�2��*�'��$�! "�A"+�,%&5$� "+�(�)�'��"���,&��TTTTT3�B"/�$��5��$%0��A�/���%��P�������#�����=P3������ V��f�=�������2 �$�&������3�2���"�������%����,���2��C�"'�4��1.b���������B"/�9!�$��-"/��$%0��A�/������ !"�$�������#������=xP8�9���'�$��$�1�.��97$��$��-"/��,"/�9!�$��-"/��$%0��A�/8�;��'��������#�����"��,"/���&0���5!�$�"#�,���A��5�����0�3��"#�����#��C�!I�=1�.��97$��$��-"/������A"+�$���9�+��$%0��A�/3������ V����:�% ������>������%�>��g�>��% ��������C�"'�X�����1�=5��������2 >4��1E ��>X�����1�=�����>X����1E ����:�% ������������;����#��'!%+�X����8�9���'�$��$�1�.��97$��$��-"/�<�0M��N0��I�'���@ ���C H���C = �D����

��"/�2"#���&51� &�!�����E�,"/�;��$�,7���2��#!� �S��(�0�3��X������%�;�A���2�!�,�����9�#�����#��4��1E ���,"/�$�"�1�2��#!� �S��(�0�� ������!1����9�$�0����3��4�g�;�A���2�!�,�����9�#��2��#!����#��X�����1�=������,"/�$�:��2��#!� �S��(�0�� ������!1����9�$�0����8�2��#!�

�S��(�0��A"+�(7�;�������*��2��0!����������3��=�% ;����#��X����1E ���,"/�$�"�1�2��#!� �S��(�0������'���!1����9� ����$%0��A�/� �S��(�0����5!�9�#������-3�

����

Page 145: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��

Page 146: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

���������H��J�����

G65>� �5#>� �6]� �' $� � G65>� �5#>� �6]� �' $� � G65>� �5#>� �6]� �' $�

d� d� d� � �� � ZV� cV� E<�� A� � if� �Ef� cf� ��

�� �� �� J��� � ZZ� cZ� E5� `� � ig� �Eg� cg� \�

E� E� E� J�S� � Zc� cc� E7� B� � ii� �Vd� ci� S�

V� V� V� ��S� � Zf� cf� E6� >� � ij� �V�� cj� n�

Z� Z� Z� ���� � Zg� cg� EM� �� � jd� �VE� c � ��

c� c� c� ��l� � Zi� fd� Vd� d� � j�� �VV� c<� p�

f� f� f� ���� � Zj� f�� V�� �� � jE� �VZ� c5� ��

g� g� g� ���� � cd� fE� VE� E� � jV� �Vc� c7� q�

i� �d� i� �J� � c�� fV� VV� V� � jZ� �Vf� c6� ��

j� ��� j� ���� � cE� fZ� VZ� Z� � jc� �Vg� cM� o�

�d� �E� �� �[� � cV� fc� Vc� c� � jf� �Zd� fd� ��

��� �V� <�� ��� � cZ� ff� Vf� f� � jg� �Z�� f�� ��

�E� �Z� 5�� [[� � cc� fg� Vg� g� � ji� �ZE� fE� <��

�V� �c� 7�� ��� � cf� gd� Vi� i� � jj� �ZV� fV� 5��

Page 147: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ������� �

�Z� �f� 6�� J�� � cg� g�� Vj� j� � �dd� �ZZ� fZ� 7��

�c� �g� M�� J�� � ci� gE� V �� �� � �d�� �Zc� fc� 6��

�f� Ed� �d� G��� � cj� gV� V<� t� � �dE� �Zf� ff� M��

�g� E�� ��� G��� � fd� gZ� V5� {� � �dV� �Zg� fg� *�

�i� EE� �E� G�E� � f�� gc� V7�� e� � �dZ� �cd� fi� '��

�j� EV� �V� G�V� � fE� gf� V � |� � �dc� �c�� fj� ,��

Ed� EZ� �Z� G�Z� � fV� gg� VM� �� � �df� �cE� f � =��

E�� Ec� �c� ���� � fZ� �dd� Zd� �� � �dg� �cV� f<� P��

EE� Ef� �f� Jn�� � fc� �d�� Z�� �� � �di� �cZ� f5� 0��

EV� Eg� �g� ���� � ff� �dE� ZE� �� � �dj� �cc� f7� + ��

EZ� Vd� �i� ���� � fg� �dV� ZV� �� � ��d� �cf� f6� &��

Ec� V�� �j� ��� � fi� �dZ� ZZ� G� � ���� �cg� fM� )��

Ef� VE� � �� J �� � fj� �dc� Zc� �� � ��E� �fd� gd� "��

Eg� VV� �<� �J�� � gd� �df� Zf� [� � ��V� �f�� g�� Q��

Ei� VZ� �5� [J� � g�� �dg� Zg� �� � ��Z� �fE� gE� $��

Ej� Vc� �7� �J� � gE� ��d� Zi� �� � ��c� �fV� gV� 9��

Page 148: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

Vd� Vf� �6�� �J� � gV� ���� Zj� �� � ��f� �fZ� gZ� #��

V�� Vg� �M� J� � gZ� ��E� Z � @� � ��g� �fc� gc� .��

VE� Zd� Ed� J?� � gc� ��V� Z<� �� � ��i� �ff� gf� 1��

VV� Z�� E�� �� � gf� ��Z� Z5� �� � ��j� �fg� gg� _��

VZ� ZE� EE� �� � gg� ��c� Z7� �� � �Ed� �gd� gi� ]��

Vc� ZV� EV� �� � gi� ��f� Z6� �� � �E�� �g�� gj� K��

Vf� ZZ� EZ� �� � gj� ��g� ZM� �� � �EE� �gE� g � U��

Vg� Zc� Ec� �� � id� �Ed� cd� ?� � �EV� �gV� g<� r�

Vi� Zf� Ef� x� � i�� �E�� c�� l� � �EZ� �gZ� g5� ��

Vj� Zg� Eg� �� � iE� �EE� cE� �� � �Ec� �gc� g7� s�

Zd� cd� Ei� (� � iV� �EV� cV� J� � �Ef� �gf� g6� ��

Z�� c�� Ej� -� � iZ� �EZ� cZ� �� � �Eg� �gg� gM� G���

ZE� cE� E � w� � ic� �Ec� cc� � � �� �� �� ��

���

Page 149: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ���������

��������� �����������MMMMM�MMMMMM�

� ������F�����~4<k-+�����������1��������<�$&�A&0� �����*�'�$��k3������;��#��(�0��2������5$�2-+������M�ggf�3��ny����4y�~���aQ��<� k�'�*���'%+� ���1� �������k3������ ;��#�� (�0��'!����9�5$�>��ggd3��4s����B���4�|��<\a!��������������1������������1��� ���^\3������;��#��(�0��n��#$�a!��4�3�����^]]�������C� L3��4Q��QC� rr� ����4�� �3���Cx��LH��s3<k�11�!$��!��� ���'����!�'� !�� C���$���"9� �k3� ��"��!$"� �����!��"����!�����"9!�!��AM�ggf3���0��12(�3�� ������4� ��5��� ���6 �7��8����9���9��:����;��03��<���=>9������5������8��3�? �����<@ ���@ ��5�?�:�� ��=>9����

�� ?�&�����2'�������+����& ��*@X*����*@X*���3��+�����+�����( ���) �'�%������&�� �� �ef����%���3��+�����%����'���&�����(�����*�����3��+�����+�����( �����������+���� ����� �b��$�&�3��+���" �������3����&���3��2'����� ��%��$��) ����+����& ���������2'����$�&�����3��2'�$�&���2���) ���%����8 � �&���

�� ?�&�����2�����( � �3��2'������ �7'�����&�����2'����TXXW�����3��2'��i�TXXW�����3��2'����� ��%��$��) ����+����& �� ����3�7���&�����2�����( ������ ��$��) �$�&� ��%'�� ��$��) ����+�����( �����3�%�����'�����&�����2'����$�&�����3��2'�$�&���2���) ���%���0�TXXW��3���� ��������� ��$��) ���g��3�7����&����7 ����%�9�$�&� �(����&����������7 �����7 �����%�b���0�TXXW��3���� ��������� ��$��) ���g��3�7����&����7 ����%�e�$�&� �(����&����� ����7 �����7 �����%��f����

9� ?�&��������g�� ���('���������&�*@X*����) �'�%����ef����%������) ��,���+ ���&�����(����*@X*���3��+���" �������3����&� �3��2'��

Page 150: Giao trinh C_C++

Ph��ng Pháp L�p Trình

� ����������

TEST1 B��4�

�Q��a�B���4�

THI LAÏI �Q���L���� B��4��Q��a�B���4�

ASS1 B��4�

�Q��a�B���4�

L����L�����Q���L���� B��4��Q��a�B���4�

ASS2 B��4�

�Q��a�B���4�

L����L�����Q���L���� B��4��Q��a�B���4�

TEST2 B��4�

�Q��a�B���4�

4���L����

�Q���L����

B��4�

�Q��a�B���4�

B�����