Escolar Documentos
Profissional Documentos
Cultura Documentos
de Programação C
Marcelo N. Kapp
A Linguagem C: Considerações
• É uma linguagem de alto nível, genérica. Foi desenvolvida por
programadores para programadores, tendo como meta
características de flexibilidade e portabilidade.
3
C: Normas Gerais (cont.)
• Formação de identificadores: Ao contrário de outras linguagens, C faz
distinção na capitalização dos identificadores de variáveis usados em um
programa, i.e., os identificadores soma, Soma e SOMA são distintos para o
compilador C.
4
C: Normas Gerais (cont.)
• Diretivas de Compilação : são comandos que são processados durante a
compilação do programa. Estes comandos são genericamente chamados
de diretivas de compilação e informam ao compilador C quais são as
constantes simbólicas usadas no programa e quais bibliotecas devem ser
anexadas ao programa executável.
5
Esqueleto básico
#include <stdio.h> /*diz ao pré-processador para ler o arquivo stdio.h
(biblioteca para entrada e saída de dados) e inseri-lo no programa fonte*/
int main() {
return 0;
}
Processo geral
1) Criar um arquivo texto para conter o código fonte de um programa.
Exemplo: Abra um terminal e tecle: gedit programa.c
3) Salve o arquivo.
8
Processo geral
1) Utilizando o esqueleto básico de programa apresentado anteriormente,
a saída do programa deve ser a frase: Estou aprendendo a Linguagem C!
#include <stdio.h>
int main() {
printf(“Estou aprendendo a Linguagem C!”);
return 0;
}
2) Salve o arquivo.
• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas, lógicas e de
decisão.
• Exercícios
11
Variáveis
• Uma das necessidades mais comuns em programação é
guardar dados.
• Variáveis são:
•simplesmente pedaços da memória que armazenam um
certo valor (um número, um texto por exemplo) e que têm
um nome!!!
12
Variáveis
1) Nomes de variáveis começam com uma letra ('A'..'Z', 'a'..'z') ou
pelo underscore ('_');
13
Variáveis
· Aqui estão alguns exemplos de nomes de identificadores corretos e
incorretos:
Correto Incorreto
Count 1Count
Test23 Olá!Aqui
high_balance high...balance
14
Variáveis
• Tipos
Números inteiros – 1, 25, 374, 9835, etc
int var_inteira;
16
Exemplo com Variáveis Inteiras
1) Programa que imprima a soma de dois números inteiros:
#include <stdio.h>
int main() {
int a;
int b;
int soma;
a=9;
b=11;
soma=a+b;
printf(“Soma: %d!”, soma);
return 0;
}
2) Salve o arquivo.
3) Compile o programa novamente:
gcc programa.c -o executavel
4) Execute o programa gerado no terminal. Para isto: ./executavel
Exemplo com Leitura de Entrada com
Variáveis Inteiras
1) Programa que leia do teclado dois números inteiros e imprima o
resultado da multiplicação:
#include <stdio.h>
int main() {
int a;
int b;
int resultado;
scanf(“%d”,&a);
scanf(“%d”,&b);
resultado=a*b;
printf(“Resultado: %d!”, resultado);
return 0;
}
2) Salve o arquivo.
3) Compile o programa novamente:
gcc programa.c -o executavel
4) Execute o programa gerado no terminal. Para isto: ./executavel
Constantes
• Exemplo:
#define PI 3.1415926536
int main(){
float area_do_circulo, raio;
raio=3.8;
area_do_circulo=(raio*raio)*PI;
}
19
Sumário
• Bibliotecas
• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas, lógicas e de
decisão.
• Exercícios
20
Operadores
• Um operador é:
- Símbolo que diz ao compilador para realizar
manipulações matemáticas e lógicas específicas.
21
Operador de Atribuição
• O operador “=” atribui um valor ou resultado de uma
expressão contida a sua direita para a variável
especificada a sua esquerda.
• Exemplos:
a = 10;
b = c * valor + 12;
a = b = c = 1; /*Aceita associação sucessiva de valores*/
22
Operadores Aritméticos
• São aqueles que operam sobre números e expressões,
resultando valores numéricos.
Operador Ação
+ Adição
- Subtração
* Multiplicação
/ Divisão
% Módulo da divisão
- Sinal negativo
23
Uso de Parênteses
l Adicionais ou redundantes não causará erros ou diminuirá
a velocidade de execução de uma expressão.
24
Operadores Relacionais
• Operam sobre expressões, resultando valores lógicos de
TRUE (verdadeiro) ou FALSE (falso).
Operador Ação
> Maior
< Menor
<= Menor ou igual
== Igual
!= Diferente
Atenção!
• Não existem os operadores relacionais: “=<“, “=>“ e “<>“.
• Não confunda a atribuição (“=“) com a comparação (“==“).
25
Operadores Lógicos
• Resultam e operam sobre valores lógicos de TRUE
(verdadeiro) ou FALSE (falso):
Operador Ação
&& e (and)
|| ou (or)
! negação
• se (a == b) && (b == c)
• se (a == b) || (b == c)
26
Sumário
• Bibliotecas
• Variáveis e Constantes
• Operadores (lógicos e relacionais)
• Controle de fluxo
• Exemplos com expressões aritméticas,
lógicas e de decisão.
• Exercícios
27
Controle de fluxo
Os comandos de controle de fluxo podem ser divididos em 2
grupos principais:
l Instruções condicionais;
l Estrutura de repetição;
28
Controle de Fluxo - Instruções condicionais
Instruções:
lif – else
l se - senão
29
Controle de Fluxo - Instruções condicionais - if
Funcionamento:
if (condição)
Executa instrução para condição verdadeira;
else
Executa instrução para condição falsa;
30
Controle de Fluxo - Instruções condicionais - if
#include<stdio.h>
int main()
{
int num1,num2,soma;
printf("Digite o primeiro valor inteiro a ser somado:");
scanf("%d",&num1);
printf("Digite o segundo valor inteiro a ser somado:");
scanf("%d",&num2);
soma=num1+num2;
printf("Soma: %d ",soma);
if ((soma%2)==0)
printf("numero par \n");
else
printf("numero impar \n");
return 0;
}31
Controle de Fluxo - Instruções condicionais - if
if(condição1)
Instrução1;
else
If(condição2)
Instrução2;
else
if(condição3)
Instrução3;
else
Instrução4;
32
Estruturas de Repetição
33
Estruturas de Repetição - for
Sintaxe do laço:
for (inicialização; condição; incremento)
Comando_a_ser_repetido;
Exemplo simples:
#include<stdio.h>
int main(){
int n1, resposta;
resposta=0;
while(resposta==0){
printf("Digite valor de n1(inteiro):\n");
scanf("%d",&n1);
resposta=n1%2;
}
return 0;
35
}
Ferramentas
l Online
l Repl.it
l https://www.onlinegdb.com/
36
Bibliografias
lVieira, N. J. Introdução aos Fundamentos da Computação, Pioneira
Thomson, 2006.
Murdocca, M. J. , Heuring V. P., Introdução a Arquitetura de
l
37