Introdução à Programação
Sintaxe do C
Sumário
„ Sintaxe
„ Variáveis e arrays
„ Funções
„ Instruções condicionais
Introdução à Programação 2006/2007
1
Sintaxe
Algumas partes fundamentais do C:
„ Comentários
„ Variáveis
„ Funções
„ Instruções condicionais
Introdução à Programação 2006/2007
Identificador
„ São exemplos de identificadores os
nomes das funções e das variáveis
„ O C distingue maiúsculas de minúsculas
Algarismo
Letra
Letra
Introdução à Programação 2006/2007
2
Variáveis
„ Definição de uma variável
Reserva da quantidade de memória
necessária
„ Associação dessa memória a um identificador
„
„ Uma variável só pode ser usada após ser
declarada
Introdução à Programação 2006/2007
Definição de variáveis
„ Na sua definição, pode ser atribuído um valor
inicial às variáveis.
Tipo
Identificador
Valor inicial
Introdução à Programação 2006/2007
3
Tipos de Variáveis
int
Número inteiro
float
Número real
char
Carácter (letra, digito ou símbolo)
short
Inteiro (reduzido)
long
Inteiro (longo)
double
Real com maior resolução
Signed ou unsigned
Introdução à Programação 2006/2007
Exemplo:
char c;
float pi=3.14159;
O tipo Carácter em C
„ Os caracteres são representados em memória como números
inteiros
„ Cada carácter tem um único código numérico
„ Cada inteiro representando um carácter ocupa apenas 1 byte,
pelo que o número máximo de caracteres é 256
„ Para saber qual a codificação numérica atribuída pelo sistema
um determinado carácter, bastara imprimi-lo com o
especificador de conversão de inteiros em vez do especificador
de caracteres
Char car = ‘!’;
Printf (“o inteiro %d codifica \’%c\’.”,car,car);
O inteiro 33 codifica ‘!’.
„ A uma variável do tipo carácter pode afectar-se o inteiro
correspondente ao carácter, mas isso deve evitar-se por perder
em legibilidade e potabilidade do programa
char car = 33; /* 0x21 em hexadecimal */
Introdução à Programação 2006/2007
Não precisamos de conhece
os códigos dos caracteres
4
Arrays
„ Array é um conjunto de variáveis do mesmo
tipo
„ São definidos com [ ]:
int inteiros[10];
char letras[15];
float reais[ ] = { 2.4 , 3.6, 2.2 };
char frase[ ] = “Diga a frase”;
Introdução à Programação 2006/2007
Funções
„ Permitem compartimentar o código
„ Permitem reutilização do código
Identificador
Tipo
Identificador
(
Tipo
)
Introdução à Programação 2006/2007
5
Funções 2
Comentários
/* Função de exemplo */
int minhaFuncao (int par1, int par2)
{
Tipo devolvido
...
Parâmetro par1
pela função
(variável válida
return 0;
dentro da função)
}
Tipo do parâmetro
par1
Introdução à Programação 2006/2007
Sintaxe das funções
<tipo> nomeFuncao ( <parâmetros> )
{
<statements>
return <variável do tipo de retorno>;
}
Em que <parâmetros> é representado por:
<data-type> var1, <data-type> var2, ... <data-type> varN
Introdução à Programação 2006/2007
6
Função main
„ Todos os programas em C têm uma função
“main”
Número de
argumentos do
programa
Vector de
argumentos
int main()
{
printf ("Hello world\n") ;
getchar ();
return 0;
}
Introdução à Programação 2006/2007
Chamar uma função
Função devolve um inteiro e
aceita outro inteiro
int minhaFuncao (int a)
{
printf ("A minha funcao com numero %d\n", a);
return 0;
Outra}função chamada
O valor passado à função
int main ()
{
minhaFuncao (101);
return 0;
}
Função é chamada com o
inteiro 101
Introdução à Programação 2006/2007
7
Função printf()
„ Declarada em <stdio.h>
„ Imprime texto formatado na saída
standard
„ Exemplo:
printf (“Valor inteiro é %d\n”, a);
Introdução à Programação 2006/2007
Formatação de printf()
„ O texto de formatação é composto por
zero ou mais directivas
Caracteres sem % são copiados para a
saída
„ Especificação das conversões
(correspondentes aos argumentos
subsequentes)
„
printf (“Primeiro: %d, Segundo: %d\n”, a, b);
Introdução à Programação 2006/2007
8
Formatação de printf() 2
%d
%i
%u
Inteiro em notação decimal com sinal
%o
Inteiro em notação octal
%x
Inteiro em notação hexadecial
%f
Número real (double ou float)
%c
Carácter (a partir de int)
%e
Número Real com notação cientifica
%s
Ponteiro para cadeira (array) de caracteres
Inteiro em notação decimal sem sinal
Introdução à Programação 2006/2007
Função scanf()
„ Declarada em <stdio.h>
„ Lê entradas formatadas
„ Devolve o número de elementos
atribuídos
„ Exemplo:
scanf (“%d”, &a);
Introdução à Programação 2006/2007
9
Exemplo
Variável definida
int main ()
{
Referência para a variável
int x=0;
printf (“Digite um numero inteiro: ");
scanf ("%d", &x);
printf ("%d < %d < %d\n", x-1, x, x+1);
return 0;
}
Valor da variável usado
Introdução à Programação 2006/2007
Exercício
„ Faça um programa que calcule a distância a
que se encontra uma trovoada, dado o
tempo em segundos que separam o
relâmpago do trovão.
Velocidade de propagação do som: 340m/s
„ Distância deve ser apresentada em metros e
quilómetros.
„
Introdução à Programação 2006/2007
10
Solução
int main ( )
{
int velSom = 340; /* Velocidade em m/s */
int tempo = 0; /* Tempo entre relampago e trovao */
printf ("Insira o tempo, em segundos, entre o \
relampago e o trovao: ");
scanf ("%d", &tempo);
printf ("Sendo o tempo entre o relampago e o \
trovao de %d segundos, a trovoada encontra-se a %d \
metros (%f km)\n", tempo,
tempo*velSom,
tempo*velSom/1000.0 );
return 0;
}
Introdução à Programação 2006/2007
Casting
Printf (“O caracter ‘%c’ tem o ASCII nº %d\n”, ch, (int) ch);
Permite promover ou despromover uma variável dum tipo a um
outro, colocando o novo tipo entre parêntisis.
Introdução à Programação 2006/2007
11
Caracteres especiais
\7
Bell (sinal sonoro do computador)
\a
Bell (sinal sonoro do computador)
\b
Backspace
\n
New Line (mudança de linha)
\r
Carriage return
\t
Tabulação horizontal
\v
Tabulação Vertical
\\
Carácter \ (forma de representar o próprio carácter especial)
\’
Carácter ‘
\”
Carácter “
\?
Carácter ?
\ooo
Carácter cujo código ASCII em octal é ooo
\xyy
Carácter cujo código ASCII em hexadecimal é yy
Introdução à Programação 2006/2007
Constantes simbólicas
„
É habitual (mas não obrigatório) um programador de C exprimir as constantes
simbólicas por intermédio de letras maiúsculas
Introdução à Programação 2006/2007
12
Download

Sintaxe do C