Algoritmos e Programação I
ADS - 1º Semestre Professora Andréia Machion
Esta Aula
Uma pequena revisão
Estrutura de um Programa em C
Declarando variáveis
Acessando valores
Atribuições
Por que Linguagem C mesmo?
Objetivo
–
Desenvolver raciocínio
Linguagem altamente difundida
Paradigma procedimental imperativo
Seqüências de instruções
Disponível para qualquer sistema operacional
Subsídios para programar o próprio sistema Operacional
E você lembra o que é Compilar um
Programa?
Programa Original
(arquivo texto)
Estrutura de um programa em C
cabeçalhos Diretrizes Bibliotecas
Definições Declarações Globais
Variáveis Funções Tipos de Dados Função MAIN
Principal função do programa, 1 por programa variáveis
Instruções
Seção Cabeçalho
Diretrizes de inclusão de bibliotecas
#include <stdio.h>
# indica que o programador está informando alguma coisa para o compilador
include indica que o programa irá fazer uso de alguma biblioteca
<stdio.h> é o nome da biblioteca Standard Input/Output
Função Principal - main
A função main() é a função
principal de um programa.
Ou seja, todo programa tem
que ter a função main(), caso
contrário o compilador
reclama e não gera o
executável.
Um programa começa
executando a função main().
E um programa termina,
quando esta função termina.
Porém, dentro da função
main() você pode chamar
(executar) outras funções.
int main () {
}
declaração de variáveis
Instruções ou comandos
Variáveis
Toda variável tem 2 elementos
Tipo de dado que ela armazena
Um nome, identificando-a
Declarando variáveis em C
tipo nome, outronome, outronome;
Exemplos
int a;
int b, c;
char letra1, letra2;
Identificadores
São os nomes que podem ser dados para variáveis, constantes e funções.
Para a escolha destes nomes é necessário seguir algumas regras: • Um identificador deve iniciar por uma letra ou por um "_" (underscore); • A partir do segundo caracter pode conter letras, números e underscore; • Devem-se usar nomes significativos dentro do contexto do programa;
• C é uma linguagem case-sensitive, ou seja, faz diferença entre nomes com letras
maiúsculas e nomes com letras minúsculas. Peso e peso são diferentes;
• Costuma-se usar maiúsculas e minúsculas para separar palavras: "PesoDoCarro";
• Deve ser diferente dos comandos da linguagem;
• Deve ter no máximo 31 caracteres (no caso do TurboC);
• Pode conter números a partir do segundo caracter;
• Exemplos:
Idade, Contador, PesoDoCarro, Usuario_1, CorDaPagina, RaioDoCirculo
Declaração de Variáveis com valores iniciais
tipo nome=valor_inicial;
Exemplos
int n = 3;
float x = 7.5;
char
c = ‘
-
’;
int a, b = 0, c;
Constantes
Constantes são valores que não podem ser alterados
durante a execução do programa.
Para criar uma constante existe a diretiva #define que,
em geral é colocado no início do programa fonte.
Exemplos
#define LARGURA_MAXIMA 50
#define NRO_DE_DIAS_DA_SEMANA 7 #define NRO_DE_HORAS_DO_DIA 24 #define VALOR_DE_PI 3.1415
Incluindo bibliotecas e
Definindo constantes
Incluindo as bibliotecas necessárias: #include <stdio.h>
#include <stdlib.h>
A linha abaixo define MAX_ITENS como sendo 20: #define MAX_ITENS 20
Com isso, teremos uma constante de valor 20 com um nome bem sugestivo. Além disso, temos outra vantagem. Imagine agora se nós tivéssemos aumentado a lista de preços para 40 itens. Só teríamos que mudar para:
#define MAX_ITENS 40
Se a constante MAX_ITENS for usada várias vezes no nosso programa, isso pode representar uma economia considerável de tempo, já que só tenho de alterar uma linha.
Operadores aritméticos
+
soma
-
subtração
*
multiplicação
/
divisão
Atribuição
variável “recebe” uma expressão
var
expressão
x = a + b;
x = s + 15;
f = 9/5 * c + 32;
Note que a atribuição é sempre da direita para esquerda
uma expressão ao contrário gera um erro de
lvalue
Entrada de dados
scanf
Entrada formatada de dados pelo teclado
scanf(“string de formato”, &variavel , &variavel ,…);
scanf(“%f", &altura);
scanf(“%d", &idade);
Saída de dados
printf
Saída formatada de dados para o console
printf(“mensagem + formato”, variavel , variavel ,…);
printf(“ a altura é %f :", altura);
printf(“ a idade é %d :", idade);
printf(“\n altura: %f idade :%d \n", altura, idade);
Formato de dados (I/O)
%c Caracter char
%s cadeias de caracteres char[]
%d numero decimal int
%hd numero decimal pequeno (short) short int %ld numero decimal grande (long) long int
%u numero decimal sem sinal unsigned int
%hd numero decimal sem sinal pequeno unsigned short int %ld numero decimal grande sem sinal unsigned long int
%o numero decimal em octal int
Formatos de saída
para números inteiros %d
%nd
sendo n o número de dígitos ocupados
exemplo: %5d
–
ocupa 5 dígitos mesmo que o número tenha
menos, preenchendo com espaços em branco à esquerda
para números reais %f
%n.mf
sendo n o número total de dígitos
e m o número dígitos depois da vírgula
exemplo: %6.2f
–
ocupa 6 dígitos no total, 2 depois da vírgula e
o ponto conta 1
\a
Sinal sonoro
\n
New line
\r
Carriage return
\v
Vertical tabulation
\t
Horizontal
tabulation
\\
Caracter \
\
’
Caracter ‘
\
”
Caracter “
\b
Backspace
Exemplo: cálculo de porcentagens
Lembre-se, na matemática,
15% de 345 é dado por:
15/100*345
O algoritmo:
ler um valor e armazenar
em uma variável a
calcular 15% de a,
armazenando-o em b
exibir o resultado
Os comandos na
linguagem
scanf
(“%f”, &a);
b = (float) 15/100*a;
printf
(“valor = %f”, b);
Exemplo - programa completo
#include <stdio.h>
int main () { float a, b;