Escolar Documentos
Profissional Documentos
Cultura Documentos
Introdução à Linguagem C
Metas da Aula
1. Discutir um pouco sobre os programas em linguagem C, codificação e compilação.
2. Entender e praticar os conceitos da sintaxe utilizada na linguagem de programação C.
3. Entender e praticar os conceitos básicos relacionados à linguagem, como: definição e uso de
variáveis, operadores aritméticos e operações de entrada e saída.
forma simples. Porém, o compilador pode também ser acionado por comando em
modo texto. O comando para acionar o compilador irá variar de acordo com o sistema
operacional e/ou compilador utilizado, conforme apresentado a seguir:
• Turbo C (Borland)
tcc nomePrograma.c
• Borland C (Borland)
bcc nomePrograma.c
• Microsoft C (Microsoft)
cl nomePrograma.c
Para entender o código acima, utilize a numeração que foi colocada propositalmente
nas linhas do código-fonte. As linhas 1 e 2, são diretivas responsáveis pela inclusão
das duas principais bibliotecas da linguagem C. Neste momento, este tema não será
aprofundado, por hora, apenas entenda que essas linhas são importantes, pois são
responsáveis por duas bibliotecas necessárias a um programa C, mesmo que este seja
básico. A linha 3 é a definição do método main da aplicação, que é responsável pela
definição de quais serão as primeiras instruções do programa a serem executadas, desta
forma, esta é a função que se encarrega de indicar aonde o programa deve começar.
Toda aplicação em linguagem C deverá possuir ao menos um método main para de-
sempenhar este papel (LAUREANO, 2005). Note que, as instruções iniciais deverão
ser colocadas na linha 4, ou seja, entre a linha 3 e a linha 5. Essas duas chaves "{ }"
encontradas nessas duas linhas são as responsáveis por indicar aonde começa e aonde
termina o método main. Desta forma, várias instruções podem ser adicionadas no
método main desde que estejam entre estas duas chaves.
Na linguagem C, as chaves sempre irão indicar um bloco de códigos, ou seja, sempre
que desejar indicar o local de início e término de um bloco de códigos, utiliza-se
chaves. Ao longo do livro várias situações serão apresentadas, em que as chaves serão
utilizadas, como nas estruturas de decisão, repetição, funções, entre outras. Assim,
serão várias oportunidades para entender claramente a forma de uso. Para concluir
sobre o código-fonte já apresentado, tenha em mente que a partir deste ponto do livro,
2
O ciclo de construção de uma aplicação apresentado aqui é aplicável a grande maioria das linguagens.
No caso do C, há uma diferença em relação à compilação, pois antes mesmo de compilar é executada
uma etapa em que todas as Macros são expandidas e as linhas de código são executadas para o
pré-processador. Contudo, esta etapa adicional é acionada pelo próprio compilador.
1.3. Variáveis 13
este código sempre será utilizado como base para os demais exemplos e exercícios que
serão realizados ao longo do aprendizado da linguagem C.
O nosso primeiro programa vai ter um objetivo muito simples, o de imprimir na
tela a mensagem: "Olá mundo!". Para realizar essa operação precisa-se de uma função
que tenha essa capacidade e a linguagem C nos disponibiliza a função printf(), que é,
provavelmente umas das funções que mais será utilizadas ao longo do aprendizado.
Para utilizar a função printf() corretamente, é preciso seguir a sintaxe a seguir:
1 //Sintaxe:
2 printf("formato", argumentos);
O primeiro parâmetro da função printf() é onde deve ser informado o texto que
pretende-se apresentar na tela. Desta forma, no nosso exercício o texto "Olá mundo!"
será informado neste parâmetro. O segundo parâmetro é opcional e, além disso, podem
ser informados vários argumentos, tantos quantos forem necessários. Mas, ao informar
ao menos um, o primeiro parâmetro será afetado, pois deve-se adicionar formatadores
de tipo para cada argumento (LAUREANO, 2005). Por hora, este conceito não será
detalhado, pois o momento mais oportuno será ao falar das variáveis.
Utilizando então a função printf() para fazer o nosso primeiro programa apresentar
a mensagem "Olá mundo!", tem-se o código-fonte apresentado a seguir. Note que linha
4, em que foi adicionado a função printf(), não foi informado o segundo argumento
da função, pois este é opcional e não é necessário quando deseja-se apenas exibir um
texto fixo. Observe também que o texto está entre aspas duplas, sempre que desejar
utilizar um texto em linguagem natural no código-fonte, então é necessário colocar
esse texto entre aspas duplas. Por fim, observe que no final da instrução foi colocado
um ponto e vírgula ";". Deve-se fazer isso sempre no final da instrução.
1 #include <stdio.h>
2 #include <stdlib.h>
3 void main() {
4 printf("Ola Mundo!");
5 }
1.3 Variáveis
Para entender claramente o papel das variáveis, basta associar aos recipientes do mundo
real. Se você deseja guardar água, então provavelmente você irá utilizar uma jarra, se
você deseja guardar biscoitos, então provavelmente você irá utilizar um pote hermético,
se quiser guardar ovos, então irá utilizar uma caixa de ovos. Da mesma forma, utiliza-se
as variáveis em um programa de computador, para guardar. A diferença é que no caso
do programa, são armazenados dados, mas, assim como no mundo real, os objetos
exigem recipientes diferentes e adaptados, os dados também o exigem.
Para exemplificar, se é necessário armazenar um dado que é pertencente ao con-
junto dos números reais, como o valor ou o peso de um produto, então é necessário
uma variável que seja compatível com este dado, ou seja, que admita valores reais, desta
forma, assim como em outras linguagens, o C também requer a definição do tipo da
variável. Inicialmente serão abordados apenas os tipos básicos e os mais comuns, int,
float, double e char, conforme a tabela 1.
14 Aula 1. Introdução à Linguagem C
Tipo Descrição
int Utilizado para definir uma variável inteira que comporta
valores pertencentes ao conjunto dos números inteiros.
long Utilizado para definir uma variável inteira que comporta
int valores maiores que o int.
short Utilizado para definir uma variável inteira que comporta
int valores menores que o int.
float Utilizado para definir uma variável real que comporta
valores pertencentes ao conjunto dos números reais.
double O tipo double é similar ao float, a diferença é que o
este tipo comporta valores reais com um número de
dígitos maior, assim, a precisão nos cálculos com casas
decimais aumenta.
char Utilizado para armazenar um caractere. Comporta ape-
nas um caractere.
Fonte: Os autores
Agora que os tipos que foram apresentados, falta entender como definir uma variá-
vel. Em linguagem C, essa tarefa é muito simples, veja a seguir a sintaxe.
1 //Sintaxe:
2 tipoVariavel nomeVariavel;
Na linha 1 do exemplo, foi definida uma variável, cujo nome é idade do tipo int,
ou seja, é capaz de armazenar valores pertencentes ao conjunto dos números inteiros.
Quando é preciso definir mais de uma variável do mesmo tipo, pode-se fazer isso em
uma mesma instrução, apenas separando o nome das variáveis por virgula, como os
exemplos a seguir:
1 int idade, matricula;
2 float vCelcius, vKelvin;
3 char genero, sexo;
Palavras Resevadas
auto break case char const continue
default do double else enum extern
float for goto if int long
main register return short signed sizeof
static struct switch typedef union unsigned
void volatile while
Fonte: Adaptado de Schildt (1996, p. 10)
escrita exatamente como foi escrita na definição, pois caso contrário o compilador irá
entender que se trata de outra variável (PAES, 2016).
1.4 Atribuição
Para armazenar dados em variáveis, é preciso fazer atribuição. Para isso, deve-se utilizar
o operador de atribuição, que na linguagem C é o sinal de igualdade, "=". Veja a seguir
alguns exemplos do uso de atribuição.
1 int idade, matricula;
2 idade = 30;
3 matricula = 123659;
4 float preco = 42.9;
Nas primeiras três linhas, foi feita a declaração de variáveis e atribuição simples
de valor. Na linha 4 a variável totalSom recebe a soma das variáveis valor1 e valor2.
E na linha 5 a variável totalMult recebe a multiplicação das variáveis valor1 e valor2.
Na linha 6 é utilizado o operador de incremento unário na variável contador, este
operador incrementa o valor de uma variável a cada vez que é acionado, como a variável
contador recebeu o valor 2 na linha 1, então, após executar a instrução na linha 6, a
variável passa a ter o valor 3. Na linha 7 a variável resul recebe a operação que envolve
soma e multiplicação, sendo que o a operação de soma é priorizada em relação à
operação de multiplicação.
É comum em programação a necessidade de acumular o valor já armazenado
em uma variável ao fazer o cálculo. Neste caso, a variável recebe a própria variável
acompanhada da operação de cálculo que pode ser uma soma, uma subtração, etc. Veja
o exemplo de um acumulo com soma.
1 float totalSom = 200;
2 float valor1 = 300;
3 float valor2 = 400;
4 totalSom = totalSom + (valor1 - valor2);
Note que para acumular a atribuição com o valor que já estava armazenado na
variável totalSom, a atribuição é feita de totalSom adicionado da expressão matemática
à totalSom. Assim, o valor que já estava armazenado em totalSom é acumulado ao
invés de ser substituído. Esta operação funciona na linguagem C, contudo há uma forma
mais elegante para fazê-la. Veja a seguir a mesma operação com o ajuste necessário.