Buscar

Aula 01 Introdução a linguagem C 2

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 63 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Linguagem de Programação 
Estruturada
Aula 01:
Introdução a linguagem C
Prof. André Alves Nogueira, MSc.
SUMÁRIO
▪Conceitos Básicos de C/C++
▪Declaração de variáveis
▪Printf e Scanf
▪Operadores
▪Constantes
▪Comentários
▪Operadores relacionais e lógicos
2
MAS ANTES DE COMEÇARMOS, 
VOCÊ SABE O QUE É LÓGICA?
• Segundo o Dicionário Aurélio:
• “Filos.: Conjunto de estudos que visam determinar os 
processos intelectuais que são condição geral do 
conhecimento verdadeiro.”
• Segundo o Dicionário Houaiss:
• “Filos.: Parte da filosofia que estuda as formas de 
pensamento emgeral.”
• Coerência de raciocínio, ideias, encadeamento de 
acontecimentos, etc.
• FORBELLONE:
• A lógica busca colocar “ordem nopensamento”;
EXEMPLOS DE APLICAÇÃO DE LÓGICA
▪Asala está fechada e meu livro está na sala. Então,
preciso primeiro abrir a salaparapegaro livro.
▪Todo mamífero é animal e todo cavalo é mamífero.
Então, todo cavaloé um animal.
▪Para trocar uma lâmpada, preciso desligar o
interruptor, pegar uma escada, subir com uma
lâmpadanova, trocar a queimada pelanova,e ligar
o interruptor novamente.
ALGUNS CONCEITOS BÁSICOS
▪ Lógica de programação: é a técnica usada para encadear 
logicamente instruçõespara o desenvolvimento de programas.
▪ Instrução: é a informação que indica a ação elementar a ser 
executada.
▪ Programa: é a implementação das instruções de um algoritmo em 
uma linguagem deprogramação.
▪ Ambiente de Desenvolvimento Integrado (ou IDE – Integrated
Development Environment): é um programa de computador que
reúne características e ferramentas de apoio ao desenvolvimento de
software como objetivo de agilizar este processo.
▪ Algoritmos: sequência lógica e não ambígua de instruções 
que levam à solução deum problema num tempo finito.
▪ Deve possuir um objetivo bemdefinido.
▪ Sequência finita de passos que nos levam a um objetivodesejado.
ALGORITMOS
▪ Receita de Bolo
Definir 
claramente os 
ingredientes
Sequencia de 
passos à 
serem 
definidos
Resultado
Final
ALGORITMOS - CARACTERÍSTICAS
▪ Sequência Lógica: as instruções devem seguir uma ordem 
correta para execução.
▪ Não Ambígua: a sequência lógica e as instruções não 
devem dar margem à dupla interpretação.
▪ Solução de um problema: a sequência lógica deverá 
resolver exatamente o problema identificado.
▪ Tempo Finito: a sequência lógica não deve possuir 
iterações infinitas.
▪ Lembre-se que um problema pode ser resolvido de 
várias formas, ou seja, não obrigatoriamente existe um 
algoritmo único para solucionar um problema
ALGORITMOS – EXEMPLOS
▪ Receitas de Comidas
▪ Manuais de Instalação
▪ Somar dois números quaisquer
▪ Mascar Chiclete
▪ Trocar Pneu
▪ Tomar banho
▪ Escovar os Dentes
▪ Trocar uma Lâmpada
POR QUE ESCREVER ALGORITMOS?
▪ Gerar uma solução para um determinado problema, 
independente da linguagem deprogramaçãoa ser usada.
▪ Oalgoritmo irá facilitar a implementação do programa.
▪ Pseudocódigo: é uma forma genérica de escrever um
algoritmo, utilizando uma linguagemsimples (nativa aquemo
escreve, de forma aser entendida por qualquer pessoa) sem
necessidade de conhecer a sintaxe de nenhuma linguagem de
programação.
MÉTODOS GRÁFICOS DE CONSTRUÇÃO 
DE ALGORITMOS
▪ Fluxograma
10
Para fazer bons fluxogramas, 
useo programa Microsoft
Visio.
TABELA DE FLUXOGRAMAS
11
11
AGORA SIM, VAMOS PARA O C...
BREVE HISTÓRICO
▪ A linguagem C foi criada por Dennis Ritchie em 1972 na BELL Telephone
Lab. (hoje AT&T), com a finalidade de permitir a escrita de um sistema
operacional (que viria a ser o UNIX), utilizando uma linguagem de relativo
alto nível, evitando o uso do Assembly.
▪ Devido as suas capacidades e através da divulgação do sistema UNIX
pelas universidades do EUA, logo a linguagem C disseminou-se e tornou-
se conhecida por todos os programadores (graças também ao livro de
Dennis e Brian Kernighan).
▪ A linguagem C teve esse nome e evolução da linguagem B, desenvolvida
pelo seu amigo e chefe na Bell, Ken Thompson.
Figura 1: Ken Thompson e Dennis Ritchie (da esquerda para
direita), os criadores das linguagens B e C, respectivamente.
Dennis Ritchie morreu em 12 de
outubro de 2011, 2 semanas
depoisdeSteve Jobs.
EVOLUÇÃO
DO C E C++
C VERSUS C++
▪ O C++ é uma derivação do C com suporte a objetos e classes
(OOL), sendo que C é um subconjunto de C++, ou seja, contem
todas as características do C mais um conjunto de características
próprias.
▪ Assim, podemos utilizar o compilador C++ para executar
programas em C.
▪ Virtualmente se você conhece C, você conhece C++ em sua raiz, 
o que é necessário para se dar um salto a programação em C.
▪ Mais porque o C ainda é muito usado?
▪ Performance não alcançada por linguagens OO;
▪ Todos os hardwares fabricados hoje em dia tem 99% de 
compatibilidade com a linguagem C;
▪ Processadores ARM, EXYNOS, QUALCOMM, INTEL, AMD são
construídos em C e VHDL;
▪ Fácil de aprender;
▪ Comunidade e bibliografia muito extensa;
▪ Capacidade de evolução (?).
CICLO DE DESENVOLVIMENTO 
DE UMA APLICAÇÃO
▪Tradicionalmente, o ciclo engloba 4 fases:
1) Edição do Código-fonte;
2) Compilação do programa;
3) “Linkagem” do(s) objeto(s);
4) Execução do programa.
EDIÇÃO DO CÓDIGO-FONTE
▪Nessa fase é toda feita manualmente pelo
programador com ajudar de algum editor de
texto;
▪Nessa fase é feita a escrita de códigos em
arquivos com extensão .c (.cpp para C++);
COMPILAÇÃO DO PROGRAMA
• Depois de feito, o programa deve ser verificado se este foi 
corretamente escrito (isto é, se a sintaxe das instruções está ou não 
correta).
• Esse processo, denominado Compilação, é realizado pelo 
Compilador. Caso seja detectado algum erro, o processo de 
compilação é interrompido. O programador deve retornar ao ponto
de erro e consertar o problema indicado pelo compilador.
• O compilador também é capaz de detectar e avisar (warnings) 
problemas no código que podem deixar o programa mais lento, com 
possíveis falhas e bugs, etc. Contudo, o programa será lido se 
ignorar os avisos.
• Caso não seja encontrado nenhum erro (mesmo se houver
warnings) o compilador executar o programa e irá criar o arquivo
Objeto .obj (no DOS) ou .o (no UNIX/LINUX).
“LINKAGEM” DO OBJETO
▪ A fase de compilação serve simplesmente para a verificação
sintática e para a criação do arquivo objeto.
▪ O arquivo executável é criado a partir do arquivo objeto, obtido
através do processo de compilação, e através das bibliotecas
(extensões .LIB em DOS e .a em UNIX) que contem o código já
compilado das funções da própria linguagem C, que são
necessárias ao executável final (Windows .exe ou sem extensão
no UNIX). O responsável dessa fase é o Linker.
EXECUÇÃO DO PROGRAMA
▪ Nessa fase é feita a execução do programa em si.
▪ Caso o programa não executa o que foi esperado,
é porque o elemento mais fraco do processo (o
programador) se enganou. O ciclo inteiro deve ser
reiniciado através da reconstrução do código-
fonte.
Esse ciclo de programação é verdadeiro na maioria das linguagens. No
entanto, emCainda existe umaoutra fase antes dacompilação,aqual tema
missãodaexpansãodetodas as Macrose a execução de todasaslinhasde
códigoparao pré-processador.
FLUXO DE EXECUÇÃO
AMBIENTE DE PROGRAMAÇÃO EM C
MEU 1º PROGRAMA EM C
Isso irá gerar a seguinte saída: 
olá mundo!!
Dicadeprogramação:devidoousodeumcompiladorC++,parafacilitar ousodo
programa,no lugar devoidmain()coloque int main(void)enofinal doprograma(antes do ultimo ‘}’), coloque a linha return 0; . Isso deve fazer parte de
TODOSos seus programas em C apartir deagora.
MEU 1º PROGRAMA EM C
▪ A linha: printf(“olá mundo!!”); é a responsável por imprimir na tela o que vemos.
▪ O printf = print + formatado, que é a função básica de saída do C e tem
necessariamente ser escrita com parênteses – prinf().
▪ Toda instrução de linha em C deve ser informada o seu termino com ponto-e-vírgula
(;).
▪ Note também que a String “olá mundo!!” está contida sobre aspas duplas (“) e não
pode ser substituído por aspas simples (‘).
▪ A linha: #include <stdio.h> não pertence ao C (por isso não termina com ; ), mas sim
é uma diretiva que indica ao compilador (mas propriamente ao pré-processador) que
deverá inserir na compilação o arquivo stdio.h, de forma que o compilador tenha
acesso a uma série de funções que irá precisar (como o printf).
▪ Esses arquivos tem a extensão .h, pois não tem código, mas são apenas
cabeçalhos (headers) das funções que representam. São chamadas de headers files.
▪ A função: void main() é a função principal do programa, toda a função deve ser
seguida de parênteses. Parênteses vazios significam que a função não irá receber
nenhuma informação do mundo exterior. A palavra void indica que a função não
retornar NADA (mais tarde você saberá o motivo!)
▪ Todo o bloco de construção de funções deve ter inicio com ({) e fechamento com (}).
▪ Lembrando que o C é case-sensitive, isto é, existe diferença entre mAIN(), Main(), mAIn(),etc.
MEU 1º PROGRAMA EM C
CARACTERE ESPECIAL “\” OU SEQUENCIA 
DE ESCAPE
▪ O programa poderia ser escrito também dessa forma:
\n significa newline
▪ Exemplo 1. Escreva a linha: Hoje está um “LINDO” dia!!!.
▪ 1ª Tentativa:
#include <stdio.h>
int main(void)
{
printf("Hoje está um "LINDO" dia!!!\n");
return 0;
}
▪ O que há de errado acima?
CARACTERE ESPECIAL “\” OU SEQUENCIA 
DE ESCAPE
CARACTERE ESPECIAL “\” OU SEQUENCIA 
DE ESCAPE
▪ Exemplo 1. Escreva a linha: Hoje está um “LINDO” dia!!!.
▪ 2ª Tentativa:
CARACTERE ESPECIAL “\” OU SEQUENCIA 
DE ESCAPE
▪ Exemplo 2: fazer um programa que escreva a frase: “aqui 
vai um apito” e no final emite um sinal sonoro.
CARACTERE ESPECIAL “\” OU SEQUENCIA 
DE ESCAPE
TIPOS DE DADOS
Os dados podem assumir cinco tipos básicos em C que são:
char: Caractere: O valor armazenado é um caractere. Caracteres
geralmente são armazenados em códigos (usualmente o código
ASCII).
 int: Número inteiro é o tipo padrão e o tamanho do conjunto que pode
