SlideShare a Scribd company logo
1 of 39
Download to read offline
Curso: Manutenção e Suporte em Informática
Disciplina: Linguagem de Programação
Professor: Mauro Jansen

Linguagem C
Introdução, Tipos, variáveis, expressões
e estruturas de controle
Introdução à linguagem C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

2
Histórico
Criada na década de 70 por Denis Ritchie
(Bell Labs)
Objetivo: ser uma linguagem mais fácil que
o Assembler mas que permitisse grande
controle sobre o hardware, para a
programação do sistema Unix
Influência das linguagens BCPL e B

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

3
Características
Genérica: usada para a criação de
programas para diversas áreas
Ex: aplicativos, sistemas operacionais,
automação industrial, engenharia, física,
química, etc.

Linguagem “mista”: tem características de
linguagem de alto e baixo nível
Induz a uma boa estruturação de
programas
Influenciou várias outras linguagens
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

4
Características
É “case sensitive”: minúsculas e maiúsculas
fazem diferença
Variável “nome” é diferente de “Nome”

É compilada (gera arq.executável)

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

5
O pré-processador
Parte do compilador C que trata alguns
textos (comandos) do código-fonte antes
da tradução em código executável
Esses comandos são as diretivas do préprocessador. Ex:
#define
#include

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

6
Diretivas do pré-processador
#define: define um identificador e uma
sequência de caracteres que será
substituída pelo identificador no códigofonte. Ex:
Em todo o código fonte, PI
#define PI 3.1415

será substituído por
3.1415

#include: inclui um cabeçalho ou outro
arquivo-fonte no ponto onde está a
Inclui o arquivo “stdio.h”
diretiva. Ex:
(definições padrões para
#include <stdio.h>
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

entrada e saída de dados)
no programa-fonte
7
Estrutura básica de um programa
em C
#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

8
Comentários
Comentários são úteis para documentar o
programa, e devem ser sempre usados
Existe dois modos:
Posição livre: usa-se o comando //
Várias linhas: usa-se o comando /* */

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

9
Palavras reservadas
São os comandos e funções próprias do
vocabulário da linguagem. Ex.:
auto, break, case, char, const, continue,
default, do, double, else, enum, extern, float,
for, goto, if, int, long, register, struct, switch,
typedef, union, unsigned, void, volatile, while,
etc.

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

