Curso C - 2. Seu primeiro programa em C

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



Esta notícia veio de LinuxDicas - Artigos, Dicas e Notícias Sobre o Mundo Linux
http://www.linuxdicas.com.br

O link desta notícia é:
http://www.linuxdicas.com.br/modules.php?name=Sections&op=viewarticle&artid=182