mini-curso linguagem c semana da tecnologia grupo unis
TRANSCRIPT
![Page 1: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/1.jpg)
Mini-Curso
Linguagem C
Semana da Tecnologia
Grupo Unis
![Page 2: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/2.jpg)
• OBJETIVOS– Caracterizar Linguagens de Programação;
– Caracterizar a linguagem C;
– Dev-Cpp – Compilador C/C++
– Estruturas Básicas em C;
– Identificadores;
– Operadores Relacionais, Lógicos e Aritméticos;
– Comandos de Entrada e Saída;
– Estruturas Condicionais;
– Estruturas de Controle/Repetição;
– Funções.
• Semana da Tecnologia
• Grupo Unis
2
![Page 3: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/3.jpg)
• Algumas Sugestões....
•Apostilas• Curso de Linguagem C – UFMG
• Introdução à Linguagem C – UNICAMP
• Semana da Tecnologia
• Grupo Unis
3
![Page 4: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/4.jpg)
Linguagem C
Introdução ePrimeiros Passos
4
![Page 5: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/5.jpg)
Introdução
Quando o homem necessita do auxilio do computador para
executar algumas tarefas.
Por que programar ?
Conjunto de instruções de uma determinada linguagem
através das quais, um computador executa algumas
tarefas.
O Que é um programa ?
5
![Page 6: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/6.jpg)
Introdução
Uma linguagem consiste de um conjunto de palavras
reservadas e regras de sintaxe que possibilita criar
programas de computadores.
Este conjunto de palavras possui regras de estruturação
lógica e sintática própria.
O Que é uma linguagem ?
6
![Page 7: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/7.jpg)
Exemplos de Códigos: BASICPseudo-código
leia(num)
para n de 1
até 10 passo 1 faça
tabnum*n
imprima(tab)
fim-para;
BASIC
10 input num
20 for n=1 to 10
step 1
30 let tab=num*n
40 print chr$(tab)
50 next n
7
![Page 8: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/8.jpg)
Exemplos de Códigos: FORTRAN
Pseudo-código
leia(num)
para n de 1
até 10 passo 1 faça
tabnum*n
imprima(tab)
fim-para;
FORTRAN
read (num)
do 10 n=1:10
tab=num*n
write(tab)
10 continue
8
![Page 9: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/9.jpg)
Exemplos de Códigos: Assembly
Pseudo-código
leia(num)
para n de 1
até 10 passo 1 faça
tabnum*n
imprima(tab)
fim-para;
Assembly (Intel 8088)
MOV CX,0
IN AX,PORTA
MOV DX,AX
LABEL:
INC CX
MOV AX,DX
MUL CX
OUT AX, PORTA
CMP CX,10
JNE LABEL
9
![Page 10: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/10.jpg)
Exemplos de Códigos: C
Pseudo-código
leia(num)
para n de 1
até 10 passo 1 faça
tabnum*n
imprima(tab)
fim-para;
C
scanf(&num);
for(n=1;n<=10;n++){
tab=num*n;
printf(”\n %d”, tab);
};
10
![Page 11: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/11.jpg)
Tipos de Linguagens: Baixo Nível
São linguagens com foco na maquina, ou seja, utiliza instruções detalhadas que controla os circuitos internos do computador. Usualmente são genericamente chamadas de linguagens de maquina, Assembly ou de linguagem de montagem.
11
![Page 12: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/12.jpg)
Tipos de Linguagens: Baixo Nível
Vantagens: Maior velocidade de processamento e ocupam menor espaço na memória.
Desvantagens: Pouca portabilidade, ou seja, o código é gerado para um tipo de processador não serve para outro.
12
![Page 13: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/13.jpg)
Tipos de Linguagens: Alto Nível
São linguagens voltadas para que haja uma maior interação entre o homem e a máquina.
Necessitam de compiladores ou interpretadores para gerar as instruções do microprocessador.
13
![Page 14: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/14.jpg)
Tipos de Linguagens: Alto Nível
Vantagens: São compiladas ou interpretadas, têm maior portabilidade podendo ser executados em várias plataformas com pouquíssimas modificações.
Desvantagens: São mais lentas e ocupam
mais memória.
14
![Page 15: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/15.jpg)
Compiladores x Interpretadores
A única linguagem que o computador entende é a linguagem
de máquina. Programas escritos em um linguagem de alto
nível, devem ser traduzidos para a linguagem de máquina.
Os Programas que fazem esta tradução, classificam em:
- INTERPRETADORES
- COMPILADORES
15
![Page 16: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/16.jpg)
Compiladores x Interpretadores
Os INTERPRETADORES, traduzem o código fonte em
linguagem de máquina através da interpretação de cada
instrução feita a medida que o software é executado.
Necessitam de um componente interpretador presente na
máquina.
Os COMPILADORES, por sua vez, traduzem o código
fonte em linguagem de máquina através da geração de
um programa .OBJ, que após ser linkeditado, torna-se um
arquivo executável. Em C os programas são compilados.
16
![Page 17: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/17.jpg)
Linguagem C
Sobre a linguagem C
17
![Page 18: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/18.jpg)
Histórico C foi originalmente desenvolvida por Dennis Ritchie e
K. Thompson nos Laboratórios Bell nos anos 70.
Derivadas de duas linguagens anteriores chamadas BCPL
e B.
Inicialmente para máquinas com o sistema operacional
UNIX.
Tornou-se uma das mais importantes e populares nos
últimos dias.
Foi projetada para o desenvolvimento de programas
estruturados e modulares.
18
![Page 19: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/19.jpg)
HistóricoNos anos seguintes, a popularidade da linguagem C
aumentou consideravelmente, aumentando também o
surgimento de ferramentas de desenvolvimento.
Inicialmente, muitas implementações do C não
traduziam fielmente a definição original, o que gerou
alguns problemas de incompatibilidade
A portabilidade proposta pela definição original ficou
bastante comprometida.
19
![Page 20: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/20.jpg)
ANSI
Buscando uma padronização na definição da linguagem C,
a American National Standard Institute (ANSI),
desenvolveu um padrão hoje bastante utilizado no mundo
da linguagem C, chamado de C padrão ANSI ou C ANSI.
Quase todas as ferramentas de desenvolvimento da
linguagem C atuais, seguem este padrão.
O Padrão ANSI
20
![Page 21: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/21.jpg)
Características Linguagem de propósito genérico;
Usada para escrever processadores de texto, planilhas, sistemas operacionais, programas de comunicação, programas para automação industrial, SGBDs, navegadores e servidores Web, etc.
Possui características de alto e de baixo nível; Excelente performance; Muito popular; Sintaxe de C serve de base para muitas
outras linguagens.21
![Page 22: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/22.jpg)
Características Deu origem a outras linguagens de
programação, entre elas C++, Java, C#, PHP, Ruby, Python, etc.
Muito usada no desenvolvimento de: Compiladores, interpretadores, editores de texto,
banco de dados, computação gráfica, manipulação e processamento de imagens, controle de processos, …
22
![Page 23: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/23.jpg)
Características Portabilidade Geração de códigos executáveis
compactos e rápidos Interação com o sistema operacional Facilidade de uso Linguagem estruturada Confiabilidade Simplicidade Case sensitive
Maiúsculas e minúsculas fazem diferença.
23
![Page 24: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/24.jpg)
Estrutura básica de um programa C
Um programa em C consiste de uma ou várias funções, onde uma delas
precisa ser denominada “main” e deve existir em algum lugar de seu
programa. Esta função marca o início da execução do programa.
Outras funções podem ser definidas pelo programador ou
preencher a função main, porém em um programa
executável em C, a função main deve sempre existir.
24
![Page 25: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/25.jpg)
Estrutura básica de um programa
main(Argumentos)
{ /* início do corpo da função */
} /* término do corpo da função */
Uma função deve conter :
- Um header que consiste do nome da função
- Uma lista de argumentos entre parênteses.
- Um bloco de instruções delimitado por chaves. 25
![Page 26: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/26.jpg)
Estrutura básica de um programa
O nome da função, os parênteses e as chaves, são os
únicos elementos obrigatórios de uma função
Os comentários podem aparecer em qualquer lugar de
um programa, devendo ser colocados entre os
delimitadores /* e */
Letras minúsculas e maiúsculas não são equivalentes
em C.
Note que cada expressão dentro do bloco deve
terminar com um ponto-e-vírgula.
26
![Page 27: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/27.jpg)
Geração de Executável Editor (módulo fonte em C) Pré‐processador (novo fonte expandido) Compilador (arquivo objeto) Lincador (executável)
27
![Page 28: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/28.jpg)
Linguagem C
Dev CAmbiente de Desenvolvimento
Linguagem C
28
![Page 29: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/29.jpg)
Tela Principal
29
![Page 30: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/30.jpg)
Painel Principal
30
![Page 31: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/31.jpg)
Painel Principal
• Clicando em Arquivo
- Criar Arquivo Fonte.- Criar Novo Projeto
31
![Page 32: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/32.jpg)
Painel Principal
• Clicando em Arquivo
- (Re)Abrir Arquivo Fonte.- (Re)Abrir Novo Projeto
32
![Page 33: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/33.jpg)
Painel Principal
• Clicando em Arquivo
- Salvar o conteúdo da aba aberta.- Salvar o conteúdo da aba aberta em outro arquivo.- Salvar o projeto em outro arquivo.- Salvar todos(as) arquivos(abas) alterados.
33
![Page 34: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/34.jpg)
Painel Principal
• Clicando em Arquivo
- Fechar o conteúdo da aba aberta.- Fechar todas as abas abertas.- Fechar o projeto.
34
![Page 35: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/35.jpg)
Painel Principal
• Clicando em Arquivo
- Imprime todas as informações do arquivo atual.
35
![Page 36: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/36.jpg)
Painel Principal
• Clicando em Arquivo
- Importa um projeto de outro ambiente de programação.- Exporta o projeto para HTML, muito útil para documentação do projeto.
36
![Page 37: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/37.jpg)
Painel Principal
• Clicando em Arquivo
-Menus de impressão.
37
![Page 38: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/38.jpg)
Painel Principal
• Clicando em Arquivo
- Sair.
38
![Page 39: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/39.jpg)
Painel Principal
39
![Page 40: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/40.jpg)
Painel Principal
• Clicando em Editar
- Desfazer e Refazer as últimas ações.
40
![Page 41: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/41.jpg)
Painel Principal
• Clicando em Editar
- Recortar, copiar e colar.
41
![Page 42: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/42.jpg)
Painel Principal
• Clicando em Editar
- Inserir cabeçalho e data e hora no código fonte.- Bookmarks é uma marca que você faz no código fonte. Essa marca é um atalho para um determinado trecho do código.
42
![Page 43: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/43.jpg)
Painel Principal
• Clicando em Editar
- Seleciona todo o conteúdo do código fonte aberto.
43
![Page 44: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/44.jpg)
Painel Principal
• Clicando em Editar
- Comenta e “descomenta” uma determinada parte do código fonte.
44
![Page 45: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/45.jpg)
Painel Principal
• Clicando em Editar
- “Indenta” e “unidenta” uma determinada parte do código fonte.
45
![Page 46: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/46.jpg)
Painel Principal
46
![Page 47: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/47.jpg)
Painel Principal
- Localizar em um fonte especifico ou no projeto todo uma função ou qualquer palavra qualquer.
47
![Page 48: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/48.jpg)
Painel Principal
- Configuração das barras de ferramentas.
48
![Page 49: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/49.jpg)
Painel Principal
- Adicionar ou remover arquivo ao projeto, usaremos os ícones abaixo para fazer essas ações.
49
![Page 50: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/50.jpg)
Painel Principal
- Executa, compila e recompila o projeto atual. Usaremos os ícones em vermelho.
50
![Page 51: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/51.jpg)
Painel Principal
- Execução passo a passo. Nesse primeiro momento não vamos utilizar essa ferramenta.
51
![Page 52: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/52.jpg)
Painel Principal
- Algumas configurações de projeto. Nesse primeiro momento usaremos as configurações padrões.
52
![Page 53: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/53.jpg)
Painel Principal
- Controle da janela do e das abas Dev C.
53
![Page 54: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/54.jpg)
Painel Principal
- Ajuda de utilização e sobre o programa Dev C.
54
![Page 55: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/55.jpg)
Meu primeiro programa em C
55
![Page 56: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/56.jpg)
Meu primeiro programa em C
56
![Page 57: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/57.jpg)
Meu primeiro programa em C
- Inclui sa bibliotecas que contêm as funções de entrada, saída e comando “System”. 57
![Page 58: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/58.jpg)
Meu primeiro programa em C
-Toda função em C retorna algo e recebe algo como parâmetro.-Void significa vazio.-Por padrão a função “main” é executada no início do programa;
58
![Page 59: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/59.jpg)
Meu primeiro programa em C
-Imprime na tela “Olá Mundo!”.
59
![Page 60: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/60.jpg)
Meu primeiro programa em C
-Essa mensagem serve para travar o console do DOS.60
![Page 61: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/61.jpg)
Meu primeiro programa em C
-Retorna 0. 61
![Page 62: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/62.jpg)
Linguagem C
Identificadores
62
![Page 63: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/63.jpg)
Regra de identificaçãoTodas as letras maiúsculas de A a Z e as minúsculas de a a z
, os dígitos de 0 a 9 e alguns caracteres especiais, podem
ser utilizados na criação de códigos em C.
Os nomes de variáveis, funções e matrizes em C, obedecem
a regra de que voce pode usar letras e números, porem o
primeiro digito deve ser apenas uma LETRA ou o caracter
especial undescore (_).
Um nome não pode ser uma das palavras reservadas da
linguagem C. 63
![Page 64: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/64.jpg)
Regra de identificação
Exemplo de nomes válidos :
a y12 soma1 _estoque
Exemplos de nomes não válidos :
2th (o primeiro caracter deve ser letra ou _ )
“a” (inicia com um caracter ilegal (“) )
numero-ordem (caracter ilegal (-))
nome completo (espaço em branco)
64
![Page 65: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/65.jpg)
Regra de identificação
Um identificador de nome pode ter mais de 32 caracteres,
porem somente os 32 primeiros serão reconhecidos.
Algumas implementações do C, reconhece apenas os 8
(oitos) primeiros, assim os nomes : taxa_dia e taxa_diaria,
nestes sistemas não tem diferenca, pois o compilador
reconhece apenas os oitos primeiros caracteres.
65
![Page 66: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/66.jpg)
Palavras reservadas
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
São apenas 32 palavras reservadas que não podem ser utilizadas para outro propósito 66
![Page 67: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/67.jpg)
Tipos de Dados
Em C existem 5 tipos válidos:
tipo Palavra
Reservada
Quant.
Bit
Bytes Faixa
Caracter Char 8 1 -128 a 127
Inteiro Int 16 2 -32768 a 32768
Ponto flutuante Float 32 4 3.4E-38 a 3.4E+38
Pont. Flutuante duplo
Double 64 8 1.7E-308 a 1.7E+308
Sem valor void 0 0 Sem valor
67
![Page 68: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/68.jpg)
Tipos de Dados
Modificadores de Tipos
Com exceção do tipo void, os demais tipos podem ter
alguns modificadores. Um modificador é usado para alterar
o significado do tipo para adequá-los melhor às
necessidades do programador.
68
![Page 69: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/69.jpg)
Tipos de DadosOs modificadores são :
signed, unsigned, long e short
Exemplo de utilização:
Se uma variável é declarada como char ela ocupa 8 bit e
tem a faixa de valores de -128 a 127, mais se o
modificador unsigned é colocado antes da palavra char,
ela continua ocupando 8 bits, mais sua faixa de valores vai
de 0 a 255.69
![Page 70: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/70.jpg)
Tipo de Dados Inteiro Os dados inteiros são caracterizados pelos números
positivos ou negativos que não seja fracionário. Em C referenciamos este tipo de dados com os seguintes identificadores :
Tipo do Inteiro Qt.Bit Faixa
int 16 -32768 a 32767
long int 32 -2.147.483.648 a 2.147.483.648
unsigned int 16 De 0 até 65535
signed long int 32 De 0 até 4.292.967.295
70
![Page 71: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/71.jpg)
Tipo de Dados Reais
Os dados reais são caracterizados pelos números positivos, negativos, inteiros e os fracionários. Em C referenciamos este tipo de dados com os seguintes identificadores :
Tipo do Inteiro Qt.Bit Faixa
float 32 de 3.4e-38 até 3.4e+38
double 64 de 1.7e-308 até 1.7e+308
Long double 128 de -3.4e-4932 até 1.1e+4932
71
![Page 72: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/72.jpg)
Tipo de Dados Caracteres
Os dados caracteres são caracterizados pelas sequencias
de letras, números e simbolos especiais delimitados por
( “ ” ) . Em C referenciamos este tipo de dados pelo
identificadores : char podendo armazenar de 0 até 255
caracteres
72
![Page 73: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/73.jpg)
Tipo de Dados Lógicos
Na linguagem C não existe o tipo de dados booleano , ou
seja, não existe o valor lógico “false” ou “true” de forma
predefinida.
Em C qualquer valor igual a 0 (zero), é considerado como
valor lógico falso e qualquer valor diferente de 0 (zero),
é considerado como valor lógico verdadeiro.
73
![Page 74: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/74.jpg)
Constantes
Constantes são valores que permanecem fixos e na linguagem C temos 4 tipos básicos de constantes:
- Inteiras
- ponto-flutuante
- caracteres
- string (cadeia de caracteres)
74
![Page 75: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/75.jpg)
Constantes numéricas
As constantes do tipo Inteiras e de ponto-flutuante, representam números.
As constantes do tipo Inteiras podem ser escritas em três sistemas de numeração, sendo :
• decimal (base 10)• octal (base 8)• hexadecimal (base 16)
Uma constante inteira decimal pode ser formada por qualquer combinação dos dígitos de 0 a 9. Se tem mais de dois dígitos, o primeiro não pode ser zero. Ex.:
5 13 230 54075
![Page 76: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/76.jpg)
Constantes numéricasUma constante inteira octal pode ser formada por qualquer
combinação dos dígitos de 0 a 7 e o primeiro deve ser zero. Ex.:
0 013 0656 0540
Uma constante inteira hexadecimal pode ser formada por qualquer combinação dos dígitos de 0 a 9 e de A a F (maiúsculas ou minúsculas). Deve sempre iniciar com 0x ou 0X. Ex.:
0x 0x1 0xABC 0xabc
Normalmente a magnitude de uma constante inteira é:
Decimal = 32767Octal = 07777Hexa = 0x7FFF
76
![Page 77: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/77.jpg)
Constantes numéricas
As constantes do tipo ponto-flutuante é um número na base 10 que contem casas decimais e/ou um expoente. Ex.:
0. 0.5 1.3 230.323 .540e2
Observe que o caracter que separa a casa decimal é um ponto e não uma virgula
Para representar um número com expoente, trocamos a base 10 pela letra ´e´. Assim para representar 2 x 10², teremos:
200. ou 2e2 ou 2e+2 ou 2E2 ou 2.0e+277
![Page 78: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/78.jpg)
Constantes caracteres
As constantes do tipo caracter consiste em um simples caracter colocado entre apóstrofos. Ex.:
´A´ ´x´ ´5´ ´$´
Uma constante de caracter tem valores inteiros correspondentes a um conjunto de caracteres especificos.
Normalmente os computadores utilizam o conjunto de caracteres ASCII, onde cada caracter é representado por uma combinação de 7 bits, Representando assim 2e+7 = 128 diferentes caracteres.
Desta forma, cada constante de caracter, tem um valor inteiro correspondente.
78
![Page 79: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/79.jpg)
Constantes caracteres
Caracter Valor
A 65
B 66
C 67
D 68
E 69
F 70
G 71
H 72
I 73
J 74
K 75
L 76
Caracter Valor
a 97
b 98
c 99
d 100
e 101
f 102
g 103
h 104
i 105
j 106
k 107
l 108
Caracter Valor
M 77
N 78
O 79
P 80
Q 81
R 82
S 83
T 84
U 85
V 86
W 87
X 88
Caracter Valor
0 48
1 49
2 50
3 51
4 52
5 53
6 54
7 55
8 56
9 57
DEL 127
ESC 27
79
![Page 80: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/80.jpg)
Constantes string
As constantes do tipo string consiste em um conjunto de caracteres colocado entre aspas. Ex.:
“hugo”
“vasco”
“São Luis”
“Boa Noite !!!”
“235-2234”
“2*(I+3)/J”
Algumas seqüências de caracteres podem ser incluídas dentro da string para possibilitar a formatação. Ex.:
“Esta é a primeira linha\n e esta a segunda linha” 80
![Page 81: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/81.jpg)
Exemplos - Atribuições
#include <stdio.h>#include <stdlib.h>
int main(void){
int numero;unsigned int numero2;signed long numero3;
numero = 10; // Não gera erronumero = 10.555; // Gera Erro, número fracionárionumero2 = -10; //Gera erro, numero negativonumero3 = -10; // Não gera erronumero = 999999999999; // Gera erro, inteiro muito grandenumero = 'A'; // Retorna o Valor ASCII de A = 65
printf("A = %i\n",numero);numero = "A"; // Gera erro, atribuição de string para inteirosystem("PAUSE");return 0;
}
81
![Page 82: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/82.jpg)
Exemplos - Atribuições
#include <stdio.h>#include <stdlib.h> int main(void){
float decimal; decimal = 10.123456; // Numero Fracionário
printf("%f\n",decimal);decimal = 10e5; // 10*10 ^ 5 = 1.000.000printf("%f\n",decimal);decimal = 0775; // Octal = 509printf("%f\n",decimal); decimal = 0xFF; // Hexadecimal = 255printf("%f\n",decimal);system("PAUSE");return 0;
}
82
![Page 83: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/83.jpg)
Exemplos - Atribuições
#include <stdio.h>#include <stdlib.h>#include <string.h> int main(void){
char letra;char texto[11] = “TESTE”; // 10 Caracteres + \0letra='A‘;letra="A"; // Gera erro, stringletra="ALO MUNDO!";// Gera erro, stringtexto='ALO';// Gera erro, caractertexto="A";// Gera erro, string menor de 10 caracterestexto="ALO MUNDO!"; // Não se pode atribuir string diretamente
printf("%s\n",texto); // Mostra o valor de texto strcpy(texto,"ALO MUNDO!"); deve-se usar strcpy da biblioteca string.h
printf("%s\n",texto);system("PAUSE");return 0;
}83
![Page 84: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/84.jpg)
Seqüência de escape
Algums caracteres especiais e os não-imprimíveis, são expressos como uma seqüência de escape.
Uma sequencia de escape sempres começa co uma barra invertida (“\”) seguida por um caracter. Alguns comandos em C, são representados desta forma. Ex.:
84
![Page 85: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/85.jpg)
Seqüência de escape
Caracter Seqüência de escape Valor ASCII
Nova linha (line feed) FD \n 10
Campainha (bell) \a 07
Tabulação horizontal \t 09
Aspas (“) \” 34
Apóstrofo (´) \´ 39
Interrogação (?) \? 63
Barra invertida (\) \\ 92
85
![Page 86: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/86.jpg)
Exemplos - Escape
#include <stdio.h>#include <stdlib.h>int main(void){
printf("Pula\nLinha");printf("\nTabulacao\tTabulacao\tTabulacao");printf("ASPAS DUPLAS \"");printf("ASPAS SIMPLES \'");printf("INTERROGACAO \?");printf("BARRA INVERTIDA \\ \0");printf("\a"); // Gera Beepsystem("PAUSE");return 0;
}
86
![Page 87: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/87.jpg)
Variáveis
As variáveis são o aspecto fundamental em qualquer
linguagem de computador.
Uma variável nada mais é que um espaço de memória
reservado para armazenar um certo tipo de dado. Uma
variável deve receber um nome para servir de referência e a
cada instante ela pode conter valores diferente.
87
![Page 88: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/88.jpg)
Declaração de Variáveis
Declarar uma variável significa reservar um espaço em
memória para um determinado tipo de dados e indicar que
o conteúdo daquele espaço, será referenciado pelo o nome
da variável.
Uma declaração de variável consiste em um tipo seguido do nome da variável. Exemplo:
int num; // uma variável do tipo int
char a; // uma variável do tipo char
88
![Page 89: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/89.jpg)
Declaração de variáveis:
Para serem usadas, as variáveis precisam ser declaradas de modo que o compilador possa reservar espaço na memória para o valor a ser armazenado.
A forma geral de uma declaração é:
tipo lista_de_variaveis;
Exemplos: int i;
unsigned int a, b, c;
double salario;
89
![Page 90: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/90.jpg)
Atribuição de valores às variáveis Após ser declarada, a variável pode receber valores.
O operador de atribuição "=" indica que o valor à direita será atribuído à variável.
O valor inicial pode ser atribuído de duas formas:
- Durante a declaração da variável
Ex.: int i=0, j=10;
- Durante execução de uma a função90
![Page 91: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/91.jpg)
Tipos de Variáveis
O tipo de uma variável informa a quantidade de memória,
em bytes, que ela irá ocupar e a forma como o seu
conteúdo será armazenado.
Os tipos de dados básicos do C visto anteriormente
devem ser utilizados para prototipar uma variável
conforme a necessidade do programa.
91
![Page 92: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/92.jpg)
Atribuição de valores às variáveis É possível atribuir a uma variável o valor resultante de uma expressão. Ex.:
int a;
a = (8+2)/2;
A atribuição de uma variável do tipo char, pode ser feita de duas formas:
- Atribuindo uma constante de caracter:
char b = ‘A’;
- Atribuindo o código ASCII correspondente antecedido pela barra invertida:
char b = ‘\65’
92
![Page 93: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/93.jpg)
Analisando um Programa Exemplo01 #include <stdio.h>
02 #include <stdlib.h>
03 int a=5; // declaração de um inteiro
04 int b=5; // declaração de um inteiro
05 int soma; // declaração de um inteiro
06 int main(void)
07 {08 soma=a+b; 09 printf("%d",soma);10 system(“pause”);11 }
93
![Page 94: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/94.jpg)
Analisando um Programa Exemplo01 #include <stdio.h>
02 #include <stdlib.h>
03 int a=5, b=5, soma;
04 int main(void)
05 {06 soma=a+b; 07 printf("%d",soma);08 system(“pause”);09 }
94
![Page 95: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/95.jpg)
Atribuição de valores às variáveis
Na linguagem C, não temos o tipo ´string´ pre-definido, o que nos
leva a utilizar os vetores de caracter. Desta forma um string em C será
atribuída a um vetor do tipo char na sua inicialização.
char nome[20] = “Hugo Sampaio”;
A Atribuição de uma constante de caracter diretamente a um vetor de
caracter já declarado e não inicializado, só pode ser feito com auxilio
de outras funções.Ex.:char nome[20];
strcpy(nome,“Hugo Sampaio”);95
![Page 96: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/96.jpg)
Analisando um Programa Exemplo#include <stdio.h>
#include <conio.h>
char nome[20];
int main()
{
printf("Digite o seu nome : ");
scanf("%s", nome);
printf("Ola! %s ",nome);
getch();
} 96
![Page 97: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/97.jpg)
String Uma string em C é um vetor de caracteres
terminado com um caractere nulo. O caracter nulo é um caractere com valor inteiro
igual a zero O terminador nulo também pode ser representato em
C por '\0'. O comprimento da string deve ser pelo menos 1
caractere maior que o que pretendemos armazenar, pois um caractere é reservado ao terminador nulo.
A função gets() lê uma string e insere o terminador nulo na string quando a tecla Enter for pressionada.
97
![Page 98: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/98.jpg)
String Usamos um índice para acessar o caractere
desejado dentro da string. str[1] = 'a';
Em C, o índice inicia em zero. char str[10] = "Joao";
A declaração acima inicializa a string str com os caracteres 'J' 'o' 'a' 'o' e '\0'.
O código de controle %s na função printf() é usado para exibir uma string.
98
![Page 99: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/99.jpg)
String Podemos ler uma string usando scanf().
Não usamos o e comercial (&) para strings, pois o nome de um vetor já é um endereço de memória do começo do vetor.
scanf("%s", texto); Infelizmente scanf() lê somente até o primeiro
espaço, ou seja, lê somente uma palavra. Para contornar isso, usamos a função gets que lê
até encontrar o caracter de fim de linha (enter). gets(texto);
99
![Page 100: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/100.jpg)
String
#include <stdio.h>#include <stdlib.h>int main(void) { char nome[6]; printf("Digite um nome: "); gets(nome); printf("Ola, %s\n", nome); system("pause");}
100
![Page 101: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/101.jpg)
String
O problema de gets é que ele pode provocar sérios problemas de segurança, pois permite o armazenamento de caracteres além da capacidade da string.
Uma solução mais segura é usar a função fgets que limita o tamanho máximo a ser lido.
fgets(texto, 50, stdin);
101
![Page 102: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/102.jpg)
String
#include <stdio.h>#include <stdlib.h>
main() { char nome1[21], nome2[21]; printf("Digite um nome: "); gets(nome1);
printf("Digite um nome: "); fgets(nome2,21,stdin);
printf("\nNomes:\n%s - %s\n\n", nome1, nome2); system("pause");}
102
![Page 103: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/103.jpg)
String
#include <stdio.h>#include <stdlib.h>
main(){ char nome[10] = "Joao"; printf("String: %s\n", nome); printf("Terceira letra: %c\n", nome[2]); printf("Quarta letra: %c\n", nome[3]); nome[2] = 'h'; nome[3] = 'n'; printf("Agora a terceira letra eh: %c\n", nome[2]); printf("Agora a quarta letra eh: %c\n", nome[3]); printf("String resultante: %s\n", nome); system("pause");}
103
![Page 104: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/104.jpg)
String#include <stdio.h>#include <stdlib.h>
main(){ char nome[10]; printf("\n\nDigite um nome: "); gets(nome); printf("\nString: %s\n", nome); printf("Terceira letra: %c\n", nome[2]); printf("Quarta letra: %c\n", nome[3]); printf("o tamanho da string eh: %d\n", strlen(nome)); printf("o ultimo caractere eh: %c\n", nome[strlen(nome)-1]); nome[2] = 'h'; nome[3] = 'n'; printf("Agora a terceira letra eh: %c\n", nome[2]); printf("Agora a quarta letra eh: %c\n", nome[3]); printf("String resultante: %s\n", nome); system("pause");} 104
![Page 105: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/105.jpg)
String – funções strlen(texto) — Retorna o tamanho da string
texto em número de caracteres. strcpy(destino, fonte) — Copia a string fonte
para a string destino. strcat(destino, fonte) — Concatena a string
fonte no fim da string destino. strcmp(str1, str2) — Compara duas cadeias e
caracteres e retorna um valor = 0 - se str1 e str2 forem iguais < 0 - se str1 for menor que str2 > 0 - se str1 for maior que str2
105
![Page 106: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/106.jpg)
String – funções#include <stdio.h>#include <string.h>
main() { char nome1[] = "Regis"; printf("%s\n\n",nome1);
char nome2[100]; strcpy(nome2, "Isaac"); printf("%s\n\n",nome2);
strcat(nome2," Newton"); printf("%s\n\n",nome2);
strcpy(nome2,"Maria"); printf("%s\n\n",nome2); system("pause");} 106
![Page 107: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/107.jpg)
Conversão de tiposAlgumas vezes o compilador faz uma conversão automática quando vai atribuir um valor de uma expressão a uma variável. Ex.: sendo:
main()
{
float f1,f = 21.45;
char c1,c = 'A';
int i1,i = 10;
i1 = f; // i1 receberá o valor 21
printf("%d\n",i1);
f1 = i; // f1 receberá o valor 10.00
printf("%f\n",f1);
c1 = i; // c1 receberá o valor 10
printf("%d\n",c1);
i1 = c; // i1 receberá o valor 65
printf("%d\n",i1);
getch();
} 107
![Page 108: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/108.jpg)
Conversão de tiposO Programador pode “forçar” a conversão. Ex.: sendo:main()
{
int a = 65; float x = 2.1, y = 8.95, z; char c;
c = (char)a;
printf("Valor de c ( %c ) --> %d\n", c,c);
c = (char)(a + (int)x);
printf("Valor de c ( %c ) --> %d\n", c,c);
z = (float)((int)x * (int)y);
printf("Valor de z ( %f ) --> %d\n", z,z);
z = (float)((x * y));
printf("Valor de z ( %f ) --> %d\n", z,z);
getch();
} 108
![Page 109: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/109.jpg)
Exemplo 2#include <stdio.h>
main() { int Dias; /* * Declaracao de * Variaveis */ float Anos; printf("Entre com o numero de dias: "); /* Entrada de Dados */ scanf("%d", &Dias); Anos=Dias/365.25; // Conversao Dias->Anos printf("\n\n%d dias equivalem a %f anos.\n", Dias, Anos); system("pause");}
109
![Page 110: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/110.jpg)
Exemplo 3
#include <stdio.h>
main() { int x; printf("Digite um numero"); scanf("%d",&x); printf("%d\n",x); system("pause");}
110
![Page 111: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/111.jpg)
Exemplo 4
#include <stdio.h>
main() { int x; printf("Digite um numero"); scanf("%d",&x); printf("O dobro e %d\n", 2 * x); system("pause");}
111
![Page 112: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/112.jpg)
Entrada e Saída
Para que exemplos possam ser construídos, necessitamos conhecer um pouco sobre entrada e saída de dados.
Um programa que não fornece resultados nem pede valores para operar não deve ter grande utilidade.
A entrada de dados será feita pelo teclado e a saída poderá ser vista na tela do computador.
Com isto, é possível resolver problemas bastante interessantes.
112
![Page 113: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/113.jpg)
Entradas e Saídas Caracteres
Tipo char. Ocupa 8 bits.
#include <stdio.h>
main() { char Ch; Ch='D'; printf("%c", Ch); printf("%d", Ch); // Imprime como inteiro system("pause");}
113
![Page 114: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/114.jpg)
Entradas e Saídas Para obter o caractere pressionado:
getche() Imprime o caractere na tela antes de retorná-lo.
getch() Apenas retorna o caratere pressionado sem imprimi-lo
na tela. Essas funçoes são encontradas no arquivo
conio.h que somente está disponível para Windows. Não é padrão ANSI.
114
![Page 115: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/115.jpg)
getch()
#include <stdio.h>#include <conio.h>
main() { printf("Tecle algo..."); char ch=getch(); printf("Voce pressionou a tecla %c\n", ch); system("pause");}
115
![Page 116: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/116.jpg)
Equivalente ANSI
Diferenças: Requer o pressionamento da tecla <ENTER>
após a entrada de teclado.
#include <stdio.h>
main() { char ch; printf("Tecle algo..."); scanf("%c", &ch); printf("Voce pressionou a tecla %c\n", ch); system("pause");}
116
![Page 117: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/117.jpg)
printf() e scanf()
Forma geral da função printf(): printf (string_de_controle,lista_de_argumentos);
Forma geral da função scanf(): scanf (string_de_controle,lista-de-argumentos);
117
![Page 118: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/118.jpg)
Biblioteca Padrão
Para termos acesso à biblioteca que contém as funções, macros e variáveis que facilitam a entrada e saída de dados, o programa deve conter a declaração
#include <stdio.h>
no início do programa.
Normalmente os programadores usam os símbolos menor (<) e maior (>), mas é possível a alternativa
#include "stdio.h"118
![Page 119: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/119.jpg)
Saída - A Função printf
A função printf permite que dados sejam escritos na tela do computador.
O formato é de uso simples e bastante flexível, permitindo que os dados possam ser apresentados de diversas maneiras.
Syntax: printf(controle, arg1, arg2, ...);
Onde os argumentos são impressos de acordo com a maneira indicada pelo controle. Um exemplo simples pode tornar a explicação mais clara.
119
![Page 120: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/120.jpg)
Saída - A Função printf
O programa abaixo imprime o valor da variável ano.
#include <stdio.h>
#include <conio.h>
// Biblioteca de entrada e saída
main()
{
int ano = 2011; // Declarei ano como inteiro e ja defini seu valor.
printf(“ Estamos no ano %d ", ano );
getch();
}
Na tela do computador será impresso:
Estamos no ano 2011; CONTROLE
ARGUMENTO
120
![Page 121: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/121.jpg)
Saída - A Função printf
O controle, que deve aparecer sempre entre " ", define como serão impressos os argumentos.
Neste controle podem existir dois tipos de informações: caracteres comuns e códigos de formatação.
Os caracteres comuns, como no exemplo (Estamos no ano) são escritos na tela sem nenhuma modificação.
Os códigos de formatação, aparecem precedidos por um % e são aplicados aos argumentos na ordem em que aparecem.
121
![Page 122: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/122.jpg)
Códigos de FormataçãoDeve haver um código de formatação para cada argumento. O código %d indica que o valor armazenado em ano deve ser impresso na notação inteiro decimal.
Código Comentário % c Caractere simples % d Inteiro decimal com sinal % i Inteiro decimal com sinal % e Real em notação científica com e % f Real em ponto flutuante % o Inteiro em base octal % s Cadeia Caracteres % u Inteiro decimal sem sinal % x Inteiro em base hexadecimal (letras minúsculas) % % Imprime o caracter %
122
![Page 123: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/123.jpg)
Formatação Numérica
%<numero>d Escreve um inteiro na tela, preenchendo com espaços à
esquerda para que ele ocupe pelo menos <numero> casas na tela.
printf("%4d", 10); Exibe:
<espaco><espaco>10
123
![Page 124: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/124.jpg)
Formatação Numérica
%0<numero>d Escreve um inteiro na tela, preenchendo com zeros à
esquerda para que ele ocupe pelo menos <numero> casas na tela.
printf("%04d", 10); Exibe:
0010
124
![Page 125: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/125.jpg)
Formatação Numérica
%<numero1>.0<numero2>d Escreve um inteiro na tela, preenchendo com espaços à
esquerda para que ele ocupe pelo menos <numero1> casas na tela e com zeros para que ele possua pelo menos comprimento <numero2>.
printf("%6.04d", 10); Exibe:
<espaço><espaço>0010
125
![Page 126: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/126.jpg)
Formatação Numérica
%f Escreve um ponto flutuante na tela, sem formatação.
printf("%f", 10.0); Exibe:
10.000000
126
![Page 127: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/127.jpg)
Formatação Numérica
%e Escreve um ponto flutuante na tela em notação
científica.printf("%e", 10.02545);
Exibe:1.002545e+01
127
![Page 128: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/128.jpg)
Formatação Numérica
%<tamanho>.<decimais>f Escreve um ponto flutuante na tela, com tamanho
<tamanho> e <decimais> casas decimais. O ponto também conta no tamanho.
printf("%6.2f", 10.0); Exibe:
<espaço>10.00
128
![Page 129: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/129.jpg)
Saída justificadaUm sinal de menos para especificar que o argumento deve ser tabulado a esquerda no seu campo de impressão pode ser acrescentado.
Exemplo a seguir ilustra os dois tipos de justificação.
main()
{
int ano = 2007;
printf("Justificado a esquerda Ano = %-8d\n", ano);
printf("Justificado a direita Ano = %8d\n", ano);
getch();
}
Observe
129
![Page 130: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/130.jpg)
Especificador de Precisão O especificador de precisão consiste de um ponto que separa o número que define o tamanho do campo do número que especifica o máximo número de dígitos a serem impressos a direita do ponto em um número do tipo float ou double
#include <stdio.h>
#include <conio.h>
main()
{
float r = 1.0/3.0;
printf("O resultado e = %9.5f\n", r);
getch();
}
Observe
130
![Page 131: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/131.jpg)
Entrada - A Função scanf
A função scanf pode ser utilizada para entrada de dados a partir do teclado. Esta função é equivalente à função printf e seu formato é:
Syntax: scanf(controle, arg1, arg2, ...);
Uma diferença fundamental existe entre as duas funções é que os argumentos da função scanf são os endereços das variáveis que irão receber os valores lidos e não, como em printf, as próprias variáveis.
131
![Page 132: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/132.jpg)
Entrada - A Função scanf A indicação que estamos referenciando um endereço e não a variável se faz pelo operador &. Por exemplo, o comando
scanf("%d %d", &a, &b)
espera que dois valores inteiros sejam digitados no teclado. O primeiro é armazenado na variável a e o segundo em b.
132
![Page 133: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/133.jpg)
Entrada - A Função scanf
Cada variável a ser lida, deverá ser precedida pelo caracter &
Para seqüência de caracteres (%s), o caracter & não deverá ser usado.
133
![Page 134: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/134.jpg)
Entrada - A Função scanf int main()
{
int numero;
char string[30];
printf("Digite uma string: ");
scanf("%s",string);
printf("Digite um numero: ");
scanf("%d",&numero);
printf("A string digitada foi: \t%s\n“,string);
printf("O numero digitado foi: \t%d\n“, numero);
system("system");
}134
![Page 135: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/135.jpg)
Lendo e Imprimindo Caracteres
Para ler e escrever caracteres do teclado as funções de entrada e saída mais simples são getchar e putchar que estão na biblioteca stdio.h
#include <stdio.h>
#include <conio.h>
main()
{
char c;
int i;
printf("Entre com um caracter entre 0 e 9.\n");
c = getchar();
printf("O caracter lido foi o ");
putchar(c);
getch();
} 135
![Page 136: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/136.jpg)
Exercícios
Escreva um programa que declare variáveis do tipo inteiro, char e float, inicializando-as, e imprima os seus valores.
136
![Page 137: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/137.jpg)
Solução
#include <stdio.h>
main() {int i;char c; float f; i = 10;c = ‘A’;f = 10.5589;printf(“\n Inteiro: %i“, i);printf(“\n Char: %c“, c);printf(“\n Real: %f“, f);
system("pause");}
137
![Page 138: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/138.jpg)
Exercícios
Faça um programa capaz de ler um valor real e escreve-lo com apenas uma casa decimal.
138
![Page 139: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/139.jpg)
Solução
#include <stdio.h>
main() {float f; printf(“\nDigite um número: “);scanf(“%f“, &f);
printf(“\n Real: %.1f“, f); system("pause");
}
139
![Page 140: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/140.jpg)
Lendo e Imprimindo Caracteres Na definição original da função getchar a entrada é armazenada até que a tecla ENTER seja apertada. Com isto caracteres ficam em um buffer esperando para serem tratados.
Em ambientes onde é necessário tratar o caracter imediatamente esta função pode não ser útil.
Muitos compiladores incluem funções para permitir entrada interativa de dados. As duas funções mais comuns são getch e getche e seus protótipos podem ser encontrados na biblioteca <conio.h>.
140
![Page 141: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/141.jpg)
Operadores
Atribuição (=) Aritméticos
* e / % + e -
141
![Page 142: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/142.jpg)
Operadores Relacionais
== igual
!= diferente de
> maior que
< menor que
>= maior ou igual
<= menor ou igual
142
![Page 143: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/143.jpg)
Operadores Lógicos
&& (e) || (ou) ! (não)
143
![Page 144: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/144.jpg)
Operador Ternário Operador que usa três argumentos:
expr ? valor1 : valor2 Se expr avaliar for verdadeira, valor1 será o resultado
da expressão. Se expr for falsa, valor2 será o resultado da expressão.
int x, y, maior;...
maior = x > y ? x : y;...
144
![Page 145: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/145.jpg)
Operador Ternário
#include <stdio.h>main() { int n1, n2; printf("Digite um numero: "); scanf("%d", &n1); printf("Digite outro numero: "); scanf("%d", &n2); printf("O maior e: %d\n", n1 > n2 ? n1 : n2); system("pause");}
145
![Page 146: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/146.jpg)
Expressões
O resultado de uma expressão lógica ou relacional é:
0 (falso) 1 ou qualquer outro número diferente de zero
(verdadeiro) Para facilitar:
NÃ0 S1M
146
![Page 147: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/147.jpg)
Operadores de incremento e decremento
Incremento (++) Decremento (--) a++;
Incrementa o valor da variável a em uma unidade.
A posição do operador de incremento e decremento determina a ordem de execução do que está em seu derredor.
147
![Page 148: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/148.jpg)
Operadores de incremento e decremento
#include <stdio.h>main() { int a = 10; printf("%d", ++a); system("pause");}
#include <stdio.h>main() { int a = 10; printf("%d", a++); system("pause");}
148
![Page 149: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/149.jpg)
Atribuições Simplificadas
Comando Exemplo Corresponde a:
+= a += 2 a = a + 2;
-= a -= 2 a = a - 2;
∗= a *= 2; a = a * 2;
/= a /= 2; a = a / 2;
%= a %= 2; a = a % 2;
149
![Page 150: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/150.jpg)
Linguagem C
Estruturas de Controle
Desvio / Decisão
150
![Page 151: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/151.jpg)
if ... else ...
if (expressão) {comandos;}
if (expressão) { comandos;} else { comandos;}
#include <stdio.h>main() { int idade = 15; if (idade < 18) { printf("Invalida\n"); } system("pause");}
#include <stdio.h>main() { int idade = 21; if (idade < 18) { printf("Invalida\n"); } else { printf("OK\n"); } system("pause");}
151
![Page 152: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/152.jpg)
Par ou ímpar
#include <stdio.h>main() { int a; printf("Digite um numero inteiro: "); scanf("%d", &a); if (a % 2 == 0) { printf("O valor eh par.\n"); } else { printf("O valor eh impar.\n"); } system("pause");}
152
![Page 153: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/153.jpg)
Exercício
Escreva um programa em linguagem C para receber um número e dizer se ele é positivo, negativo ou zero.
153
![Page 154: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/154.jpg)
Positivo, Negativo ou Zero
#include <stdio.h>main() { int n; printf("Digite um numero: "); scanf("%d", &n); if (n > 0) { printf("positivo"); } else if (n < 0) { printf("negativo"); } else { printf("zero"); } printf("\n"); system("pause"); } 154
![Page 155: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/155.jpg)
Decisão Múltipla
O comando switch simplifica uma expressão onde uma variável inteira ou caracter deve fazer diferentes operações, dependendo do seu valor.
switch (variavel) { case valor: comandos; break; case valor: comandos; break; default: comandos;} 155
![Page 156: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/156.jpg)
Decisão Múltipla
#include <stdio.h>main() { int num; printf("Digite um numero inteiro: "); scanf("%d", &num); switch (num) { case 1: printf("um"); break; case 2: printf("dois"); break; case 3: printf("tres"); break; case 4: printf("quatro"); break; case 5: printf("cinco"); break; default: printf("nao conheco"); } printf("\n"); system("pause"); } 156
![Page 157: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/157.jpg)
Exercício
Dada uma letra, escreva na tela se essa letra é ou não é uma vogal.
Dica: a função toupper(c) converte um char para caixa alta e a função tolower(c) converte um char para caixa baixa.
157
![Page 158: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/158.jpg)
Exercício
#include <stdio.h>main() { char letra; printf("Digite uma letra: "); scanf("%c", &letra); switch (tolower(letra)) { case 'a': case 'e': case 'i': case 'o': case 'u': printf("A letra %c e uma vogal", letra); break; default: printf("A letra %c nao e uma vogal", letra); } printf("\n"); system("pause"); }
158
![Page 159: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/159.jpg)
Linguagem C
Estruturas de Controle
Repetição
159
![Page 160: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/160.jpg)
Laços condicionais
while (expressão) { comandos;}
do { comandos;} while (expressão);
Laço condicional com teste no início
Laço condicional com teste no final
160
![Page 161: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/161.jpg)
Laço condicional
... int i = 0; while (i < 10) { printf("olá!"); i = i + 1; } ...
161
![Page 162: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/162.jpg)
Laços usando for
Em C, a declaração da variável deve ser realizada antes do for.
for (inicializacao; condicao; incremento) { codigo; }
int i; for (i = 0; i < 10; i++) { printf("olá!");}
162
![Page 163: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/163.jpg)
I’ll not throw paper airplanes in class
163
![Page 164: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/164.jpg)
I’ll not throw paper airplanes in class
164
#include <stdio.h>
int main(void) {int count;for(count=1;count<=500; count++)
printf("I’ll not throw paper airplanes in class!");
system(”pause”);return(0);
}
![Page 165: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/165.jpg)
Exemplo – Linha de *
#include <stdio.h>
int main() { int i, n; printf("Digite um numero: "); scanf("%d", &n); for (i=0; i < n; i++) { printf("*"); } printf("\n"); system(”pause”) ; return(0);} 165
![Page 166: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/166.jpg)
Exemplo – Quadrado de *
#include <stdio.h>
int main() { int coluna, linha, n; printf("Digite um numero: "); scanf("%d", &n);
for (linha=1; linha <= n; linha++) { for (coluna=1; coluna <= n; coluna++) { printf("* "); } printf("\n"); } system(”pause”) ; return(0);} 166
![Page 167: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/167.jpg)
Controlando loops break e continue
main() {int i; for (i = 0; i < 100; i++) { if(i > 50 && i < 60) { continue; } printf("%d\n", i); }system(”pause”)~;}
167
![Page 168: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/168.jpg)
Linguagem C
Funções
168
![Page 169: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/169.jpg)
Introdução às funções Uma função é um bloco de código de
programa que pode ser usado diversas vezes em sua execução.
O uso de funções permite que o programa fique mais legível, mais bem estruturado.
Um programa em C consiste, no fundo, de várias funções colocadas juntas.
169
![Page 170: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/170.jpg)
Introdução às funções
Argumentos Argumentos são as entradas que a função
recebe. É através dos argumentos que passamos parâmetros para a função.
As funções printf() e scanf() são funções que recebem argumentos.
170
![Page 171: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/171.jpg)
Declaração
tipo_de_retornonome_da_função (declaração_de_parâmetros)
{ corpo_da_função
}
171
![Page 172: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/172.jpg)
Exemplo – media de 2 números#include<stdio.h>
float media2(float a, float b) { return ((a + b) / 2.0);}
int main() { float num_1, num_2, media; puts("Digite dois numeros:"); scanf("%f %f", &num_1, &num_2); media = media2(num_1, num_2); printf("\nA media destes numeros eh %f", media); system(”pause”);}
172
![Page 173: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/173.jpg)
Exemplo - soma
#include <stdio.h>
float soma(float a, float b) { return a + b;}
int main() { float n1, n2; printf("Digite um numero: "); scanf("%f", &n1); printf("Digite outro numero: "); scanf("%f", &n2); printf("Soma: %f\n", soma(n1, n2)); system(”pause”); return 0;}
173
![Page 174: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/174.jpg)
Procedimentos
Em C não há procedimentos. O mais próximo de procedimentos em C são as funções que nada retornam, ou seja, cujo retorno é void.
174
![Page 175: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/175.jpg)
Exemplo - repeticao#include <stdio.h>
void repete(char texto[], int n) { int i; for (i=0; i < n; i++) { printf("%s", texto); } }
int main() { char palavra[20]; printf("Digite uma palavra: "); fgets(palavra, 20, stdin); repete(palavra, 10); system(”pause”); return 0;}
175
![Page 176: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/176.jpg)
Exemplo de Função#include <stdio.h>
/* Funcao simples: so imprime Ola! */mensagem() { printf("Ola! ");}
main() { mensagem(); printf("Eu estou vivo!\n"); system("pause");}
176
![Page 177: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/177.jpg)
Exemplo de função#include <stdio.h>
/* Calcula o quadrado de x */int square(int x) { return x * x;}
main() { int num; printf("Entre com um numero: "); scanf("%d", &num); printf("\n\nO quadrado e %d\n", square(num)); system("pause");}
177
![Page 178: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/178.jpg)
Exemplo de função
#include <stdio.h>
int prod(int x, int y) { return (x*y);}
main() { int saida; saida=prod(12, 7); printf("A saida e: %d\n", saida); system("pause");}
178
![Page 179: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/179.jpg)
Exemplo de função
#include <stdio.h>
float prod(float x, float y) { return (x*y);}
main() { float saida; saida=prod(45.2, 0.0067); printf("A saida e: %f\n", saida); system("pause");}
179
![Page 180: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/180.jpg)
Exercício
Escreva uma função para receber dois números e, depois, exibir a sua soma.
180
![Page 181: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/181.jpg)
Solução
#include <stdio.h>
main() { float n1, n2; printf("Digite um numero: "); scanf("%f", &n1); printf("Digite outro numero: "); scanf("%f", &n2); printf("A soma e: %f\n", (n1 + n2)); system("pause");}
181
![Page 182: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/182.jpg)
Exercícios
Sabendo que os argumentos da função "printf" podem ser expressões (a+b, a/b, a*b...), e não somente argumentos, faça um programa capaz de ler um valor inteiro X e imprimir na tela o cubo, o quadrado e a metade de X.
Ex.: para X= 6, imprimir
Cubo = 18; Quadrado = 36; Metade = 3. 182
![Page 183: Mini-Curso Linguagem C Semana da Tecnologia Grupo Unis](https://reader035.vdocuments.net/reader035/viewer/2022062418/552fc0f9497959413d8b7440/html5/thumbnails/183.jpg)
Solução
#include <stdio.h>
main() { float n1; printf("Digite um numero: "); scanf("%f", &n1); printf(“\n Cubo: %f“, n1 * n1 * n1);
printf(“\n Quadrado: %f“, n1 * n1);printf(“\n Metade: %f“, n1 / 1);
system("pause");}
183