SlideShare uma empresa Scribd logo
1 de 47
Algoritmos e Programação I
Linguagem de programação C
Sumário
05/07/2023
Professor Paulo Nunes 2
 História.
 Características básicas.
 Tipos de dados.
 Um programa em C.
 Criando um programa em C.
 IDEs para criação, montagem e
compilação.
 Compilando com o GCC no terminal.
 Constantes e Variáveis.
 Constantes.
 Constantes: Tipos especiais.
 Constantes: Exemplo.
 Variáveis.
 Declaração de variáveis.
 Criando nomes de variáveis.
 Inicializando variáveis.
 Tipos de variáveis.
 Palavras-Chaves em C.
 Operadores.
 Aritméticos.
 Relacionais.
 Lógicos.
 Bit a Bit.
 Precedência.
 Instruções em C: Entrada e Saída de
dados.
 printf()
 scanf()
 getchar()
 putchar()
 getche() e getch()
 Resumo das funções de E/S
 Referências.
História
05/07/2023
Professor Paulo Nunes 3
 Criada entre 1968 e 1973, no AT&T Bell
Labs, por Dennis M. Ritchie e Ken
Thompson;
 Baseada na linguagem “B”, evolução da
linguagem “BCPL”, veio para eliminar as
dificuldades de programação em
Assembly e as limitações da linguagem
“B”;
 Ferramenta para programação em
qualquer tipo de sistema, prima pela
padronização dos compiladores,
flexibilidade de uso, portabilidade e por
apresentar programas compactos e
rápidos.
 Linguagem de nível médio;
 Combina elementos das linguagens de alto nível com a
funcionalidade do Assembly.
 Linguagem estruturada;
 As funções são o principal componente estrutural de C.
 Linguagem para programadores;
 Criada, influenciada e testada por programadores profissionais,
dá ao programador o que ele quer: poucas restrições, estruturas
de bloco, funções isoladas e conjunto compacto de palavras-
chaves.
05/07/2023
Professor Paulo Nunes 4
Características básicas
 Existem cinco tipos básicos em C:
 Caractere (char);
 Inteiro (int);
 Ponto flutuante (float);
 Ponto flutuante de precisão dupla (double);
 Sem valor (void).
 Todos os outros tipos são baseados nesses cinco principais;
 O tamanho e faixa varia de acordo com o processador e
implementação do compilador C;
 O padrão ANSI estipula a faixa mínima de cada tipo, não seu
tamanho em bytes
05/07/2023
Professor Paulo Nunes 5
Tipos de dados em C
Tipo Tam. Aproximado em bits Faixa mínima
char 8 -127 a 127
unsigned char 8 0 a 255
signed char 8 -127 a 127
int 16 -32.767 a 32.767
unsigned int 16 0 a 65.535
signed int 16 mesmo que int
short int 16 mesmo que int
unsigned short int 16 0 a 65.535
signed short int 16 mesmo que short int
long int 32 -2.147.483.647 a 2.147.483.647
signed long int 32 mesmo que long int
unsigned long int 32 0 a 4.294.967.295
float 32 seis dígitos de precisão
double 64 dez dígitos de precisão
long double 80 dez dígitos de precisão
05/07/2023
Professor Paulo Nunes 6
Tipos de dados em C
Tabela ANSI
 Os nomes “programa” e “função” podem se confundir em C;
 Um programa em C é formado de uma ou mais “funções”
 O menor programa em C seria então:
05/07/2023
Professor Paulo Nunes 7
Programas em C
Programa de
uma única
função main().
Chave de abertura do
bloco de comandos
Chave de fechamento do
bloco de comandos
O nome da função, os parênteses e as chaves são os únicos elementos
obrigatórios.
 Os parêntese após a função indicam que se trata de uma função;
 O nome de uma função C pode ser qualquer um com exceção de
“main”, reservado para a função que inicia a execução do programa;
 Podem haver espaços, tabulação e saltar linhas a vontade, o
compilador ignora estes caracteres;
 A função main() deve existir em algum lugar em seu programa, ela
marca o início da execução do programa;
 Todas as instruções devem vir dentro das chaves, sendo executadas
na ordem em que são escritas;
 As instruções em C são finalizadas por um ponto-e-vírgula (;), ele faz
parte da instrução.
05/07/2023
Professor Paulo Nunes 8
Programas em C - Características
 O programa anterior, que não executava instrução nenhuma,
agora com uma instrução que exibe uma mensagem na tela:
05/07/2023
Professor Paulo Nunes 9
Programas em C
A instrução printf(), dentro das chaves,
imprime a mensagem entre as aspas
 Três passos para compilar um programa em C:
1. Criar um programa (digitar em editor qualquer);
2. Compilar o programa (usar um compilador adequado);
3. Linkeditar o programa com as funções de biblioteca.
 Os programas fonte em C possuem a extensão .c;
 O compilador mais utilizado é o GNU GCC, GNU Compiler
Collection, ou simplesmente, GCC;
 Processo de compilação segue a seguinte sequência:
05/07/2023
Professor Paulo Nunes 10
Criando um programa em C
Código Fonte (.c) Código Objeto (.obj)
Código executável
(.exe)
 Existem vários Front Ends para compilação de programas em
C, alguns deles são:
 Code:Blocks;
 Bloodshed Dev C++;
 Eclipse e;
 Netbeans.
 A maioria deles já traz embutidas todas as ferramentas
