SlideShare uma empresa Scribd logo
Curso: Manutenção e Suporte em Informática
Disciplina: Linguagem de Programação
Professor: Mauro Jansen

Linguagem C
Introdução, Tipos, variáveis, expressões
e estruturas de controle
Introdução à linguagem C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

2
Histórico
Criada na década de 70 por Denis Ritchie
(Bell Labs)
Objetivo: ser uma linguagem mais fácil que
o Assembler mas que permitisse grande
controle sobre o hardware, para a
programação do sistema Unix
Influência das linguagens BCPL e B

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

3
Características
Genérica: usada para a criação de
programas para diversas áreas
Ex: aplicativos, sistemas operacionais,
automação industrial, engenharia, física,
química, etc.

Linguagem “mista”: tem características de
linguagem de alto e baixo nível
Induz a uma boa estruturação de
programas
Influenciou várias outras linguagens
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

4
Características
É “case sensitive”: minúsculas e maiúsculas
fazem diferença
Variável “nome” é diferente de “Nome”

É compilada (gera arq.executável)

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

5
O pré-processador
Parte do compilador C que trata alguns
textos (comandos) do código-fonte antes
da tradução em código executável
Esses comandos são as diretivas do préprocessador. Ex:
#define
#include

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

6
Diretivas do pré-processador
#define: define um identificador e uma
sequência de caracteres que será
substituída pelo identificador no códigofonte. Ex:
Em todo o código fonte, PI
#define PI 3.1415

será substituído por
3.1415

#include: inclui um cabeçalho ou outro
arquivo-fonte no ponto onde está a
Inclui o arquivo “stdio.h”
diretiva. Ex:
(definições padrões para
#include <stdio.h>
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

entrada e saída de dados)
no programa-fonte
7
Estrutura básica de um programa
em C
#Include <biblioteca1.h>
#Include <biblioteca2.h>
...
Void main()
{
<Declaração de variáveis>
...
<comandos>
...
}

Inclusão de arquivo de
bibliotecas de comandos
Função main(): é
obrigatória. É a primeira
função chamada quando
o programa é iniciado

Delimitadores de inicio e fim de
bloco de comandos

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

8
Comentários
Comentários são úteis para documentar o
programa, e devem ser sempre usados
Existe dois modos:
Posição livre: usa-se o comando //
Várias linhas: usa-se o comando /* */

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

9
Palavras reservadas
São os comandos e funções próprias do
vocabulário da linguagem. Ex.:
auto, break, case, char, const, continue,
default, do, double, else, enum, extern, float,
for, goto, if, int, long, register, struct, switch,
typedef, union, unsigned, void, volatile, while,
etc.

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

