Revista Active Delphi
quinta-feira, 29 de julho de 2010
Busca  
Porta 80 Web Hosting
 :: Acessibilidade
Ir para conteúdo principal: ALT + 1
 :: Participe
Seja um autor de CD/DVD de Treinamento
Publique um artigo
Publique uma oportunidade
Publique uma notícia
Publique um curso
Publique uma dica
Publique um código
 :: Informativo
Receba nossos informativos por e-mail.
E-mail:   
 
Digite a palavra abaixo:  
 
 
 :: Oportunidades
Cadastrar oportunidades
Gerenciar suas oportunidades
Cadastrar nova empresa
 :: Especiais
Básico de C++
C++ Builder
Curso ASP.NET 3.5 em VB.NET e C#
Guia Prático de HTML
Testes com Visual Studio Team System 2008
 :: Desenvolvimento
ActionScript
ADO.NET
ASP
ASP.NET
Automação Comercial
C#
C/C++
Coldfusion
CSS
Delphi
Disp. Móveis
HTML
Java
Javascript
LSL (Second Life)
Modelagem
PHP
Python
Sharepoint
Silverlight
SQL
VBA (Office)
Visual Basic
Visual Basic .NET
Visual Fox Pro
WCF/WPF
Web Services
XML
 :: Infra
BizTalk Server
CRM
Exchange Server
ForeFront / Antigen / IAG
Interoperabilidade
ISA Server
Linux
MOF
MS Dynamics CRM
Network
OCS / LCS
Outlook
Powershell e Scripts
Redes
Segurança
System Center e Gerenciamento
Virtualização
Windows
Windows Server
 :: Banco de Dados
Access
Caché
Firebird
Interbase
MySQL
Oracle
SQL Server
Sybase
 :: Gerência
Arquitetura
Ciclo de Vida de Desenvolvimento
Controle de Versão
Estimativas
Metodologias
MOF
Qualidade e Testes
 :: Design
Corel
Flash
Photopaint
Photoshop
 :: Livros
Análise Sistemas
Aplicativos
Banco de Dados
Certificação
Design e CAD
Gerência
Hardware
Internet
Programação
Programação Web
Rede
Segurança
Servidores
Sistemas Operacionais
 :: CDs/DVDs
Desenvolvimento
Infra
Design
 :: E-Books
.NET 2.0 (VS 2005)
.NET 1.1 (VS 2003)
SQL Server
Excel 2007
Excel 2003
Access 2003
ASP 3.0
Delphi
Java
Artigos
Série “Iniciando em C++” – O que é um programa em C++
Por: Fabiano Maciel
[Entre em contato com o autor ]
MCP, formado pela Universidade Federal de Viçosa em Ciência da Computação atualmente é Gerente de Desenvolvimento da empresa ARC do Brasil (www.arcbrasil.com.br), atuando principalmente no setor automobilístico com automação industrial. Trabalha com informática há mais de 14 anos, utilizando-se as principais linguagens de programação (C++, Visual Basic, Visual Basic.NET, Delphi) existentes no mercado, bem com as principais técnicas de modelagem e desenvolvimento de aplicativos. Co-Lider do Grupo de usuários .NET Raptors (www.dotnetraptors.com.br) escreve artigos técnicos para diveros meios de comunicação da área de informática.
Feed de artigos.
Feed de artigos deste autor.
Gere seu feed personalizado  
Série “Iniciando em C++” – O que é um programa em C++
Publicado em: 01/06/2004

Introdução

Neste artigo da série Iniciando em C++ você aprenderá quais são as partes de um programa em C++, como elas se interagem e o que é uma função e o que ela faz.

As partes de um programa simples

Antes de nos aprofundarmos nos detalhes da C++, como classes e variáveis, vamos reservar um tempinho para termos uma noção do processo de montagem de um programa.

O programa simples apresentado no primeiro artigo, Hello.cpp, tem muitas partes interessantes. Agora vamos ver o programa em detalhes. A listagem abaixo reproduz a versão original do Hello.cpp.

1: #include <iostream>
2:
3: using namespace std;
4:
5: int main()
6: {
7: 	cout << "Hello World!\n";
8:	return 0;
9: }

Output:
Hello World!

Na linha 1, o arquivo iostream.h é incluído no arquivo. Para o compilador é como se você tivesse digitado todo o conteúdo do arquivo iostream.h na abertura do Hello.cpp.

Examinando o #include caractere por caractere