necessárias para a criação dos programas em C.
 Um bom editor de textos para criação de programas fonte em
C é o:
 Notepad++
05/07/2023
Professor Paulo Nunes 11
Criando um programa em C: IDE’s
 Uma boa forma de se compilar programas em C é utilizar o
GCC diretamente de um terminal DOS (prompt de
comandos). Dessa forma é mais fácil a passagem de
parâmetros necessários para a compilação.
 No menu “iniciar” do Windows, digite “cmd” para ativar uma
janela de terminal:
05/07/2023
Professor Paulo Nunes 12
Compilando com o GCC direto do
prompt
 Digite então o seguinte comando:
 >gcc programa-fonte.c –o programa-executavel
 onde:
 programa-fonte.c é o programa em C
 programa-executavel é o programa em código de máquina
 -o é o parâmetro utilizado para montar o seu programa
 Para apenas “compilar” o programa, utilize a opção –c
 >gcc –c programa-fonte.c
 Será gerado um arquivo objeto (.o) com o mesmo nome
 Para montar vários arquivos objeto em um só executável:
 >gcc –o programa_executavel programa-objeto1 programa-objeto2...
05/07/2023
Professor Paulo Nunes 13
Compilando com o GCC direto do
prompt
Constantes e Variáveis
Como declarar e utilizar Constantes e Variáveis na
linguagem C
 Possui valor fixo e inalterável;
 Podem ser de qualquer um dos cinco tipos de dados básicos;
 Sua representação depende de seu tipo.
 Exemplos:
05/07/2023
Professor Paulo Nunes 15
Constantes
Tipo de constante/dado Representação
Char ‘a’
String (cadeia de caracteres) “Este é um exemplo de constante”
Inteira 10 e -7
Ponto flutuante (float e double) 12.123
 Caractere de Barra invertida (): utilizado para inserção de
caracteres especiais.
05/07/2023
Professor Paulo Nunes 16
Constantes: Tipos especiais
Código Função
b Retrocesso (backspace)
f Alimentação de formulário (Form feed)
n Nova linha (Line feed)
r Retorno de carro (Carriage return)
t Tabulação horizontal (Horizontal tab)
” Aspas duplas
’ Aspas simples’
0 Nulo
 Barra invertida
v Tabulação vertical
a Alerta (beep)
N Constante octal (N é uma constante octal)
xN Constante hexadecimal (N é uma constante hexadecimal)
 Exemplo:
05/07/2023
Professor Paulo Nunes 17
Constantes: Exemplo
Saída em tela.
 Espaço de memória reservado para armazenar um certo tipo
de dado, tendo um nome identificador para referenciar o seu
conteúdo. [Victorine Viviane, 1990];
 Posição nomeada de memória, que é usada para guardar um
valor que pode ser modificado pelo programa. [Schildt, 1997].
 O espaço de memória de uma variável pode ser compartilhado
por diferentes valores segundo certas circunstâncias, ou seja:
pode conter, a cada tempo, valores diferentes.
 Onde são declaradas? Existem três locais básicos:
 Dentro das funções (locais);
 Na definição de parâmetros das funções (formais) e;
 Fora de todas as funções (globais).
05/07/2023
Professor Paulo Nunes 18
Variáveis
 Declaração de variável em C:
 As variáveis em C devem ser OBRIGATÓRIAMENTE declaradas antes de serem
utilizadas;
 A forma geral para declaração é:
tipo nome_variável1, nome_variável2,..., nome_variáveln;
 Onde:
 tipo deve ser um tipo de dado válido em C;
 nome_variável é um nome identificador criado para representar a variável, não tem
relação com o tipo.
 Porque devem ser declaradas?
 Facilita a quem lê o programa entender o que ele faz;
 Uma seção de declarações de variáveis melhora o planejamento do programa,
determinando o que será passado ao programa e o que ele retornará como
resultado;
 Ajuda a prevenir erros;
 O C NÃO TRABALHA SE AS VARIÁVEIS NÃO FOREM DECLARADAS!
05/07/2023
Professor Paulo Nunes 19
Variáveis: Declaração
 Os nomes de variáveis, funções, rótulos e outros objetos
definidos pelo usuário em C são chamados de identificadores.
 Devem iniciar por uma letra ou sublinhado (_);
 São “case sensitive”;
 Não podem ter o mesmo nome de uma palavra reservada ou
função escrita ou própria da linguagem;
 Exemplos:
05/07/2023
Professor Paulo Nunes 20
Variáveis: Criando nomes
Válidos Inválidos
Peso 1peso
a10 $10
teste12 teste!de mesa
salario_minimo salário..mínimo
 Para inicializar uma variável a sintaxe é a seguinte:
tipo nome_identificador = constante;
ou
tipo nome_identificador1, nome_identificador2,...,
nome_identificadorn = constante;
 O identificador de atribuição (=) é utilizado para atribuir um
valor constante ou expressão a uma variável.
 Exemplos:
int a = 2;
int x,y = 3 + 6;
05/07/2023
Professor Paulo Nunes 21
Variáveis: Inicializando
 O tipo informa a quantidade de memória, em bytes, que será
