Algoritmo e Programação
Unidade IV– Introdução à C
Prof. Msc. Julio Furtado
[email protected]
Objetivo de Aprendizagem

Nesta unidade vamos apresentar
ao aluno os princípios da
linguagem de programação C e
como transformar um algoritmo
em um programa de computador.
Estrutura de um programa C
#include <stdio.h>
main()
{
printf(“Meu primeiro programa em C\n”);
getch();
}
Introdução Linguagem C
Estrutura de um programa C
#include <stdio.h> /*biblioteca de E/S */
main() /*função principal – inicio do programa*/
{ /*marca início da função*/
printf(“Meu primeiro programa em C\n”);
/*função para escrever na tela*/
getch();
} /*marca fim da função*/
Introdução Linguagem C
Nomes de Variáveis


quantos caracteres quiser (32);
comece com letras ou sublinhado:
Seguidos de letras, números ou sublinhados

C é sensível ao caso:
peso

<>
Peso
<>
pEso
não podemos definir um identificador com o
mesmo nome que uma palavra reservada
auto static extern int long if while do ......
Introdução Linguagem C
Tipos Básicos de Dados


determinar um conjunto de valores e as possíveis
operações realizadas sobre os mesmos ;
informa a quantidade de memória (bytes);
tipo
char
int
float
double
bytes
1
2
4
8
Introdução Linguagem C
escala
-128 a 127
-32.768 a 32.767
3.4e-38 a 3.4e+38
1.7e-308 a 1.7e+308
Programa Exemplo – Tipos de
Dados e Variáveis
#include <stdio.h>
main( )
{
int soma=10;
float money=2.21;
char letra= ´A´;
double pi=2.01E6;
printf (“valor da soma = %d\n”, soma);
printf (“Valor de Money = %f\n”, money);
printf(“Valor de Letra = %c\n”, letra);
printf(“Valor de Pi = %e\n”, pi);
getch();
}
Introdução Linguagem C
Intruções de E/S – scanf ( )
 Leitura

de dados tipados via teclado
scanf (“string de controle”, lista de argumentos);
Exemplo:
scanf(“%d”,&idade);
Introdução Linguagem C
Comandos de E/S – printf ( )
 Apresentação

de dados no monitor
printf(“string de controle”, lista de argumentos);
Exemplo:
printf (“Digite a sua idade:\n”);
scanf (“%d”, &idade);
printf(“Sua idade é: %d”, idade);
Introdução Linguagem C
String de controle
%c caracter
%d inteiro
%e número ou notação científica
%f  ponto flutuante (float)
%o  octal
%x hexadecimal
%s string (cadeia de caracteres)
%lf  double
Introdução Linguagem C
Exemplo strings de controle
#include <stdio.h>
main ( )
{
char a ;
printf ( “digite um caracter” );
scanf ( “ %c”, &a );
printf (“ \n %c = %d em decimal”, a, a);
printf (“%o em octal, %x em hexadecimal”, a, a);
getch();
}
Digitando m:
m = 109 em decimal, 155 em octal, 6d em hexadecimal
Programando – Exercício 1

Faça um programa para ler e escrever na tela o
seu nome e a sua idade.
#include <stdio.h>
main( ) {
int idade;
char nome[30];
printf ("Digite o seu nome:\n");
scanf(”%s", nome);
printf ("Digite a sua idade:\n");
scanf ("%d", &idade);
printf("A idade do(a) %s é %d",nome, idade);
getch(); }
Programando – Exercício 2

Faça um programa para ler e escrever na
tela os seguintes dados:





Nome
Endereço
Telefone
Cidade
Cep
Introdução Linguagem C
Operadores Aritméticos
Operador
Ação
+
Adição
*
Multiplicação
/
Divisão
%
Resto da divisão inteira
Subtração (unário)
-Decremento
++ Introdução LinguagemIncremento
C
Operadores Relacionais e Lógicos
Operador
Ação
>
Maior que
>=
Maior ou igual que
<
Menor que
<=
Menor ou igual que
==
Igual a
!=
Diferente de
&&
Condição “E”
||
Condição “OU”
!
Introdução Linguagem C
Não
Operadores - Observação

Em C o resultado da comparação será
ZERO se resultar em FALSO e
DIFERENTE DE ZERO no caso de
obtermos VERDADEIRO num teste
qualquer.
Introdução Linguagem C
Operadores - Exemplo
#include <stdio.h>
Saída: Verd.=1 Falso = 0
main ( )
{
int verdadeiro, falso;
verdadeiro = (15 < 20);
falso = (15 == 20);
printf(“Verd.= %d,Falso= %d”,
verdadeiro, falso);
getch();
}
Introdução Linguagem C
Comparações e Testes
if (10 > 4 && !(10 < 9) || 3 <= 4)
Como seria avaliado esta instrução?
resultaria em Verdadeiro, pois dez é maior
que quatro E dez não é menor que nove
OU três é menor ou igual a quatro
Introdução Linguagem C
Exercícios

Atividade Pontuada (1,0 Pts)
 1) Implemente em C as questões 3 e 4 da
