Buscar

aula linguagem C introducao

Prévia do material em texto

Ambientes para 
programação
Programação em C
IDE – Ambiente Integrado para 
Desenvolvimento
Windows - Compilador MinGW (GCC Windows) e Code Blocks. 
Instalação integrada disponível através do link:
 http://www.codeblocks.org/downloads 
Linux - no terminal digite:
 sudo aptitude install build-essential codeblocks
Comandos básicos
● Compilar e rodar o programa: F9
● Identar automaticamente o código:
● Menu Plugins → Source Code Formatter
● Completar código: 
● ctrl+espaço (códigos existentes)
● ctrl+j (códigos configurados em abreviações)
– Novas abreviações podem ser incluídas através do 
Menu: Settings → Editor → Abreviations
Programação utilizando o editor de 
texto e um terminal embutido
Editor: gedit
● Configurações principais:
● Menu Editar → Preferências (Plugins, marcar terminal 
embutido)
● Menu Ver → Painel Inferior (para visualizar o terminal 
embutido)
● Completar código: 
● Inicia a escrever o comando + TAB
● Novos códigos: 
– Podem ser incluídas através do Menu: Ferramentas → 
gerenciar trechos ou manage snippets 
Introdução
Programação em C
 6
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Compiladores e interpretadores
Portanto
✔ A maneira de se comunicar com o computador é através de 
um programa.
✔ A única linguagem entendida pelo computador é a 
LINGUAGEM DE MÁQUINA.
Todos os programas que se comunicam com a 
máquina devem estar em linguagem de máquina.
 7
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Interpretadores
1. Lê a primeira instrução do programa
2. Verifica a consistência de sua sintaxe
3. Converte para linguagem de máquina 
4. Executa a instrução
5. Segue para a próxima instrução e repete as etapas 1-4 até que 
termine todas as instruções ou encontre um erro.
Erros: 0
 8
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Compiladores
1. Lê a primeira instrução do programa
2. Verifica a consistência de sua sintaxe
3. Converte para linguagem de máquina 
4. Segue para a próxima instrução e repete as etapas 1-3 até que 
termine todas as instruções ou encontre um erro
5. Ao final, gera um programa em disco (código objeto) com as 
instruções já traduzidas
6. O linkeditor agrega as rotinas necessárias em linguagem de 
máquina e gera um arquivo executável, o qual pode ser 
executado diretamente pelo sistema operacional
Erros: 0
 9
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Como criar um programa executável
1. Digitar o programa com um editor de textos
2. Gravar o programa em disco dando um nome a ele com 
extensão .c
Ex.: primeiro.c
3. Compiliar o código-fonte de acordo com seu compilador
Ubuntu: gcc primeiro.c -o NomeArquivoExecutavel
 10
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Como executar um programa
1. Digitar o seguinte comando no terminal
./nomeArquivoExecutavel
Exemplo:
./primeiro
 11
Linguagens de Programação
Instituto de Ciência e Tecnologia
Origem de C está associada ao sistema Unix
✔ Histórico:
– 1970: Ken Thompson desenvolve B, baseada em BCPL, para 
o primeiro Unix no DEC PDP-7
– 1972: Dennis Ritchie projeta a linguagem C, baseada na 
linguagem B. 
– 1988: o American National Standard Institute (ANSI) define o 
padrão ANSI C
✔ É considerada uma linguagem de nível médio
✔ É “case sensitive”, ou seja, interpreta como diferentes letras 
maiúsculas de minúsculas
Linguagem C
Histórico 
Variáveis e tipos de dados
Programação em C
 13
Linguagens de Programação
Instituto de Ciência e Tecnologia
✔ Como armazenar em um programa os dados de entrada, 
fornecidos pelo usuário?
✔ O que fazer com os resultados das operações?
✔ Variáveis são elementos que estão associados a posições de 
memória, cujo objetivo é o armazenamento informações.
✔ ...por tempo suficiente ao seu processamento
Linguagem C
Variáveis e tipos de dados
 14
Linguagens de Programação
Instituto de Ciência e Tecnologia
Uma constante tem valor fixo e invariável
✔ ' z ' : caractere
✔ “ teste ” : cadeia de caracteres
✔ 5 : constantes numéricas (número decimal inteiro)
✔ 5.2 : constante numérica (número decimal fracionário)
✔ 03 : constante numérica (número octal)
✔ 0x3 : constante numérica (número hexadecimal)
Linguagem C
Constantes 
 15
