Programar em C/Conceitos básicos: diferenças entre revisões

[revisão pendente][revisão pendente]
Conteúdo apagado Conteúdo adicionado
m <source> -> <syntaxhighlight> (phab:T237267)
 
Linha 9:
* O compilador ignora espaços, tabulações e quebras de linha no meio do código; esses caracteres são chamados genericamente de '''espaço em branco''' (''whitespace''). Ou seja, os três trechos a seguir são equivalentes:
 
<sourcesyntaxhighlight lang=c>
printf("Olá mundo");return 0;
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=c>
printf ("Olá mundo");
return 0;
</syntaxhighlight>
</source>
 
<sourcesyntaxhighlight lang=c>
printf(
Linha 27:
0
;
</syntaxhighlight>
</source>
 
No entanto, você achará muito mais fácil de ler um estilo de código mais parecido com o segundo exemplo. Costuma-se usar (mas não abusar de) espaços e tabulações para organizar o código. Tal prática é chamada de '''indentação do código'''. Trata-se de uma convenção de escrita de códigos fonte que visa modificar a estética do programa para auxiliar a sua leitura e interpretação. Ela tem como objetivo indicar a hierarquia dos elementos.
Linha 37:
Geralmente, em programação, não queremos que outras funções usem as variáveis que estamos manipulando no momento. O conceito de '''escopo''' está justamente relacionado a isso. '''Escopo''' é o nível em que um dado pode ser acessado; em C há dois níveis: '''local''' e '''global'''. Uma variável ''global'' pode ser acessada por qualquer parte do programa; variáveis ''locais'' podem ser acessadas apenas dentro do bloco onde foram declaradas (ou nos seus sub-blocos), mas não fora dele (ou nos blocos que o contêm). Isso possibilita que você declare várias variáveis com o mesmo nome mas em blocos diferentes. Veja um exemplo:
 
<sourcesyntaxhighlight lang=c>
int a;
{
Linha 46:
int b;
}
</syntaxhighlight>
</source>
 
As duas variáveis chamadas <var>b</var> são diferentes e só podem ser acessadas dentro do próprio bloco. A primeira variável <var>a</var> é global, mas só pode ser acessada no segundo bloco, pois a variável local <var>a</var> no primeiro bloco oculta a variável global de mesmo nome. Note que isso é possível em C, e tome cuidado para não cometer erros por causa disso.
Linha 57:
* '''#include "nome_da_biblioteca"''': o pré-processador procurará pela biblioteca no mesmo diretório onde se encontra o nosso programa. Podemos ainda optar por informar o nome do arquivo com o caminho completo, ou seja, em qual diretório ele se encontra e como chegar até lá.
De modo geral, os arquivos de bibliotecas na linguagem C são terminados com a extensão '''.h'''. Veja dois exemplos do uso do comando '''#include''':
<sourcesyntaxhighlight lang=c>
#include <stdio.h>
#include "D:\Programas\soma.h"
</syntaxhighlight>
</source>
 
Na primeira linha, o comando '''#include''' é utilizado para adicionar uma biblioteca do sistema: '''stdio.h''' (que contém as funções de leitura do teclado e escrita em tela). Já na segunda linha, o comando é utilizado para adicionar uma biblioteca de nome '''soma.h''', localizada no diretório "D:\Programas\".
Linha 72:
Em C, para chamar uma função, devemos escrever o seu nome, seguido da lista de argumentos (separados por vírgula) entre parênteses, mesmo que não haja nenhum argumento. Lembre que a chamada de função também é uma instrução, portanto devemos escrever o ponto-e-vírgula no final. Alguns exemplos de chamadas de funções:
 
<sourcesyntaxhighlight lang=c>
funcao(arg1, arg2, arg3);
funcao();
</syntaxhighlight>
</source>
 
Se quisermos saber o valor de retorno de uma função, podemos armazená-lo numa variável. Variáveis serão introduzidas logo adiante, mas a sintaxe é muito fácil de aprender:
<sourcesyntaxhighlight lang=c>
valor_de_retorno = funcao(arg1, arg2);
</syntaxhighlight>
</source>
 
Vejamos um exemplo completo:
<sourcesyntaxhighlight lang="c">
//quadrado.c
//calcula o quadrado de um número
Linha 108:
return 0;
}
</syntaxhighlight>
</source>
 
Em C, todo o código (exceto as declarações de variáveis e funções) deve estar dentro de funções. Todo programa deve ter pelo menos uma função, a função '''main''', que é por onde começa a execução do programa.
Linha 124:
Muitas vezes é bastante útil colocar comentários no código, por exemplo para esclarecer o que uma função faz, ou qual a utilidade de um argumento, etc. A maioria das linguagens de programação permite comentários; em C, eles podem aparecer de duas maneiras:
 
<sourcesyntaxhighlight lang=c>
/* Comentários que podem
ocupar várias
linhas.
*/
</syntaxhighlight>
</source>
 
e
 
<sourcesyntaxhighlight lang=c>
// Comentários de uma linha só, que englobam
// tudo desde as duas barras até o final da linha.
</syntaxhighlight>
</source>
 
Tudo que estiver entre as marcas <tt>/*</tt> e <tt>*/</tt> ou entre <tt>//</tt> será ignorado pelo compilador. Note que os comentários de uma linha só (iniciados por <tt>//</tt>) foram incorporados ao padrão da linguagem apenas em 1999, e portanto alguns compiladores podem não os suportar. As versões mais recentes do GCC não terão problema em suportar esse tipo de comentário.