Escolar Documentos
Profissional Documentos
Cultura Documentos
Linguagem C
1
Em Construção
2
SOBRE MIM
3
COMPROMISSO DO ALUNO
4
LINGUAGEM C
6
IDE
10
IDE EXECUTÁVEL
programa
arquivo.c .exe
COMPILADOR
Traduz o código escrito na IDE por nós humanos, de uma forma que
a máquina e seus circuitos elétricos compreendam as instruções
e façam os cálculos necessários.
11
IDE COMPILADOR EXECUTÁVEL
programa
arquivo.c 010101010 .exe
13
COMPUTAÇÃO
10 + 20 = 30
EXEMPLO
10 + 20 = 30
ALGORITMO SOMA
10 + 20 = 30
VARIÁVEIS
10 + 20 = 30
TIPOS DE VARIÁVEIS
É preciso informar ao computador qual tipo de informação será armazenada nessas variáveis e
indicar onde o comando termina com “;” No exemplo são valores inteiros, então em C ficaria:
int a = 10;
int b = 20;
int resultado = a + b; 18
A B RESULTADO
10 + 20 = 30
TIPOS DE VARIÁVEIS
int inteiros
float números quebrados.
char letra
bool verdadeiro(1) ou falso(0).
19
A B RESULTADO
10 + 20 = 30
OPERAÇÕES MATEMÁTICAS
+ soma
- subtração
* multiplicação
/ divisão
20
A B RESULTADO
10 + 20 = 30
FUNÇÕES E BIBLIOTECAS
Conjunto de comandos para realizar uma função no código.
A função padrão do C que faz a IDE identificar por onde o código deve começar é a int main().
Outras funções padrões da linguagem como imprimir, ler valores e alocar memória ficam em
determinadas bibliotecas (Conjunto de Funções), que são incluídas no código com os
comandos: #include <stdio.h> e #include <stdlib.h> 21
Mão na Massa
Primeiro Código
22
FUNCIONAMENTO
Primeiramente foram adicionadas às
bibliotecas básicas do C com os
#includes.
10 + 20 = 30
25
A B RESULTADO
10 + 20 = 30
COMENTÁRIOS
Também é possível inserir comentários no código para lembrarmos o que cada linha faz.
Para isso, basta adicionar // e tudo que vier após, será ignorado pelo compilador.
Para comentar mais de uma linha, basta estar entre /* e */
26
FUNCIONAMENTO
Agora o resultado será impresso na
tela, juntamente com a palavra
“Resultado:”.
27
REVISÃO
28
Exercícios:
Operações
Matemáticas
29
SUA VEZ
30
FUNCIONAMENTO
Adicionei uma variável inteira c com
o valor 30 e depois adicionei ela na
soma da variável resultado.
31
SUA VEZ
32
FUNCIONAMENTO
Mudei o sinal de + pelo sinal de /
para fazer a operação de divisão.
33
SUA VEZ
34
FUNCIONAMENTO
Mudei o tipo das variáveis para float,
atribuindo valores quebrados com o
ponto.
35
SUA VEZ
36
FUNCIONAMENTO
Primeiro defino duas variáveis do
tipo float e depois uso a variável
resultado para armazenar o
resultado da divisão.
37
Como Ler
Valores
38
A B RESULTADO
? + ? = ?
LER VALORES
39
A B RESULTADO
? + ? = ?
LER VALORES
Para ler valores, precisamos definir variáveis e depois usar a função scanf(), usando o símbolo
& para indicar para a IDE que estamos falando de um endereço na memória do PC.
41
Exercícios:
Leitura de
Valores
42
SUA VEZ
43
FUNCIONAMENTO
Para definir a e b usei o tipo int, pois
assim posso usar números inteiros.
44
SUA VEZ
45
FUNCIONAMENTO
Para definir a e b usei o tipo float, pois
assim posso usar números quebrados.
47
FUNCIONAMENTO
Para definir a e b usei o tipo char, pois
assim posso usar letras.
49
CONDICIONAIS
54
FUNCIONAMENTO
Também é possível adicionar outras
condições específicas, utilizando o
“else if”, e por último caso não entre
em nenhuma das condições,
podemos usar o “else” sozinho.
55
Exercícios:
Condicionais
56
SUA VEZ
57
FUNCIONAMENTO
Leio dois valores e adiciono-os numa
variável SOMA.
Se é maior ou igual a 10 é o IF
Senão é o ELSE
58
SUA VEZ
59
FUNCIONAMENTO
Se a > b, A é maior que B
Senão, se a < b, A é menor que B
60
SUA VEZ
61
FUNCIONAMENTO
Leio um valor e depois verifico numa
condicional.
62
Conectivos
Lógicos
63
CONECTIVOS LÓGICOS
? ? PROBLEMA
Neste caso, tanto pessoa1 quanto pessoa2 precisam ser maiores de idade.
Se qualquer uma delas não for maior de idade, TEREMOS PROBLEMAS. 66
SE(PESSOA1 > 17 && PESSOA2 > 17)
OK
PESSOA1 PESSOA2
? ? PROBLEMA
68
CONECTIVOS LÓGICOS
? ? PROBLEMA
EXEMPLO CONECTIVO OU ||
Num cinema, se pessoa1 OU pessoa2 for maior de idade,
então está tudo OK, senão, teremos problemas.
Neste caso, se pessoa1 OU pessoa2 tiver mais que 18 anos, uma será responsável
pela outra, então tudo OK, mas se nenhuma for TEREMOS PROBLEMAS. 70
SE(PESSOA1 > 17 || PESSOA2 > 17)
OK
PESSOA1 PESSOA2
? ? PROBLEMA
72
Exercícios:
Conectivo Lógico
&&
73
SUA VEZ
74
FUNCIONAMENTO
Leio um valor.
1,2,3,4,5,6,7,8 e 9.
75
SUA VEZ
76
FUNCIONAMENTO
Leio 3 valores (neste exemplo li todos na
mesma linha).
77
Exercícios:
Conectivo Lógico
||
78
SUA VEZ
79
FUNCIONAMENTO
Leio 2 valores.
80
SUA VEZ
FAÇA UM PROGRAMA QUE LEIA 2 NÚMEROS INTEIROS
E IMPRIMA NA TELA SE ALGUM FOR PAR.
DICA: PARA SEPARAR OPERAÇÕES DE
COMPARAÇÃO, USE PARÊNTESES.
81
FUNCIONAMENTO
Leio 2 valores.
82
Exercícios:
Conectivo Lógico
&& e ||
83
SUA VEZ
84
TABELA DA VERDADE E TABELA DA VERDADE OU
PESSOA1 PESSOA2 RESULTADO PESSOA1 PESSOA2 RESULTADO
V V V V V V
V F F V F V
F V F F V V
F F F F F F
85
FUNCIONAMENTO
Leio 2 valores.
86
Condicional
Switch Case
87
SWITCH CASE
Existem situações em que sempre será selecionada apenas uma condição, sendo impossível
duas acontecerem ao mesmo tempo.
Nesta situação que se assemelha a escolher uma opção de um “Menu”, é recomendado utilizar a
condicional SWITCH.
88
FUNCIONAMENTO
Apresento o menu e cada número de
opção dará um resultado diferente.
90
FUNCIONAMENTO
Também podemos adicionar a opção
default: para casos em que nenhuma
das opções previstas em case sejam
selecionadas.
91
FUNCIONAMENTO
Caso vá analisar variáveis do tipo char,
então será preciso usar aspas simples
para separar as opções possíveis de
letras.
92
Exercícios:
Switch Case
93
SUA VEZ
94
FUNCIONAMENTO
Primeiro defino das variáveis que irei
utilizar: a, b, opcao e resultado.
95
Gerar Número
Aleatório
96
GERAR NÚMERO ALEATÓRIO
97
FUNCIONAMENTO
Primeiro adicionamos as bibliotecas
corretas.
99
FUNCIONAMENTO
Seguindo a lógica de que ao usar
rand() % ALGUMVALOR gera valores
entre 0 e (ALGUMVALOR-1), podemos
trabalhar com intervalos específicos ao
adicionar algum valor na operação ao
final dela.
100
FUNCIONAMENTO
Também podemos simplificar a
nomenclatura para não confundirmos,
usando uma variável para
VALOR_MAXIMO e uma para
VALOR_MINIMO aplicando da seguinte
forma:
101
Exercícios:
Aleatório
102
SUA VEZ
103
FUNCIONAMENTO
Para gerar números de 1 a 7 uso o
código: (rand() % 6) + 1;
Pois será o resto da divisão do número
aleatório gerado por 7 (Gerando algo
entre 0 e 5.
104
Laços de
Repetição (While)
10
LAÇO DE REPETIÇÃO WHILE
É muito comum que em programação existem situações em que precisamos repetir alguma
funcionalidade várias vezes seguidas.
Para evitar de ter que ficar reescrevendo um código ou fazendo tudo manualmente, podemos
utilizar um LAÇO DE REPETIÇÃO.
106
LAÇO DE REPETIÇÃO WHILE
i = i + 1;
em
i += 1;
109
FUNCIONAMENTO
Também é possível resumir fazer
operações de incremento com quaisquer
outros valores, como por exemplo de 3
em 3.
110
Laços de Repetição
While - Parte 2
111
FUNCIONAMENTO
Também é possível fazer operações de
decremento , fazendo o número diminuir
ao longo do código
i = i - 1;
ou
i -= 1;
112
FUNCIONAMENTO
Uma das maiores utilidades do while é
para executar comandos até que um
valor específico seja digitado, para
continuar com o programa.
113
FUNCIONAMENTO
Uma das maiores utilidades do while é
para executar comandos até que um valor
específico seja digitado, para continuar
com o programa.
114
FUNCIONAMENTO
Também é possível fazer validação de
dados com mais de 1 valor.
115
FUNCIONAMENTO
Outra forma de fazer o while é usando a
comparação no final.
116
Exercícios:
While
117
SUA VEZ
118
FUNCIONAMENTO
Inicio a variável com 50 e reduzo de 6 em 6
com o decremento do i.
119
SUA VEZ
120
FUNCIONAMENTO
Inicio a variável i com 10 e leio o valor
máximo que o usuário digita.
121
SUA VEZ
122
FUNCIONAMENTO
Neste caso tive que verificar o contrário de
estar entre 5 e 10 para entrar no while,
pois senão, o programa não executaria na
primeira vez.
123
Laços de
Repetição (For)
12
LAÇO DE REPETIÇÃO FOR
Outra forma de fazer laços de repetição é através do laço FOR, em que temos controle de uma
variável contadora (geralmente chamada de i) e de quantos em quantos passos ela aumenta ou
diminui, tudo diretamente em uma linha apenas.
125
LAÇO DE REPETIÇÃO FOR
128
Exercícios:
For
129
SUA VEZ
130
FUNCIONAMENTO
Usei uma variável soma que recebe o
valor dela mesma + o valor i a cada vez
que o laço de repetição acontece.
131
SUA VEZ
132
FUNCIONAMENTO
Leio o número desejado na variável
tabuada.
133
SUA VEZ
134
FUNCIONAMENTO
Todos os valores são inseridos pelo
jogador.
135