Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

Introdução à linguagem C 
Programação I – EMB 5600 
Objetivos da aula 
 
• Introduzir a linguagem de programação C 
como uma ferramenta para a aprendizagem 
de programação de computadores 
 
2 
Características 
• Linguagem extremamente popular 
• Uma linguagem de propósito geral 
• Uma linguagem de alto nível 
• Uma linguagem compilada 
• Uma linguagem com sintaxe bem definida 
3 
Codeblocks 
• Realizar download em 
http://www.codeblocks.org/downloads/26 
– Optar pela opção 
com MingW 
 
 
4 
Codeblocks 
5 
Codeblocks 
Aula teórica 01 6 
Colocar um nome 
para o projeto 
Codeblocks 
 
Aula teórica 01 7 
Esqueleto programa em C 
8 
Esqueleto programa em C 
• No início do programa temos as declarações 
globais: 
– #include <nome_da_biblioteca> 
– Declara as bibliotecas necessárias 
– Biblioteca é um conjunto de funções (pedaços de 
códigos) já implementados e que podem ser 
utilizados pelo programador 
9 
Esqueleto programa em C 
• Todo programa C deve conter a função main() 
– Função responsável pelo início da execução do 
programa, e é dentro dele que colocamos os 
comandos que queremos que o programa execute 
– A função foi definida como inteira e por isso 
temos que inserir o return 0 para informar que o 
programa chegou corretamente ao final 
 
• As chaves definem os blocos 
• Os parênteses definem os parâmetros 
10 
Tipos de variáveis 
Tipo Tamanho em Bytes Faixa Mínima Especificador 
char 1 -127 a 127 c 
unsigned char 1 0 a 255 
signed char 1 -127 a 127 
int 4 -2.147.483.648 a 2.147.483.647 d ou i 
unsigned int 4 0 a 4.294.967.295 
signed int 4 -2.147.483.648 a 2.147.483.647 
short int 2 -32.768 a 32.767 
unsigned short int 2 0 a 65.535 
signed short int 2 -32.768 a 32.767 
long int 4 -2.147.483.648 a 2.147.483.647 
signed long int 4 -2.147.483.648 a 2.147.483.647 
unsigned long int 4 0 a 4.294.967.295 
float 4 Seis dígitos de precisão f 
double 8 Dez dígitos de precisão 
long double 10 Dez dígitos de precisão 
11 
Declaração de variáveis 
12 
Declaração de variáveis 
13 
Declaração de variáveis 
int a; //declarar 
a = 2; //atribuir 
 
//declarar e atribuir 
int a = 2; 
 
//declarar várias variáveis do mesmo tipo 
int a, b, c; 
int a=2, b, c; 
 
Atribuição sempre utiliza-se um sinal de igual! 
14 
Condições 
15 
• Condições são definidas para realizar testes, 
utilizam operadores matemáticos, relacionais 
e lógicos e em C são: 
Operadores relacionais 
16 
 
Operadores relacionais 
a = 1 // atribuição 
 
a == b // igualdade 
a > b // maior 
a < b // menor 
a >= b // maior ou igual 
a <= b // menor ou igual 
a != b // diferente 
17 
Operadores relacionais 
a = 1 // atribuição 
b = 5 // atribuição 
 
a == b // igualdade 
a > b // maior 
a < b // menor 
a >= b // maior ou igual 
a <= b // menor ou igual 
a != b // diferente 
18 
Operações aritméticas 
 Operações: 
 
 
 
 
• Precedência de operadores 
19 
Operação Operador Exemplo 
Multiplicação * 3 * 2  6 
Divisão inteira int / int 5 / 2  2 
Divisão real Int / float 5 / 2.0  2.5 
Resto de divisão (mod) % 5 % 2  1 
Subtração - 5 – 2  3 
Soma + 2 + 3  5 
Operações lógicas 
 Operações lógicas: 
 
 
 
 
20 
Operações lógicas 
21 
Operações lógicas 
22 
Entrada de dados 
• Comando scanf(especificador, &variável); 
 
• Exemplo: 
int a; 
scanf("%i", &a); 
23 
Saída de dados 
• Comando printf (mensagem, variáveis) 
 
