Академический Документы
Профессиональный Документы
Культура Документы
linguagem C
Bibliografia de apoio
• Linguagem C, Luís Damas
C
• Criada pelos autores do UNIX, o Sistema Operativo em que o Linux é
baseado.
• Linguagem muito poderosa, que dá muita liberdade aos
programadores e que facilita a intercalação de código de baixo nível
(em Assembly)
• Ótima para aplicações de comunicação, como pretendemos
Como “dar o salto” do pseudocódigo para uma
linguagem de programação de alto nível
• Ao princípio é simples. Se sabe pseudocódigo, sabe o essencial.
• Claro que há linguagens que são mais simples do que outras. Por exemplo, para
um português, é mais fácil aprender italiano do que húngaro. Mas se não nos
prendermos demasiado nos pormenores e nos focarmos apenas no mais
importante, a coisa fica fácil.
Um primeiro programa
Um primeiro programa
#include <stdio.h>
void main()
{
printf(“Olá mundo\n”);
}
#include <stdio.h>
• A linguagem C não possui funções de entrada e saída, como acontece
com quase todas as outras.
• Então, é comum incluírem-se, no início dos programas, diretivas
dirigidas ao compilador, sobretudo as include para que ele inclua
funções de livrarias que estão disponíveis.
• Por exemplo, para leitura e escrita, é comum o uso da livraria stdio.h
(standard i/o) sem a qual não poderíamos usar a função printf que vai
imprimir o texto no ecrã.
void main
• Nas linguagens de alto nível, por uma questão de estruturação dos
programas, é comum o uso de funções (vá lá, sub-rotinas) que nos
permitem dividir os programas em bocadinhos e usarmos esses
‘bocadinhos’ quando quisermos.
• A linguagem C – e não só – obriga a definir uma sub-rotina principal que,
por isso mesmo, é denominada main.
• As funções, em princípio, são sub-rotinas que retornam um valor (um
número ou uma cadeia de caracteres, por exemplo). E então temos de dar
um tipo ao resultado da função como damos às variáveis.
• Mas podemos não ter interesse em que uma determinada função retorne
seja o que for e, para esses casos, a C tem o tipo void. O tipo void não
corresponde a um número, nem a uma cadeia de caracteres, nada. É isso
mesmo: void!
void main
• O código dentro de uma função está entre chavetas. Aliás, de uma
forma geral, os blocos de código são colocados entre chavetas.
printf(“Olá mundo\n”);
• printf() é uma das inúmeras funções usadas em C para imprimir algo
(no ecrã, por exemplo)
• As cadeias de caracteres são colocadas entre aspas
• \n significa ‘new line’, ou seja, no fim da cadeia de caracteres imprime
um carácter new line para mudar para a linha seguinte
• As linhas de código são terminadas por ponto e vírgula
O carácter \
• Este carácter retira significado ao que vem a seguir a ele. Por
exemplo, \n faz com que o compilador entenda que não é a letra ‘n’ a
ser impressa, mas sim uma mudança de linha.
• Por exemplo, \” permite escrever aspas dentro de um texto. Por
exemplo,
printf(“Que lindo “dia de aulas” tive hoje”)
provocaria um erro que é evitado se escrevermos
printf(“Que lindo \“dia de aulas\” tive hoje”).
Exercícios
• Consultar a página 14 do livro de Luís Damas
• Resolver os Exercícios resolvidos ☺
• Resolver os exercícios 15 a 18
Tipos de variáveis
Inteiros
int
• Exemplos:
char a, b, *p, c, *q;
int idade, *pidade;
Atribuir conteúdo a um apontador
• Como em variáveis de qualquer tipo, a atribuição de um valor inicial
na altura da declaração de um apontador é uma boa prática em
programação.
• Exemplo:
int a=5;
float pi=3.14;
int ptr = &a;
float ptr_para_pi = π
E depois?
• E *ptr dá-me o valor da variável apontada por ptr. Por exemplo,
depois desta instrução
int ptr = &a;
escrever
printf(“%d”,x)
ou
printf(“%d”,*ptr)
é a mesma coisa!