SlideShare uma empresa Scribd logo
Curso: Manutenção e Suporte em Informática
Disciplina: Linguagem de Programação
Professor: Mauro Jansen

Linguagem C
Procedimentos e funções, vetores,
matrizes e registros (estruturas)
Procedimentos e funções
em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

2
Procedimentos e funções
Também chamados de sub-programas ou
rotinas, são programas que executam uma
função específica que é acessada diversas
vezes
Procedimento: não retorna valor ao programa
que o chamou
Função: retorna valor

Exemplos: função fatorial (calcula o fatorial
de um número)
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

3
Por que usar funções?
Reaproveitar código já criado (por você ou
outros programadores)
Evitar repetição de código dentro do
mesmo programa
Separar o programa em blocos, facilitando
a leitura, o entendimento e a manutenção

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

4
Procedimentos e funções em C
A linguagem C tem apenas funções
O tipo da função diz se ela retorna ou não
valor:
Tipo void: função que não retorna valor
Outros tipos básicos (int, float, etc.): funções
que retornam valor

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

5
A função main()
Como já vimos, todo programa em C tem
pelo menos uma função:
#Include <biblioteca1.h>
#Include <biblioteca2.h>
...
Void main()
{
<Declaração de variáveis>
...
<comandos>
...
}

Inclusão de arquivo de
bibliotecas de comandos
Função main(): é
obrigatória. É a primeira
função chamada quando
o programa é iniciado

Delimitadores de inicio e fim de
bloco de comandos
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

6
Definindo funções em C
Sintaxe:
tipo nome da função(tipo parâmetro1,...,tipo parâmetroN)
{
// comandos da função
}

Os parâmetros são os dados que serão usados
pela função para realizar sua operação ou
retornar algum resultado
A lista de parâmetros é opcional, mas se for
usada deve ser especificado o tipo de cada
parâmetro
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

7
Chamada de funções

void main()
{
// comando anterior à chamada
funcao1(2,3)
// comando posterior à chamada
}

Prof. Mauro Jansen

void funcao1(int a,int b)
{
// comandos da função
}

Linguagem de Programação
Linguagem C – parte 1

8
Exemplo de função
#Include <stdio.h>
float media(float nota1,float nota2)
{
return( (nota1+nota2)/2);
}

