Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
curso básico de C
Linguagem C
Prof. Carlos Gonçalves
email: cavg@pop.com.br
DEINF - CCET - UFMA
São Luís, MA
17/09/2018
1
Menu
TÓPICOS
Pré-Requisitos
curso básico de C
Da aprovação
Bibliografia e recursos
Fundamentos de Linguagens
A Linguagem C
Estruturas de Dados Homogêneas
Ponteiros
Anexos
17/09/2018
Sobre
genéricas e especificas.
Histórico da criação da linguagem e a
descrição das características mais
importantes da linguagem C.
Aspecto geral de um código-fonte escrito
em C.
Elaborar programas-fontes em C com
pequeno grau de complexidade, compilá-
17/09/2018
los e depurá-los.
©2003 Prof. Carlos Gonçalves 8
Sobre as Linguagens de
Programação
Um programa de computador é um
conjunto de instruções que representam um
curso básico de C
para n de 1 do 10 n=1,10
até 10 passo 1 tab=num*n
faça write(tab)
tabnum*n 10 continue
imprima(tab)
fim-para;
17/09/2018
IN AX,PORTA
para n de 1 MOV DX,AX
até 10 passo 1 LABEL:
faça INC CX
MOV AX,DX
tabnum*n
MUL CX
imprima(tab) OUT AX, PORTA
fim-para; CMP CX,10
JNE LABEL
17/09/2018
para n de 1 for(n=1;n<=10;n++)
até 10 passo 1 {
faça tab=num*n;
tabnum*n printf(”\n %d”,
imprima(tab) tab);
fim-para; };
17/09/2018
aplicação:
Genéricas: como C, Pascal e Basic;
Específicas: como Fortran (cálculo
matemático), GPSS (simulação), LISP
(inteligência artificial) ou CLIPPER
(banco de dados).
17/09/2018
} while( (sup-inf) > PREC && i < MAX); // enquanto intervalo gde
}; // fim do programa1
bloco1 bloco 1;
senão }else{
bloco2 bloco 2;
fim-se; };
bloco
fim-para;
C
for(inicialização;condição;incremento){
bloco;
};
17/09/2018
int my_int;
for (my_int = 1; my_int <= 10;
my_int++)
{
printf ("%d ", my_int);
printf("\n");
}
17/09/2018
Exemplo:
#include <stdio.h>
int main(){
int up, down;
for (up = 0, down=10; up < down; up++, down--)
{
printf("up = %d, down= %d\n",up,down);
}
return 0;
}
17/09/2018
media2(num1,num2));}
Função
float media2(float a, float b){ declarada e
float med; definida pelo
med = (a + b) / 2.0; usuário.
return(med);}
void main(){
float num1, num2, med;
puts("Digite dois numeros: ");
scanf("%f %f", &num1, &num2);
med = media2(num1, num2); // chamada a funcao
17/09/2018
...
0 1 2 21 22
A sintaxe para a declaração de um vetor é a seguinte:
tipo nome[tam];
Exemplo: float notas[22];
Obs.: Como exercício, implementar em C, o
algoritmo de “classificação da bolha” visto na
17/09/2018
transparência do Prof.
©2003 Prof. Carlos Gonçalves 44
Vetores: Iniciação - (cont.)
Veja exemplos de declarações e
inicializações de vetores a seguir.
curso básico de C
tipo nome[tam_1][tam_2]...[tam_N;
onde:
tipo é o tipo dos elementos do vetor.
nome é o nome (identificador) do vetor.
[tam_1][tam_2]...[tam_N] é o tamanho de cada
dimensão do vetor.
Os índices dos vetores multidimensionais, também
começam em 0. Por exemplo: vet[0][0], é o
primeiro elemento do vetor.
17/09/2018
{6.9,2.7,4.9,4.5,8.7},
{4.5,6.4,8.6,6.9,9.1}};
Isto resultará na seguinte estrutura bidimensional:
notas
0,0 0,1 0,2 0,3 0,4
8.4 7.4 5.7 5.6 7.7
1,0 1,1 1,2 1,3 1,4
6.9 2.7 4.9 4.5 8.7
2,0 2,1 2,2 2,3 2,4
17/09/2018
nome_da_função(nome_do_vetor)
onde:
nome_da_função é o nome da função que se está
chamando.
nome_do_vetor é o nome do vetor que
queremos passar. Indicamos apenas o nome do
vetor, sem índices!
17/09/2018
... }
onde:
tipo_função é o tipo de retorno da função.
nome_função é o nome da função.
tipo_vetor é o tipo de elementos do vetor.
nome_vetor é o nome do vetor. Observe que depois do nome
do vetor temos um índice vazio [] para indicar que estamos
recebendo um vetor.
para funções.
do vetor.
// declaração da função
...}
E a chamada da função:
void main(){
int valor[5][7]; //declaração do vetor
...
med = media(valor, n); //passagem do
vetor para a função
17/09/2018
... }
©2003 Prof. Carlos Gonçalves 54
Matrizes: Passagem para as
Funções – (cont.)
Programa Exemplo: O arquivo
e0706.cpp da apostila contém um
curso básico de C
endereços. Neste
sentido, estas 1001
variáveis apontam
para algum 1002
determinado endereço
1003
da memória. Em geral,
o ponteiro aponta para 1004
o endereço de alguma
variável já declarada 1005
17/09/2018
no programa. Memória
tipo_ptr *nome_ptr_1;
ou
tipo_ptr* nome_ptr_1, nome_ptr_2, ...;
onde:
tipo_ptr : é o tipo de bloco para o qual o ponteiro
apontará.
* : é um operador que indica que nome_ptr é um
ponteiro.
nome_ptr_1, nome_ptr_2,...: são os nomes dos
ponteiros (os nomes dos ponteiros obedecem as mesmas
17/09/2018
Anexos
Glossário
Sobre o Autor
17/09/2018
Voltar
©2003 Prof. Carlos Gonçalves 71
Glossário: Meta-Programas
Programas-tradutores:
Interpretadores fazem a interpretação de cada
curso básico de C
Voltar
©2003 Prof. Carlos Gonçalves 72
Glossário: Sintaxe Estruturada e
P. Estruturada
Pode-se considerar como precursores da Programação
Estruturada (PE) dois pesquisadores, C. Bohm e G. Jacopini,
curso básico de C
computação.
descobertos erros
por unidade de estatística da IBM, um de
tempo
seus engenheiros informou
que “cada nova versão do
OS/360 da IBM possuía mil
erros”.
tempo
A manutenção tornou-se
muito cara, pois cerca de
50%, ou mais, do
orçamento das
organizações iam para
manutenção dos sistemas
existentes.
17/09/2018
Minimizar a complexidade
Simplificar a manutenção
Aumentar a produtividade do programador
Estabelecer uma metodologia de
programação
Reduzir o custo de programação
17/09/2018