O primeiro caractere é o símbolo "#", que é um sinal para o pré-processador. O pré-processador tem como função ler o código-fonte à procura de linhas que comecem com o símbolo # e, quando o localiza, modifica o código de acordo com a instrução do pré-processador.

Include é uma instrução do pré-processador que diz o seguinte: "O que vem a seguir é um nome de arquivo. Localize o arquivo e leia-o agora mesmo". Os sinais <> em tornodo nome do arquivo dizem a seguinte informação para o pré-processador: "Procure este arquivo nos lugares de sempre". Se o seu compilador estiver devidamente configurado, os <> farão com que o pré-processador procure o arquivo iostream no diretório que armazena todos os arquivos de cabeçalho do seu compilador. O arquivo iostream (Input-Output-STREAM) é usado pelo cout, que remete o texto para a tela.

Na prática, a linha 1 incluir o arquivo iostream no programa, como se você mesmo o tivesse digitado.

DICA 1: Porque no código tem <iostream> e não <iostream.h>? Bem no C++ atual, o arquivo de cabeçalho não contêm a extensão .H. Eram utilizados na versão do C++ antigo.

DICA 2: Porque utilizar "<>" e ""? Bem caso você utilize "" o compilador buscará somente no path onde está o seu código.

Análise linha a linha

A linha 3 indica que estamos utilizando o namespace STD. Um namespace permite dividir um programa em regiões que mantêm suas próprias tabelas de símbolos, estas regiões são chamadas de regiões declarativas. A idéia por trás dos namespaces é evitar que nomes declarados em um programa entrem em conflito com outros nomes definidos no mesmo programa, uma vez que os nomes de um namespace são independentes daqueles de outros.

O que estamos realmente fazendo na linha 3 é importar os símbolos do namespace STD para o espaço de nomes global. Quando importamos um símbolo para o espaço de nomes global ele fica disponível a todo o código do programa. Se não importarmos um símbolo e outro namespace , para referenciá-lo precisaremos qualifica-lo com seu namespace da seguinte maneira: namespace::nome. Por exemplo: std::cout.

A linha 5 inicia o programa propriamente dito com uma função cujo nome é main(). Todos os programas em C++ têm uma função main(). Em geral, uma função é um bloco de código que executa uma ou mais ações. As funções são invocadas (alguns programadores preferem dizer que são chamadas) por outras funções, mas main() é especial. Quando o seu programa é iniciado, main() é chamada automaticamente.

main(), como todas as outras funções deve afirmar o tipo de valor que retornará. Mais uma vez, main() é especial, pois retornará sempre int . Todas as funções começam com uma chave de abertura ({) e terminam com uma chave de fechamento (}). As chaves da função main() encontram-se nas linhas 6 e 9. Tudo o que estiver entre as chaves de abertura e de fechamento será considerado como parte integrante da função.

cout é utilizado para imprimir uma mensagem na tela.

Os dois caracteres finais, "\n", fazem com que cout coloque uma nova linha depois das palavras "Hello World!". Na linha 8 chamamos o return 0. Ela retorna o controle para o sistema operacional.

A função main() termina na linha 9, com a chave de fechamento.

Comentários

Um comentário é um texto adicionado para explicar (para você ou outros programadores) o que está acontecendo com seu código. O comentário não tem efeito; serve apenas como documentação.