void main()
{
printf(“%fn”,media(8,9));
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

9
Vetores em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

10
Vetor
É como uma variável dividida em vários
pedaços, onde cada pedaço é acessado
através de um número chamado índice
Na linguagem C, o primeiro elemento é o
de índice zero
0

Prof. Mauro Jansen

1

2

...

Linguagem de Programação
Linguagem C – parte 1

N

11
Declaração de um vetor
Sintaxe:
tipo <nome>[<tamanho>];

Exemplos:
float notas[30];
// vetor p/até 30 notas
char nome[50];
// vetor p/nome de até 50 caracteres
// podemos também declarar e já inicializar o vetor:
Float precos[4]={10.25, 11.55, 12.55, 20.65};

Note que as STRINGS (cadeia de caracteres)
em C, são vetores de caracteres

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

12
Usando vetores
int i;
float notas[30];
char nome[50];

// vetor p/até 30 notas
// vetor p/nome de até 50 caracteres

// podemos também declarar e já inicializar o vetor:
Float precos[4]={10.25, 11.55, 12.55, 20.65};
notas[0]=9.5;

// guarda valor numa pos.específica

// usando um vetor no comando de entrada de dados:
scanf(“%f”,&notas[1]);
printf(“%fn”,notas[0]);

// acessa o valor de uma pos.

// especificando indice com variável:
i=1;
printf(“%fn”,notas[i]);
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

13
Exemplo – preços de produtos
#include <stdio.h>
#define MAX 20
int main()
{
int pos;
float precos[MAX],total;
for(pos=0;pos<MAX;pos++) {
printf("Digite o preco do produto %d: ",pos);
scanf("%f",&precos[pos]);
}
printf("Preços digitados:n");
total=0;
for(pos=0;pos<MAX;pos++) {
printf("%fn",precos[pos]);
total+=precos[pos];
}
printf("Total: %fn",total);
}

#

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

14
Matrizes
Similar ao vetor (variável dividida em
vários pedaços), com a diferença que
temos mais de uma dimensão
0,0
1,0
...
N,0

Prof. Mauro Jansen

0,1
1,1
...
N,1

0,2
1,2
...
N,2

...
...
...
...

Linguagem de Programação
Linguagem C – parte 1

0,M
1,M
...
N,M

15
Declaração de uma matriz
Sintaxe:
tipo <nome>[<tam.1>][tam.2]..[tam.N];

Exemplos:
float notas[30][3]; // matriz p/até 3 notas de 30 alunos
nome[50][10]; // matriz nomes (até 50 car.) de 10 pessoas

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

16
Usando matrizes
int i,j;
float notas[30][3]; // matriz p/até 3 notas de 30 alunos
nome[50][10]; // matriz nomes (até 50 car.) de 10 pessoas
notas[0][0]=9.5;

// guarda valor numa pos.específica

// usando matriz no comando de entrada de dados:
scanf(“%f”,&notas[0][1]);
printf(“%fn”,notas[0][1]); // acessa o valor
// especificando indice com variável:
i=0;
j=1;
printf(“%fn”,notas[i][j]);

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

17
Exemplo – notas de alunos de uma turma de 10
alunos, com 3 notas de cada
#include <stdio.h>
#define MAX 10
int main()
{
int a,n;
float notas[MAX][3];
for(a=0;a<MAX;a++) {
for(n=0;n<3;n++) {
printf("Digite a nota %d do aluno %d: ",n,a);
scanf("%f",&notas[a][n]);
}
printf("n");
}
}

#

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

18
Registros (estruturas) em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

19
Registros (estruturas)
Variável composta por um conjunto de
sub-itens (membros da estrutura) que não
precisam ser do mesmo tipo de dados
Exemplo:
Dados de uma Conta Bancária
ITEM DE DADO VALOR
Número: 2245
Tipo: Especial
Cliente: José da Silva
Saldo: R$5.250,00

Neste registro, representamos
uma conta bancária, que tem os
seguintes tipos de dados:
Inteiro (Número)
Real (Saldo e Limite)
Literal (Tipo e Cliente)

Limite: R$950,00
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

20
Definindo uma estrutura em C
É feita em duas fases
Definição da estrutura (novo tipo de dados)
Definição da variável do tipo criado para a estrutura
// definição da estrutura (novo tipo de dados)
Typedef struct {
tipo <nome do elemento 1>;
tipo <nome do elemento 2>;
...
tipo <nome do elemento N>;
} <nome da estrutura>;
// declaração da variável do tipo estrutura
<nome da estrutura> <nome da variável>;
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

21
Usando estruturas
Para referenciar um valor, mencionamos o
nome da estrutura e do elemento
separados por um ponto:
<nome da estrutura>.<nome do elemento>;

Exemplo:
conta.numero=123;
Conta.tipo=“Normal”;
Conta.cliente=“João da Silva”;
Conta.saldo=1000;
printf(“%fn”,conta.saldo);
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

22
Vetor de estrutura
O uso de esturutras torna-se mais efetivo
quando associado a vetores
Podemos criar um vetor de estrutura,
podendo guardar dados de vários
elementos distintos. Exemplos:
100 registros de contas bancárias
40 registros de alunos de uma turma

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

23
Exemplo: notas de alunos de uma
turma usando estrutura
#include <stdio.h>
#define MAX 10
int main()
{
typedef struct {
char nome[50];
float nota1;
float nota2;
} reg_aluno;
reg_aluno alunos[MAX];
int c;
for(c=0;c<MAX;c++) {
printf("Digite os dados do aluno %d:n",c+1);
printf("Nome: ");
scanf("%s",&alunos[c].nome);
printf("Nota 1: ");
scanf("%f",&alunos[c].nota1);
printf("Nota 2: ");
scanf("%f",&alunos[c].nota2);
printf("n");
}
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

24

Mais conteúdo relacionado

PDF
Linguagem c parte 1
PPTX
Visualg
PDF
Pseudocódigo ou Portugol (Lógica de Programação)
PDF
Algoritmos e lógica de programação com Python
PPT
Material de Apoio de Algoritmo e Lógica de Programação
PPT
Logica Algoritmo 02 Algoritmo
PDF
6 estruturas de dados heterogêneas
PDF
Tutorial de Microsoft Office Word
Linguagem c parte 1
Visualg
Pseudocódigo ou Portugol (Lógica de Programação)
Algoritmos e lógica de programação com Python
Material de Apoio de Algoritmo e Lógica de Programação
Logica Algoritmo 02 Algoritmo
6 estruturas de dados heterogêneas
Tutorial de Microsoft Office Word

Mais procurados (20)

PDF
Aula 03 estrutura de seleção
PPTX
Lógica de programação { para iniciantes }
PDF
Apresentação Linguagem C
PDF
Lógica de programação em ppt
PDF
Apostila Microsoft Office Word 2016
PDF
Aula 3 - Lógica de Programação
PPTX
Aula 01
PDF
Curso básico de informática
PPT
Introdução a Linguagem C
ODP
Variáveis e portugol
PDF
Aula I - Word
PDF
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
PDF
Lógica de Programação e Algoritmos
PPT
Linguagem de programação
PPT
Inf basica modulo2
PPTX
Informática Básica - Aula 05 - Sistema Operacional Windows
PPTX
Montagem e Manutenção - Aula 01
DOCX
Plano tematico do Curso- Informatica Basica.docx
PDF
Introdução à Programação
PPTX
Estrutura de Dados - Conceitos fundamentais
Aula 03 estrutura de seleção
Lógica de programação { para iniciantes }
Apresentação Linguagem C
Lógica de programação em ppt
Apostila Microsoft Office Word 2016
Aula 3 - Lógica de Programação
Aula 01
Curso básico de informática
Introdução a Linguagem C
Variáveis e portugol
Aula I - Word
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Lógica de Programação e Algoritmos
Linguagem de programação
Inf basica modulo2
Informática Básica - Aula 05 - Sistema Operacional Windows
Montagem e Manutenção - Aula 01
Plano tematico do Curso- Informatica Basica.docx
Introdução à Programação
Estrutura de Dados - Conceitos fundamentais
Anúncio

Destaque (20)

PDF
Microprocessadores ii revisão de linguagem de programação (parte2)
PDF
Apostila c
PDF
Microprocessadores ii arquitetura
PDF
Redes padroes e cabeamento
PPT
Algoritmos Aula 01
PDF
Algoritmos e lp parte 5-subalgoritmos
PDF
6 softwares de manutenção
PDF
Algoritmos e lp parte 2-fundamentos
PDF
Tecnologia e turismo - Tecnologias de hardware
PDF
CakePHP com sotaque brasileiro
PDF
Recursividade
PDF
Análise assintótica
PDF
Funções em C
PPTX
Glosario de qbasic liliana
PPTX
Introdução ao PHP
PDF
Dicas para aumentar a performance de um software PHP
PDF
Assembly para pc-25paginas
PDF
Slide Aula - Curso CakePHP
PDF
Apostila cobol
PDF
PROGRAMAS QBASIC
Microprocessadores ii revisão de linguagem de programação (parte2)
Apostila c
Microprocessadores ii arquitetura
Redes padroes e cabeamento
Algoritmos Aula 01
Algoritmos e lp parte 5-subalgoritmos
6 softwares de manutenção
Algoritmos e lp parte 2-fundamentos
Tecnologia e turismo - Tecnologias de hardware
CakePHP com sotaque brasileiro
Recursividade
Análise assintótica
Funções em C
Glosario de qbasic liliana
Introdução ao PHP
Dicas para aumentar a performance de um software PHP
Assembly para pc-25paginas
Slide Aula - Curso CakePHP
Apostila cobol
PROGRAMAS QBASIC
Anúncio

Semelhante a Linguagem c parte 2 (20)

PDF
Aula introdutória - Introducao a linguagemn C.pdf
PPTX
RevisãoCompactaFuncoesPonteiro.pptx
PDF
Introdução à Linguagem de Programação C
PPT
Aula 14 - Entrada e Saida em linguagem C.ppt
PDF
Aula 14 - Entrada e Saida em linguagem C.pdf
PPTX
Introdução à Linguagem C
PDF
Introdução+à+linguagem+c
PDF
Apostila linguagem c
PDF
Apostila linguagem c
PDF
Apostila linguagem c
PPT
Curso Completo de Linguagem de Programação C
PDF
Aula01 introducao operacoes
PDF
Introdução ao c++
PDF
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
PDF
Apostila de-introdução-à-linguagem-c
PDF
Modulo02
PPSX
Introdução a linguagem de programação C
PPSX
Vetores e Matrizes em C.
PPT
Introdução a Linguagem C
PPTX
Introdução a Linguagem C.pptx [Reparado].pptx
Aula introdutória - Introducao a linguagemn C.pdf
RevisãoCompactaFuncoesPonteiro.pptx
Introdução à Linguagem de Programação C
Aula 14 - Entrada e Saida em linguagem C.ppt
Aula 14 - Entrada e Saida em linguagem C.pdf
Introdução à Linguagem C
Introdução+à+linguagem+c
Apostila linguagem c
Apostila linguagem c
Apostila linguagem c
Curso Completo de Linguagem de Programação C
Aula01 introducao operacoes
Introdução ao c++
095 A 134 Material Auxiliar Para Curso AvançAdo I Msp430
Apostila de-introdução-à-linguagem-c
Modulo02
Introdução a linguagem de programação C
Vetores e Matrizes em C.
Introdução a Linguagem C
Introdução a Linguagem C.pptx [Reparado].pptx

Mais de Mauro Pereira (20)

PDF
Programação Web - CSS
PDF
Redes 7 ferramentas para montagem de redes
PDF
Exercicio introducao a arquitetura de computadores
PDF
Introdução à Arquitetura de Computadores
PDF
Sistemas de Numeracao
PDF
Lógica binária, potas lógicas e circuitos lógicos
PDF
Trabalho para nota da etapa 2 2017.1
PDF
Redes 6 equipamentos ativos da rede
PDF
Redes 4 endereçamento
PDF
Redes 5 cabeamento
PDF
Redes 3 protocolos
PDF
Redes 2 padronização e arquitetura de redes
PDF
Redes 1 introducao historico conceitos
PDF
4.1 softwares e configurações importantes
PDF
Trabalho para nota da etapa 2 2015.2
PDF
Exercicio 1 - conceitos camadas e protocolos
PDF
Guia prático para criar algoritmos
PDF
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
PDF
Guia para traducao algoritmos x l ps
PDF
Lista de exercicios algoritmos resolvida-
Programação Web - CSS
Redes 7 ferramentas para montagem de redes
Exercicio introducao a arquitetura de computadores
Introdução à Arquitetura de Computadores
Sistemas de Numeracao
Lógica binária, potas lógicas e circuitos lógicos
Trabalho para nota da etapa 2 2017.1
Redes 6 equipamentos ativos da rede
Redes 4 endereçamento
Redes 5 cabeamento
Redes 3 protocolos
Redes 2 padronização e arquitetura de redes
Redes 1 introducao historico conceitos
4.1 softwares e configurações importantes
Trabalho para nota da etapa 2 2015.2
Exercicio 1 - conceitos camadas e protocolos
Guia prático para criar algoritmos
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Guia para traducao algoritmos x l ps
Lista de exercicios algoritmos resolvida-

Último (20)

PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PPTX
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
PPTX
Curso de Java 9 - (Threads) Multitarefas.pptx
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PPT
Sistemas de Informação em Saúde Aplicada.ppt
PPTX
Aula sobre banco de dados com firebase db
PPTX
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PPTX
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
PPTX
Aula 18 - Manipulacao De Arquivos python
PPTX
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PPTX
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
PDF
Processos na gestão de transportes, TM100 Col18
PPTX
Aula sobre desenvolvimento de aplicativos
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PPTX
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
PDF
Apple Pippin Uma breve introdução. - David Glotz
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Curso de Java 15 - (Uso de Servlets (Entendendo a Estrutura)).pptx
Curso de Java 9 - (Threads) Multitarefas.pptx
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Sistemas de Informação em Saúde Aplicada.ppt
Aula sobre banco de dados com firebase db
Curso de Java 11 - (Serializable (Serialização de Objetos)).pptx
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Curso de Java 16 - (JEE (Utilizando o Padrão MVC)).pptx
Aula 18 - Manipulacao De Arquivos python
Curso de Java 14 - (Explicações Adicionais (Classes Abstrata e Interface)).pptx
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Aula16ManipulaçãoDadosssssssssssssssssssssssssssss
Processos na gestão de transportes, TM100 Col18
Aula sobre desenvolvimento de aplicativos
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
BANCO DE DADOS - AULAS INICIAIS-sgbd.pptx
Apple Pippin Uma breve introdução. - David Glotz

Linguagem c parte 2

  • 1. Curso: Manutenção e Suporte em Informática Disciplina: Linguagem de Programação Professor: Mauro Jansen Linguagem C Procedimentos e funções, vetores, matrizes e registros (estruturas)
  • 2. Procedimentos e funções em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 2
  • 3. Procedimentos e funções Também chamados de sub-programas ou rotinas, são programas que executam uma função específica que é acessada diversas vezes Procedimento: não retorna valor ao programa que o chamou Função: retorna valor Exemplos: função fatorial (calcula o fatorial de um número) Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 3
  • 4. Por que usar funções? Reaproveitar código já criado (por você ou outros programadores) Evitar repetição de código dentro do mesmo programa Separar o programa em blocos, facilitando a leitura, o entendimento e a manutenção Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 4
  • 5. Procedimentos e funções em C A linguagem C tem apenas funções O tipo da função diz se ela retorna ou não valor: Tipo void: função que não retorna valor Outros tipos básicos (int, float, etc.): funções que retornam valor Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 5
  • 6. A função main() Como já vimos, todo programa em C tem pelo menos uma função: #Include <biblioteca1.h> #Include <biblioteca2.h> ... Void main() { <Declaração de variáveis> ... <comandos> ... } Inclusão de arquivo de bibliotecas de comandos Função main(): é obrigatória. É a primeira função chamada quando o programa é iniciado Delimitadores de inicio e fim de bloco de comandos Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 6
  • 7. Definindo funções em C Sintaxe: tipo nome da função(tipo parâmetro1,...,tipo parâmetroN) { // comandos da função } Os parâmetros são os dados que serão usados pela função para realizar sua operação ou retornar algum resultado A lista de parâmetros é opcional, mas se for usada deve ser especificado o tipo de cada parâmetro Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 7
  • 8. Chamada de funções void main() { // comando anterior à chamada funcao1(2,3) // comando posterior à chamada } Prof. Mauro Jansen void funcao1(int a,int b) { // comandos da função } Linguagem de Programação Linguagem C – parte 1 8
  • 9. Exemplo de função #Include <stdio.h> float media(float nota1,float nota2) { return( (nota1+nota2)/2); } void main() { printf(“%fn”,media(8,9)); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 9
  • 10. Vetores em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 10
  • 11. Vetor É como uma variável dividida em vários pedaços, onde cada pedaço é acessado através de um número chamado índice Na linguagem C, o primeiro elemento é o de índice zero 0 Prof. Mauro Jansen 1 2 ... Linguagem de Programação Linguagem C – parte 1 N 11
  • 12. Declaração de um vetor Sintaxe: tipo <nome>[<tamanho>]; Exemplos: float notas[30]; // vetor p/até 30 notas char nome[50]; // vetor p/nome de até 50 caracteres // podemos também declarar e já inicializar o vetor: Float precos[4]={10.25, 11.55, 12.55, 20.65}; Note que as STRINGS (cadeia de caracteres) em C, são vetores de caracteres Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 12
  • 13. Usando vetores int i; float notas[30]; char nome[50]; // vetor p/até 30 notas // vetor p/nome de até 50 caracteres // podemos também declarar e já inicializar o vetor: Float precos[4]={10.25, 11.55, 12.55, 20.65}; notas[0]=9.5; // guarda valor numa pos.específica // usando um vetor no comando de entrada de dados: scanf(“%f”,&notas[1]); printf(“%fn”,notas[0]); // acessa o valor de uma pos. // especificando indice com variável: i=1; printf(“%fn”,notas[i]); Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 13
  • 14. Exemplo – preços de produtos #include <stdio.h> #define MAX 20 int main() { int pos; float precos[MAX],total; for(pos=0;pos<MAX;pos++) { printf("Digite o preco do produto %d: ",pos); scanf("%f",&precos[pos]); } printf("Preços digitados:n"); total=0; for(pos=0;pos<MAX;pos++) { printf("%fn",precos[pos]); total+=precos[pos]; } printf("Total: %fn",total); } # Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 14
  • 15. Matrizes Similar ao vetor (variável dividida em vários pedaços), com a diferença que temos mais de uma dimensão 0,0 1,0 ... N,0 Prof. Mauro Jansen 0,1 1,1 ... N,1 0,2 1,2 ... N,2 ... ... ... ... Linguagem de Programação Linguagem C – parte 1 0,M 1,M ... N,M 15
  • 16. Declaração de uma matriz Sintaxe: tipo <nome>[<tam.1>][tam.2]..[tam.N]; Exemplos: float notas[30][3]; // matriz p/até 3 notas de 30 alunos nome[50][10]; // matriz nomes (até 50 car.) de 10 pessoas Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 16
  • 17. Usando matrizes int i,j; float notas[30][3]; // matriz p/até 3 notas de 30 alunos nome[50][10]; // matriz nomes (até 50 car.) de 10 pessoas notas[0][0]=9.5; // guarda valor numa pos.específica // usando matriz no comando de entrada de dados: scanf(“%f”,&notas[0][1]); printf(“%fn”,notas[0][1]); // acessa o valor // especificando indice com variável: i=0; j=1; printf(“%fn”,notas[i][j]); Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 17
  • 18. Exemplo – notas de alunos de uma turma de 10 alunos, com 3 notas de cada #include <stdio.h> #define MAX 10 int main() { int a,n; float notas[MAX][3]; for(a=0;a<MAX;a++) { for(n=0;n<3;n++) { printf("Digite a nota %d do aluno %d: ",n,a); scanf("%f",&notas[a][n]); } printf("n"); } } # Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 18
  • 19. Registros (estruturas) em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 19
  • 20. Registros (estruturas) Variável composta por um conjunto de sub-itens (membros da estrutura) que não precisam ser do mesmo tipo de dados Exemplo: Dados de uma Conta Bancária ITEM DE DADO VALOR Número: 2245 Tipo: Especial Cliente: José da Silva Saldo: R$5.250,00 Neste registro, representamos uma conta bancária, que tem os seguintes tipos de dados: Inteiro (Número) Real (Saldo e Limite) Literal (Tipo e Cliente) Limite: R$950,00 Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 20
  • 21. Definindo uma estrutura em C É feita em duas fases Definição da estrutura (novo tipo de dados) Definição da variável do tipo criado para a estrutura // definição da estrutura (novo tipo de dados) Typedef struct { tipo <nome do elemento 1>; tipo <nome do elemento 2>; ... tipo <nome do elemento N>; } <nome da estrutura>; // declaração da variável do tipo estrutura <nome da estrutura> <nome da variável>; Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 21
  • 22. Usando estruturas Para referenciar um valor, mencionamos o nome da estrutura e do elemento separados por um ponto: <nome da estrutura>.<nome do elemento>; Exemplo: conta.numero=123; Conta.tipo=“Normal”; Conta.cliente=“João da Silva”; Conta.saldo=1000; printf(“%fn”,conta.saldo); Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 22
  • 23. Vetor de estrutura O uso de esturutras torna-se mais efetivo quando associado a vetores Podemos criar um vetor de estrutura, podendo guardar dados de vários elementos distintos. Exemplos: 100 registros de contas bancárias 40 registros de alunos de uma turma Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 23
  • 24. Exemplo: notas de alunos de uma turma usando estrutura #include <stdio.h> #define MAX 10 int main() { typedef struct { char nome[50]; float nota1; float nota2; } reg_aluno; reg_aluno alunos[MAX]; int c; for(c=0;c<MAX;c++) { printf("Digite os dados do aluno %d:n",c+1); printf("Nome: "); scanf("%s",&alunos[c].nome); printf("Nota 1: "); scanf("%f",&alunos[c].nota1); printf("Nota 2: "); scanf("%f",&alunos[c].nota2); printf("n"); } } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 24