atividade pontuada da Unidade I
Introdução Linguagem C
Estruturas de Decisão

Permitir testes para decidir ações
alternativas:




if
if – else
for
while
Introdução Linguagem C
Comando if
if (condição) {
instrução1;
intrução2;
if (condição)
instrução;
}
#include <stdio.h>
main ( )
{
char ch;
ch = getchar ( );
if (ch == ‘p’)
printf (“você pressionou a
tecla p”);
}
#include <stdio.h>
main ( )
{
if (getchar()) == ‘p’ ) {
printf (“ você digitou p”);
printf (“ pressione outra tecla ”);
getchar( );
}
}
Introdução Linguagem C
if aninhados

Se um comando if está dentro do outro if,
dizemos que o if interno está aninhado.
#include <stdio.h>
main ( )
{
char ch;
printf (“ digite uma letra
entre A e Z”);
ch = getchar ( );
if (ch >= ‘A’)
if (ch < = ‘Z’)
printf (“ você acertou”);
}
#include <stdio.h>
main ( )
{
char ch;
printf (“ digite uma letra
entre A e Z”);
ch = getchar ( );
if ((ch >= ‘A’) && (ch < = ‘Z’))
printf (“ você acertou”);
}
Introdução Linguagem C
Comando if-else


O comando if só executa a instrução caso a
condição de teste seja verdadeira, nada
fazendo se a expressão for falsa.
O comando else executará uma instrução ou
um conjunto de instruções se a expressão for
falsa.
Introdução Linguagem C
Comando if-else
if (condição)
instrução;
else
instrução;
#include <stdio.h>
main ( )
{
if (getchar ( ) == ‘p’)
printf (“ você digitou p”);
else
printf (“ você não digitou p”);
}
Introdução Linguagem C
Comando if-else aninhados
if (condição1)
instrução
else if (condição2)
instrução
else if (condição3)...
#include <stdio.h>
main ( )
{
int número;
scanf (“ % d”, &número);
if (número < 0)
printf (“número menor que zero”);
else if (número < 10)
printf (“ número  e < 10”);
else if (número < 100)
printf (“número  10 e < 100);
else
printf (“número 100”);
}
Introdução Linguagem C
Exercício 1: Programa Adulto, Jovem ou
Velho.
#include <stdio.h>
main()
{
int i;
printf(“Digite sua idade: “);
scanf(“%d”,&i);
if (i > 70)
printf(“Esta Velho!”);
else
if (i > 21)
printf(“Adulto”);
else
printf(“Jovem”);
}
Introdução Linguagem C
Exercício 2: Maior entre três números
main() {
int a,b,c;
printf(“Digite o 1º Número: “);
scanf(“%d”,&a);
printf(“\nDigite o 2º Número: “);
scanf(“%d”,&b);
printf(“\nDigite o 3º Número: “);
scanf(“%d”,&c);
if (a > b)
if (a > c)
printf(“\nO Maior é %d”,a);
else
printf(“\nO Maior é %d”,c);
else
if (b > c)
printf(“\nO Maior é %d”,b);
else
printf(“\nO Maior é %d”,c);
}
Exercício 3: Dados 2 números apresente-os
ordenados.
main()
{
int a,b,t;
printf(“Digite o 1º Número: “);
scanf(“%d”,&a);
printf(“\nDigite o 2º Número: “);
scanf(“%d”,&b);
if (a < b) {
t = a;
a = b;
b = t;
}
printf(“\nOrdenados: %d e %d “,b,a);
}
Introdução Linguagem C
Comando for
for (i = valor_inicial; i <= valor_maximo; i = i++ ){
instrução;
}
#include <stdio.h>
main ( ) {
char ch[10];
for(int i = 0; i <= 9; i++){
ch[ i ] = getchar();
}
for(int i = 0; i <= 9; i++){
printf (“%c”, ch[ I ]);
}
Introdução Linguagem C
Exercício 1: Preencha um vetor com 20
números inteiros e em seguida exiba os
valores informados
#include <stdio.h>
main()
{
int vetor[20];
int i;
for (i =0; i<20; i++){
printf(“Informe um número inteiro: “);
scanf(“%d”,&vetor[i]);
}
for (i =0; i<20; i++){
printf(“Número: %d“, vetor[i]);
}
}
Introdução Linguagem C
Exercício 2: Faça um programa que liste os
primeiros 100 números pares
#include <stdio.h>
main()
{
int vetor[20];
int i;
for (i =0; i<20; i++){
printf(“Informe um número inteiro: “);
scanf(“%d”,&vetor[i]);
}
for (i =0; i<20; i++){
printf(“Número: %d“, vetor[i]);
}
}
Comando while
while (expressão){
instrução;
}
#include <stdio.h>
main ( ) {
char ch;
ch = getchar();
while(ch != ‘X'){
ch = getchar();
}
Introdução Linguagem C
Exercícios

Atividade Pontuada (1,5 Pts)

4) Implementar em C a atividade pontuada da
Unidade II
Introdução Linguagem C
Download

Slides da Aula