ser representado normalmente depende da máquina em que o
programa está rodando.
 float: Número em ponto flutuante de precisão simples. São
conhecidos normalmente como números reais.
double: Número em ponto flutuante de precisão dupla.
Bool(_Bool): para indicar true (verdadeiro) ou false (falso), utiliza 1
byte; Presente apenas no padrão C99 em diante.
void: Este tipo serve para indicar que um resultado não tem um tipo
definido. Uma das aplicações deste tipo em C é criar um tipo vazio
que pode posteriormente ser modificado para um dos tipos anteriores.
DECLARAÇÃO DE TIPOS
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int x = 3;
char y = 'e'; 
double a = 3.8;
float b = 9.9;
return 0;
}
MODIFICADORES DE TIPOS
Tipo de dado Significado Tamanho (em
bytes)
Intervalo de valores 
aceitos
char Caractere 1 de -128 a 127
unsigned char Caractere não
sinalizado
1 0 à 255
short int Inteiro curto 2 de -32768 a 32767
unsigned short
int
Inteiro curto não
sinalizado
2 de 0 a 65535
int Inteiro
2 (no processador
de 16 bits)
4 (no processador 
de 32 bits)
de -32768 a 32767
de -2.147.483.648 a
2.147.483.647
unsigned int Inteiro não
sinalizado
2 (no processador 
de 16 bits)
4 (no processador
de 32 bits)
de 0 a 65535
de 0 a 4.294.967.295
long int Inteiro longo 4 de -2.147.483.648 a
2.147.483.647
unsigned long int Inteiro longo
não sinalizado
4 de 0 a 4.294.967.295
float Flutuante (real) 4 3.4*10-38 à 3.4*1038
double Flutuante duplo 8 de 1.7*10-308 a
1.7*10308
long double Flutuante duplo
longo
10 3.4*10-4932 à
3.4*104932
NUMERO INTEIRO - INT
▪ Um número inteiro é um número sem vírgula, que pode ser expresso em
diferentes bases:
▪ Base decimal: o número inteiro é representado por uma sequência de unidades 
(de 0 a 9), que não deve começar com o dígito 0.
▪ Base hexadecimal: o número inteiro é representado por uma sequência de 
unidades (de 0 a 9 ou de A a F (ou de a a f)), que deve começar com 0x ou 0X.
▪ Base octal: o número inteiro é representado por uma sequência de 
unidades (incluindo apenas os dígitos de 0 a 7), que deve começar com 0.
▪ Os inteiros são assinados por padrão, o que significa que eles têm um sinal. Para
armazenar informações sobre o sinal (em binário), os computadores usam o
complemento de dois.
▪ Exemplos:
▪ 9551
▪ 1
▪ 0
▪ -2
▪ 02 (octal)
▪ 0x9F (hexadecimal)
NUMERO COM PONTO - FLOAT
▪ Um número com ponto flutuante é um número com ponto,
porém, ele pode ser representado de várias maneiras:
▪ um inteiro decimal: 895
▪ um número com um ponto (e não uma vírgula): 845.32
▪ uma fração: 27/11
▪ um número exponencial, ou seja, um número
(possivelmente com ponto) seguido da letra e (ou E) e
de um inteiro correspondente à potência de 10 (assinado
ou não, isto é, precedido por um "+" ou um "-"):
2.75e-2
35.8E+10
.25e-2
▪ Os números do tipo float são codificados em 32 bits, incluindo:
▪ 23 bits para a mantissa
▪ 8 bits para o expoente
▪ 1 bit para o sinal
▪ Os números do tipo duplo são codificados em 64 bits, incluindo:
▪ 52 bits para a mantissa
▪ 11 bits para o expoente
▪ 1 bit para o sinal
▪ Os números do tipo longo duplo são codificados em 80 bits,
incluindo:
▪ 64 bits para a mantissa
▪ 15 bits para o expoente
▪ 1 bit para o sinal
▪ A precisão dos números reais é aproximada. Ela depende do
número de casas decimais; dependendo do tipo de real, ela será
no mínimo:
▪ de 6 números para o tipo float
▪ de 15 números para o tipo double
▪ de 17 números para o tipo long double
NUMERO COM PONTO - FLOAT
CARACTERE - CHAR
▪ O tipo char (do inglês character) armazena o valor ASCII 
de um caractere, ou seja, um número inteiro!
▪ Por padrão, os números são assinados, isso significa que eles
têm um sinal. Para armazenar informações sobre o sinal (em
binário), os computadores usam o complemento de dois.
Então, um dado de tipo char é assinado, isso não significa
que tem um sinal, mas simplesmente que, na memória, o valor
que codifica o caractere pode ser negativo (entre -128 a 127).
▪ Se quisermos, por exemplo, armazenar a letra B (seu código
ASCII é 66), poderemos definir este dado, seja pelo número
66, seja anotando o 'B', onde as aspas simples significam
código ASCII de B.
▪ Não existe um tipo de dado para as cadeias de caracteres
(strings) em linguagem C.
TABELA ASCII
Tabela ASCII
CONVERSÕES
▪ Chamamos de conversão de tipo de dados, o fato de
alterar o tipo de um dado para outro. Pode acontecer, por
exemplo, que queiramos trabalhar com um tipo de variável
e, em seguida, usar em outro tipo. Imagine que
trabalhemos, por exemplo, com uma variável de vírgula
flutuante (tipo float), pode ser que queiramos "remover as
casas decimais", ou seja, converter um float em int. Isto
pode ser feito de duas maneiras:
▪ Implícita
▪ Explicita
CONVERSÃO IMPLÍCITA
▪ uma conversão implícita é uma mudança do tipo de dado
efetuado, automaticamente, pelo compilador. Isto significa
que quando vamos armazenar um tipo de dado na variável
declarada com outro tipo, o compilador não retornará um
erro, mas efetuará umaconversão implícita do dado, antes
de atribuí-lo à variável.
int x;
x = 8.324;
printf(“%d”, x);
▪ x conterá o valor 8 depois da alocação.
CONVERSÃO EXPLÍCITA (CASTING)
▪ uma conversão explícita (também chamada operação
cast) é uma modificação do tipo de dado forçado. Isso
significa que você usa um operador, dito, de cast para
especificar a conversão. O operador de cast é
simplesmente o tipo de dado, no qual se deseja
converter uma variável, entre parênteses, antes da
variável.
▪ int x;
▪ x = (int) 8.324;
▪ x conterá o valor 8 depois da alocação.
CONSTANTES
▪ Muitas vezes é desejável que além de uma variável possuir um valor pré-
definido, este valor não deve ser modificado por nenhuma função de um
programa.
▪ Para que isto aconteça deve-se colocar a palavra const antes da
definição da variável, indicando ao compilador que quando detectar uma
mudança de valor da variável, seja emitida uma mensagem de erro.
▪ Este instrumento é muito utilizado para documentar a passagem de
parâmetros de uma função, indicando que um determinado parâmetro
não será alterado pela função.
const float FSALARIO = 5000; /* Se for constante nunca receberei aumento ???*/ 
const char CSEXO = 'M'; /* Com certeza !!! */
Boa prática de programação é sempre usar constante com identificadores 
MAIUSCULOS e variáveis com identificadores MINUSCULOS.
CONSTANTES
▪ Há também a capacidade de pedir ao pré-processador
para definir uma constante usando a diretiva #define.
Abaixo segue um exemplo do seu uso:
#include <stdio.h>
#define IDADE 34
int main() {
printf("Sua idade é %d anos",IDADE);
return(0);
}
▪ No exemplo acima, toda ocorrência da constante IDADE no código do 
programa será substituída pelo valor inteiro 34. É importante observar que 
entre #define e IDADE deve haver apenas um espaço, e entre IDADE e 34 
também só deve haver um espaço.
COMENTÁRIOS
▪ Sempre que podemos fazemos alguma anotação ou
mandamos algum lembrete para nos informar sobre algo 
mais tarde.
▪ No código-fonte se faz necessário colocar tais notas se
preciso.
▪ Sintaxe:
▪ // - Para apenas uma linha
▪ /* (inicio) e */ (fim) – Para mais de uma linha
▪ Ex:
// Isso é um comentário de uma linha
/* Meu
Primeiro programa em C:
Isso é um comentário
De várias linhas */
OPERADORES ARITMÉTICOS
OPERADORES ARITMÉTICOS – NÍVEIS DE
PRECEDÊNCIA
OPERADORES ARITMÉTICOS
Dica de prevenção de erro
Evite identificadores que comecem por sublinhado (_) simples ou duplo, porque aqueles gerados pelo 
compilador e os da biblioteca-padrão podem usar nomes semelhantes
SCANF
▪ Perceba que o scanf do exemplo anterior tem dois argumentos, "%d"
e &inteiro1.
▪ O primeiro argumento, a string de controle de formato, indica o tipo
de dado que deve ser digitado pelo usuário.
▪ O especificador de conversão %d indica que os dados devem ser um
inteiro (a letra d significa ‘inteiro decimal’).
▪ O %, nesse contexto, é tratado pelo scanf (e pelo printf como veremos adiante)
como um caractere especial, que inicia um especificador de conversão.
▪ O segundo argumento de scanf começa com um (&) - chamado de
operador de endereço em C -, seguido pelo nome da variável.
▪ O (&), quando combinado com o nome da variável, informa à scanf o local (ou
endereço) na memória em que a variável inteiro1 está armazenada.
▪ O computador, então, armazena o valor de inteiro1 nesse local.
ESPECIFICADOR DE CONVERSÃO - SCANF
ESPECIFICADOR DE CONVERSÃO - SCANF
PRINTF
▪ É a função principal de saída na tela
▪ A função printf tem a forma:
printf (string-de-controle-de-formato, outros-argumentos);
▪ string-de-controle-de-formato descreve o formato da saída, e
outros- argumentos (que são opcionais) correspondem a cada
uma das especificações de conversão na string-de-controle-de-
formato.
ESPECIFICADOR DE CONVERSÃO - PRINTF
ESPECIFICADOR DE CONVERSÃO – PRINTF PARA PONTO
FLUTUANTE - EXEMPLO
IMPRESSÃO COM LARGURA DE CAMPO
▪ O tamanho exato de um campo em que os dados são impressos é
especificado por uma largura de campo.
▪ Se a largura do campo for maior que os dados a serem impressos,
eles normalmente serão alinhados à direita dentro desse campo.
▪ Um inteiro que representa a largura do campo é inserido entre o
sinal de porcentagem (%) e o especificador de conversão (por
exemplo, %4𝑑).
▪ A largura do campo é aumentada para que se possa imprimir valores
maiores que o campo, e o sinal de subtração para um valor negativo
usa uma posição de caractere na largura do campo.
▪ As larguras de campo podem ser usadas com todos os
especificadores de conversão.
IMPRESSÃO COM LARGURA DE CAMPO
IMPRESSÃO COM PRECISÃO
▪ A precisão-padrão para inteiros é 1.
▪ Quando usada com os especificadores de conversão de
ponto flutuante e, E e f, a precisão será o número de dígitos
que aparece após o ponto decimal.
▪ Quando usada juntamente com os especificadores de
conversão g e G, a precisão será o número máximo de
dígitos significativos a serem impressos.
▪ Quando usada com o especificador de conversão s, a 
precisão será o número máximo de caracteres a serem 
escritos a partir da string.
▪ Para usar a precisão, coloque um ponto decimal (.), seguido
por um inteiro representando a precisão entre o sinal de
porcentagem e o especificador de conversão.
▪ Quando um valor de ponto flutuante é impresso com uma
precisão menor que o número original de casas decimais no
valor, o valor é arredondado.
IMPRESSÃO COM PRECISÃO
OPERADORES RELACIONAIS
TOMADA DE DECISÕES - IF
PRECEDÊNCIA DE EXECUÇÃO EM LINHA DOS
OPERADORES
PALAVRAS RESERVADAS/CHAVES1
1Palavras-chaves podem aumentar dependendo das bibliotecas usadas
EXERCÍCIOS
1. Escreva em C um programa com a seguinte saída:
2. Faça uma calculadora em C para somar, subtrair,
multiplicar, dividir e retirar o módulo de duas
variáveis inseridas pelo usuário e mostrar o
resultado (em int e float se cabível).
3. Implemente um programa que desenhe um
"pinheiro" na tela, similar ao abaixo. Enriqueça o
desenho com outros caracteres, simulando
enfeites (use impressão por precisão aqui).
REFERÊNCIAS
▪ DEITEL, Harvey M.; DEITEL, P. J. C: como programar. 6.ed. São Paulo: 
Pearson, 2011.
▪ DAMAS, Luís. Linguagem C. 10.ed. São Paulo: LTC, 2013.
▪ BACKES, André. Linguagem C: Completa e
Descomplicada. Rio de Janeiro: Elsevier, 2012.

Outros materiais