Há dois tipos de comentários em C++. O comentário de barra dupla (//), que chamaremos de comentário no estilo C++, manda o compilador ignorar tudo que vem depois das barras até o final da linha.

O comentário de barra-asterisco (/*), no estilo C, manda o compilador ignorar tudo o que vem depois até que uma marca de comentário de asterisco-barra (*/) seja detectada.

Funções

Embora main() seja uma função incomum, pois é chamada automaticamente quando seu programa é inicializado. Todas as outras funções são chamadas pelo seu próprio código à medida que o programa é executado.

Um programa é executado linha a linha na ordem em que aparece no código-fonte, até uma função ser chamada. Em seguida, o programa desvia para executar a função. Quando termina a função, ele retorna o controle para a linha posterior à função chamadora.

Quando um programa precisa executar um serviço, ele chama uma função para executa-lo e, quando a função retorna, o programa volta para o ponto imediatamente anterior à função chamada.

As funções retornam um valor ou retornam um void, o que significa que não retornam nada. Observe que main() sempre retorna um int.

Uma função que inclui dois inteiros deve retornar a soma e, dessa forma, seria definida para retornar um valor inteiro. Uma função que se restringe a imprimir uma mensagem não tem nada a retornar e, portanto, seria declarada para retornar nula.

As funções consistem em um cabeçalho e um corpo. O cabeçalho consiste, por sua vez, no tipo de retorno, no nome da função e nos parâmetros dessa função. O cabeçalho também é definido como protótipo da função. Os parâmetros de uma função permitem que os valores sejam passados para a função. Assim, se a função fosse adicionar dois números, os números seriam os parâmetros da função. Veja um exemplo abaixo:

int Sum(int a, int b)

Um parâmetro é uma declaração do tipo de valor que será passado; o verdadeiro valor passado pelo função chamadora é chamada de argumento. Muitos programadores usam esses dois termos, parâmetros e argumentos, com sinônimos.

O nome da função e seus parâmetros (que é o cabeçalho sem valor de retorno) é chamado de assinatura da função.

O corpo de uma função consiste em uma chave de abertura, nenhuma ou alguma(s) instrução(ões) e uma chave de fechamento. As instruções constituem o trabalho da função. Uma função pode retornar um valor usando uma instrução return. Essa instrução fará com que a função seja fechada. Se você não colocar uma instrução return na sua função, ela automaticamente retornará um void no final da função. O valor retornado deve ser do tipo declarado no cabeçalho da função. Abaixo segue um exemplo que demonstra uma função que utiliza dois parâmetros inteiros e retorna um valor inteiro. Por enquanto não vamos nos preocupar com a sintaxe ou o modo como os valores inteiros funcionam.

//Listagem 2.2	Func.cpp demonstra uma função simples.

#include <iostream>
using namespace std;
int Add (int x, int y)
{
	cout << "Em Add(), recebeu " << x << " e " << y << "\n";
	return (x+y);
}

int main()
{
	cout << "Estou em main()!\n";
	int a, b, c;
	cout << "Digite dois números: ";
	cin >> a;
	cin >> b;
	cout << "\nChamando Add()\n";
	c=Add(a,b);
	cout << "\nDe volta para main().\n";
	cout << "c foi definido como "<< c;
	cout << "\nSaindo...\n\n";
	return 0;
}

A função Add() é definida na linha 3. O programa em si começa na linha 12, na qual ele imprime uma mensagem. O programa solicita dois números para o usuário (linhas 14 e 15). O usuário digita cada número, separado por um espaço, e em seguida pressiona <Enter>. Main() passa os dois números digitados pelo usuário como argumentos para a função Add() na linha 18.

O processamento desvia para a função Add(), que começa na linha 3. Os parâmetros a e b são impressos e, em seguida, adicionados. O resultado é retornado na linha 7 e a função retorna.

Nas linhas 15 e 16, o objeto cin é usado para obter um número para as variáveis A e B, e cout é usado para remeter os valores para a tela. As variáveis e outros aspectos desse programa serão depurados nos próximos artigos.

Neste artigo você aprendeu as partes que compõem um programa C++ e como elas se inter-relacionam, bem como aprendeu o que é uma função e como utiizá-la.





MS TechEd 2010



 

Inclua um comentário sobre o artigo Topo
Elogios e críticas são muito bem vindos, porém o comentário deve ter referência ao artigo em pauta.
O portal e o autor agradecem.
Nome:    
E-mail:      
Comentários:    
Digite a palavra abaixo:  
Para dúvidas técnicas, NÃO UTILIZE ESTE ESPAÇO, utilize nosso fórum de discussão.
http://linhadecodigo.com.br/cs2/forum
 
Comentários sobre o artigo Ver Todos comentários
Oi Boa Noite.

O conteudo do c++ esta de bom proveito pra pessoas que ainda tentam desvendar a leitura do condigo fonte dessa programaçao.

Estou gostando e quero aprender ainda mais!

obrigado.
Quem enviou: Ivan Pinto Correa
Postado em: 27/9/2008 0:00:00
Sou um mero estudante de análise e desenvolvimento de sistemas primeiro periodo. são muito boas suas dicas, continuarei a vendo-as.
Quem enviou: Carlos ant Ramos Leite
Postado em: 15/6/2008 0:00:00
Muito bom esse artigo, principalmente para aqueles que estão iniciando nesse maravilhoso universo que é a programação
Continuem assim
Quem enviou: Allan Simoura
Postado em: 16/10/2007 0:00:00
Gostaria de saber como faço pra tela ficar mostrando a frase feita no programa, pois quando executo o Hello World ela abre e fecha muito rapido não dando tempo de ler o que está escrito, obrigado por tirar esta duvida.
Bruno Monteiro
Quem enviou: Bruno Monteiro
Postado em: 4/10/2007 0:00:00
Estou tentando buscando um programa C++ para elaboração do Quadrado Mágico , eou verificação se um Quadrado 5X5 é um Quadrado Mágico (Soma do vetores e diagonais são as mesmas)
VCs. tem algo disponivel ??

S.Ferrari
Quem enviou: Sérgio Ferrari
Postado em: 16/9/2007 0:00:00
fabiano.

estou iniciando no c++ já tenho dificuldade neste programa

#include<stdio.h>
int main ( )
{
int a,b,c,d;
printf ("digite o valor de a:");
scanf ("%d,&a);
printf ("digite o valor de b:");
scanf ("%d,&b);
printf ("digite o valor de c:");
scanf ("%d,&c);
printf ("digite o valor de d:");
scanf ("%d,&d);
if (a==b==c==d==a);
{
printf ("e um quadrado!");
}
if (a!=b!=c!=d!=a);
{
printf ("nao e um quadrado!");
}
return (0);
}



grato
Sidney
Quem enviou: Sidney Antonio
Postado em: 5/6/2007 0:00:00
gostei muito da forma que explicas pois que gosto muito de programar infelismente não tenho muita literatura em disposiçao por isso q eu aproveito esta tua esposição que são muito importante para mim. parabens continua sempre assim muita paz
Quem enviou: paulo kleber santos
Postado em: 19/5/2007 0:00:00
ñ percebo nada de programação mas fiquei com as noções básicas do artigo
Quem enviou: crampter
Postado em: 10/4/2007 0:00:00
estou facinado com a programação e pretendo ir adiante, mas gostaria de saber se uma pessoa que não é tão boa em matemática ou matéria de cálculo qualquer poderar ser um programador ou até mesmo um bom programado?

Agradeço desde já por sua ajuda.
Quem enviou: Ramiro Júnior
Postado em: 11/3/2007 0:00:00
criei um programa em c++ como faço para fze-lo rodar com a mesma interface grafica do windows???

grato!

Edu.
Quem enviou: Eduardo
Postado em: 21/11/2006 0:00:00
Outros artigos do autor Topo
Série “Iniciando em C++” – Instruções
Série “Iniciando em C++” – Variáveis
Série “Iniciando em C++” – O que é o C++
Artigos relacionados Topo
Reutilizando Código Nativo no .NET
Polimorfismo estático (C++)
Desenvolvedor Profissional. Será?
Sobrecarga de função às avessas
Proteção dos membros protected
Ponteiros de método: conceito fundamental
O que acontece quando o contador estoura
Como pegar o sizeof de um membro de um struct...
Classe do dia: HResult
Bugs difíceis de achar
Drag and drop no Cpp Builder - parte 6
Desenhando em Cpp Builder - parte 5
Gerenciamento de janelas em Cpp Builder - parte 4
Conceitos básicos na programação com Cpp Builder - parte 3
Interação entre controles no Cpp Builder - parte 2
Conhecendo o Cpp Builder - parte 1
Aquisição de recurso é inicialização
A inteligência do if
Instalando o Dev-C++ com MinGW e GDB atualizados
Por que aprender C/C++?
Básico de C++: Diretivas de pré-processador
C++ Tutorial: 5.4: Advanced Class Type-casting
Básico de C++: Tratamento de exceções
Básico de C++: Namespaces
Básico de C++: Templates
Compiladores: Revisão dos Princípios, Técnicas e Ferramentas
.Net Framework 2.0: Delegates
Básico de C++: Membros Virtuais. Abstração. Polimorfismo
Básico de C++: Relacionamentos entre classes: friend. Herança
Básico de C++: Sobrecarga de Operadores, this, Membros estáticos
Produtos relacionados Topo
Livro: ALGORITMOS O Guia Essencial
Livro: Programando em C - Volume I - Fundamentos - Inclui o padrão ISO C99
Livro: Redes Neurais - Fundamentos e Aplicações com Programas em C
Livro: Estrutura de Dados e Algoritmos Usando C - Fundamentos e Aplicações
Livro: Visual Studio Team System (VSTS)
© Copyright 2001-2010 Codeline Editora, Comércio e Tecnologia Ltda. | Política de privacidade e de uso | Anuncie | Fale conosco

» Site hospedado na Porta 80 Web Hosting «
Nossos números
Dicas: 1.314
Códigos/scripts: 279
Funções de VBScript : 90
Funções JScript : 05
Livros: 1.805
Notícias: 2.488
Artigos: 2.972
Cases: 14
Oportunidades: 4.546
Publicidade

Conheça a loja do Linha de Código.

Microsoft indica Linha de Código.

Assine a Revista Mundo .NET
Portal de Vídeos .NET - os melhores vídeos .NET estão aqui
O que você fará com o Visual Studio 2010?
Revista Codificando .Net

Siga-nos no Twitter

Linha de Código no Orkut
Fórum de discussão do portal Linha de Código
Feeds
Oportunidades
Notícias
Artigos
Artigos personalizado
       (Por assunto)
Artigos personalizado
       (Por autor)
Portal Vídeos .NET
Portal Vídeos Delphi
LC Blog
       (Onde você faz a notícia)
Promoções
Promoção Mobile com entrega via download (válido somente para pagamento via boleto bancário)
Promoção Mobile com entrega via download (válido somente para pagamento via boleto bancário)
De: R$ 189,00
Por: R$ 126,00
Promoção Wordpress + Tabless (válido somente para pagamento via boleto bancário)
De: R$ 149,70
Por: R$ 99,80
Promoção C# Básico (válido somente para pagamento via boleto bancário)
De: R$ 185,90
Por: R$ 136,00
Promoção PHP + MYSQL Intelimax (válido somente para pagamento via boleto bancário)
De: R$ 308,00
Por: R$ 219,00
Promoção Especial Infra
De: R$ 175,95
Por: R$ 136,00
CDs/DVDs
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
DVD Desenvolvimento de Games - Programando Jogos com o 3D Game Studio
Por: R$ 59,00
DVD Curso de CorelDraw X4
Por: R$ 79,90
DVD Curso de Fireworks CS4
Por: R$ 49,90
DVD Curso de Indesign CS4
Por: R$ 55,00
DVD Curso de Efeitos Digitais
Por: R$ 49,90
Livros
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
MSProject 2007 - Metodologia e Critérios de Qualidade para o Gerenciamento de Projetos
De: R$ 129,00
Por: R$ 77,40
Foundation FLASH CS3 para Designers
Ciência Moderna
De: R$ 139,00
Por: R$ 83,40
Recursos Visuais na Web com PHP
Ciência Moderna
De: R$ 49,00
Por: R$ 29,40
Crie um Sistema Web com PHP 5 e AJAX - Controle de Estoque
Erica
De: R$ 99,50
Por: R$ 84,50
Crie Projetos Gráficos com Adobe Photoshop CS4, CorelDRAW X4 e Adobe InDesign CS4 - em Português
Erica
De: R$ 77,50
Por: R$ 65,80
E-Books
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Manual Completo de Estudos MCSE 70-270 - Instalando, Configurando e Administrando o Windows XP (506 páginas) - Entrega via download
Por: R$ 30,00
Manual de Estudos - Exame 70-291 - Windows Server 2003 (606 páginas) - entrega via download
Por: R$ 30,00
Dominando MS – Visio ® em 20 Passos - Melhores Práticas em Gestão de Projetos (entrega via download)
Por: R$ 30,00
MS-Project® 2007 - Melhores Práticas de Gestão de Projetos - Dominando MS – Project ® em 20 Passos (e-book com entrega via download)
Por: R$ 20,00
Banco de dados com C# e Visual Studio .Net 2005 (entrega via download)
Por: R$ 20,00
Os 10+ | Autores do dia
Israel Aéce
Júlio Cesar Fabris Battisti
Anderson Patricio
Alfred Reinold Baudisch
Luiz Felipe de Freitas
Robert Martim
Ramon Durães
Alessandro de Oliveira Faria
José Carlos Macoratti
Eric C M Oliveira
Os 10+ | Artigos do dia
HTML Básico
HTML Avançado
Criando aplicativos para o Orkut
Tutorial de Tabelas Dinâmicas no Excel – Parte 1
Excel: fórmulas matriciais
ASP.NET 2.0 - Explorando o GridView
Iniciando um projeto de Nota Fiscal Eletrônica - NFe
PL/SQL - Procedures e Funções
Excel: Comparando Listas
PHP: Formulários e upload de múltiplos arquivos e fotos