VOLPITI - Tecnologia da Informação
 
Busca
Tópicos
  Cadastre-se :: Hospedagem LinuxDicas :: Acessórios LinuxDicas :: Fórum LinuxDicas   

Usuários LinuxDicas
· AvantGO
· Backend XML (RSS)
· Contato/Publicidade
· Enviar Notícias/Artigos
· Fórum LinuxDicas
· Lista de Discussão
· Mensagens Privadas

Casa do Linux


Lista de Discussão
·[linuxdicas] quetão de linux
·Ferramenta de Backup
·redes
·Search Engine

Leia mais...

Artigos LinuxDicas
· Resistência ao Linux
· Guia para o Novato
· Licenciamento do SuSE
· Foca GNU/Linux - Iniciante
· Foca GNU/Linux - Intermediário
· Foca GNU/Linux - Avançadoe
· Curso C
· Outras Seções de Artigos

FAQ LinuxDicas
· Licença
· Servidores
· Ambiente X
· Hardware
· Instalação
· Internet
· Aplicativos
· Sistema
· StarOffice

Notícias Velhas
Segunda, abril 21
· MON - Monitorando a disponibilidade de serviços
Quinta, abril 17
· Últimos dias para Inscrições de Palestras no Flisol Campinas
· Acessando seus arquivos de sua máquina de qualquer computador do mundo
Terça, abril 15
· Artigo sobre o Moregroupware
Segunda, abril 14
· Análise do Mandriva Xtreme2 Pack
Terça, março 18
· Como migrar dados do msaccess para mysql
· A verdadeira razão para usarmos Linux
· usando o rsync 3.0.0 para fazer backup entre linux e xp
· Firefox3 : Como Instalar manualmente.
Sábado, fevereiro 09
· Configurando um DNS CHROOTED Primário e Reverso para o seu site.
Quinta, dezembro 27
· Censurando a internet com o OpenDNS
Domingo, outubro 14
· Bandwidth Monitoring Tools For Linux
Quinta, outubro 11
· Variáveis de ambiente
Quinta, agosto 02
· Rodando processos em múltiplos servidores, Cluster!!!
· Instalando XEN no seu Ubuntu/Debian
Domingo, junho 17
· Vovó, faz backup pra mim?
Quarta, junho 13
· Canetas: Idealismo Antártico
Quinta, junho 07
· CA confiável com certificados digitais
Domingo, junho 03
· Equações Matemáticas via Shell
Sábado, junho 02
· Permanent Link to Garimpar é preciso [2]: Confira seu e-mail

Notícias antigas

Versões Estáveis
· Kernel Linux
· *nix e *BSD ISOs da Unicamp
· Linux ISO
· FreeBSD Releases

Curso C - 2. Seu primeiro programa em C

(1018 total de palavras neste texto)
(9626 vizualização(ões))   Imprimir




Curso de C - 2. Seu primeiro programa em C

2.1. Estrutura básica de um programa em C

Bem, chega de prosa! Vamos começar a colocar a mão na massa. Iremos começar estudando como é a estrutura básica de um programa bem simples em C, que escreverá na tela a mensagem "Hello, Linuxdicas!". A seguir você tem o código do programa. As linhas estão numeradas para facilitar o entendimento.

  1  #include <stdio.h>

  2
  3  /* hello.c - Imprime a mensagem "Hello, Linuxdicas!" na tela */
  4  int main()
  5  {
  6	 printf("Hello, Linuxdicas!\n");
  7	 return 0;
  8  }

Agora vamos explicar linha por linha. A linha 1 contém a diretiva #include <stdio.h>, e serve para incluir as funções de uma biblioteca em seu programa. Neste caso, estamos incluindo a biblioteca de entrada e saída padrão (standard input/output), necessária para a utilização da função printf(), que veremos adiante. Antes que eu me esqueça, C é uma linguagem que diferencia minúsculas de MAIÚSCULAS. As palavras-chave e os comandos da linguagem devem ser escritos em minúsculo. Se você declarar variáveis, funções, tipos, etc, utilizando caracteres maíusculos, não se esqueça de os referenciar da forma correta.

A linha 2 não contém nada... Está em branco. Você pode adicionar linhas em branco, espaços e tabulações em seu código para torná-lo mais fácil de ser lido.

A linha 3 contém um comentário, iniciado com /* e fechado com */. Comentários são úteis somente para quem programa e/ou mantém o código-fonte, sendo uma forma de documentar e explicar o que você está fazendo em determinados trechos. O compilador ignora os comentários (assim como os espaços, tabulações e linhas em branco). Os comentários podem ter uma única linha, como no nosso caso, ou possuir várias linhas:

  /* Isto é um 
  comentário 
  válido em C */

É uma prática saudável e recomendável comentar o código.