Linguagens de Programação
Instituto de Ciência e Tecnologia
Uma variável é uma posição da memória cujo 
conteúdo pode ser modificado durante a execução de 
um programa, devendo ser-lhe associados um 
identificador e um tipo.
Linguagem C
Variáveis
 16
Linguagens de Programação
Instituto de Ciência e Tecnologia
Identificador: nome escolhido pelo programador que faz 
referência a elementos tais como as variáveis
1.Regras para a definição de identificadores:
– Na formação do identificador só podem ser utilizados: 
dígitos, letras (tanto maiúsculas quanto minúsculas) e o 
caractere de sublinhado ( _ )
– O identificador deve começar sempre com uma letra ou 
caractere de sublinhado
2.• Apenas os 31 primeiros caracteres são considerados na 
escrita de um identificador.
Linguagem C
Identificadores
 17
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Em C, há diferença entre maiúsculo e minúsculo
– Exemplo:
– Nome ≠ nome ≠ NOME
• Não pode ser empregar qualquer uma das palavras 
reservadas à linguagem C como identificadores
Linguagem C
Identificadores
 18
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Palavras-chaves em C(ANSI)
auto double int struct
break else long switch
case enum register typedef
char extern return union
const float short unsigned
continue for signed void
default goto sizeof volatile
do if static while
 19
Linguagens de Programação
Instituto de Ciência e Tecnologia
Exemplos de nomes de variáveis:
Linguagem C
Variáveis
Corretos
Soma
Teste1
Media_Ari
_sizeint
Incorretos
1Soma
Teste!
Media..Ari
_size-int
 20
Linguagens de Programação
Instituto de Ciência e Tecnologia
O tipo de uma variável define os valores que ela pode 
assumir e as operações que podem ser realizadas com ela
✔ Descreve a natureza da informação
• Ex: 
– variáveis tipo int recebem apenas valores inteiros
– variáveis tipo float armazenam apenas valores reais
Linguagem C
Tipos de dados
 21
Linguagens de Programação
Instituto de Ciência e Tecnologia
✔ char: um byte que armazena o código de um caractere do 
conjunto de caracteres local
✔ int: um inteiro cujo tamanho depende do processador, 
tipicamente 16 , 32 ou 64 bits
✔ float: um número real com precisão simples
✔ double: um número real com precisão dupla
Linguagem C
Tipos de dados básicos em C
 22
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Os modificadores alteram algumas características dos 
tipos básicos para adequá-los a necessidades específicas
• Modificadores:
– signed: indica número com sinal (inteiros e caracteres)
– unsigned: número apenas positivo (inteiros e caracteres)
– long: aumenta abrangência (inteiros e reais)
Linguagem C
Modificadores de Tipos
 23
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Abrangência de dados: 16 bits
Tipo Bit Bytes Abrangência
char 8 1 -128 a 127
unsigned char 8 1 0 a 255
int 16 2 -327680 a 32767
unsigned int 16 2 0 a 65535
long int 32 4 -2.147.483.648 a 
2.147.483.647
float 32 4 3.4E-38 a 3.4E+38
double 64 8 1.7E-308 a 1.7+308
void 0 0 Sem valor
 24
Linguagens de Programação
Instituto de Ciência e TecnologiaEm C todas as variáveis devem ser declaradas!
✔ A declaração de uma variável segue o modelo:
TIPO_VARIÁVEL lista_de_variáveis
✔ Ex:
int x, y,z;
float g;
unsigned int u;
char c = 'A' ; /* variável definida e iniciada*/
char s[ ] = “vetor de caracteres”
Linguagem C
Declaração de variáveis 
 25