10
Exemplo de programa em C
/*
Programa: calcular a média entre duas notas
Autor...: prof.Mauro
*/
#Include <stdio.h>
Void main()
{
float nota1,nota2;
// declaração de variáveis
printf(“Digite a primeira nota: “);
scanf(“%f”,&nota1);
printf(“Digite a segunda nota: “);
scanf(“%f”,&nota2)
printf(“A média é: %f”,(nota1+nota2)/2);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

11
Comando de saída: printf
Sintaxe:

printf(<string de controle>,<lista de argumentos>)

Mensagem (string) com códigos de
controle embutidos na mesma

Códigos de controle:

Valores que serão substituídos na
mensagem, no lugar de cada código de
controle iniciado por %

Código

Formato

Código

Formato

%d

Inteiro com sinal

%X

Hexadecimal

%f

Float (número real)

%o

Octal

%c

Caractere

%E

Notação científica

%s

String

%p

Ponteiro

%u

Inteiro sem sinal

n salta
linha

Exemplos:

printf(“O valor de PI é %f”,3.1415);
printf(“Meu nome é %s e eu tenho %d anosn”,”João”,18);

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

12
Comando de entrada: scanf
Sintaxe:
scanf(<string de controle>,<lista de argumentos>)
códigos de controle que identificarão o
tipo de dado a ser digitado pelo usuário

Variável(is) que receberá(ão) os dados,
precedida(s) pelo sinal &

Exemplo:
#Include <stdio.h>
Void main()
{
char c;
float n;
printf(“Digite uma letra: “);
scanf(“%c”,&c);
printf(“Digite um valor real: “);
scanf(“%f”,&n);
printf(“Letra: %c , número: %f”,c,f);
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

13
Tipos de dados, constantes,
variáveis, operadores e
expressões em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

14
Tipos de dados
A linguagem C tem os tipos básicos
Char (caractere), Int (inteiro), float (real),
double (real)

E modificadores de tipo, que vêm antes do
tipo e podem ser combinados:
Unsigned: sem sinal
Signed: com sinal (padrão)
Short: menor precisão (padrão)
Long: maior precisão
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

15
Tipos de dados

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

16
Constantes e variáveis
Constante: porção de dados que não muda seu
valor durante a execução do programa.
Exemplos: 23, ‘X’, “Linguagem C”, 1.234
Constantes não precisam de nome, mas podemos
nomeá-las usando a diretiva #define. Ex: #define PI
3.1415

Variável: porções de dados que podem mudar
seu valor durante a execução do programa
Uma variável precisa ter um nome e tipo e precisa ser
declarada e inicializada

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

17
Constantes de barra invertida
São códigos que iniciam com uma barra invertida que
representam uma constante tipo caractere dentro de
strings, como no comando printf. Veja alguns:
Código

Significado

Muito usado no
printf para saltar
para próxima linha

n

Nova linha (new line)

”

Aspas

’

Apóstrofo

0

Nulo



Barra invertida

t

Tabulação horizontal

a

Sinal sonoro (beep)

N

Constante octal (N é o valor da constante)

xN

Constante hexadecimal (N é o valor da constante)

Prof. Mauro Jansen
Regras para nomes de variáveis
Começar com letra ou sublinhado (_)
Caracteres seguintes podem ser letras,
números ou sublinhado
Não pode ser palavra reservada ou função
Maiúsculas e minúsculas fazem diferença

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

19
Declaração e inicialização de
variáveis
A declaração é feita da seguinte forma:
<tipo de dado> <lista de variáveis>;

Obs: Na linguagem C não há uma seção
específica para declaração de variáveis
Exemplos:
char ch,letra;
long cont;

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

20
Declaração e inicialização de
variáveis
Inicialização: podemos atribuir valor no
momento da declaração ou depois, usando
o operador de atribuição “=“ :
Char ch=‘D’;
Int num=123;
num=10;

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

21
Operadores aritméticos
Usados em operações matemáticas
Operador

Ação

+

Soma

-

Subtração ou troca de sinal

*

Multiplicação

/

Divisão

%

Resto da divisão

++

Incrementa valor de uma variável

--

Decrementa valor de uma variável

+=

Atribuição com soma

-=

Atribuição com subtração

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

22
Operadores relacionais
Usados em comparações entre valores
Operador
>
>=
<

Significado
Maior
Maior ou igual
Menor

<=

Menor ou igual

==

Igual

!=

Diferente

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

23
Operadores lógicos
Usados em expressões lógicas compostas
Operador

Significado

&&

Operador E. Retorna verdadeiro se
ambos valores forem verdadeiros

||

Operador OU. Retorna verdadeiro se
pelo menos um for verdadeiro

!

Operador NÃO. Retorna o contrário do
valor informado.

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

24
Exemplo com operadores e
expressões
#Include <stdio.h>
Void main()
{
int a,b,c,d;
a=10;
b=22;
c=30;
d=40;
printf(“a+b = %d”,a+b);
// soma a e b
printf(“a-b = %d”,a-b);
// subtrai b de a
printf(“b%%a = %d”,b%a);
// resto da divisão de b por a
a++;
// incrementa a (mesmo que a=a+1)
b--;
// decrementa b (mesmo que b=b-1)
c+=a;
// soma a em c
(mesmo que c=c+a)
d-=b;
// soma e em d
(mesmo que d=d+b)
printf(“a=%d, b=%d, c=%d, d=%d”,a,b,c,d);
}

OBS: No próximo bloco veremos exemplos com
operadores relacionais Linguagem de Programação
e lógicos
Prof. Mauro Jansen

Linguagem C – parte 1

25
Estruturas de controle e
fluxo em C

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

26
Estrutura condicional if
Equivalente em pseudocódigo: se-senão-fimse

Sintaxe:
If(<condição>)
<bloco de comandos>
[else
<bloco de comandos 2>]

Se a condição for verdadeira, executa bloco de
comandos 1, senão executa bloco de comandos 2
OBS: Um bloco de comando composto por
mais de um comando deve iniciar com { e
terminar com }
O bloco do else é Linguagem de Programação
opcional
Prof. Mauro Jansen

Linguagem C – parte 1

27
Estrutura condicional if (se) Exemplo
/*
Programa: calcular a média e mostrar situação
*/
#Include <stdio.h>
Void main()
{
float nota1,nota2,media; // declaração de variáveis
printf(“Digite a primeira nota: “);
scanf(“%f”,&nota1);
printf(“Digite a segunda nota: “);
scanf(“%f”,&nota2);
media=(nota1+nota2)/2;
printf(“A média é: %f n”,media);
if(media>=7)
printf(“Você está aprovado.n”);
else
printf(“Você está de recuperação.n”);
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

28
Estrutura condicional switch-case
Equivalente pseudocódigo: escolha

Sintaxe:
Switch (<variável>)
{
case <constante1>:
<declaração1>;
break;
case <constante2>:
<declaração2>;
break;
case <constante_n>:
<declaraçãoN>;
break;
default:
<declaração default>
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

29
Estrutura condicional switch-case
Exemplo
#Include <stdio.h>
void main()
{
float n1,n2;
char op;
printf(“Digite um número: “);
scanf(“%f”,&n1);
printf(“Digite a operação (+,-,* ou /): “);
scanf(“%c”,&op);
printf(“Digite outro número: “);
scanf(“%f”,&n2);
switch (op)
{
case ‘+’: printf(“Soma=%f”,n1+n2);
break;
case ‘-’: printf(“Soma=%f”,n1-n2);
break;
case ‘*’: printf(“Soma=%f”,n1*n2);
break;
case ‘/’: printf(“Soma=%f”,n1/n2);
break;
default: printf(“Você digitou uma operação inválida!”)
}
}
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

30
Operador ternário
Operador que permite simplificar tomadas
de decisão simples
Sintaxe:
<expressão1> ? <expressão2> : <expressão3>

Exemplo:

Equivale a:

max=(a>b) ? a : b;
If (a>b)
max=a;
Else
max=b;
Prof. Mauro Jansen
Estrutura de repetição for
Equivalente pseudocódigo: para - fimpara

É a repetição contada. Sintaxe:
for(<inicialização>;<condição>;<incremento>)
<bloco de comandos>

Inicialização: expressão de inicialização. Ex:
n=0
Condição: expressão condição para continuar a
repetição. Ex: n<=10
Incremento: expressão de incremento. Ex:
n++
Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

32
Estrutura de repetição for
exemplo:

Programa para contar de 1 a 100:
#include <stdio.h>
{
int n;
for(n=1 ; n<=100 ; n++)
{
printf("Contando: %dn",n);
}
}

Prof. Mauro Jansen
Estrutura de repetição while
Equivalente pseudocódigo: enquanto–faça-fimenquanto

Sintaxe:
while(<condição>)
<bloco de comandos>

Inicia e repete o bloco de comandos
enquanto a condição for verdadeira
É a repetição com teste no início

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

34
Estrutura de repetição while
Exemplo:
Soma quantidade indeterminada de números
#include <stdio.h>
int main()
{
float n=1,soma=0;
while (n!=0) {
printf("Digite um numero (zero=fim):");
scanf("%f",&n);
soma+=n;
}
printf("A soma dos numeros digitados é: %f",soma);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

35
Estrutura de repetição do..while
Equivalente pseudocódigo: repita - até

Sintaxe:
do
<bloco de comandos>
While(<condição>);

Executa o bloco de comando e repete
enquanto a condição for verdadeira
É a repetição com teste no final

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

36
Estrutura de repetição do..while
Exemplo:
Mesmo anterior, agora com do..while:
#include <stdio.h>
{
float n=0,soma=0;
do {
printf("Digite um numero (zero=fim):");
scanf("%f",&n);
soma+=n;
} while (n!=0);
printf("A soma dos numeros digitados é: %fn",soma);
}

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

37
Comandos que afetam as
estruturas de repetição
Comando break: interrompe a repetição,
continuando após o bloco de comandos a
ser repetido
Comando continue: interrompe apenas a
repetição atual, voltando ao início do laço

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

38
Atividades no DevC++
PRÁTICA, muita PRÁTICA:
Testar os exemplos dos slides
Testar os exemplos da apostila
Resolver exercícios da apostila
Resolver as atividades da semana

Prof. Mauro Jansen

Linguagem de Programação
Linguagem C – parte 1

39

Mais conteúdo relacionado

Mais procurados

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
Gercélia Ramos
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
Carlos Wagner Costa
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
fabiocerqueira
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
Gustavo Gonzalez
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
Professor Samuel Ribeiro
 
Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2
isa_ise
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
thomasdacosta
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
Regis Magalhães
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
Junior Sobrenome
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
Mario Sergio
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
Roney Sousa
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
Mauro Pereira
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
Evonaldo Gonçalves Vanny
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
Gabriel Faustino
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
thomasdacosta
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
Elaine Cecília Gatto
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
Willians Miyabara
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
Karoline Tavares
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
thomasdacosta
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
Elaine Cecília Gatto
 

Mais procurados (20)

Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)Descritiva Narrativa (Lógica de Programação)
Descritiva Narrativa (Lógica de Programação)
 
Variáveis e portugol
Variáveis e portugolVariáveis e portugol
Variáveis e portugol
 
Python - Introdução
Python - IntroduçãoPython - Introdução
Python - Introdução
 
Aula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de SistemasAula1 e aula2 - Analise e Projeto de Sistemas
Aula1 e aula2 - Analise e Projeto de Sistemas
 
Algoritmo aula 01-f
Algoritmo   aula 01-fAlgoritmo   aula 01-f
Algoritmo aula 01-f
 
Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2Algoritmos resolvidos lista 2
Algoritmos resolvidos lista 2
 
Algoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso CompletoAlgoritmos e Técnicas de Programação - Curso Completo
Algoritmos e Técnicas de Programação - Curso Completo
 
Logica Algoritmo 02 Algoritmo
Logica Algoritmo 02 AlgoritmoLogica Algoritmo 02 Algoritmo
Logica Algoritmo 02 Algoritmo
 
Linguagem de Programação Python
Linguagem de Programação PythonLinguagem de Programação Python
Linguagem de Programação Python
 
Introdução à Programação
Introdução à ProgramaçãoIntrodução à Programação
Introdução à Programação
 
Lógica de Programação - Algoritmos
Lógica de Programação - AlgoritmosLógica de Programação - Algoritmos
Lógica de Programação - Algoritmos
 
Lista de exercicios algoritmos resolvida-
Lista de exercicios   algoritmos  resolvida-Lista de exercicios   algoritmos  resolvida-
Lista de exercicios algoritmos resolvida-
 
Algoritmos em portugol
Algoritmos em portugolAlgoritmos em portugol
Algoritmos em portugol
 
Lista de exercícios em portugol
Lista de exercícios em portugolLista de exercícios em portugol
Lista de exercícios em portugol
 
Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01Estrutura de Dados - Aula 01
Estrutura de Dados - Aula 01
 
Algoritmos - Pseudocódigo
Algoritmos - PseudocódigoAlgoritmos - Pseudocódigo
Algoritmos - Pseudocódigo
 
Exercicios resolvidos visuAlg
Exercicios resolvidos visuAlgExercicios resolvidos visuAlg
Exercicios resolvidos visuAlg
 
Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros Linguagem C - Funções e ponteiros
Linguagem C - Funções e ponteiros
 
Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03Algoritmos e Técnicas de Programação - Aula 03
Algoritmos e Técnicas de Programação - Aula 03
 
Linguagem C - Vetores
Linguagem C - VetoresLinguagem C - Vetores
Linguagem C - Vetores
 

Destaque

Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
Mauro Pereira
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquitetura
Mauro Pereira
 
Apostila c
Apostila cApostila c
Apostila c
Mauro Pereira
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
Mauro Pereira
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
Mauro Pereira
 
Algoritmos Aula 01
Algoritmos Aula 01Algoritmos Aula 01
Algoritmos Aula 01
IBTA Turma de TI 2009
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
Mauro Pereira
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
Mauro Pereira
 
Tecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardwareTecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardware
Mauro Pereira
 
Informática 1-conceitos e componentes
Informática  1-conceitos e componentesInformática  1-conceitos e componentes
Informática 1-conceitos e componentes
Mauro Pereira
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
Mauro Pereira
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
Marcos Quinho
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
Mauro Pereira
 

Destaque (13)

Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)Microprocessadores ii revisão de linguagem de programação (parte2)
Microprocessadores ii revisão de linguagem de programação (parte2)
 
Microprocessadores ii arquitetura
Microprocessadores ii arquiteturaMicroprocessadores ii arquitetura
Microprocessadores ii arquitetura
 
Apostila c
Apostila cApostila c
Apostila c
 
Redes padroes e cabeamento
Redes padroes e cabeamentoRedes padroes e cabeamento
Redes padroes e cabeamento
 
Algoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmosAlgoritmos e lp parte 5-subalgoritmos
Algoritmos e lp parte 5-subalgoritmos
 
Algoritmos Aula 01
Algoritmos Aula 01Algoritmos Aula 01
Algoritmos Aula 01
 
6 softwares de manutenção
6 softwares de manutenção6 softwares de manutenção
6 softwares de manutenção
 
Algoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentosAlgoritmos e lp parte 2-fundamentos
Algoritmos e lp parte 2-fundamentos
 
Tecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardwareTecnologia e turismo - Tecnologias de hardware
Tecnologia e turismo - Tecnologias de hardware
 
Informática 1-conceitos e componentes
Informática  1-conceitos e componentesInformática  1-conceitos e componentes
Informática 1-conceitos e componentes
 
Algoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registrosAlgoritmos e lp parte 4-vetores matrizes e registros
Algoritmos e lp parte 4-vetores matrizes e registros
 
Livro Linguagem C - Completo
Livro Linguagem C - CompletoLivro Linguagem C - Completo
Livro Linguagem C - Completo
 
Linguagem c parte 2
Linguagem c parte 2Linguagem c parte 2
Linguagem c parte 2
 

Semelhante a Linguagem c parte 1

Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
Clécio Américo de Lima
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
Thiago Freitas
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
JoberthSilva
 
Aula de preparação para o exame final .pptx
Aula de preparação para o exame final .pptxAula de preparação para o exame final .pptx
Aula de preparação para o exame final .pptx
CanaldoOssufo
 
Algoritmo e programação jejjehshjwnv.pptx
Algoritmo e programação jejjehshjwnv.pptxAlgoritmo e programação jejjehshjwnv.pptx
Algoritmo e programação jejjehshjwnv.pptx
CanaldoOssufo
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
Lucas Antonio
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
mmind
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
Karen Costa
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
Maicon Rodrigues
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
victorlopes714651
 
Aula01
Aula01Aula01
Aula01
vdlos
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Rodrigo Kiyoshi Saito
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
Aldo Henrique Dias Mendes
 
Ud2
Ud2Ud2
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++
Jonas Silva
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Alex Camargo
 
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
SchoolByte
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
sergiocrespo
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
Wander Santos
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
Rogerio R. Lima Cisi
 

Semelhante a Linguagem c parte 1 (20)

Linguagem C clecioamerico
Linguagem C clecioamericoLinguagem C clecioamerico
Linguagem C clecioamerico
 
Introdução+à+linguagem+c
Introdução+à+linguagem+cIntrodução+à+linguagem+c
Introdução+à+linguagem+c
 
Curso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação CCurso Completo de Linguagem de Programação C
Curso Completo de Linguagem de Programação C
 
Aula de preparação para o exame final .pptx
Aula de preparação para o exame final .pptxAula de preparação para o exame final .pptx
Aula de preparação para o exame final .pptx
 
Algoritmo e programação jejjehshjwnv.pptx
Algoritmo e programação jejjehshjwnv.pptxAlgoritmo e programação jejjehshjwnv.pptx
Algoritmo e programação jejjehshjwnv.pptx
 
Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02Logica5 141120062157-conversion-gate02
Logica5 141120062157-conversion-gate02
 
Cet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
 
Introdução a linguagem c karen lowhany
Introdução a linguagem c   karen lowhanyIntrodução a linguagem c   karen lowhany
Introdução a linguagem c karen lowhany
 
Apostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-cApostila de-introdução-à-linguagem-c
Apostila de-introdução-à-linguagem-c
 
Aula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdfAula 14 - Entrada e Saida em linguagem C.pdf
Aula 14 - Entrada e Saida em linguagem C.pdf
 
Aula01
Aula01Aula01
Aula01
 
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling CAlgoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
Algoritmos - Aula 10 A - Traducao Do Port Est Para Ling C
 
Aula09 traducaosin110
Aula09 traducaosin110Aula09 traducaosin110
Aula09 traducaosin110
 
Ud2
Ud2Ud2
Ud2
 
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++
 
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
Algoritmos e Programação: Apresentação da ferramenta de programação. Comandos...
 
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
 
Introduçãso a linguagem c
Introduçãso a linguagem cIntroduçãso a linguagem c
Introduçãso a linguagem c
 
Infos algoritmo
Infos algoritmoInfos algoritmo
Infos algoritmo
 
Curso de Linguagem C
Curso de Linguagem CCurso de Linguagem C
Curso de Linguagem C
 

Mais de Mauro Pereira

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
Mauro Pereira
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
Mauro Pereira
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
Mauro Pereira
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
Mauro Pereira
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
Mauro Pereira
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
Mauro Pereira
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
Mauro Pereira
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
Mauro Pereira
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
Mauro Pereira
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
Mauro Pereira
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
Mauro Pereira
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
Mauro Pereira
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
Mauro Pereira
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
Mauro Pereira
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
Mauro Pereira
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
Mauro Pereira
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
Mauro Pereira
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Mauro Pereira
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
Mauro Pereira
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Mauro Pereira
 

Mais de Mauro Pereira (20)

Programação Web - CSS
Programação Web - CSSProgramação Web - CSS
Programação Web - CSS
 
Redes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redesRedes 7 ferramentas para montagem de redes
Redes 7 ferramentas para montagem de redes
 
Exercicio introducao a arquitetura de computadores
Exercicio    introducao a arquitetura de computadoresExercicio    introducao a arquitetura de computadores
Exercicio introducao a arquitetura de computadores
 
Introdução à Arquitetura de Computadores
Introdução à Arquitetura de ComputadoresIntrodução à Arquitetura de Computadores
Introdução à Arquitetura de Computadores
 
Sistemas de Numeracao
Sistemas de NumeracaoSistemas de Numeracao
Sistemas de Numeracao
 
Lógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicosLógica binária, potas lógicas e circuitos lógicos
Lógica binária, potas lógicas e circuitos lógicos
 
Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1Trabalho para nota da etapa 2 2017.1
Trabalho para nota da etapa 2 2017.1
 
Redes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da redeRedes 6 equipamentos ativos da rede
Redes 6 equipamentos ativos da rede
 
Redes 4 endereçamento
Redes 4 endereçamentoRedes 4 endereçamento
Redes 4 endereçamento
 
Redes 5 cabeamento
Redes 5 cabeamentoRedes 5 cabeamento
Redes 5 cabeamento
 
Redes 3 protocolos
Redes 3 protocolosRedes 3 protocolos
Redes 3 protocolos
 
Redes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redesRedes 2 padronização e arquitetura de redes
Redes 2 padronização e arquitetura de redes
 
Redes 1 introducao historico conceitos
Redes 1 introducao historico conceitosRedes 1 introducao historico conceitos
Redes 1 introducao historico conceitos
 
4.1 softwares e configurações importantes
4.1 softwares e configurações importantes4.1 softwares e configurações importantes
4.1 softwares e configurações importantes
 
Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2Trabalho para nota da etapa 2 2015.2
Trabalho para nota da etapa 2 2015.2
 
Exercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolosExercicio 1 - conceitos camadas e protocolos
Exercicio 1 - conceitos camadas e protocolos
 
Guia prático para criar algoritmos
Guia prático para criar algoritmosGuia prático para criar algoritmos
Guia prático para criar algoritmos
 
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...Exercicio 2   endereços, dispositivos, internet-intranet-extranet, padroes, c...
Exercicio 2 endereços, dispositivos, internet-intranet-extranet, padroes, c...
 
Guia para traducao algoritmos x l ps
Guia para traducao algoritmos x l psGuia para traducao algoritmos x l ps
Guia para traducao algoritmos x l ps
 
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
Lista de exercicios   vetores, matrizes, registros e sub-algoritmosLista de exercicios   vetores, matrizes, registros e sub-algoritmos
Lista de exercicios vetores, matrizes, registros e sub-algoritmos
 

Último

REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptxREDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
IranyGarcia
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
tnrlucas
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
anpproferick
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Annelise Gripp
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
Rafael Santos
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
anpproferick
 

Último (6)

REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptxREDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
REDE_DE_COMPUTADORES_TECNOLOGIA_TIPOS.pptx
 
Como fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptxComo fui de 0 a lead na gringa em 3 anos.pptx
Como fui de 0 a lead na gringa em 3 anos.pptx
 
PRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product ownerPRATICANDO O SCRUM Scrum team, product owner
PRATICANDO O SCRUM Scrum team, product owner
 
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
Ferramentas e Técnicas para aplicar no seu dia a dia numa Transformação Digital!
 
Gestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefíciosGestão de dados: sua importância e benefícios
Gestão de dados: sua importância e benefícios
 
Teoria de redes de computadores redes .doc
Teoria de redes de computadores redes .docTeoria de redes de computadores redes .doc
Teoria de redes de computadores redes .doc
 

Linguagem c parte 1

  • 1. Curso: Manutenção e Suporte em Informática Disciplina: Linguagem de Programação Professor: Mauro Jansen Linguagem C Introdução, Tipos, variáveis, expressões e estruturas de controle
  • 2. Introdução à linguagem C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 2
  • 3. Histórico Criada na década de 70 por Denis Ritchie (Bell Labs) Objetivo: ser uma linguagem mais fácil que o Assembler mas que permitisse grande controle sobre o hardware, para a programação do sistema Unix Influência das linguagens BCPL e B Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 3
  • 4. Características Genérica: usada para a criação de programas para diversas áreas Ex: aplicativos, sistemas operacionais, automação industrial, engenharia, física, química, etc. Linguagem “mista”: tem características de linguagem de alto e baixo nível Induz a uma boa estruturação de programas Influenciou várias outras linguagens Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 4
  • 5. Características É “case sensitive”: minúsculas e maiúsculas fazem diferença Variável “nome” é diferente de “Nome” É compilada (gera arq.executável) Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 5
  • 6. O pré-processador Parte do compilador C que trata alguns textos (comandos) do código-fonte antes da tradução em código executável Esses comandos são as diretivas do préprocessador. Ex: #define #include Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 6
  • 7. Diretivas do pré-processador #define: define um identificador e uma sequência de caracteres que será substituída pelo identificador no códigofonte. Ex: Em todo o código fonte, PI #define PI 3.1415 será substituído por 3.1415 #include: inclui um cabeçalho ou outro arquivo-fonte no ponto onde está a Inclui o arquivo “stdio.h” diretiva. Ex: (definições padrões para #include <stdio.h> Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 entrada e saída de dados) no programa-fonte 7
  • 8. Estrutura básica de um programa em C #Include <biblioteca1.h> #Include <biblioteca2.h> ... Void main() { <Declaração de variáveis> ... <comandos> ... } Inclusão de arquivo de bibliotecas de comandos Função main(): é obrigatória. É a primeira função chamada quando o programa é iniciado Delimitadores de inicio e fim de bloco de comandos Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 8
  • 9. Comentários Comentários são úteis para documentar o programa, e devem ser sempre usados Existe dois modos: Posição livre: usa-se o comando // Várias linhas: usa-se o comando /* */ Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 9
  • 10. Palavras reservadas São os comandos e funções próprias do vocabulário da linguagem. Ex.: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, struct, switch, typedef, union, unsigned, void, volatile, while, etc. Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 10
  • 11. Exemplo de programa em C /* Programa: calcular a média entre duas notas Autor...: prof.Mauro */ #Include <stdio.h> Void main() { float nota1,nota2; // declaração de variáveis printf(“Digite a primeira nota: “); scanf(“%f”,&nota1); printf(“Digite a segunda nota: “); scanf(“%f”,&nota2) printf(“A média é: %f”,(nota1+nota2)/2); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 11
  • 12. Comando de saída: printf Sintaxe: printf(<string de controle>,<lista de argumentos>) Mensagem (string) com códigos de controle embutidos na mesma Códigos de controle: Valores que serão substituídos na mensagem, no lugar de cada código de controle iniciado por % Código Formato Código Formato %d Inteiro com sinal %X Hexadecimal %f Float (número real) %o Octal %c Caractere %E Notação científica %s String %p Ponteiro %u Inteiro sem sinal n salta linha Exemplos: printf(“O valor de PI é %f”,3.1415); printf(“Meu nome é %s e eu tenho %d anosn”,”João”,18); Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 12
  • 13. Comando de entrada: scanf Sintaxe: scanf(<string de controle>,<lista de argumentos>) códigos de controle que identificarão o tipo de dado a ser digitado pelo usuário Variável(is) que receberá(ão) os dados, precedida(s) pelo sinal & Exemplo: #Include <stdio.h> Void main() { char c; float n; printf(“Digite uma letra: “); scanf(“%c”,&c); printf(“Digite um valor real: “); scanf(“%f”,&n); printf(“Letra: %c , número: %f”,c,f); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 13
  • 14. Tipos de dados, constantes, variáveis, operadores e expressões em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 14
  • 15. Tipos de dados A linguagem C tem os tipos básicos Char (caractere), Int (inteiro), float (real), double (real) E modificadores de tipo, que vêm antes do tipo e podem ser combinados: Unsigned: sem sinal Signed: com sinal (padrão) Short: menor precisão (padrão) Long: maior precisão Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 15
  • 16. Tipos de dados Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 16
  • 17. Constantes e variáveis Constante: porção de dados que não muda seu valor durante a execução do programa. Exemplos: 23, ‘X’, “Linguagem C”, 1.234 Constantes não precisam de nome, mas podemos nomeá-las usando a diretiva #define. Ex: #define PI 3.1415 Variável: porções de dados que podem mudar seu valor durante a execução do programa Uma variável precisa ter um nome e tipo e precisa ser declarada e inicializada Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 17
  • 18. Constantes de barra invertida São códigos que iniciam com uma barra invertida que representam uma constante tipo caractere dentro de strings, como no comando printf. Veja alguns: Código Significado Muito usado no printf para saltar para próxima linha n Nova linha (new line) ” Aspas ’ Apóstrofo 0 Nulo Barra invertida t Tabulação horizontal a Sinal sonoro (beep) N Constante octal (N é o valor da constante) xN Constante hexadecimal (N é o valor da constante) Prof. Mauro Jansen
  • 19. Regras para nomes de variáveis Começar com letra ou sublinhado (_) Caracteres seguintes podem ser letras, números ou sublinhado Não pode ser palavra reservada ou função Maiúsculas e minúsculas fazem diferença Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 19
  • 20. Declaração e inicialização de variáveis A declaração é feita da seguinte forma: <tipo de dado> <lista de variáveis>; Obs: Na linguagem C não há uma seção específica para declaração de variáveis Exemplos: char ch,letra; long cont; Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 20
  • 21. Declaração e inicialização de variáveis Inicialização: podemos atribuir valor no momento da declaração ou depois, usando o operador de atribuição “=“ : Char ch=‘D’; Int num=123; num=10; Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 21
  • 22. Operadores aritméticos Usados em operações matemáticas Operador Ação + Soma - Subtração ou troca de sinal * Multiplicação / Divisão % Resto da divisão ++ Incrementa valor de uma variável -- Decrementa valor de uma variável += Atribuição com soma -= Atribuição com subtração Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 22
  • 23. Operadores relacionais Usados em comparações entre valores Operador > >= < Significado Maior Maior ou igual Menor <= Menor ou igual == Igual != Diferente Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 23
  • 24. Operadores lógicos Usados em expressões lógicas compostas Operador Significado && Operador E. Retorna verdadeiro se ambos valores forem verdadeiros || Operador OU. Retorna verdadeiro se pelo menos um for verdadeiro ! Operador NÃO. Retorna o contrário do valor informado. Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 24
  • 25. Exemplo com operadores e expressões #Include <stdio.h> Void main() { int a,b,c,d; a=10; b=22; c=30; d=40; printf(“a+b = %d”,a+b); // soma a e b printf(“a-b = %d”,a-b); // subtrai b de a printf(“b%%a = %d”,b%a); // resto da divisão de b por a a++; // incrementa a (mesmo que a=a+1) b--; // decrementa b (mesmo que b=b-1) c+=a; // soma a em c (mesmo que c=c+a) d-=b; // soma e em d (mesmo que d=d+b) printf(“a=%d, b=%d, c=%d, d=%d”,a,b,c,d); } OBS: No próximo bloco veremos exemplos com operadores relacionais Linguagem de Programação e lógicos Prof. Mauro Jansen Linguagem C – parte 1 25
  • 26. Estruturas de controle e fluxo em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 26
  • 27. Estrutura condicional if Equivalente em pseudocódigo: se-senão-fimse Sintaxe: If(<condição>) <bloco de comandos> [else <bloco de comandos 2>] Se a condição for verdadeira, executa bloco de comandos 1, senão executa bloco de comandos 2 OBS: Um bloco de comando composto por mais de um comando deve iniciar com { e terminar com } O bloco do else é Linguagem de Programação opcional Prof. Mauro Jansen Linguagem C – parte 1 27
  • 28. Estrutura condicional if (se) Exemplo /* Programa: calcular a média e mostrar situação */ #Include <stdio.h> Void main() { float nota1,nota2,media; // declaração de variáveis printf(“Digite a primeira nota: “); scanf(“%f”,&nota1); printf(“Digite a segunda nota: “); scanf(“%f”,&nota2); media=(nota1+nota2)/2; printf(“A média é: %f n”,media); if(media>=7) printf(“Você está aprovado.n”); else printf(“Você está de recuperação.n”); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 28
  • 29. Estrutura condicional switch-case Equivalente pseudocódigo: escolha Sintaxe: Switch (<variável>) { case <constante1>: <declaração1>; break; case <constante2>: <declaração2>; break; case <constante_n>: <declaraçãoN>; break; default: <declaração default> } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 29
  • 30. Estrutura condicional switch-case Exemplo #Include <stdio.h> void main() { float n1,n2; char op; printf(“Digite um número: “); scanf(“%f”,&n1); printf(“Digite a operação (+,-,* ou /): “); scanf(“%c”,&op); printf(“Digite outro número: “); scanf(“%f”,&n2); switch (op) { case ‘+’: printf(“Soma=%f”,n1+n2); break; case ‘-’: printf(“Soma=%f”,n1-n2); break; case ‘*’: printf(“Soma=%f”,n1*n2); break; case ‘/’: printf(“Soma=%f”,n1/n2); break; default: printf(“Você digitou uma operação inválida!”) } } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 30
  • 31. Operador ternário Operador que permite simplificar tomadas de decisão simples Sintaxe: <expressão1> ? <expressão2> : <expressão3> Exemplo: Equivale a: max=(a>b) ? a : b; If (a>b) max=a; Else max=b; Prof. Mauro Jansen
  • 32. Estrutura de repetição for Equivalente pseudocódigo: para - fimpara É a repetição contada. Sintaxe: for(<inicialização>;<condição>;<incremento>) <bloco de comandos> Inicialização: expressão de inicialização. Ex: n=0 Condição: expressão condição para continuar a repetição. Ex: n<=10 Incremento: expressão de incremento. Ex: n++ Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 32
  • 33. Estrutura de repetição for exemplo: Programa para contar de 1 a 100: #include <stdio.h> { int n; for(n=1 ; n<=100 ; n++) { printf("Contando: %dn",n); } } Prof. Mauro Jansen
  • 34. Estrutura de repetição while Equivalente pseudocódigo: enquanto–faça-fimenquanto Sintaxe: while(<condição>) <bloco de comandos> Inicia e repete o bloco de comandos enquanto a condição for verdadeira É a repetição com teste no início Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 34
  • 35. Estrutura de repetição while Exemplo: Soma quantidade indeterminada de números #include <stdio.h> int main() { float n=1,soma=0; while (n!=0) { printf("Digite um numero (zero=fim):"); scanf("%f",&n); soma+=n; } printf("A soma dos numeros digitados é: %f",soma); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 35
  • 36. Estrutura de repetição do..while Equivalente pseudocódigo: repita - até Sintaxe: do <bloco de comandos> While(<condição>); Executa o bloco de comando e repete enquanto a condição for verdadeira É a repetição com teste no final Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 36
  • 37. Estrutura de repetição do..while Exemplo: Mesmo anterior, agora com do..while: #include <stdio.h> { float n=0,soma=0; do { printf("Digite um numero (zero=fim):"); scanf("%f",&n); soma+=n; } while (n!=0); printf("A soma dos numeros digitados é: %fn",soma); } Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 37
  • 38. Comandos que afetam as estruturas de repetição Comando break: interrompe a repetição, continuando após o bloco de comandos a ser repetido Comando continue: interrompe apenas a repetição atual, voltando ao início do laço Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 38
  • 39. Atividades no DevC++ PRÁTICA, muita PRÁTICA: Testar os exemplos dos slides Testar os exemplos da apostila Resolver exercícios da apostila Resolver as atividades da semana Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 39