• Exemplos: 
int a = 2; 
printf("%i\n", a); //mostra o valor 
printf("Valor: %i\n", a); //concatena com mensagem 
printf("Dobro: %i\n", a*2); //concatena e faz 
operação 
printf("Valor: %i - Dobro: %i\n", a, a*2); //vários 
valores 
24 
Definição de blocos 
• São utilizados como delimitadores de bloco { e } 
 
• Exemplo: 
int a=2, b=3; 
if (a == b) { 
 printf(“%i”, b); 
} 
 
25 
Exemplo 
#include <stdio.h> 
 
int main() 
{ 
 int anos, valor_por_ano, bonus; 
 printf("Anos de servico: "); 
 scanf("%i", &anos); 
 printf("Valor por ano: "); 
 scanf("%i", &valor_por_ano); 
 bonus = (anos - 1) * valor_por_ano; 
 printf("Bonus de: %i", bonus); 
 
 return 0; 
} 
26 
Compilação e Execução 
Compilar (construir) – CTRL F9 
 
 
 
 
Construir e executar – F9 
 
 
 
 27 
Compilação e Execução 
Executar CTRL F10 
 
 
 
 
 
• Arquivo executável na pasta Debug 
28 
Compilando programas C no Linux 
• Para compilar um programa C no Linux utiliza-se, via 
linha de comando, o seguinte comando: 
 gcc prog.c -o prog 
Onde: 
 prog.c é o nome do arquivo que contém o código; 
 -o prog indica o arquivo de saída do compilador — o 
arquivo executável que conterá o programa. 
• Para executar o programa digita-se: 
 ./prog 
 
 
Entrada e saída de dados 
30 
Lendo variáveis do teclado 
• A função scanf() permite a leitura de variáveis do 
teclado de acordo com o formato especificado 
 
scanf(“tipos de saída”, lista de variáveis) 
 
• A função recebe dois parâmetros de entrada: 
– “tipos de saída”: conjunto de caracteres que 
especifica o formato dos dados a serem lidos 
– Lista de variáveis: conjunto de nomes de variáveis, 
separados por vírgula, em que cada nome de variável 
é precedido pelo operador & (variáveis passadas pelo 
endereço) 
31 
Lendo variáveis do teclado 
scanf(“tipos de saída”, lista de variáveis) 
 
 
32 
Lendo variáveis do teclado 
scanf(“tipos de saída”, lista de variáveis) 
 
 
33 
Lendo variáveis do teclado 
int getchar(void): permite ler um único caractere do 
teclado (lê o código ASCII do caractere) 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 char c; 
 c = getchar(); 
 printf("caractere: %c\n", c); 
 printf("codigo ASCII: %d\n", c); 
 system("pause"); 
 return 0; 
 
} 
 
 
34 
Escrevendo variáveis na tela 
• A função printf() permite a escrita formatada na 
saída de vídeo (tela) 
 
printf(“tipos de saída”, lista de variáveis) 
 
• A função recebe dois parâmetros de entrada: 
– “tipos de saída”: conjunto de caracteres que 
especifica o formato dos dados a serem escritos e/ou 
o texto a ser escrito 
– Lista de variáveis: conjunto de nomes de variáveis, 
separados por vírgula, que serão escritos 
 
35 
Escrevendo variáveis na tela 
printf(“tipos de saída”, lista de variáveis) 
 
 
36 
Escrevendo variáveis na tela 
37 
Escrevendo variáveis na tela 
38 
• É possível adicionar texto antes, depois ou 
entre dois tipos de saída 
Escrevendo variáveis na tela 
• A função printf() também permite escrever 
apenas mensagens de texto simples na tela 
 
 printf(“texto) 
• As aspas duplas são obrigatórias 
 
39 
Escrevendo variáveis do teclado 
int putchar(int caractere): permite escrever um único caractere 
do teclado 
• A função recebe um inteiro e converte em caractere 
 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 char c = 'a'; 
 int x = 65; 
 putchar(c); 
 putchar('\n'); 
 putchar(x); 
 putchar('\n'); 
 system("pause"); 
 return 0; 
} 
 
 40 
Estruturas de Seleção em C 
41 
Estrutura de Seleção 
• Condicional simples (apenas bloco verdade): 
 if (<condição 1>) { 
 <comandos> 
 }42 
Estrutura de Seleção 
• Condicional com bloco verdade e 
bloco falso: 
 
if (<condição 1>) { 
 <comandos> 
} else { 
 <comandos> 
} 
 
43 
Estrutura de Seleção 
• Condicionais aninhados: 
 