Linguagens de Programação
Instituto de Ciência e Tecnologia
1. Locais
2. Parâmetros Formais
3. Globais
Linguagem C
Localização das Variáveis
Operadores
Programação em C
 27
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Correspondem a símbolos simples ou combinados que 
representam operações de natureza: aritmética, relacional 
ou lógica.
• Podem ser classificados também quanto a quantidade de 
elementos sob os quais incidem, i.e., unários, binários ou 
ternários.
Linguagem C
Operadores
 28
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Representam as operações aritméticas básicas
Linguagem C
Operadores Aritméticos
Operação Operador
Adição +
Subtração -
Multiplicação *
Divisão /
Resto %
Incremento ++
Decremento --
 29
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Estabelecem relações/comparações
Linguagem C
Operadores Relacionais
Operação Operador
Igualdade ==
Diferença !=
Maior >
Maior ou Igual >=
Menor <
Menor ou Igual <=
 30
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Estabelecem relações/comparações
Linguagem C
Operadores Lógicos
Operação Operador
Negação !
Conjunção &&
Disjunção ||
 31
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Forma geral:
variavel = expressão ou constante
• Armazena o conteúdo dado a direita no elemento dado à 
esquerda
• Múltiplas atribuições
– C permite a atribuição de mais de uma variável em um 
mesmo comando:
x = y = z = 0;
Linguagem C
Operador de Atribuição (de variável)
 32
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Expressões são compostas por:
– Operandos: a, b, x, Meu_dado, 2...
– Operadores: +, -, %, ...
– Pontuação: ( )
– Funções: pow(), sqrt(), ...
• Ex:
X 14
x + y (x + y)*z + w – v
( -b + sqrt(delta) ) / 2*a
Linguagem C
Expressões
 33
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Expressões retornam um valor:
x = 5 + 4 /* retorna 9 */
• esta expressão atribui 9 a x e retorna 9 como resultado da 
expressão
((x = 5 + 4) == 9) /* retorna verdade = 1 */
• na expressão acima, além de atribuir 9 a x, o valor retornado 
é utilizado em uma comparação 
Linguagem C
Expressões
 34
Linguagens de Programação
Instituto de Ciência e Tecnologia
• A ordem em que uma expressão é avaliada depende da 
prioridade dos operadores e da pontuação
• Expressões podem aparecer em diversos pontos de um 
programa
– comandos /* x = y; */
– parâmetros de funções /* sqrt(x + y); */
– condições de teste /* if (x == y) */ 
Linguagem C
Expressões
 35
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Quando uma variável de um tipo é atribuída a uma de outro 
tipo, o compilador automaticamente converte o tipo da variável 
a direita de “=” para o tipo da variável a esquerda de “=”
• Ex:
int i; char ch; float f;
ch = i; /* ch recebe 8 bits menos significativos de x */
i = f; /* x recebe parte inteira de f */ 
f = ch; /* f recebe valor 8 bits convertido para real */
f = i; /* idem para inteiro i */
Linguagem C
Conversão de tipos
Estrutura básica 
Programação em C
 37
Linguagens de Programação
Instituto de Ciência e Tecnologia
main() Primeira função a ser executada
{ Inicia o corpo da função
} Termina o corpo da função
Todo programa, escrito na linguagem C, deve apresentar uma 
função principal chamada main, que define todo o corpo do 
programa
✔ A função main deve existir em algum lugar do programa e 
marca o ponto de início da execução do mesmo
Linguagem C
Estrutura básica de um programa em C
 38
Linguagens de Programação
Instituto de Ciência e Tecnologia
#include<stdio.h>
main() 
{
printf(“Primeiro programa!”); 
} 
Linguagem C
Instruções de um programa
 39