ocupada e a forma de armazenamento do conteúdo:
05/07/2023
Professor Paulo Nunes 22
Variáveis: Tipos
Tipo BIT Bytes Limite
char 8 1 -128 a 127
int 16 2 -32768 a 32767
float 32 4 3.4E-38 a 3.4E+38
double 64 8 1.7E-308 a 1.7E+308
void 0 0 sem valor
 A tabela a seguir exibe as 32 palavras-chave (reservadas da
linguagem) que, combinadas com a sintaxe formal de C,
formam a linguagem de programação C.
05/07/2023
Professor Paulo Nunes 23
Palavras-chave em C
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
 C possui diversos operadores internos, dando muito mais
ênfase a eles que a maioria das linguagens de programação.
 São definidas quatro classes deles:
 Aritméticos;
 Relacionais;
 Lógicos e;
 Bit a Bit.
05/07/2023
Professor Paulo Nunes 24
Operadores
Operador Função
- Subtração; unário
+ Adição
* Multiplicação
/ Divisão
% Módulo da divisão (resto)
-- Decremento
++ Incremento
05/07/2023
Professor Paulo Nunes 25
Operadores Aritméticos
Precedência
Mais alta ++ --
- (menos unário)
* / %
Mais baixa + -
05/07/2023
Professor Paulo Nunes 26
Operadores Relacionais
Operador Função
> Maior que
>= Maior que ou igual
< Menor que
<= Menor que ou igual
== Igual
!= Diferente
05/07/2023
Professor Paulo Nunes 27
Operadores Lógicos
Operador Função
&& AND
!! OR
! NOT
Precedência
Maior !
> >= < <=
== !=
&&
Menor ||
p q p&&q p||q !p
0 0 0 0 1
0 1 0 1 1
1 1 1 1 0
1 0 0 1 0
05/07/2023
Professor Paulo Nunes 28
Tabela verdade para Relacionais e
Lógicos
 Utilizados para testar, atribuir ou deslocar os bits efetivos em
um byte ou palavra. Correspondem aos tipos de dados char e
int, bem como suas variações em C.
 Não podem ser utilizados em: float, double, long double, void
ou tipos mais complexos.
05/07/2023
Professor Paulo Nunes 29
Operadores Bit a Bit
Operador Função
& AND
! OR
^ OR exclusivo (XOR)
~ Complemento de um
>> Deslocamento à esquerda
<< Deslocamento à direita
Maior () [] ->
! ~ ++ -- - (tipo) * & sizeof
* / %
+ -
<< >>
< <= > >=
== !=
&
^
!
&&
!!
?:
= += -= *= /= etc.
Menor ,
05/07/2023
Professor Paulo Nunes 30
Precedência de Todos os operadores
Instruções em C
Utilizando os comandos básicos da linguagem C
Instruções em C
Comandos para Entrada e Saída de dados.
 Biblioteca STDIO.H
 Função de entrada/saída;
 Exibe informações na tela;
 Sintaxe:
printf(“const char %controle” , ...);
 Onde:
 const char é o que será impresso na tela. São duas as
informações impressas:
 o primeiro é a mensagem propriamente dita
 o segundo é um comando de formatação para os argumentos
subsequentes serão mostrados. Inicia-se com o símbolo de
percentual (%), seguido pelo código do formato.
05/07/2023
Professor Paulo Nunes 33
Instruções em C: printf()
Código Formato
%c Caractere
%d Inteiros decimais com sinal
%i Inteiros decimais com sinal
%e Notação científica (e minúsculo)
%E Notação científica (E maiúsculo)
%f Ponto flutuante decimal
%g Usa %e ou %f, o que for mais curto
%G Usa %E ou %F, o que for mais curto
%o Octal sem sinal
%s String de caracteres
%u Inteiros decimais sem sinal
%x Hexadecimal sem sinal (letras minúsculas)
%X Hexadecimal sem sinal (letras maiúsculas)
%p Apresenta um ponteiro
%n O argumento é um ponteiro para inteiro no qual o número de caracteres escritos até esse ponto é colocado
%% Escreve o símbolo %
05/07/2023
Professor Paulo Nunes 34
printf(): Caracteres de formatação
05/07/2023
Professor Paulo Nunes 35
printf(): Caracteres de formatação -
Exemplo
Saída na tela.
Saída na tela.
05/07/2023
Professor Paulo Nunes 36
printf(): Caracteres de formatação -
Exemplo
 No primeiro exemplo a letra ‘j’ é delimitada por aspas simples
enquanto que “jota” utiliza aspas duplas. Isso é utilizado pelo
compilador para diferenciar um caractere simples de uma
cadeia de caracteres.
 No segundo exemplo, temos n como caractere para “salto de
linha”, o que corresponderia a tecla [ENTER] para quebra de
linha.
 Biblioteca STDIO.H
 Função de entrada/saída;
 Recebe entradas via teclado;
 Complemento de printf(), sendo que a principal diferença está na
lista de argumentos: os de scanf() são endereços de variáveis;
 Sintaxe:
scanf(“const char %controle” , ...);
 Onde:
 const char %controle consiste em três classificações de caracteres:
 Especificadores de formato;
 Espaço em branco;
 Espaço não-branco.
 Os especificadores de formato de entrada são precedidos por % e
