Buscar

Programando em C++

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 9 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 9 páginas

Prévia do material em texto

Programando em
C++
Joel Saade
Novatec Editora Ltda.
www.novateceditora.com.br
��
���������	�
��
�
Capítulo 1
Introdução
�����
������
��	���$�����
	���3	���$���0���9	����������������"�	������������	���	��3#��
�������
�	
�	�������$�
������
���
���#	�
���	��
�������
�������
�����������	��	
�	�����5
��	�
��
	����
��������	����	
��	
�	�����������$�����
	������	
���9	��$�
�
�
���
�����������
��
��������������	����
	����
�����	
�	���������
Histórico da linguagem C
"��������������
��������
�������
	��������5��T��
0��$��
��@�3
	��9	�
��H���$��
����
�
���
��
�������&'U)$������
��	�3��0�����
��	
���
����������
�������
��
�?��/$�������	��������*��
������
������
	�!�!.&&�����������������������
	�
	���
��F���G��!�	����
	����
������
��������
��	�
�
���$�����
���#	�
�������������������	
�	�����
�
�
���$������	
��*����
9���
�
���
�
$��	
�	�����	#���
��������
��	
���
�0�	�-�	����������	�����
���������3
	�
������������"����3�K���������������	����������
���������$���
���	���
���������������*#.��$
�
���
�?��/� ��
�	��� 	���	��
�R�������
	������0�	�-�	��
���������������
�������
����
��"
�	
�
�����	�����������
�?��/� �
�����/�
����
�����#	����������
	�������0�	�-�	��������
��
������������������������������
�3������������
�4�
�����������������������3��/
.
������F
�
�
�"����3�KG������
	��3�������������������������������
.�������>�����
���/�
$
���������������
��
	�����
"� ������������0�	�
�� ������� �� 
�	�
��	����
��� ���
��	��� ����������� ����	
�	�����
$
�
�����������������������H�!@$�
	��������&'(U��
	�5�	����T�
0�	��$����������������H$
	������
	�V���80
���
�����&'U)�
���&'U+$��
����3��
��
�
����	
���
	�	��������
��	�������
$����H	����A��V�	���0�����������
5��T��
0��$�
���������
.��������������
����	�
�����������������������	����	����	��
���
�
�0�
����
�
�/W0���F�
���
3	��
������������
	���
	��$�/�	���0�����0��
0��G���
�
��
���������������0
���
����	�������������	�������	�����$�
�"��	�
���>���
����������	��
X���������F">�XG�
	�
�$����&'+E$����
���4���	������3���
�	�������	�
$�
�
����
����&'+'��
���
�����
�12�$	���"�9������3��
���
����������	�
$�
�VWT�����
��
�0�
��
�
�
��
�#���
�
��
Histórico e características de C++
"��/����
���������������$��������3����
��������
�������
��@�3
	��9	�
��H���$��
	�H��	��
��	
���	����
����
�
������
�������&'+)$�
�����	����	����	��
���3�	�������&'+,������3�����.
������ �����������$� ������� ��	
���	������
�
�
��
�	�
��	����
������
	�������
���
3���
�$
0�	��������������������������(U��"����$��/
�����
.��������0��$����
	��.��������3
�����
��������X��
����	���*�	����$�����	
�	�����������3�������	
�	��������
C++
C
�
�
������
	�
�.���	������������������������������	��������*���
$����&'')$�
�">�X�
	�
�
���
���4$�
0����
�">�X�YE�&($�
��
�
3�����
��	��������
���	�������	�
���	�������@
�
$
��X���	����
���� 	����*���
���
	�������	��*���
��FX� G$�
�����
���4��	9�	�
$�
0����
X� .AB.7&$�����.����
�">�X�
��
�����
�
3�����
�����������
���
�0�
����
�
�
���4
">�XDX� ��������&'')$������
���4�������3��
��
��
�����
�$�
0����
���
���������	���
F��G$�	���	������R����	
��*���
������3	������&'',$��
����3�	��
�
��	����	
��
�����
����
��*��3	
����&''($� �
�� ��3�	��
�
� ������
��
�����
$����� ���	
��*��� 	�
�	�
�$� 
�
�/
��%��$� ���������� �� �� �8@� F������	��8�������� @�3	�	KG�� ����	�
� ����	��
�
���� �����$
���
�����
� X� DX��� &Z++7<&''+$� �
�� ��
���
� ��� &''+� ����� X� $� ���
� X���	����
���
���
�	
��
0��
����
��������FX��G������
�">�X�
���������� ��������������	
�9���
����	���� 
������ ����4�
�����	�� ���	
�	�����
���
��������$��������
	����	
�	�����
����3��/
.�������
���
����� �	���
�
����$��3��	���
���
���
����
	�������
���
3���
���������	��������������������	�����
�R������������$������
�
��	���
���
���� ���
�����
����	�*���
$�
�����
����������0
	�������� ��
�����
��������
���39��
��$� ����%��� ������$� �	������
�.�������� ��	�� ����%��$� �
3	�
�	��� ��� ����%��$
��	��
	��������	��
������
�����	��*����������	��F�	�����
	�G$�	���	4�
������	
�	�����
����	�
��
��3
	�����������*����3�3��
��
�.���	�
������F������������
����	�
�">�X��G$�
����
�����
3�3��
��
�����������
���
�$���3�3��
��
�.���	�
����
�������
 ��
�����������
	������
�
��	��
	������
	�����
�F..G���������������$��������
�
���&��
���
	����������	�#��������$�����
$�����	��������	��
����������������
������ �
�
!
"����	�#$�
��
���������	�
��
�
Estrutura de um programa C++
"����	���	��3#��
���������	
�	�����������������<
3����%
�	4	���	5
%����	���������	���6
����	����78
9
�����	�
�
:
 3��	���%��<
� 3����%
�	��*�	���	4�
���������	����
.
�3����0
=
� %����	����������	���	�.���R������*���
��������������
�=
� �
�������
��
����
�������
	�����	�	��
	���
�����������
�����78=
� ����78������������
�
3	����9	�������	
�	����������8
�
��	
�	�������������/�
���
���
������
	��������������������������
���*���
$��
	��������78���
��	�
������	����	�.
���	�������
��������	
�	���=
� 9	�	:�����
��$�
����
�
���
�������������
�����78�
"������	$�����/����
�����	
�	��������
��	������������
3����%
�	4��������5
%����	���������	��
6
���	����78
9
��	;)���	%��	#����	��	����
��%�	44	<��%	��������	��������	�..�	�	����=%��>���?��@6
���%��	A6
:
������	
�	���$���3
	��
�����
$���
��
�����	��/�
����
��[��	�
��
������	���������������
�������
������\.�����
���	����������
	�������	
�	�����/�
��#����
� >
���3�����������$�������<
���	
�	������������
������������$
�))	
�	����������)�	����������
>
���3������@���/$�������
�..	������������	
�	��������
!�	���/�
��#.�
$�������
��������
� Resultado da execução do programa
��%	��������	��������	�..�	�	����=%��>���?
��
 3��	���%��<
� >�����0��3����%
�	4��������5$����������������	����
.
�3����0
�
� >�����0��%����	���������	��
6$���
�������������
��
� >�����0�����	����78$�������
����
��
����
	�����	�	��
	���
�����������
�����78��[�
3	����9.
	�
�
� "����0����	;)���	%��	#����	��	����������
����#	�
��?��
����#	�
�����������
��
���
��
�	�
��	�������������
	��
����
�
������
	��!
�����	���
	��
���9�����
����
�
� ��%�������
3���
�������������/�3�����
	���%�����������.���	�
��
���������
��	�
�
���
F�
	��������$�
��
���
	G�
� "����0�����%��	 A6���
�		�����/�
���
���������
�����78�
��
����
	����	��
	�
�)�� 
����
����%�������
���#	�
��
	����
����
	����	��
	�
���
3	����9	�
�
� "�����0������
����
����	������
��
�
�	�
��	��6�F�
��
.�.��	����G�
5�������
	���%����
3	��
	����
$�
�������
������\.�����
�����	
�	�����������
���
��	����
�
��������������	����	�	��
����	�
	��	���������������	����
���	
	�
����	���������$��#���]&'
��7)�
Arquivos-cabeçalho
��
��	����
������
��4���	
�9���
���������%��$��������%��������
	
�$���
��	��%���������
�$
������	���	��$����
������������
��������$���
���#	�
��R������%������3�3��
��
���������
 ���	����
�.
�3����0
���
��	
�����
������������������	�
	�R�
�������
�
0�������	�.
�	
��������
����
� ����
��
���
� ���
�
��
��	
�	���.�
��������������	�.
0����3����%
�$
���
������� ��	������� ����� ��	������ ��
���� �
� �	
�	���.�
���� 
� �	����
.
�3����0
����
���
��
��?���	
�	�����
��	#�
���	������
���	����
�.
�3����0
��
	�����
���#	�
��
?���	
�	����
	��
��	#�
	��	�������	����
�.
�3����0
�
"���	������3����%
���
������
����
	����<