10
Exemplo de programa em C
/*
Programa: calcular a média entre duas notas
Autor...: prof.Mauro
*/
#Include <stdio.h>
Void main()
{
float nota1,nota2;
// declaração de variáveis
printf(“Digite a primeira nota: “);
scanf(“%f”,&nota1);
printf(“Digite a segunda nota: “);
scanf(“%f”,&nota2)
printf(“A média é: %f”,(nota1+nota2)/2);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

11
Comando de saída: printf
Sintaxe:

printf(<string de controle>,<lista de argumentos>)

Mensagem (string) com códigos de
controle embutidos na mesma

Códigos de controle:

Valores que serão substituídos na
mensagem, no lugar de cada código de
controle iniciado por %

Código

Formato

Código

Formato

%d

Inteiro com sinal

%X

Hexadecimal

%f

Float (número real)

%o

Octal

%c

Caractere

%E

Notação científica

%s

String

%p

Ponteiro

%u

Inteiro sem sinal

n salta
linha

Exemplos:

printf(“O valor de PI é %f”,3.1415);
printf(“Meu nome é %s e eu tenho %d anosn”,”João”,18);

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

12
Comando de entrada: scanf
Sintaxe:
scanf(<string de controle>,<lista de argumentos>)
códigos de controle que identificarão o
tipo de dado a ser digitado pelo usuário

Variável(is) que receberá(ão) os dados,
precedida(s) pelo sinal &

Exemplo:
#Include <stdio.h>
Void main()
{
char c;
float n;
printf(“Digite uma letra: “);
scanf(“%c”,&c);
printf(“Digite um valor real: “);
scanf(“%f”,&n);
printf(“Letra: %c , número: %f”,c,f);
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

13
Tipos de dados, constantes,
variáveis, operadores e
expressões em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

14
Tipos de dados
A linguagem C tem os tipos básicos
Char (caractere), Int (inteiro), float (real),
double (real)

E modificadores de tipo, que vêm antes do
tipo e podem ser combinados:
Unsigned: sem sinal
Signed: com sinal (padrão)
Short: menor precisão (padrão)
Long: maior precisão
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

15
Tipos de dados

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

16
Constantes e variáveis
Constante: porção de dados que não muda seu
valor durante a execução do programa.
Exemplos: 23, ‘X’, “Linguagem C”, 1.234
Constantes não precisam de nome, mas podemos
nomeá-las usando a diretiva #define. Ex: #define PI
3.1415

Variável: porções de dados que podem mudar
seu valor durante a execução do programa
Uma variável precisa ter um nome e tipo e precisa ser
declarada e inicializada

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

17
Constantes de barra invertida
São códigos que iniciam com uma barra invertida que
representam uma constante tipo caractere dentro de
strings, como no comando printf. Veja alguns:
Código

Significado

Muito usado no
printf para saltar
para próxima linha

n

Nova linha (new line)

”

Aspas

’

Apóstrofo

0

Nulo



Barra invertida

t

Tabulação horizontal

a

Sinal sonoro (beep)

N

Constante octal (N é o valor da constante)

xN

Constante hexadecimal (N é o valor da constante)

Prof. Mauro Jansen
Regras para nomes de variáveis
Começar com letra ou sublinhado (_)
Caracteres seguintes podem ser letras,
números ou sublinhado
Não pode ser palavra reservada ou função
Maiúsculas e minúsculas fazem diferença

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

19
Declaração e inicialização de
variáveis
A declaração é feita da seguinte forma:
<tipo de dado> <lista de variáveis>;

Obs: Na linguagem C não há uma seção
específica para declaração de variáveis
Exemplos:
char ch,letra;
long cont;

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

20
Declaração e inicialização de
variáveis
Inicialização: podemos atribuir valor no
momento da declaração ou depois, usando
o operador de atribuição “=“ :
Char ch=‘D’;
Int num=123;
num=10;

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

21
Operadores aritméticos
Usados em operações matemáticas
Operador

Ação

+

Soma

-

Subtração ou troca de sinal

*

Multiplicação

/

Divisão

%

Resto da divisão

++

Incrementa valor de uma variável

--

Decrementa valor de uma variável

+=

Atribuição com soma

-=

Atribuição com subtração

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

22
Operadores relacionais
Usados em comparações entre valores
Operador
>
>=
<

Significado
Maior
Maior ou igual
Menor

<=

Menor ou igual

==

Igual

!=

Diferente

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

23
Operadores lógicos
Usados em expressões lógicas compostas
Operador

Significado

&&

Operador E. Retorna verdadeiro se
ambos valores forem verdadeiros

||

Operador OU. Retorna verdadeiro se
pelo menos um for verdadeiro

!

Operador NÃO. Retorna o contrário do
valor informado.

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

24
Exemplo com operadores e
expressões
#Include <stdio.h>
Void main()
{
int a,b,c,d;
a=10;
b=22;
c=30;
d=40;
printf(“a+b = %d”,a+b);
// soma a e b
printf(“a-b = %d”,a-b);
// subtrai b de a
printf(“b%%a = %d”,b%a);
// resto da divisão de b por a
a++;
// incrementa a (mesmo que a=a+1)
b--;
// decrementa b (mesmo que b=b-1)
c+=a;
// soma a em c
(mesmo que c=c+a)
d-=b;
// soma e em d
(mesmo que d=d+b)
printf(“a=%d, b=%d, c=%d, d=%d”,a,b,c,d);
}

OBS: No próximo bloco veremos exemplos com
operadores relacionais Linguagem de Programação
e lógicos
Prof. Mauro Jansen

Linguagem C – parte 1

25
Estruturas de controle e
fluxo em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

26
Estrutura condicional if
Equivalente em pseudocódigo: se-senão-fimse

Sintaxe:
If(<condição>)
<bloco de comandos>
[else
<bloco de comandos 2>]

Se a condição for verdadeira, executa bloco de
comandos 1, senão executa bloco de comandos 2
OBS: Um bloco de comando composto por
mais de um comando deve iniciar com { e
terminar com }
O bloco do else é Linguagem de Programação
opcional
Prof. Mauro Jansen

Linguagem C – parte 1

27
Estrutura condicional if (se) Exemplo
/*
Programa: calcular a média e mostrar situação
*/
#Include <stdio.h>
Void main()
{
float nota1,nota2,media; // declaração de variáveis
printf(“Digite a primeira nota: “);
scanf(“%f”,&nota1);
printf(“Digite a segunda nota: “);
scanf(“%f”,&nota2);
media=(nota1+nota2)/2;
printf(“A média é: %f n”,media);
if(media>=7)
printf(“Você está aprovado.n”);
else
printf(“Você está de recuperação.n”);
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

28
Estrutura condicional switch-case
Equivalente pseudocódigo: escolha

Sintaxe:
Switch (<variável>)
{
case <constante1>:
<declaração1>;
break;
case <constante2>:
<declaração2>;
break;
case <constante_n>:
<declaraçãoN>;
break;
default:
<declaração default>
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

29
Estrutura condicional switch-case
Exemplo
#Include <stdio.h>
void main()
{
float n1,n2;
char op;
printf(“Digite um número: “);
scanf(“%f”,&n1);
printf(“Digite a operação (+,-,* ou /): “);
scanf(“%c”,&op);
printf(“Digite outro número: “);
scanf(“%f”,&n2);
switch (op)
{
case ‘+’: printf(“Soma=%f”,n1+n2);
break;
case ‘-’: printf(“Soma=%f”,n1-n2);
break;
case ‘*’: printf(“Soma=%f”,n1*n2);
break;
case ‘/’: printf(“Soma=%f”,n1/n2);
break;
default: printf(“Você digitou uma operação inválida!”)
}
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

30
Operador ternário
Operador que permite simplificar tomadas
de decisão simples
Sintaxe:
<expressão1> ? <expressão2> : <expressão3>

Exemplo:

Equivale a:

max=(a>b) ? a : b;
If (a>b)
max=a;
Else
max=b;
Prof. Mauro Jansen
Estrutura de repetição for
Equivalente pseudocódigo: para - fimpara

É a repetição contada. Sintaxe:
for(<inicialização>;<condição>;<incremento>)
<bloco de comandos>

Inicialização: expressão de inicialização. Ex:
n=0
Condição: expressão condição para continuar a
repetição. Ex: n<=10
Incremento: expressão de incremento. Ex:
n++
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

32
Estrutura de repetição for
exemplo:

Programa para contar de 1 a 100:
#include <stdio.h>
{
int n;
for(n=1 ; n<=100 ; n++)
{
printf("Contando: %dn",n);
}
}

Prof. Mauro Jansen
Estrutura de repetição while
Equivalente pseudocódigo: enquanto–faça-fimenquanto

Sintaxe:
while(<condição>)
<bloco de comandos>

Inicia e repete o bloco de comandos
enquanto a condição for verdadeira
É a repetição com teste no início

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

34
Estrutura de repetição while
Exemplo:
Soma quantidade indeterminada de números
#include <stdio.h>
int main()
{
float n=1,soma=0;
while (n!=0) {
printf("Digite um numero (zero=fim):");
scanf("%f",&n);
soma+=n;
}
printf("A soma dos numeros digitados é: %f",soma);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

35
Estrutura de repetição do..while
Equivalente pseudocódigo: repita - até

Sintaxe:
do
<bloco de comandos>
While(<condição>);

Executa o bloco de comando e repete
enquanto a condição for verdadeira
É a repetição com teste no final

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

36
Estrutura de repetição do..while
Exemplo:
Mesmo anterior, agora com do..while:
#include <stdio.h>
{
float n=0,soma=0;
do {
printf("Digite um numero (zero=fim):");
scanf("%f",&n);
soma+=n;
} while (n!=0);
printf("A soma dos numeros digitados é: %fn",soma);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

37
Comandos que afetam as
estruturas de repetição
Comando break: interrompe a repetição,
continuando após o bloco de comandos a
ser repetido
Comando continue: interrompe apenas a
repetição atual, voltando ao início do laço

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

38
Atividades no DevC++
PRÁTICA, muita PRÁTICA:
Testar os exemplos dos slides
Testar os exemplos da apostila
Resolver exercícios da apostila
Resolver as atividades da semana

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

39

More Related Content

What's hot

Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
Grupython Ufla
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
Mauro Pereira
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
Christian Perone
 

What's hot (20)

Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Algoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - ResolucaoAlgoritmos - Aula 07 B - Exercicios Vetores - Resolucao
Algoritmos - Aula 07 B - Exercicios Vetores - Resolucao
 
Introdução a python
Introdução a pythonIntrodução a python
Introdução a python
 
Linguagem C 06 Funcoes
Linguagem C 06 FuncoesLinguagem C 06 Funcoes
Linguagem C 06 Funcoes
 
Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)Pseudocódigo ou Portugol (Lógica de Programação)
Pseudocódigo ou Portugol (Lógica de Programação)
 
Material de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de ProgramaçãoMaterial de Apoio de Algoritmo e Lógica de Programação
Material de Apoio de Algoritmo e Lógica de Programação
 
Java básico - Módulo 05 - Estruturas de Repetição
Java  básico - Módulo 05 - Estruturas de RepetiçãoJava  básico - Módulo 05 - Estruturas de Repetição
Java básico - Módulo 05 - Estruturas de Repetição
 
Exercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetoresExercicios resolvidos visu alg vetores
Exercicios resolvidos visu alg vetores
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
Introdução à Linguagem de Programação C
Introdução à Linguagem de Programação CIntrodução à Linguagem de Programação C
Introdução à Linguagem de Programação C
 
Algoritmos: Tipos de Dados
Algoritmos: Tipos de DadosAlgoritmos: Tipos de Dados
Algoritmos: Tipos de Dados
 
Apresentação python fábio jr alves
Apresentação python   fábio jr alvesApresentação python   fábio jr alves
Apresentação python fábio jr alves
 
Aula javascript
Aula  javascriptAula  javascript
Aula javascript
 
Algoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigoAlgoritmos e lp parte3-pseudocódigo
Algoritmos e lp parte3-pseudocódigo
 
Estrutura básica de um computador
Estrutura básica de um computadorEstrutura básica de um computador
Estrutura básica de um computador
 
Python - Introdução Básica
Python - Introdução BásicaPython - Introdução Básica
Python - Introdução Básica
 
Linguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e FunçõesLinguagem C - Vetores, Matrizes e Funções
Linguagem C - Vetores, Matrizes e Funções
 
Python Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdfPython Introdução e Orientação a Objetos.pdf
Python Introdução e Orientação a Objetos.pdf
 

Viewers also liked (12)

Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquitetura
 
Apostila c
Apostila cApostila c
Apostila c
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Algoritmos Aula 01
Algoritmos Aula 01Algoritmos Aula 01
Algoritmos Aula 01
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
Tecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardwareTecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardware
 
Informática 1-conceitos e componentes
Informática  1-conceitos e componentesInformática  1-conceitos e componentes
Informática 1-conceitos e componentes
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 

Similar to Linguagem c parte 1

Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
Lucas Antonio
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
mmind
 

Similar to Linguagem c parte 1 (20)

Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Aula01
Aula01Aula01
Aula01
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Ud2
Ud2Ud2
Ud2
 
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
Introdução a linguagem de programação C
Introdução a linguagem de programação CIntrodução a linguagem de programação C
Introdução a linguagem de programação C
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 
Apostila linguagem c
Apostila linguagem cApostila linguagem c
Apostila linguagem c
 

More from Mauro Pereira

Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Mauro Pereira
 

More from Mauro Pereira (20)

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 

Recently uploaded

Recently uploaded (8)

ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 

Linguagem c parte 1

  • 1. Curso: Manutenção e Suporte em Informática Disciplina: Linguagem de Programação Professor: Mauro Jansen Linguagem C Introdução, Tipos, variáveis, expressões e estruturas de controle
  • 2. Introdução à linguagem C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 2
  • 3. Histórico Criada na década de 70 por Denis Ritchie (Bell Labs) Objetivo: ser uma linguagem mais fácil que o Assembler mas que permitisse grande controle sobre o hardware, para a programação do sistema Unix Influência das linguagens BCPL e B Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 3
  • 4. Características Genérica: usada para a criação de programas para diversas áreas Ex: aplicativos, sistemas operacionais, automação industrial, engenharia, física, química, etc. Linguagem “mista”: tem características de linguagem de alto e baixo nível Induz a uma boa estruturação de programas Influenciou várias outras linguagens Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 4
  • 5. Características É “case sensitive”: minúsculas e maiúsculas fazem diferença Variável “nome” é diferente de “Nome” É compilada (gera arq.executável) Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 5
  • 6. O pré-processador Parte do compilador C que trata alguns textos (comandos) do código-fonte antes da tradução em código executável Esses comandos são as diretivas do préprocessador. Ex: #define #include Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 6
  • 7. Diretivas do pré-processador #define: define um identificador e uma sequência de caracteres que será substituída pelo identificador no códigofonte. Ex: Em todo o código fonte, PI #define PI 3.1415 será substituído por 3.1415 #include: inclui um cabeçalho ou outro arquivo-fonte no ponto onde está a Inclui o arquivo “stdio.h” diretiva. Ex: (definições padrões para #include <stdio.h> Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 entrada e saída de dados) no programa-fonte 7
  • 8. Estrutura básica de um programa em C #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 8
  • 9. Comentários Comentários são úteis para documentar o programa, e devem ser sempre usados Existe dois modos: Posição livre: usa-se o comando // Várias linhas: usa-se o comando /* */ Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 9
  • 10. Palavras reservadas São os comandos e funções próprias do vocabulário da linguagem. Ex.: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, struct, switch, typedef, union, unsigned, void, volatile, while, etc. Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 10
  • 11. Exemplo de programa em C /* Programa: calcular a média entre duas notas Autor...: prof.Mauro */ #Include <stdio.h> Void main() { float nota1,nota2; // declaração de variáveis printf(“Digite a primeira nota: “); scanf(“%f”,&nota1); printf(“Digite a segunda nota: “); scanf(“%f”,&nota2) printf(“A média é: %f”,(nota1+nota2)/2); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 11
  • 12. Comando de saída: printf Sintaxe: printf(<string de controle>,<lista de argumentos>) Mensagem (string) com códigos de controle embutidos na mesma Códigos de controle: Valores que serão substituídos na mensagem, no lugar de cada código de controle iniciado por % Código Formato Código Formato %d Inteiro com sinal %X Hexadecimal %f Float (número real) %o Octal %c Caractere %E Notação científica %s String %p Ponteiro %u Inteiro sem sinal n salta linha Exemplos: printf(“O valor de PI é %f”,3.1415); printf(“Meu nome é %s e eu tenho %d anosn”,”João”,18); Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 12
  • 13. Comando de entrada: scanf Sintaxe: scanf(<string de controle>,<lista de argumentos>) códigos de controle que identificarão o tipo de dado a ser digitado pelo usuário Variável(is) que receberá(ão) os dados, precedida(s) pelo sinal & Exemplo: #Include <stdio.h> Void main() { char c; float n; printf(“Digite uma letra: “); scanf(“%c”,&c); printf(“Digite um valor real: “); scanf(“%f”,&n); printf(“Letra: %c , número: %f”,c,f); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 13
  • 14. Tipos de dados, constantes, variáveis, operadores e expressões em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 14
  • 15. Tipos de dados A linguagem C tem os tipos básicos Char (caractere), Int (inteiro), float (real), double (real) E modificadores de tipo, que vêm antes do tipo e podem ser combinados: Unsigned: sem sinal Signed: com sinal (padrão) Short: menor precisão (padrão) Long: maior precisão Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 15
  • 16. Tipos de dados Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 16
  • 17. Constantes e variáveis Constante: porção de dados que não muda seu valor durante a execução do programa. Exemplos: 23, ‘X’, “Linguagem C”, 1.234 Constantes não precisam de nome, mas podemos nomeá-las usando a diretiva #define. Ex: #define PI 3.1415 Variável: porções de dados que podem mudar seu valor durante a execução do programa Uma variável precisa ter um nome e tipo e precisa ser declarada e inicializada Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 17
  • 18. Constantes de barra invertida São códigos que iniciam com uma barra invertida que representam uma constante tipo caractere dentro de strings, como no comando printf. Veja alguns: Código Significado Muito usado no printf para saltar para próxima linha n Nova linha (new line) ” Aspas ’ Apóstrofo 0 Nulo Barra invertida t Tabulação horizontal a Sinal sonoro (beep) N Constante octal (N é o valor da constante) xN Constante hexadecimal (N é o valor da constante) Prof. Mauro Jansen
  • 19. Regras para nomes de variáveis Começar com letra ou sublinhado (_) Caracteres seguintes podem ser letras, números ou sublinhado Não pode ser palavra reservada ou função Maiúsculas e minúsculas fazem diferença Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 19
  • 20. Declaração e inicialização de variáveis A declaração é feita da seguinte forma: <tipo de dado> <lista de variáveis>; Obs: Na linguagem C não há uma seção específica para declaração de variáveis Exemplos: char ch,letra; long cont; Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 20
  • 21. Declaração e inicialização de variáveis Inicialização: podemos atribuir valor no momento da declaração ou depois, usando o operador de atribuição “=“ : Char ch=‘D’; Int num=123; num=10; Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 21
  • 22. Operadores aritméticos Usados em operações matemáticas Operador Ação + Soma - Subtração ou troca de sinal * Multiplicação / Divisão % Resto da divisão ++ Incrementa valor de uma variável -- Decrementa valor de uma variável += Atribuição com soma -= Atribuição com subtração Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 22
  • 23. Operadores relacionais Usados em comparações entre valores Operador > >= < Significado Maior Maior ou igual Menor <= Menor ou igual == Igual != Diferente Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 23
  • 24. Operadores lógicos Usados em expressões lógicas compostas Operador Significado && Operador E. Retorna verdadeiro se ambos valores forem verdadeiros || Operador OU. Retorna verdadeiro se pelo menos um for verdadeiro ! Operador NÃO. Retorna o contrário do valor informado. Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 24
  • 25. Exemplo com operadores e expressões #Include <stdio.h> Void main() { int a,b,c,d; a=10; b=22; c=30; d=40; printf(“a+b = %d”,a+b); // soma a e b printf(“a-b = %d”,a-b); // subtrai b de a printf(“b%%a = %d”,b%a); // resto da divisão de b por a a++; // incrementa a (mesmo que a=a+1) b--; // decrementa b (mesmo que b=b-1) c+=a; // soma a em c (mesmo que c=c+a) d-=b; // soma e em d (mesmo que d=d+b) printf(“a=%d, b=%d, c=%d, d=%d”,a,b,c,d); } OBS: No próximo bloco veremos exemplos com operadores relacionais Linguagem de Programação e lógicos Prof. Mauro Jansen Linguagem C – parte 1 25
  • 26. Estruturas de controle e fluxo em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 26
  • 27. Estrutura condicional if Equivalente em pseudocódigo: se-senão-fimse Sintaxe: If(<condição>) <bloco de comandos> [else <bloco de comandos 2>] Se a condição for verdadeira, executa bloco de comandos 1, senão executa bloco de comandos 2 OBS: Um bloco de comando composto por mais de um comando deve iniciar com { e terminar com } O bloco do else é Linguagem de Programação opcional Prof. Mauro Jansen Linguagem C – parte 1 27
  • 28. Estrutura condicional if (se) Exemplo /* Programa: calcular a média e mostrar situação */ #Include <stdio.h> Void main() { float nota1,nota2,media; // declaração de variáveis printf(“Digite a primeira nota: “); scanf(“%f”,&nota1); printf(“Digite a segunda nota: “); scanf(“%f”,&nota2); media=(nota1+nota2)/2; printf(“A média é: %f n”,media); if(media>=7) printf(“Você está aprovado.n”); else printf(“Você está de recuperação.n”); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 28
  • 29. Estrutura condicional switch-case Equivalente pseudocódigo: escolha Sintaxe: Switch (<variável>) { case <constante1>: <declaração1>; break; case <constante2>: <declaração2>; break; case <constante_n>: <declaraçãoN>; break; default: <declaração default> } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 29
  • 30. Estrutura condicional switch-case Exemplo #Include <stdio.h> void main() { float n1,n2; char op; printf(“Digite um número: “); scanf(“%f”,&n1); printf(“Digite a operação (+,-,* ou /): “); scanf(“%c”,&op); printf(“Digite outro número: “); scanf(“%f”,&n2); switch (op) { case ‘+’: printf(“Soma=%f”,n1+n2); break; case ‘-’: printf(“Soma=%f”,n1-n2); break; case ‘*’: printf(“Soma=%f”,n1*n2); break; case ‘/’: printf(“Soma=%f”,n1/n2); break; default: printf(“Você digitou uma operação inválida!”) } } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 30
  • 31. Operador ternário Operador que permite simplificar tomadas de decisão simples Sintaxe: <expressão1> ? <expressão2> : <expressão3> Exemplo: Equivale a: max=(a>b) ? a : b; If (a>b) max=a; Else max=b; Prof. Mauro Jansen
  • 32. Estrutura de repetição for Equivalente pseudocódigo: para - fimpara É a repetição contada. Sintaxe: for(<inicialização>;<condição>;<incremento>) <bloco de comandos> Inicialização: expressão de inicialização. Ex: n=0 Condição: expressão condição para continuar a repetição. Ex: n<=10 Incremento: expressão de incremento. Ex: n++ Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 32
  • 33. Estrutura de repetição for exemplo: Programa para contar de 1 a 100: #include <stdio.h> { int n; for(n=1 ; n<=100 ; n++) { printf("Contando: %dn",n); } } Prof. Mauro Jansen
  • 34. Estrutura de repetição while Equivalente pseudocódigo: enquanto–faça-fimenquanto Sintaxe: while(<condição>) <bloco de comandos> Inicia e repete o bloco de comandos enquanto a condição for verdadeira É a repetição com teste no início Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 34
  • 35. Estrutura de repetição while Exemplo: Soma quantidade indeterminada de números #include <stdio.h> int main() { float n=1,soma=0; while (n!=0) { printf("Digite um numero (zero=fim):"); scanf("%f",&n); soma+=n; } printf("A soma dos numeros digitados é: %f",soma); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 35
  • 36. Estrutura de repetição do..while Equivalente pseudocódigo: repita - até Sintaxe: do <bloco de comandos> While(<condição>); Executa o bloco de comando e repete enquanto a condição for verdadeira É a repetição com teste no final Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 36
  • 37. Estrutura de repetição do..while Exemplo: Mesmo anterior, agora com do..while: #include <stdio.h> { float n=0,soma=0; do { printf("Digite um numero (zero=fim):"); scanf("%f",&n); soma+=n; } while (n!=0); printf("A soma dos numeros digitados é: %fn",soma); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 37
  • 38. Comandos que afetam as estruturas de repetição Comando break: interrompe a repetição, continuando após o bloco de comandos a ser repetido Comando continue: interrompe apenas a repetição atual, voltando ao início do laço Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 38
  • 39. Atividades no DevC++ PRÁTICA, muita PRÁTICA: Testar os exemplos dos slides Testar os exemplos da apostila Resolver exercícios da apostila Resolver as atividades da semana Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 39