informam que tipo de dado deve ser lido imediatamente após.
05/07/2023
Professor Paulo Nunes 37
Instruções em C: scanf()
Código Significado
%c Lê um único caractere
%d Lê um inteiro decimal
%i Lê um inteiro decimal
%e Lê um número em ponto flutuante
%f Lê um número em ponto flutuante
%g Lê um número em ponto flutuante
%o Lê um número octal
%s Lê uma string
%x Lê um número hexadecimal
%p Lê um ponteiro
%n Recebe um inteiro igual ao número de caracteres lidos até então
%u Lê um inteiro sem sinal
%[] Busca por um conjunto de caracteres
05/07/2023
Professor Paulo Nunes 38
Scanf(): Especificadores de formato
05/07/2023
Professor Paulo Nunes 39
Scanf(): Exemplo
Entrar com o valor via teclado.
Resultado
Scanf(): Exemplo 02
05/07/2023
Professor Paulo Nunes 40
Caractere
digitado
Saída em vídeo
 Biblioteca STDIO.H
 Função de entrada/saída;
 Lê um caractere via teclado;
 Lê o próximo caractere até que a tecla [ENTER] seja
pressionada;
 Pode ser atribuída a uma variável.
 Sintaxe:
<variável> = getchar();
05/07/2023
Professor Paulo Nunes 41
Instruções em C: getchar()
 Biblioteca STDIO.H
 Função de entrada/saída;
 Retorna o caractere escrito em getchar();
 Sintaxe:
putchar(<variável>);
putchar(getchar())
05/07/2023
Professor Paulo Nunes 42
Instruções em C: putchar()
getchar() e putchar(): Exemplo
05/07/2023
Professor Paulo Nunes 43
Lendo o texto
com getchar()
Exibindo o texto
com putchar()
Saída em vídeo: texto em
minúsculas transformado
em maiúsculas.
 Biblioteca CONIO.H
 Função de entrada/saída;
 Leem um caractere no instante em que é digitado via
teclado;
 São iguais, porém getche() exibe a tecla digitada;
 Podem ser atribuídas a uma variável.
 Sintaxe:
<variável> = getche();
<variável> = getch();
05/07/2023
Professor Paulo Nunes 44
Instruções em C: getche() e getch()
getch() e getche(): Exemplo
05/07/2023
Professor Paulo Nunes 45
Recebendo a tecla
digitada.
Durante a execução, a tecla será exibida na
entrada. Use getch() para suprimir essa exibição.
Função Descrição
getchar() Lê um caractere do teclado; aguarda a tecla [ENTER]
getche()
Lê um caractere e exibe o mesmo; não aguarda a tecla
[ENTER]
getch()
Lê um caractere mas não o exibe; não aguarda a tecla
[ENTER]
putchar() Escreve um caractere na tela.
gets() Lê uma string via teclado.
puts() Escreve uma string na tela.
05/07/2023
Professor Paulo Nunes 46
Resumo das funções de E/S simples
 Mizrahi, Victorine Viviane. Treinamento em linguagem C –
Módulo 1.São Paulo: McGraw-Hill, 1990.
 Schildt, Herbert. C, Completo e Total – 3ª Ed. Revista e
Atualizada. São Paulo: Pearson Education do Brasil, 1997.
05/07/2023
Professor Paulo Nunes 47
Referências

Mais conteúdo relacionado

Semelhante a Introdução a linguagem de programação C

Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cMaicon Rodrigues
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02profwtelles
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Lucas Antonio
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação CGercélia Ramos
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem CDaniel Barão
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Bianca Dantas
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Kratos879
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducaommind
 

Semelhante a Introdução a linguagem de programação C (20)

Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Introdução à Linguagem C
Introdução à Linguagem CIntrodução à Linguagem C
Introdução à Linguagem C
 
Linguagem c wellington telles - aula 02
Linguagem c   wellington telles - aula 02Linguagem c   wellington telles - aula 02
Linguagem c wellington telles - aula 02
 
Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
C++200
C++200C++200
C++200
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
Introdução a Linguagem de Programação C
Introdução a Linguagem de Programação CIntrodução a Linguagem de Programação C
Introdução a Linguagem de Programação C
 
Ud2
Ud2Ud2
Ud2
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Apostila de Linguagem C
Apostila de Linguagem CApostila de Linguagem C
Apostila de Linguagem C
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
Apostila C++ Básico - UNIVERSIDADE ESTADUAL PAULISTA “JÚLIO DE MESQUITA FILHO”
 
Apostila c++ básico
Apostila c++ básicoApostila c++ básico
Apostila c++ básico
 
Apostila c++ básico (1)
Apostila c++ básico (1)Apostila c++ básico (1)
Apostila c++ básico (1)
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
Apostila C++
Apostila C++ Apostila C++
Apostila C++
 
Linguagem em c
Linguagem em cLinguagem em c
Linguagem em c
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
C sharp lesson1
C sharp lesson1C sharp lesson1
C sharp lesson1
 

Mais de SchoolByte

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.SchoolByte
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.SchoolByte
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.SchoolByte
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosSchoolByte
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.SchoolByte
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.SchoolByte
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.SchoolByte
 
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CComandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CSchoolByte
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.SchoolByte
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréSchoolByte
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do DropboxSchoolByte
 

Mais de SchoolByte (11)

Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.Estruturas de Dados: Listas, fundamentos.
Estruturas de Dados: Listas, fundamentos.
 
Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.Utilizando funções em C: modularizando os programas.
Utilizando funções em C: modularizando os programas.
 
Laços de repetição em C.
Laços de repetição em C.Laços de repetição em C.
Laços de repetição em C.
 
Estruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitosEstruturas de repetição e controle de fluxo: conceitos
Estruturas de repetição e controle de fluxo: conceitos
 
Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.Utilizando estruturas em linguagem C: structs.
Utilizando estruturas em linguagem C: structs.
 