Linguagens de Programação
Instituto de Ciência e Tecnologia
// Comentário de uma linha
/* Comentário de mais de uma linha* /
Linguagem C
Comentários em C
 40
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Empregados para que o sistema forneça, em um dispositivo 
de saída, as mensagens e resultados de seu processamento.
• O dispositivo padrão de saída é o monitor.
• A linguagem C oferece alguns comandos de saída,mas o que 
apresenta propósito mais geral é o printf.
Linguagem C
Comandos de saída
 41
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Sintaxe:
printf(“Mensagem”, lista de variáveis);
• Funcionamento:
– O comando escreve a mensagem dada no dispositivo padrão 
de saída, realizando a substituição das máscaras de 
formatação encontradas pelas respectivas variáveis dadas na 
lista subsequente à mensagem.
– O dispositivo padrão é dado pela variável stdout
✔ Biblioteca necessária: include<stdio.h>
Linguagem C
O comando printf
 42
Linguagens de Programação
Instituto de Ciência e Tecnologia
Caracteres que não podem ser obtidos diretamente do teclado 
para dentro do programa são escritos em C como a 
combinação do sinal \ (barra invertida) com outros caracteres:
\a bip
\b backspace
\n nova linha
\r return
\t tabulação horizontal
\’ apóstrofe
\” aspas
\\ barra invertida
Linguagem C
Constantes do tipo char
 43
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Símbolo de por cento seguido de uma letra:
• %c Caractere
• %d Inteiros com sinal
• %u Inteiros sem sinal
• %f Números reais
• %e Notação científica
• %x Números em hexadecimal
• %s Cadeia de caracteres (strings)
Linguagem C
Máscaras de formatação
 44
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Saída formatada printf().
 Ex:
– O trecho abaixo:
int i = 10;
float r = 3.1514;
char s[] = “Curso inicial”; /* cadeia de caracteres */
printf(“Inteiro: %d, Real: %f, String: %s”,i,r,s);
– Produz:
Inteiro: 10, Real: 3.151400, String: Cuso inicial
Linguagem C
Exemplo
 45
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Utilizado para receber dados fornecidos pelo usuário (dados 
de entrada) e armazená-los na memória principal (em 
variáveis)
• Os dados são fornecidos ao sistema por meio de um 
dispositivo de entrada, cuja configuração dada como padrão é 
o teclado.
• A linguagem C oferece vários comandos de entrada, cada 
qual mais indicado para uma situação em particular.
• O principal comando de entrada é o scanf
Linguagem C
Comandos de entrada
 46
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Sintaxe:
scanf(“formato”, &variável);
• Funcionamento:
– O comando coleta as informações dadas no dispositivo 
padrão de entrada, interpretando as informações segundo a 
máscara de formatação e armazenando na(s) respectiva(s) 
variável(is) dada(s) subsequentemente ao formato.
– O dispositivo padrão é dado pela variável stdin
Linguagem C
O comando scanf
 47
Linguagens de Programação
Instituto de Ciência e Tecnologia
scanf(“expressão de controle”, lista de argumentos); 
A expressão de controle pode conter:
 
✔ Especificadores de formato (são precedidos por %)
✔ Caracteres de espaço em branco ( espaço, tabulação, enter)
✔ Caracteres de espaço não branco
Linguagem C
Sintaxe da funçãoscanf
 48
Linguagens de Programação
Instituto de Ciência e Tecnologia
• Entrada formatada scanf().
– Ex:
int i; float r; char str[10];
scanf(“%d”,&i);
scanf(“%f”,&r);
scanf(“%s”,&str);
– Ou ainda:
int dia, mes, ano; 
scanf(“%d/%d/%d”, &dia, &mes, &ano);
Linguagem C
Exemplo
 49
Linguagens de Programação
Instituto de Ciência e Tecnologia
Linguagem C
Especificadores de formato da função scanf
Código:
%c
%d
%i
%f
%o
%x
%s
%[ ]
Significado:
Lê um único caractere
Lê um inteiro decimal
Lê um inteiro decimal
Lê um número em ponto flutuante
Lê um número octal
Lê um número hexadecimal
Lê um string (conjunto de caracteres)
Busca por um conjunto de caracteres
Exercícios
Programação em C
	Slide 1
	Slide 2
	Slide 3
	Slide 4
	Slide 5
	Slide 6
	Slide 7
	Slide 8
	Slide 9
	Slide 10
	Slide 11
	Slide 12
	Slide 13
	Slide 14
	Slide 15
	Slide 16
	Slide 17
	Slide 18
	Slide 19
	Slide 20
	Slide 21
	Slide 22
	Slide 23
	Slide 24
	Slide 25
	Slide 26
	Slide 27
	Slide 28
	Slide 29
	Slide 30
	Slide 31
	Slide 32
	Slide 33
	Slide 34
	Slide 35
	Slide 36
	Slide 37
	Slide 38
	Slide 39
	Slide 40
	Slide 41
	Slide 42
	Slide 43
	Slide 44
	Slide 45
	Slide 46
	Slide 47
	Slide 48
	Slide 49
	Slide 50

Outros materiais

Perguntas Recentes