Formato Significado
#include <xxx> O arquivo-cabeçalho xxx será procurado no diretório-padrão de arquivos-cabeçalho.
#include "xxx" O arquivo-cabeçalho xxx será procurado no diretório corrente, e se não for
encontrado, no diretório-padrão de arquivos-cabeçalho.
Nomes de arquivos-cabeçalho
 ��
������
	��������
�������#	�
���	����
�.
�3����0
$�
�������
������������������"
�����*���
���������	����
������
	���������������������X��
��������$������������
�����
����0
��	�*���
$��
	��/����
$�
��	����
.
�3����0
�������������>����	
���
�����	�����
��
����
$��������/����������*�	��/����%��$� ��
���
����/�����
���� 	���	������
���	����
�.
�3����0
���������������$������	
�	������������3����
���������*�	��"����$�
��	����
.
�3����0
����������������������	�
0���	����������
������ �
�
!
"����	�#$�
��
���������	�
��
�
 ���	����
�.
�3����0
���� �����������$����� �
	���
���	���
����	�������*���
�
�����$
	�
�3�	���
��	���/
������������
���$��
	��/����
$���B���������
�������
0���	����B���� �
�	����
�.
�3����0
����������	��	���
���$�������
	�
	�	�������
�
�
�
���
<��������
��
Arquivo-cabeçalho Extensão Exemplo Programas que utilizam
 C .h ctype.h C/C++
 C++ (padrão antigo) .h iostream.h C++
 C++ (novo padrão) Não há iostream C++ com namespace
 Convertido Não há cctype (prefixo c) C++
Namespaces: uma introdução
X������������
��/��������		��������F
��/��&���
��/��7G$�
��������
�����������������		�������<
��	���
������
�����"��������*<�:!�����
���	���
;������������	�����<�: ���	���
����
��/��&�
�
���
��/��7^;$��
����/��������		������������������
��/��������		������������	�������>
��.��
�������	�
��
������
	�����	����������
�	������		�����������
������������
��/����"����$�
�����
��
��	�����	�����
��������������
	��<�:!�����
���	���
����
��/��&;�
��:!�����
���	���
���
��/��7;������
	�����
	���$��
��	�����	�
	���������
������
����������
�����
���������<
��
������:�����
����;�������
��
��
������:��������#�
����
;$�����
$����)�-���������
�����)�(����������� �������
� �����0�����
		������	
�	��������$���
�
����	���
���
���
����$�����
���
�����������%��$���	�#����$����	���	�����
�������
��������������
�	���$� �
��-�	��������	��
����� �
���������	�������
��	�
�
���	$���3
	�
��
��	
�
����������$���	�#����$�����%��$����	���	�����
�������
��
������
���
���$�������
����������������������*���
$�����	������		
�����
�������
$��
���
�
������
	���
���3�	�������
�����������*�	��"������*���
�����������
�����������
�
�����
����	���
����F��������
��
	��G
������$���	������
����������������*��
�����0�	�
�����!�	�������	�	$����
�0���������������
�����
$�
0����������%���$�
���������
�����
��������
��-�	��������	��������������������
������
���
����0��
������������
�<�����-�������(������
���	�������*�	��������
�
��
���	$
��	�
���
���#	��������
���%��
����-������%���7�����-86	�	����(������%���7�����'86
��	�������������*�	�
����������������%���
>������
����
���
�
�
������� ��������
��
	��������	�L��
���
��
�
���
��	
3�������
�����
�����
�����������
O namespace std
>
���#	�
���	����
�.
�3����0
$�0#�
��������
����
$�
��������
��������
��
���#	�
���������
�
��������
��
3�������������
�$�
�
��
	��/����
$�
��
3���
����������%��
 ��	
�	��������������
��	���������*���
��
��������
���	��������
���
��>
�
��
$��
�
��
�
�
�����������������
����
�������
�������
��	������A-����
3����%
�	4��������5
%����	���������	��
6
��
���	����78
9
���	�
�
�6
��%�	44	<������	�	�%�	�
�
��	<6
���	55	�
�
�6
��%�	44	<C��D	���	<	44	�
�
�	44	<	����	
�	�
�
�@	44	<��@6
���%��	A6
:
� Resultado da execução do programa
������	�	�%�	�
�
��	��
C��D	���	(E	����	
�	�
�
�
5�������
	���%����
3	���������
�����
���
��	������
���������	�	 	�����
�	�
	�
�!�
�	
���
����
��
Etapas para a criação de um programa
?���	
�	�������$�
�
�
��
��/����
�����	�
	$������
�����
��	
�	���.�
����F�/�����
����G$�������
��
�����	��/�
����
����
�
������
	���
��
��	
�	���.�
����
�
����
$
��	�
���
���#	������������������	������
�����
��
	��.�������	
�	�����/�
��#���<
� �
�������
<��/�
���
��������	
�	����F
�
������
	G���	���	���*�	�
��	
�	���.�
���
���
0������:��������������#�����;�� ��	
�	����	���������������
�����
��	
�	���.
3���
�F�/�����
���G�
� @��\.�����
<��/�
���
��������	
�	����F
����\�	G���	������	��
��	
�	���.
3���
$�
9���
.
3���
��������%��������*�������	
�����.���	�
�������
����*���
�� ��	
�	����	�����������
���
�����
��	
�	�����/�
��#�����[��
����������3������\�	��#	�
���	
�	����.
3���
��	��
	��	����L��
��	
�	�����/�
��#���$��������
��%���������	
�	�����B	���
������<
Programa-fonte
Compilador
Programa-objeto
Linker
Programa executável
Código-objeto de funções Rotinas-padrão
������ �
�
!
"����	�#$�
��
���������	�
��
�
Como compilar e linkar programas
�
�������
������\.�����
�
��������������������������������!�	������
$�����
���#	�
��/�
���	
�
������
	�������������$�
����\�	�
Compilação de um único programa
���
��
�
��	
�	���.�
����������A-����$��
��/����
�����	�
	�
� >
���3�����������
!�	��
�����	$�������<
���	
�	������A-����
>�
�0�����
��		
���
��	
�	����������A-����$���	#�
	���
�
��	
�	���.
3���
�������A-���
!�	�����\�	$�������<
�))	
�	������A-��)�	������A-��
��	#�
	���
�
��	
�	�����/�
��#����������A-��)��
� >
���3������@���/
!�	��
�����	������\�	$�������<
�..	������A-����	
�	������A-
��	#�
	���
�
��	
�	�����/�
��#����������A-�
Compilação de vários programas
���
��
�
���	
�	����.�
��������A-�����������A(�����
� >
���3�����������
!�	��
�����	$�������<
���	
�	����A-����	����A(����
>�
�0�����
��		
���
���	
�	���������A-�����������A(����$� ��	�
�
	���
��
���	
�	�.
���.
3���
�����A-���������A(���
!�	�����\�	$�������<
�))	
�	����EE��)�	����A-��	����A(��
��	#�
	���
�
��	
�	�����/�
��#��������EE��)��
� >
���3������@���/
!�	��
�����	������\�	$�������<
�..	����A-����	����A(����	
�	����EE
��	#�
	���
�
��	
�	�����/�
��#��������EE�
Automatizando a compilação e a link-edição de programas
>
���3�����������$���	�������	�����������
�������������0��$����
�������
	��	�����	����
�����
��	�����
����*�	���
�������
���������\.�����
�
��
�	�������	����
.��/�
�
0����
$��
	��/����
$��������
��
�
����������
���L�
<
�F�
���	
�	G-����
$H	2�"	;I$�"	G-��	+�"�	#��
�))	
�	G-��)�	G-��
�#��
!�	��
�����	������\�	�������	
�	����$�������������
��
����
��	
�	���.�
���$��������/�����
$
�
����#����#��
��	����
�������<
��	����A-
Teste seus conhecimentos
&� ��
	����:P;���	���������������������:_;���	��������������	�����	���
&� "��������������
��������
�������
����3
	��9	�
�����S�-����.!�
\�	��FS!G��F]]]G
7� "��	����	����	��
�������������������3�����
�0�
����
�
�VWT����F]]]G
E� "����������������
��������
�������
��@�3
	��9	�
��H���$��
	�H��	�����	
���	����F]]]G
Z� ">�X����������
������
������R���������������9�����������	
��*���
����
�">�X��F]]]G
,� �
����
	����
�������$����������������
	��.��������3
�����
���������F]]]G
(� "������
�����78���
�
�
��������	
�	����������F]]]G
U� 3����%
����������	�����������*����������������	�.�	
��������
��F]]]G
+� ���
�����������
�����	�����������������
��
	���������������������*��
������
�����
���F]]]G
'� ���	����
�.
�3����0
���
��	
�����
��������������	�.�	
��������
��F]]]G
&)� !�	����������	
�	���������
������	��/�
����
$��	����������	������� ��������� ���\.�����
��
�������
��F]]]G
&&� ?���	
�	����������
	��
����
��	
�	����
	������
�����
��	
�	���.
3���
��F]]]G
������ �
�
!
"����	�#$�

Outros materiais