Vetores e Matrizes em C.
Vetores e Matrizes em C.Vetores e Matrizes em C.
Vetores e Matrizes em C.
 
Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.Variáveis: conceitos e funcionamento.
Variáveis: conceitos e funcionamento.
 
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em CComandos de Controle de Fluxo: IF, SWITCH e Ternário em C
Comandos de Controle de Fluxo: IF, SWITCH e Ternário em C
 
Utilizando ponteiros em C.
Utilizando ponteiros em C.Utilizando ponteiros em C.
Utilizando ponteiros em C.
 
Tutorial Visual do Open-Sankoré
Tutorial Visual do Open-SankoréTutorial Visual do Open-Sankoré
Tutorial Visual do Open-Sankoré
 
Tutorial Visual do Dropbox
Tutorial Visual do DropboxTutorial Visual do Dropbox
Tutorial Visual do Dropbox
 

Último

ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -Aline Santana
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...ArianeLima50
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Centro Jacques Delors
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024Jeanoliveira597523
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxRonys4
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasCasa Ciências
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManuais Formação
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasCassio Meira Jr.
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasillucasp132400
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumPatrícia de Sá Freire, PhD. Eng.
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 

Último (20)

ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
DESAFIO LITERÁRIO - 2024 - EASB/ÁRVORE -
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
Cultura e Literatura indígenas: uma análise do poema “O silêncio”, de Kent Ne...
 
Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029Apresentação | Eleições Europeias 2024-2029
Apresentação | Eleições Europeias 2024-2029
 
ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024ABRIL VERDE.pptx Slide sobre abril ver 2024
ABRIL VERDE.pptx Slide sobre abril ver 2024
 
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
Orientação Técnico-Pedagógica EMBcae Nº 001, de 16 de abril de 2024
 
CINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULACINEMATICA DE LOS MATERIALES Y PARTICULA
CINEMATICA DE LOS MATERIALES Y PARTICULA
 
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptxD9 RECONHECER GENERO DISCURSIVO SPA.pptx
D9 RECONHECER GENERO DISCURSIVO SPA.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Recurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de PartículasRecurso Casa das Ciências: Sistemas de Partículas
Recurso Casa das Ciências: Sistemas de Partículas
 
Manual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envioManual da CPSA_1_Agir com Autonomia para envio
Manual da CPSA_1_Agir com Autonomia para envio
 
Programa de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades MotorasPrograma de Intervenção com Habilidades Motoras
Programa de Intervenção com Habilidades Motoras
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Governo Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 BrasilGoverno Provisório Era Vargas 1930-1934 Brasil
Governo Provisório Era Vargas 1930-1934 Brasil
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Universidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comumUniversidade Empreendedora como uma Plataforma para o Bem comum
Universidade Empreendedora como uma Plataforma para o Bem comum
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 

