Poderíamos dizer que C é uma linguagem de programação compilada de propósito geral, estruturada e imperativa, blá-blá-blá, mas o que importa é que C é a lingua mater, isto é, a mãe das linguagens de programação, praticamente a preferida de 9 entre 10 programadores.
O programa mais simples em C resume-se à linha seguinte.
main(){}
A palavra main refere-se à principal (e indispensável) função, não apenas em C, como em C++, Java e C# (neste caso, ela é escrita com a primeira letra em maiúsculo: Main). Sendo uma função, deve ser precedida pelos parênteses (), e conter um bloco de instruções que deve estar entre chaves {}. Pronto. Esse código é compilável, mas nada faz, já que não contém nenhuma instrução.
Avancemos um pouco, com passos de bebê.
Uma função deve retornar um valor. O tipo de valor retornado não deveria ser omitido e nem declarado como void. Portanto, vamos declará-lo como inteiro.
int main(){}
Já que definimos que o tipo de retorno da função main é um inteiro, podemos escolher o valor do inteiro retornado da seguinte forma:
int main(){return 0;}
Incluímos a instrução return com o valor 0. Repare que toda instrução deve ser terminada com um ponto-e-vírgula (;).
Neste caso, a função main não tem declarado, entre seus parênteses, nenhum parâmetro que pudesse receber como argumento qualquer valor. Se não entendeu essa afirmação, não se preocupe porque mais adiante voltaremos a esse assunto, quando abordarmos a entrada (input) de dados. Mesmo assim, facultativamente, pode-se incluir a palavra void entre os parênteses.
int main(void){return 0;}
Até agora, o programa zero não faz nada. Vamos incluir uma instrução para que o programa escreva na tela o texto “Oi, mundo!”. Essa sequência de caracteres entre aspas duplas (string) será o dado de saída (output) do programa. Uma das instruções em C para essa finalidade é printf(). Vamos usá-la com o argumento “Oi, mundo!”.
int main(void){printf(“Oi, mundo!”);return 0;}
Ainda assim esse programa, se rodar, não faz nada! O motivo disto é que a função para impressão não foi declarada. Variáveis, constantes, funções, tudo deve ser declarado antes de ser usado em C. Como vamos usar uma função que já existe na biblioteca padrão de C, a forma para declará-la é usar a diretiva de compilação #include em uma linha anterior ou posterior.
#include<stdio.h>
int main(void){printf(“Oi, mundo!”);return 0;}
Agora tudo funciona direitinho porque incluímos (include) o arquivo que contém a função printf() da biblioteca padrão (std) de entrada e saída (io) de C. O compilador transformou nosso arquivo de texto em linguagem de alto nível em um arquivo de bytes em linguagem de máquina (de baixo nível), ligou-o à biblioteca e o carregou na memória para ser executado. Não se preocupe agora com esses detalhes. Agora é hora de apresentarmos em C o nosso já conhecido primeiro programa.
#include <stdio.h>
#define PI 3.14159
#define TEXTO “Mensagem”
int main()
{
int i = 3;
float f = 2.718;
char c = ‘z’;
char s[] = “Oi, mundo!”;
printf(“%s”, s);
printf(“\nValor da variavel i: %d” , i);
printf(“\nValor da variavel f: %.3f” , f);
printf(“\nValor da variavel c: %c” , c);
printf(“\nValor da constante PI: %.5f” , PI);
printf(“\nValor da constante TEXTO: %s” , TEXTO);
//”Valor da …: ” é uma constante não declarada
printf(“\n%d”, 10);
//10 é uma constante não declarada
return 0;
}
Observe que podemos incluir espaços para melhor legibilidade. Outras novidades:
- A diretiva #define serve para definirmos constantes.
- Declaramos um número inteiro e outro real (de ponto flutuante), um caractere e uma string (sequência de caracteres).
- Dentro das strings nas instruções printf utilizamos as notações \n e %xxx a serem entendidas mais tarde – a não ser que você seja muito curioso e faça suas próprias pesquisas no Google.
O nosso primeiro programa pode ser escrito no Bloco de Notas, no Code::Blocks, no Eclipse, no Dev-C++ etc. Veja-o abaixo rodando no prompt de comando do Windows.
Na internet você pode encontrar diversos cursos e tutoriais sobre C e outras linguagens, e o YouTube é uma boa opção.