if (<condição 1>) { 
 <comandos> 
} else { 
 if (<condição 2>) { 
 <comandos> 
 } else { 
 if (<condição 3>): 
 <comandos> 
 } else { 
 <comandos> 
 } 
} 
44 
Estrutura de Seleção 
• Condicionais aninhados: 
 
45 
if (<condição 1>) { 
 <comandos> 
} else if (<condição 2>) { 
 <comandos> 
} else if (<condição 3>): 
 <comandos> 
} else { 
 <comandos> 
} 
Estrutura de seleção switch 
• Outra opção para condicionamento aninhado: 
 
switch (<condição>) { 
 case <valor1_da_condição>: <comandos> 
 break; 
 case <valor2_da_condição>: <comandos> 
 break; 
 default: <comandos> 
} 
46 
Estruturas de seleção aninhadas 
47 
Problemas resolvidos em C 
1 - Faça um algoritmo para calcular o volume de uma esfera de raio R, em que 
R é um dado fornecido pelo usuário. O volume de uma esfera é dado por V = 
4/3 π R3. 
 
 
 
48 
#include <stdio.h> 
 
int main() 
{ 
 float raio, volume, pi = 3.14; 
 
 printf("Digite o raio: "); 
 scanf("%f", &raio); 
 volume = (4.0 / 3) * pi * (raio * raio * raio); 
 printf("Volume = %f", volume); 
 
 return 0; 
} 
Problemas resolvidos em C 
2 - Escreva um algoritmo que leia o ano de nascimento de uma pessoa, calcule e 
mostre sua idade e, também, verifique e mostre se ela já tem idade para votar (16 
anos ou mais) e para conseguir a Carteira de Habilitação (18 anos ou mais). 
 
49 
(continuação) 
 
 if (idade >= 18) { 
 printf("Pode votar e dirigir"); 
 } else if (idade >= 16) { 
 printf("Pode votar"); 
 } else { 
 printf("Nao pode votar e nem dirigir"); 
 } 
 
 return 0; 
} 
#include <stdio.h> 
 
int main() 
{ 
 int ano, ano_atual, idade; 
 
 printf("Digite ano de nascimento: "); 
 scanf("%i", &ano); 
 printf("Digite ano atual: "); 
 scanf("%i", &ano_atual); 
 
 idade = ano_atual - ano; 
 printf("Idade: %i \n", idade); 
Problemas resolvidos em C 
3 - Escreva um programa que solicita ao usuário dois números inteiros e a 
operação matemática que deseja realizar (soma, subtração ou multiplicação). 
 
50 
(continuação) 
 
switch(ch){ 
 case '+': z = x+y; break; 
 case '-': z = x-y; break; 
 case '*': z = x*y; break; 
 default: z = 0; 
 } 
 
 printf("Resultado = %d\n", z); 
 
 return 0; 
} 
#include <stdio.h> 
 