A linha 4 contém o início da função main(). Esta função marca o início da execução do programa e deve existir em algum lugar do código para este funcionar corretamente. Se o seu programa tiver somente uma função, ela deverá ser main(). Você me perguntaria: o que significa aquele int imediatamente antes de main()? Este int está dizendo que main() deve retornar um valor para o sistema, indicando sucesso ou falha. Este valor é um número inteiro, por isso int. Veremos mais sobre tipos de dados, e também sobre funções, em outra aula.

Na linha 5 vemos o caractere abre-chaves, um delimitador de bloco. Cumpre a mesma função que begin em Pascal, serve para abrir um bloco de código. O que estiver dentro do par de chaves pertence a função main(), neste caso.

Mas é na linha 6 que o nosso programa cumpre a sua crucial missão: escrever a mensagem "Hello, Linuxdicas!" na tela. O que você precisa saber agora é que a função printf() é a principal função para escrita no console (saída padrão). E você me perguntaria: o que significa aquele "\n" logo depois da mensagem propriamente dita? O "\n" é um caractere especial, e serve para pular para a próxima linha, assim que acabar de escrever a mensagem. Iremos estudar esses caracteres especiais posteriormente.

OBS: os comandos em C são terminados com um ";" (ponto-e-vírgula). Não esqueça.

Como muitos Linuxers sabem, quando um programa termina sua execução, este retorna para o sistema um código de sucesso ou falha. É isso que a linha 7 faz. No nosso caso estamos retornando 0 para dizer que o programa executou sem erros. Na prática, poderíamos ter declarado a função main() para não retornar nada (veremos isso em outra aula), mas isso vai contra o padrão ANSI C, que exige que seja retornado um valor para o sistema, indicando sucesso ou falha.

E finalmente chegamos à linha 8, onde encontramos o fecha-chaves, que faz a mesma coisa que o end do Pascal (fim do bloco de código). Nosso programa terminou!!

Em C você tem a liberdade de escrever o seu código em qualquer estilo. Como exemplo o nosso programa:

  #include <stdio.h>
  /* hello.c - Imprime a mensagem "Hello, Linuxdicas!" na tela */
  int main() {	printf("Hello, Linuxdicas!\n");	 return 0;	}

O compilador aceitará sem problemas se você escrever seu código assim, tudo em uma linha. É claro que desta forma o código fica muito mais difícil de se entender do que da outra forma, mas o compilador aceita. Também é uma prática saudável e recomendável deixar seu código fácil de ser lido e entendido utilizando espaços, tabulações e quebras de linha.


2.2. Compilando e executando o seu programa

Agora salve o seu programa com o nome hello.c e saia do editor de textos. Iremos compilar o nosso programa para transformá-lo em um executável. Digite este comando no console:

  # gcc hello.c -o hello

O comando acima compila nosso código-fonte e gera o executável. Se você digitar apenas gcc hello.c será criado um executável de nome a.out. Então, para gerar nosso programa com um nome, precisamos colocar a opção -o nome_do_programa.

Se houver algum erro na compilação, você pode ter esquecido de colocar algum ponto-e-vírgula, ou ter errado na digitação. Abra o editor de textos e verifique se o seu código não contém erros.

Para executar seu programa, basta digitar:

  # ./hello

Se tudo correu bem, você verá na tela a mensagem "Hello, Linuxdicas!". Parabéns! Seu programa foi compilado com sucesso e executou corretamente.

Agora, para passar o tempo, alguns exercícios.... :)

Na próxima aula estudaremos sobre Variáveis e Constantes. Não percam!


2.3. Exercícios

1) Encontre o(s) erro(s), se houverem, nos seguintes programas:

  #include <stdio.h>
  /* hello.c - Imprime a mensagem "Hello, Linuxdicas!" na tela
  Int Main()
  {	printf("Hello, Linuxdicas!\n");
  	return 0;
  }


  #include <stdio.h>
  
  /* hello.c - Imprime a mensagem 
    "Hello, Linuxdicas!" na tela  */
    
  int main()
  {	printf("Hello, Linuxdicas!\n");
  	return 0;
  }

  #include <stdio.h>
  int main(){printf("Hello, Linuxdicas!\n");return 0;}


  #include <stdio.h>
  /* hello.c - Imprime a mensagem "Hello, Linuxdicas!" na tela */
  int main()
  {	printf(Hello, Linuxdicas!\n);
  	return 0;
  }

2) Porque a função main() deve conter o comando return?

3) Qual a importância da função main()?



Powered by txt2tags
  

[ Voltar Curso C | Índice de Seções ]


Copyright © 2002 - 2007 LinuxDicas - Todos Os Direitos Reservados.
LinuxDicas: lucas.martinez @linuxdicas.com.br
Web site engine's code is Copyright © 2003 by PHP-Nuke. All Rights Reserved. PHP-Nuke is Free Software released under the GNU/GPL license.
Tempo para gerar esta página: 0.059 segundos.