Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um...
-
Upload
nguyendang -
Category
Documents
-
view
224 -
download
0
Transcript of Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um...
![Page 1: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/1.jpg)
Linguagem de Programação CProf. Fabrício Olivetti de França
![Page 2: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/2.jpg)
2
Linguagem C
![Page 3: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/3.jpg)
Linguagem C
● Imperativo e estruturado● Pequeno conjunto de palavras-chaves, operadores, etc.● Tipagem estática, porém fraca● Permite criação de tipos de dados abstratos● Acesso à memória do sistema● Biblioteca padrão
3
![Page 4: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/4.jpg)
Linguagem C
Criado por Dennis Ritchie na Bell Labs com o objetivo de reescrever o sistema operacional Unix sem o uso de linguagem de máquina.
4
![Page 5: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/5.jpg)
Linguagem CTipos fundamentais:
int - números inteiroschar - caracteresfloat e double - números em ponto flutuante
5
![Page 6: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/6.jpg)
Linguagem CTipos derivados que permitem criações de estruturas mais complexas:
● ponteiros● vetores● estruturas● uniões
6
![Page 7: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/7.jpg)
Linguagem CFluxo de controle:
● Blocos de comandos: { }● Tomada de decisão: if-else● Seleção: switch● Laços com teste no topo: while, for● Laços com teste no fundo: do● Pulos para o início ou de saída dos laços: continue,
break
7
![Page 8: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/8.jpg)
8
Compilador GCC
![Page 9: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/9.jpg)
primeiroPrograma.c#include <stdio.h>
main(){ printf(“Meu primeiro programa!\n”);}
9
![Page 10: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/10.jpg)
Primeiro Programa
#include <stdio.h>
main(){ printf(“Meu primeiro programa!\n”);}
Inclui informações de comandos da biblioteca stdio
Define a função principal que será executada ao chamar o programa
10
![Page 11: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/11.jpg)
Primeiro Programa#include <stdio.h>
main(){ printf(“Meu primeiro programa!\n”);}
Define o bloco de comandos pertencentes a função principal
11
![Page 12: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/12.jpg)
Primeiro Programa#include <stdio.h>
main(){ printf(“Meu primeiro programa!\n”);}
Comando que imprime mensagem na tela.
12
![Page 13: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/13.jpg)
Primeiro Programa#include <stdio.h>
main(){ printf(“Meu primeiro programa!\n”);}
Cada comando deve terminar com “;”
13
![Page 14: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/14.jpg)
Compilando e executandoNo terminal digite:
gcc -o primeiroPrograma primeiroPrograma.c
Em seguida:
./primeiroPrograma
14
![Page 15: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/15.jpg)
GCCGCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++.
Ele transforma o conjunto de instruções em um arquivo texto para a linguagem de máquina.
Além disso, ele se encarrega de otimizar seu programa.
15
![Page 16: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/16.jpg)
GCC
gcc -o nomedoexecutável nomedocodigo.c
-o: indica o nome do arquivo executável
16
![Page 17: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/17.jpg)
GCC
gcc -fverbose-asm -S -masm=intel -O arquivo.c-fverbose-asm: indica que quero um código assembly legível-S: compila para código assembly-masm: indica a plataforma atual
17
![Page 18: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/18.jpg)
MingwPara quem for utilizar o windows, o gcc está implementado no software www.mingw.org
Ou a IDE http://www.codeblocks.org/ que já instala o Mingw (GCC) junto.
18
![Page 19: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/19.jpg)
19
Processos
![Page 20: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/20.jpg)
loopEterno.c
main( ){ while( 1 );}
Fica eternamente nesse laço de repetição!
20
![Page 21: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/21.jpg)
loopEterno.cEnquanto o programa executa, entre em um outro terminal e digite: top
21
![Page 22: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/22.jpg)
ProcessosCada programa em execução é referenciado pelo Sistema Operacional através de um número de processo.
Através do número do processo o SO envia mensagens para o programa em execução.
22
![Page 23: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/23.jpg)
ProcessosVamos enviar uma mensagem para que o processo morra.
Digite:
kill numeroprocesso
23
![Page 24: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/24.jpg)
24
Variáveis, Constantes e Memória
![Page 25: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/25.jpg)
VariáveisSimilar ao Java e diferente do Python, na linguagem C devemos declarar explicitamente o tipo de cada variável:
int x;char c;float f;double d;
25
![Page 26: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/26.jpg)
VariáveisNa prática, a diferença entre os tipos é apenas a quantidade de bits que cada um ocupa:
int - tamanho do inteiro definido pelo processadorchar - 1 byte (8 bits)float - 4 bytes (32 bits)double - 8 bytes (64 bits)
26
![Page 27: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/27.jpg)
VariáveisAlém disso temos qualificadores do int:
short int - 2 bytes (16 bits)long int - 4 bytes (32 bits) ou 8 bytes (64 bits)
27
![Page 28: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/28.jpg)
VariáveisE qualificadores de int e char:
unsigned - representa valores >= 0signed - contém valores negativos também (padrão)
28
![Page 29: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/29.jpg)
Variáveis
Uma variável do tipo unsigned char pode representar valores entre 0 e 28, sendo 8 o tamanho do tipo em bits.
Uma variável do tipo signed char representa valores entre -128 e 127.
29
![Page 30: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/30.jpg)
VariáveisE, finalmente:
long double - precisão estendida (dependente da plataforma)
30
![Page 31: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/31.jpg)
VariáveisVetores de tamanho pré-definidos podem ser criados da seguinte forma:
tipo nome[TAMANHO];
/* vetor de inteiros de tamanho 100 */int v[100];
31
![Page 32: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/32.jpg)
VariáveisPara verificar o tamanho de um tipo de variável podemos utilizar o comando sizeof:
printf(“%d\n, sizeof(int));
ou
int x;printf(“%d\n, sizeof(x));
32
![Page 33: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/33.jpg)
tiposVars.c
33
![Page 34: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/34.jpg)
ConstantesPara definir uma constante, antes da função main utilizamos a diretiva #define:
#define PI 3.14main(){ int pipi; pipi = 2*PI;}
34
![Page 35: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/35.jpg)
ConstantesTudo definido pelo define será substituído no código durante a compilação:
#define PI 3.14main(){ float pipi; pipi = 2*PI;}
main(){
float pipi;
pipi = 2*3.14;
}
35
![Page 36: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/36.jpg)
ConstantesOutra forma de definir constantes é a enumeração:
#enum {DOM, SEG, TER, QUA, QUI, SEX, SAB}main(){ int dia; dia = SEG;}
main(){
int dia;
dia = 1;
}
36
![Page 37: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/37.jpg)
constantes.c
gcc -E constantes.c
37
![Page 38: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/38.jpg)
38
Operadores
![Page 39: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/39.jpg)
Operadores
A Linguagem C possui cinco operadores aritméticos: +, -, *, /, %.
Para o caso da divisão (/) entre inteiros, o quociente é truncado (corta-se qualquer valor após a vírgula).
39
![Page 40: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/40.jpg)
OperadoresOutros operadores:
++ e --: incrementa ou decrementa o valor numérico em 1
x op= y equivalente a x = x op yCom op sendo qualquer operador aritmético.
40
![Page 41: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/41.jpg)
Operadores
A Linguagem C possui seis operadores relacionais: <, >, <=, >=, ==, !=
E três operadores lógicos:&& (e), || (ou), ! (não)
41
![Page 42: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/42.jpg)
Operadores
Nota: diferente de Java e Python, C não possui o tipo booleano, as expressões lógicas são avaliadas para 0 ou 1.
Além disso, qualquer valor diferente de zero é considerado como verdadeiro.
42
![Page 43: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/43.jpg)
OperadoresComo em C todos os tipos são interpretados como sequências de bits, temos os operadores:& - realiza a operação E entre dois números| - OU^ - OU EXCLUSIVO<< - Desloca os bits n casas para a esquerda>> - Desloca para a direita~ - complemento do número
43
![Page 44: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/44.jpg)
Códigos
opsAritmeticos.copsLogicos.copsBinarios.c
44
![Page 45: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/45.jpg)
45
Blocos de Instruções
![Page 46: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/46.jpg)
Blocos de Instruções em CNa linguagem C, os blocos de instruções são definidos por { }.
{ a = a + b; b = a - b; a = a - b;}
46
![Page 47: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/47.jpg)
Blocos de Instruções em CEsses blocos definem um objetivo específico do algoritmo!
/* Troca os valores de a e b */{ a = a + b; b = a - b; a = a - b;}
47
![Page 48: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/48.jpg)
Blocos de Instruções em COs comentários são delimitados por /* e */ e devem ficar em uma linha própria, antes do código a ser comentado.
Dica: seu código deve ser possível de ser entendido com um comentário por bloco. Caso sinta a necessidade de acrescentar comentários, repense o nome das variáveis e a sequência de instruções.
48
![Page 49: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/49.jpg)
Blocos CondicionaisEm C temos dois blocos condicionais: if-else e switch.
If-else, já conhecido de PI faz um desvio de acordo com o resultado de uma expressão lógica.
switch define uma escolha a ser feita de acordo com o valor de uma variável.
49
![Page 50: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/50.jpg)
Blocos Condicionais
if( condicao ){ instruções;}
50
![Page 51: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/51.jpg)
Blocos Condicionais
if( condicao ){ instruções;}else{ outrasinstruções;}
51
![Page 52: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/52.jpg)
Blocos Condicionaisif( condicao1 ){ instruções;}else if( condicao2 ){ outrasinstruções;}else{ maisinstruções;}
As instruções pertencentes ao bloco if estão delimitadas pelo bloco { }.
52
![Page 53: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/53.jpg)
Controle Condicionalif( x>10 ){ printf(“x é muito grande!\n”);}else if( x<10 ){ printf(“x é muito pequeno!\n”);}else{ printf(“x tem o tamanho certo!\n”);}
53
![Page 54: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/54.jpg)
Blocos Condicionaisswitch( variável ){ case valor1: Instruções; break; case valor2: instruções; default: instruções;}
54
![Page 55: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/55.jpg)
Blocos Condicionaisswitch( variável ){ case valor1: Instruções; break; case valor2: instruções; default: instruções;}
Faz um goto para o label contendo o valor da variável.
55
![Page 56: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/56.jpg)
Blocos Condicionaisswitch( variável ){ case valor1: Instruções; break; case valor2: instruções; default: instruções;}
O break indica para ir para o final do bloco.
56
![Page 57: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/57.jpg)
Blocos Condicionaisswitch( variável ){ case valor1: Instruções; break; case valor2: instruções; default: instruções;}
A ausência de break faz com que o programa continue executando até o final do bloco.
57
![Page 58: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/58.jpg)
Controle Condicionalswitch( x ){ 10: printf(“x tem o tamanho certo!\n”); break; default: printf(“x tem o tamanho errado!\n”); break;}
58
![Page 59: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/59.jpg)
Blocos de RepetiçãoA linguagem C possui três blocos de repetição:while: repete o bloco enquanto certa condição for atendida.
do..while: igual ao while, porém garante a execução do bloco pelo menos uma vez.
for: delimita o valor de uma ou mais variáveis entre um limite inferior e superior.
59
![Page 60: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/60.jpg)
Blocos de Repetição
while( condicao ){ instruções;}
60
![Page 61: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/61.jpg)
Blocos de Repetição
while( condicao ){ instruções;}
Enquanto a condição for verdadeira, executa a sequência de instruções.
61
![Page 62: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/62.jpg)
Blocos de Repetição
do{ instruções;}while( condição );
62
![Page 63: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/63.jpg)
Blocos de Repetição
do{ instruções;}while( condição );
Executa a seq. de instruções e repete tal seq. enquanto a condição for verdadeira.
63
![Page 64: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/64.jpg)
Controle Repetiçãowhile( x != 10 ){ printf(“entre com o valor de x: “); scanf(“%d”, &x);}do{ printf(“entre com o valor de x: “); scanf(“%d”, &x);}while( x != 10 );
64
![Page 65: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/65.jpg)
Blocos de Repetição
for( var = valor; condição; var = var + constante){ instruções;}
65
![Page 66: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/66.jpg)
Blocos de Repetição
for( var = valor; condição; var = var + constante){ instruções;}
Enquanto a condição for verdadeira, executa a sequência de instruções.
66
![Page 67: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/67.jpg)
Blocos de Repetição
for( var = valor; condição; var = var + constante){ instruções;}
Inicialmente a variável var assumirá o conteúdo valor.
67
![Page 68: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/68.jpg)
Blocos de Repetição
for( var = valor; condição; var = var + constante){ instruções;}
A cada repetição a variável var será alterada pela expressão final.
68
![Page 69: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/69.jpg)
Controle Repetiçãofor( x = 0; x!=10; x=x+1 ){ if( x != 10 ){ printf(“x tem o valor errado!\n”); }}if( x == 10 ){ printf(“x tem o valor correto!\n”);}
69
![Page 70: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/70.jpg)
Códigos
condicional.cselecao.crepeticaoFor.crepeticaoWhile.c
70
![Page 71: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/71.jpg)
Entrada e Saída (básico)
printf( string, opções );
string = string com o conteúdo e a formataçãoopções = valores de diversos tipos a serem impressos
71
![Page 72: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/72.jpg)
Entrada e Saída (básico)
printf("Ola mundo!\n");
\n - pule uma linha\t - tabulação
72
![Page 73: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/73.jpg)
Entrada e Saída (básico)
int x = 10;printf("O número é: %d\n", x);
%d - imprima um inteiro
73
![Page 74: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/74.jpg)
Entrada e Saída (básico)
%d - int%ld - long int%u - unsigned int%c - char%f - float%lf - double%s - string
74
![Page 75: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/75.jpg)
Entrada e Saída (básico)
%.xf - float com x casas decimais
75
![Page 76: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/76.jpg)
Entrada e Saída (básico)
scanf(string, variáveis);
int x;scanf("Entre com um inteiro: %d", &x);
76
isso é importante!!!
![Page 77: Linguagem de Programação C - folivetti.github.io · GCC - Gnu Compiler Collection é um compilador de programas escritos nas linguagens C e C++. Ele transforma o conjunto de instruções](https://reader033.fdocumentos.tips/reader033/viewer/2022051510/5be7b5d909d3f23a558c9851/html5/thumbnails/77.jpg)
Entrada e Saída (básico)
Vocês só tem permissão para utilizar printf e scanf dentro da função main()!!!!
77