int main() 
{ 
 int x,y,z; 
 char ch; 
 printf("Digite operacao matematica (+,-,*): "); 
 scanf("%c", &ch); 
 printf("Digite 2 numeros: "); 
 scanf("%d %d", &x, &y); 
 
 
Estruturas de Repetição em C 
51 
WHILE 
• Repetição com teste no início (enquanto): 
 
while (<teste>) { 
 <comandos> 
} 
 
 
• Os comandos serão executados enquanto o 
teste retornar True, ou seja, 1 
 
52 
Repetição no C com while 
53 
DO WHILE 
• Repetição com teste no fim (mas não é o repita): 
 
do { 
 <comandos> 
} while (<teste>); 
 
 
• Os comandos serão executados enquanto o teste 
retornar True, ou seja, 1 
 
54 
do ... while 
Aula teórica 01 55 
do ... while 
56 
#include <stdio.h> 
#include <stdlib.h> 
int main(){ 
 int i= 0; 
 do{ 
 printf("valor %d\n", i); 
 i++; 
 }while (i<10); 
 system("pause"); 
 return 0; 
} 
• Operadores simplificados são muito utilizados na linguagem C, e 
os principais são: 
 
 
 
 
Operadores de incremento e decremetno 
57 
Retorna o valor da variável 
após a operação 
Retorna o valor da variável 
antes da operação 
Operadores de incremento e decremento 
58 
#include <stdio.h> 
 
int main() 
{ 
 int x = 10; 
 ++x; 
 printf("x = %d \n", x); 
 return 0; 
} 
#include <stdio.h> 
 
int main() 
{ 
 int x = 10; 
 x++; 
 printf("x = %d \n", x); 
 return 0; 
} 
• Os dois programas retornam x=11 
• Comandos de incremento utilizados sozinhos 
 
Operadores de incremento e decremento 
59 
#include <stdio.h> 
 
int main() 
{ 
 int y,x = 10; 
 y = ++x; 
 printf("x = %d \n", x); 
 printf("y = %d \n", y); 
 return 0; 
} 
#include <stdio.h> 
 
int main() 
{ 
 int y,x = 10; 
 y = x++; 
 printf("x = %d \n", x); 
 printf("y = %d \n", y); 
 return 0; 
} 
x=11 e y=11 pois realizou 
atribuição após a operação 
 x= x + 1 
 y = x 
 
 
x=11 e y=10 pois realizou 
atribuição antes da operação 
 y = x 
 x= x + 1 
 
 
Operadores simplificados 
60 
Operadores simplificados 
61 
FOR 
62 
Não é possível utilizar uma estrutura mais 
enxuta? 
Repetição com for 
63 
• O for automatiza uma estrutura de 
repetição típica 
Repetição no C com for 
• Repetição com variável de controle (for): 
 
for (<inicialização>; <condição>; <alteração>) 
{ 
 <comandos> 
} 
 
• <inicialização> recebe a criação/inicialização de uma 
variável que controlará a repetição; 
• <condição> é um teste relacional que fará o bloco repetir se 
a condição for verdadeira; 
• <alteração> é a modificação da variável que controla a 
repetição (normalmente um incremento). 
 
 
64 
Repetição com for 
65 
Exemplo 
#include <stdio.h> 
int main() 
{ 
 int a; 
 for (a = 1; a <= 4; a++) { 
 printf("%i \n", a); 
 } 
 return 0; 
} 
Repetição no C com for 
66 
Repetição no C com for 
Aula teórica 01 67 
Qual estrutura utilizar? 
68 
Qual estrutura utilizar? 
69 
Uso do break 
70 
Uso do break 
71 
Uso do break 
Exemplo 
 
#include <stdio.h> 
 
int main() 
{ 
 int a = 1, b = 4; 
 while (a <= 10) { 
 printf("%i", a); 
 a = a + 1; 
 if (a == b) { 
 printf(" Break"); 
 break; 
 } 
 printf("....\n"); 
 } 
 
 return 0; 
} 
72 
Utilizado para gerar 
uma nova linha 
Uso do break 
73 
Uso do break 
74 
Exemplo: 
 
Elabore um algoritmo que 
efetue a soma de todos os 
números ímpares que são 
múltiplos de 3 e que se 
encontram no conjunto dos 
números de 1 até 500 
(inclusive). 
 
Exemplo: repetição no C 
75 
//Código em C 
 
#include <stdio.h> 
 
int main() 
{ 
 int si = 0, i; // inicializa si 
 for (i = 1; i < 501; i++) { // analisa 500 números 
 if (i%2 == 1) { // testa se é par 
 if (i%3 == 0) { // testa se é múltiplo de 3 
 si += i // acumula a soma 
 } 
 } 
 } 
 printf("Soma = %i", si); // apresenta o resultado 
 
 return 0; 
} 
Exemplo: uso do break 
Programa que lê dois números inteiros a e b digitados pelo 
usuário e imprime todos os inteiros entre eles. Se a= 5 o laço 
termina pelo break. 
 
#include <stdio.h> 
#include <stdlib.h> 
 
int main(){ 
 int a,b; 
 printf("Digite o valor de a: "); 
 scanf("%d",&a); 
 printf("Digite o valor de b: "); 
 scanf("%d",&b); 
 while (a <= b){ 
 a= a+1; 
 if (a == 5) 
 break; 
 printf("%d \n", a); 
 } 
 system("pause"); 
 return 0; 
} 
76 
Referências desta aula 
BACKES, A. Linguagem C completa e descomplicada. 
São Paulo: Campus, 2013. 
 
PINHEIRO, F. A. C. Elementosde programação em C. 
Porto Alegre: Bookman, 2012. 
(disponível no Minha Biblioteca) 
 
http://olimpiada.ic.unicamp.br/extras/cursoC/ 
 
77

Mais conteúdos dessa disciplina