Introdução a linguagem de programação C

  • 1. Algoritmos e Programação I Linguagem de programação C
  • 2. Sumário 05/07/2023 Professor Paulo Nunes 2  História.  Características básicas.  Tipos de dados.  Um programa em C.  Criando um programa em C.  IDEs para criação, montagem e compilação.  Compilando com o GCC no terminal.  Constantes e Variáveis.  Constantes.  Constantes: Tipos especiais.  Constantes: Exemplo.  Variáveis.  Declaração de variáveis.  Criando nomes de variáveis.  Inicializando variáveis.  Tipos de variáveis.  Palavras-Chaves em C.  Operadores.  Aritméticos.  Relacionais.  Lógicos.  Bit a Bit.  Precedência.  Instruções em C: Entrada e Saída de dados.  printf()  scanf()  getchar()  putchar()  getche() e getch()  Resumo das funções de E/S  Referências.
  • 3. História 05/07/2023 Professor Paulo Nunes 3  Criada entre 1968 e 1973, no AT&T Bell Labs, por Dennis M. Ritchie e Ken Thompson;  Baseada na linguagem “B”, evolução da linguagem “BCPL”, veio para eliminar as dificuldades de programação em Assembly e as limitações da linguagem “B”;  Ferramenta para programação em qualquer tipo de sistema, prima pela padronização dos compiladores, flexibilidade de uso, portabilidade e por apresentar programas compactos e rápidos.
  • 4.  Linguagem de nível médio;  Combina elementos das linguagens de alto nível com a funcionalidade do Assembly.  Linguagem estruturada;  As funções são o principal componente estrutural de C.  Linguagem para programadores;  Criada, influenciada e testada por programadores profissionais, dá ao programador o que ele quer: poucas restrições, estruturas de bloco, funções isoladas e conjunto compacto de palavras- chaves. 05/07/2023 Professor Paulo Nunes 4 Características básicas
  • 5.  Existem cinco tipos básicos em C:  Caractere (char);  Inteiro (int);  Ponto flutuante (float);  Ponto flutuante de precisão dupla (double);  Sem valor (void).  Todos os outros tipos são baseados nesses cinco principais;  O tamanho e faixa varia de acordo com o processador e implementação do compilador C;  O padrão ANSI estipula a faixa mínima de cada tipo, não seu tamanho em bytes 05/07/2023 Professor Paulo Nunes 5 Tipos de dados em C
  • 6. Tipo Tam. Aproximado em bits Faixa mínima char 8 -127 a 127 unsigned char 8 0 a 255 signed char 8 -127 a 127 int 16 -32.767 a 32.767 unsigned int 16 0 a 65.535 signed int 16 mesmo que int short int 16 mesmo que int unsigned short int 16 0 a 65.535 signed short int 16 mesmo que short int long int 32 -2.147.483.647 a 2.147.483.647 signed long int 32 mesmo que long int unsigned long int 32 0 a 4.294.967.295 float 32 seis dígitos de precisão double 64 dez dígitos de precisão long double 80 dez dígitos de precisão 05/07/2023 Professor Paulo Nunes 6 Tipos de dados em C Tabela ANSI
  • 7.  Os nomes “programa” e “função” podem se confundir em C;  Um programa em C é formado de uma ou mais “funções”  O menor programa em C seria então: 05/07/2023 Professor Paulo Nunes 7 Programas em C Programa de uma única função main(). Chave de abertura do bloco de comandos Chave de fechamento do bloco de comandos O nome da função, os parênteses e as chaves são os únicos elementos obrigatórios.
  • 8.  Os parêntese após a função indicam que se trata de uma função;  O nome de uma função C pode ser qualquer um com exceção de “main”, reservado para a função que inicia a execução do programa;  Podem haver espaços, tabulação e saltar linhas a vontade, o compilador ignora estes caracteres;  A função main() deve existir em algum lugar em seu programa, ela marca o início da execução do programa;  Todas as instruções devem vir dentro das chaves, sendo executadas na ordem em que são escritas;  As instruções em C são finalizadas por um ponto-e-vírgula (;), ele faz parte da instrução. 05/07/2023 Professor Paulo Nunes 8 Programas em C - Características
  • 9.  O programa anterior, que não executava instrução nenhuma, agora com uma instrução que exibe uma mensagem na tela: 05/07/2023 Professor Paulo Nunes 9 Programas em C A instrução printf(), dentro das chaves, imprime a mensagem entre as aspas
  • 10.  Três passos para compilar um programa em C: 1. Criar um programa (digitar em editor qualquer); 2. Compilar o programa (usar um compilador adequado); 3. Linkeditar o programa com as funções de biblioteca.  Os programas fonte em C possuem a extensão .c;  O compilador mais utilizado é o GNU GCC, GNU Compiler Collection, ou simplesmente, GCC;  Processo de compilação segue a seguinte sequência: 05/07/2023 Professor Paulo Nunes 10 Criando um programa em C Código Fonte (.c) Código Objeto (.obj) Código executável (.exe)
  • 11.  Existem vários Front Ends para compilação de programas em C, alguns deles são:  Code:Blocks;  Bloodshed Dev C++;  Eclipse e;  Netbeans.  A maioria deles já traz embutidas todas as ferramentas necessárias para a criação dos programas em C.  Um bom editor de textos para criação de programas fonte em C é o:  Notepad++ 05/07/2023 Professor Paulo Nunes 11 Criando um programa em C: IDE’s
  • 12.  Uma boa forma de se compilar programas em C é utilizar o GCC diretamente de um terminal DOS (prompt de comandos). Dessa forma é mais fácil a passagem de parâmetros necessários para a compilação.  No menu “iniciar” do Windows, digite “cmd” para ativar uma janela de terminal: 05/07/2023 Professor Paulo Nunes 12 Compilando com o GCC direto do prompt
  • 13.  Digite então o seguinte comando:  >gcc programa-fonte.c –o programa-executavel  onde:  programa-fonte.c é o programa em C  programa-executavel é o programa em código de máquina  -o é o parâmetro utilizado para montar o seu programa  Para apenas “compilar” o programa, utilize a opção –c  >gcc –c programa-fonte.c  Será gerado um arquivo objeto (.o) com o mesmo nome  Para montar vários arquivos objeto em um só executável:  >gcc –o programa_executavel programa-objeto1 programa-objeto2... 05/07/2023 Professor Paulo Nunes 13 Compilando com o GCC direto do prompt
  • 14. Constantes e Variáveis Como declarar e utilizar Constantes e Variáveis na linguagem C
  • 15.  Possui valor fixo e inalterável;  Podem ser de qualquer um dos cinco tipos de dados básicos;  Sua representação depende de seu tipo.  Exemplos: 05/07/2023 Professor Paulo Nunes 15 Constantes Tipo de constante/dado Representação Char ‘a’ String (cadeia de caracteres) “Este é um exemplo de constante” Inteira 10 e -7 Ponto flutuante (float e double) 12.123
  • 16.  Caractere de Barra invertida (): utilizado para inserção de caracteres especiais. 05/07/2023 Professor Paulo Nunes 16 Constantes: Tipos especiais Código Função b Retrocesso (backspace) f Alimentação de formulário (Form feed) n Nova linha (Line feed) r Retorno de carro (Carriage return) t Tabulação horizontal (Horizontal tab) ” Aspas duplas ’ Aspas simples’ 0 Nulo Barra invertida v Tabulação vertical a Alerta (beep) N Constante octal (N é uma constante octal) xN Constante hexadecimal (N é uma constante hexadecimal)
  • 17.  Exemplo: 05/07/2023 Professor Paulo Nunes 17 Constantes: Exemplo Saída em tela.
  • 18.  Espaço de memória reservado para armazenar um certo tipo de dado, tendo um nome identificador para referenciar o seu conteúdo. [Victorine Viviane, 1990];  Posição nomeada de memória, que é usada para guardar um valor que pode ser modificado pelo programa. [Schildt, 1997].  O espaço de memória de uma variável pode ser compartilhado por diferentes valores segundo certas circunstâncias, ou seja: pode conter, a cada tempo, valores diferentes.  Onde são declaradas? Existem três locais básicos:  Dentro das funções (locais);  Na definição de parâmetros das funções (formais) e;  Fora de todas as funções (globais). 05/07/2023 Professor Paulo Nunes 18 Variáveis
  • 19.  Declaração de variável em C:  As variáveis em C devem ser OBRIGATÓRIAMENTE declaradas antes de serem utilizadas;  A forma geral para declaração é: tipo nome_variável1, nome_variável2,..., nome_variáveln;  Onde:  tipo deve ser um tipo de dado válido em C;  nome_variável é um nome identificador criado para representar a variável, não tem relação com o tipo.  Porque devem ser declaradas?  Facilita a quem lê o programa entender o que ele faz;  Uma seção de declarações de variáveis melhora o planejamento do programa, determinando o que será passado ao programa e o que ele retornará como resultado;  Ajuda a prevenir erros;  O C NÃO TRABALHA SE AS VARIÁVEIS NÃO FOREM DECLARADAS! 05/07/2023 Professor Paulo Nunes 19 Variáveis: Declaração
  • 20.  Os nomes de variáveis, funções, rótulos e outros objetos definidos pelo usuário em C são chamados de identificadores.  Devem iniciar por uma letra ou sublinhado (_);  São “case sensitive”;  Não podem ter o mesmo nome de uma palavra reservada ou função escrita ou própria da linguagem;  Exemplos: 05/07/2023 Professor Paulo Nunes 20 Variáveis: Criando nomes Válidos Inválidos Peso 1peso a10 $10 teste12 teste!de mesa salario_minimo salário..mínimo
  • 21.  Para inicializar uma variável a sintaxe é a seguinte: tipo nome_identificador = constante; ou tipo nome_identificador1, nome_identificador2,..., nome_identificadorn = constante;  O identificador de atribuição (=) é utilizado para atribuir um valor constante ou expressão a uma variável.  Exemplos: int a = 2; int x,y = 3 + 6; 05/07/2023 Professor Paulo Nunes 21 Variáveis: Inicializando
  • 22.  O tipo informa a quantidade de memória, em bytes, que será ocupada e a forma de armazenamento do conteúdo: 05/07/2023 Professor Paulo Nunes 22 Variáveis: Tipos Tipo BIT Bytes Limite char 8 1 -128 a 127 int 16 2 -32768 a 32767 float 32 4 3.4E-38 a 3.4E+38 double 64 8 1.7E-308 a 1.7E+308 void 0 0 sem valor
  • 23.  A tabela a seguir exibe as 32 palavras-chave (reservadas da linguagem) que, combinadas com a sintaxe formal de C, formam a linguagem de programação C. 05/07/2023 Professor Paulo Nunes 23 Palavras-chave em C 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
  • 24.  C possui diversos operadores internos, dando muito mais ênfase a eles que a maioria das linguagens de programação.  São definidas quatro classes deles:  Aritméticos;  Relacionais;  Lógicos e;  Bit a Bit. 05/07/2023 Professor Paulo Nunes 24 Operadores
  • 25. Operador Função - Subtração; unário + Adição * Multiplicação / Divisão % Módulo da divisão (resto) -- Decremento ++ Incremento 05/07/2023 Professor Paulo Nunes 25 Operadores Aritméticos Precedência Mais alta ++ -- - (menos unário) * / % Mais baixa + -
  • 26. 05/07/2023 Professor Paulo Nunes 26 Operadores Relacionais Operador Função > Maior que >= Maior que ou igual < Menor que <= Menor que ou igual == Igual != Diferente
  • 27. 05/07/2023 Professor Paulo Nunes 27 Operadores Lógicos Operador Função && AND !! OR ! NOT Precedência Maior ! > >= < <= == != && Menor ||
  • 28. p q p&&q p||q !p 0 0 0 0 1 0 1 0 1 1 1 1 1 1 0 1 0 0 1 0 05/07/2023 Professor Paulo Nunes 28 Tabela verdade para Relacionais e Lógicos
  • 29.  Utilizados para testar, atribuir ou deslocar os bits efetivos em um byte ou palavra. Correspondem aos tipos de dados char e int, bem como suas variações em C.  Não podem ser utilizados em: float, double, long double, void ou tipos mais complexos. 05/07/2023 Professor Paulo Nunes 29 Operadores Bit a Bit Operador Função & AND ! OR ^ OR exclusivo (XOR) ~ Complemento de um >> Deslocamento à esquerda << Deslocamento à direita
  • 30. Maior () [] -> ! ~ ++ -- - (tipo) * & sizeof * / % + - << >> < <= > >= == != & ^ ! && !! ?: = += -= *= /= etc. Menor , 05/07/2023 Professor Paulo Nunes 30 Precedência de Todos os operadores
  • 31. Instruções em C Utilizando os comandos básicos da linguagem C
  • 32. Instruções em C Comandos para Entrada e Saída de dados.
  • 33.  Biblioteca STDIO.H  Função de entrada/saída;  Exibe informações na tela;  Sintaxe: printf(“const char %controle” , ...);  Onde:  const char é o que será impresso na tela. São duas as informações impressas:  o primeiro é a mensagem propriamente dita  o segundo é um comando de formatação para os argumentos subsequentes serão mostrados. Inicia-se com o símbolo de percentual (%), seguido pelo código do formato. 05/07/2023 Professor Paulo Nunes 33 Instruções em C: printf()
  • 34. Código Formato %c Caractere %d Inteiros decimais com sinal %i Inteiros decimais com sinal %e Notação científica (e minúsculo) %E Notação científica (E maiúsculo) %f Ponto flutuante decimal %g Usa %e ou %f, o que for mais curto %G Usa %E ou %F, o que for mais curto %o Octal sem sinal %s String de caracteres %u Inteiros decimais sem sinal %x Hexadecimal sem sinal (letras minúsculas) %X Hexadecimal sem sinal (letras maiúsculas) %p Apresenta um ponteiro %n O argumento é um ponteiro para inteiro no qual o número de caracteres escritos até esse ponto é colocado %% Escreve o símbolo % 05/07/2023 Professor Paulo Nunes 34 printf(): Caracteres de formatação
  • 35. 05/07/2023 Professor Paulo Nunes 35 printf(): Caracteres de formatação - Exemplo Saída na tela. Saída na tela.
  • 36. 05/07/2023 Professor Paulo Nunes 36 printf(): Caracteres de formatação - Exemplo  No primeiro exemplo a letra ‘j’ é delimitada por aspas simples enquanto que “jota” utiliza aspas duplas. Isso é utilizado pelo compilador para diferenciar um caractere simples de uma cadeia de caracteres.  No segundo exemplo, temos n como caractere para “salto de linha”, o que corresponderia a tecla [ENTER] para quebra de linha.
  • 37.  Biblioteca STDIO.H  Função de entrada/saída;  Recebe entradas via teclado;  Complemento de printf(), sendo que a principal diferença está na lista de argumentos: os de scanf() são endereços de variáveis;  Sintaxe: scanf(“const char %controle” , ...);  Onde:  const char %controle consiste em três classificações de caracteres:  Especificadores de formato;  Espaço em branco;  Espaço não-branco.  Os especificadores de formato de entrada são precedidos por % e informam que tipo de dado deve ser lido imediatamente após. 05/07/2023 Professor Paulo Nunes 37 Instruções em C: scanf()
  • 38. Código Significado %c Lê um único caractere %d Lê um inteiro decimal %i Lê um inteiro decimal %e Lê um número em ponto flutuante %f Lê um número em ponto flutuante %g Lê um número em ponto flutuante %o Lê um número octal %s Lê uma string %x Lê um número hexadecimal %p Lê um ponteiro %n Recebe um inteiro igual ao número de caracteres lidos até então %u Lê um inteiro sem sinal %[] Busca por um conjunto de caracteres 05/07/2023 Professor Paulo Nunes 38 Scanf(): Especificadores de formato
  • 39. 05/07/2023 Professor Paulo Nunes 39 Scanf(): Exemplo Entrar com o valor via teclado. Resultado
  • 40. Scanf(): Exemplo 02 05/07/2023 Professor Paulo Nunes 40 Caractere digitado Saída em vídeo
  • 41.  Biblioteca STDIO.H  Função de entrada/saída;  Lê um caractere via teclado;  Lê o próximo caractere até que a tecla [ENTER] seja pressionada;  Pode ser atribuída a uma variável.  Sintaxe: <variável> = getchar(); 05/07/2023 Professor Paulo Nunes 41 Instruções em C: getchar()
  • 42.  Biblioteca STDIO.H  Função de entrada/saída;  Retorna o caractere escrito em getchar();  Sintaxe: putchar(<variável>); putchar(getchar()) 05/07/2023 Professor Paulo Nunes 42 Instruções em C: putchar()
  • 43. getchar() e putchar(): Exemplo 05/07/2023 Professor Paulo Nunes 43 Lendo o texto com getchar() Exibindo o texto com putchar() Saída em vídeo: texto em minúsculas transformado em maiúsculas.
  • 44.  Biblioteca CONIO.H  Função de entrada/saída;  Leem um caractere no instante em que é digitado via teclado;  São iguais, porém getche() exibe a tecla digitada;  Podem ser atribuídas a uma variável.  Sintaxe: <variável> = getche(); <variável> = getch(); 05/07/2023 Professor Paulo Nunes 44 Instruções em C: getche() e getch()
  • 45. getch() e getche(): Exemplo 05/07/2023 Professor Paulo Nunes 45 Recebendo a tecla digitada. Durante a execução, a tecla será exibida na entrada. Use getch() para suprimir essa exibição.
  • 46. Função Descrição getchar() Lê um caractere do teclado; aguarda a tecla [ENTER] getche() Lê um caractere e exibe o mesmo; não aguarda a tecla [ENTER] getch() Lê um caractere mas não o exibe; não aguarda a tecla [ENTER] putchar() Escreve um caractere na tela. gets() Lê uma string via teclado. puts() Escreve uma string na tela. 05/07/2023 Professor Paulo Nunes 46 Resumo das funções de E/S simples
  • 47.  Mizrahi, Victorine Viviane. Treinamento em linguagem C – Módulo 1.São Paulo: McGraw-Hill, 1990.  Schildt, Herbert. C, Completo e Total – 3ª Ed. Revista e Atualizada. São Paulo: Pearson Education do Brasil, 1997. 05/07/2023 Professor Paulo Nunes 47 Referências