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

Linguagem c parte 1

  • 1.
    Curso: Manutenção eSuporte 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 à linguagemC Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 2
  • 3.
    Histórico Criada na décadade 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 paraa 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 docompilador 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 deum 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 úteispara 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 oscomandos 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 programaem 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 Alinguagem 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 barrainvertida 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 nomesde 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çãode 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çãode 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 emoperaçõ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 emcomparaçõ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 emexpressõ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 operadorese 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 controlee fluxo em C Prof. Mauro Jansen Linguagem de Programação Linguagem C – parte 1 26
  • 27.
    Estrutura condicional if Equivalenteem 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 Equivalentepseudocó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 quepermite 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çãofor 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çãofor 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çãowhile 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çãowhile 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çãodo..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çãodo..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 afetamas 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