Buscar

2B-Aula_01_-_Introdução_à_Programação_em_C

Prévia do material em texto

Introdução à Linguagem de Programação C
Daniel Aguiar da Silva Carvalho
13 de Janeiro de 2014
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 1 / 35
Roteiro
1 Introdução
2 Linguagem de programação C
Qual é a diferença de Portugol e C?
Histórico
Características da linguagem
3 Estrutura de um programa
Diretivas
A função main
Comentários
4 Identificadores
Palavras reservadas
Tipos de Dados
5 Declaração de variáveis e constantes
6 Comandos de entrada de dados
Scanf
Gets e Fgets
7 Comandos de saída de dados
Printf
8 Operadores aritméticos
Precedência de operadores
9 Ambiente de desenvolvimento
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 2 / 35
Introdução
Introdução
Aprendemos a representar algoritmos utilizando:
Linguagem natural;
Fluxogramas; e
Pseudocódigo;
Aprendemos o que são variáveis e como declará-las:
Operações aritméticas; e
Operações lógicas;
Aprendemos estruturas de controle de fluxo:
Comandos de desvio; e
Comandos de repetição;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 3 / 35
Introdução
Introdução
O 2o bimestre será dividido em duas etapas:
Primeira etapa:
Introdução à Linguagem C;
Estrutura de um programa (Diretivas, função main, declaração
de variáveis, etc); e
Estruturas de controle de fluxo;
Segunda etapa:
Arranjos;
Subprogramas; e
Struct;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 4 / 35
Introdução
Calendário de avaliações
1a avaliação:
Conteúdo da primeira etapa;
Data: 03/Fev/2014.
2a avaliação:
Conteúdo da segunda etapa;
Data: 10/Mar/2014.
Prova de recuperação:
Conteúdo do 1o e 2o bimestres;
Data: 17/Mar/2014.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 5 / 35
Linguagem de programação C Qual é a diferença de Portugol e C?
Qual é a diferença de Portugol e C?
Portugol não é uma linguagem de programação;
É uma linguagem para representar pseudocódigos em português;
Tem como propósito ensinar conceitos básicos de lógica de
programação para iniciantes em programação;
Portugol é uma linguagem interpretada e C é uma linguagem
compilada;
Programas em C podem ser portáveis para qualquer outra
plataforma que possua um compilador C instalado;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 6 / 35
Linguagem de programação C Histórico
Histórico
Algol 60;
Problema: era uma linguagem de alto nível, mas na época os
sistemas operacionais exigiam muito conhecimento de hardware.
CPL (Combined Programming Language);
Manter contato com a realidade de um computador real;
Não foi bem aceita por ser difícil de implementar.
BCPL (Basic Combined Programming Language) e B;
Limitadas.
C;
Linguagem simples;
Mantém o contato com o computador real; e
Permite o desenvolvimento de programas em diversas áreas.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 7 / 35
Linguagem de programação C Características da linguagem
Características da linguagem
Linguagem de finalidade geral;
Uma das mais populares;
Flexível e portável;
Programas em C são compilados, gerando executáveis;
Estruturalmente simples e de relativo baixo nível;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 8 / 35
Estrutura de um programa
Estrutura de um programa
Cabeçalho contendo diretivas de compilador onde definimos:
Constantes;
Variáveis globais;
Inclusão de bibliotecas, etc.
Bloco de instrução principal e outros blocos de rotinas; e
Documentação do programa: comentários;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 9 / 35
Estrutura de um programa
Estrutura de um programa
#include <stdio.h>
int main(){
printf("Olá Pessoal!");
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 10 / 35
Estrutura de um programa Diretivas
Diretivas
Iniciam com #;
include;
stdio.h: contém funções de entrada e saída;
stdlib.h: emulada o prompt para o sistema operacional;
Entre outras para contas matemáticas, manipular textos,
manipular formatação de dados, etc.
define e undef;
ifdef e endif;
ifndef; etc.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 11 / 35
Estrutura de um programa A função main
A função main
Um programa em C pode conter uma ou mais funções;
A função int main () é a função principal;
Blocos de comandos são delimitados por chaves {...};
Em C, todo comando deve terminar com um ponto e vírgula!
O compilador irá procurar por esta função no momento da
execução;
#include <stdio.h>
int main(){
printf("Olá Pessoal!");
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 12 / 35
Estrutura de um programa Comentários
Comentários
Comentários auxiliam no entendimento do código;
Podemos utilizar comentários em uma única linha ou em várias
linhas;
#include <stdio.h>
// Comentário em uma única linha.
int main(){
printf("Olá Pessoal!");
/* printf("Olá Pessoal!");
printf("Olá Pessoal!"); */
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 13 / 35
Identificadores
Identificadores
Em C, nomes de variáveis e funções são chamados de
identificadores;
As escolhas desses nomes devem seguir a algumas regras:
Devem iniciar por uma letra ou underline;
A partir do segundo caracter pode conter letras, números e
underline;
C é case-sensitive;
Quando o identificador é uma junção de palavras, costuma-se
maiúsculas e minúsculas para separá-las (por exemplo,
“SaldoTotal”);
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 14 / 35
Identificadores Palavras reservadas
Palavras reservadas [2]
São palavras de uso restrito da linguagem C (por exemplo,
comandos, estruturas de controle de fluxo, etc.);
Palavras reservadas não podem ser utilizadas como
identificadores;
auto double if static
break else int struct
case entry long switch
char extern register typedef
continue float return union
default for sizeof unsigned
do goto short while
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 15 / 35
Identificadores Tipos de Dados
Tipos de Dados
C possui diversos tipos de dados, mas parte deles são baseados
em tipos básicos:
Caractere (char);
Inteiro (int);
Ponto flutuante (float);
Ponto flutuante de dupla precisão (double);
Void (sem valor);
Ponto flutuante é a forma como o computador representa os
números reais.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 16 / 35
Declaração de variáveis e constantes
Declaração de variáveis e constantes
Uma variável é uma posição de memória que pode ser
identificada por um nome;
São utilizadas para guardar valores os quais manipulamos dentro
dos nosso programas;
Em C, qualquer variável deve ser declarada antes de ser utilizada;
Variáveis podem ser declaradas em qualquer ponto do programa;
#include <stdio.h>
int main () {
int idade;
double media;
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 17 / 35
Declaração de variáveis e constantes
Declaração de variáveis e constantes
Depois de declaradas, podemos modificar os valores das variáveis
através de comandos de atribuição;
Em C, o operadorde atribuição é o “=”;
#include <stdio.h>
int main () {
int idade;
idade = 10;
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 18 / 35
Declaração de variáveis e constantes
Declaração de variáveis e constantes
Constantes são identificadores que não podem ter seus valores
alterados durante a execução do programa;
As constantes podem ser de qualquer um dos cinco tipos básicos;
Devem estar definidas no cabeçalho do programa;
Constantes são criadas utilizando-se a diretiva #define;
Não existe um ponto e vírgula após o valor da constante;
#include <stdio.h>
#define INSTITUICAO "IFRN"
int main () {
printf("Eu estudo no %s", INSTITUICAO);
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 19 / 35
Declaração de variáveis e constantes
Declaração de variáveis e constantes
Diferentemente da declaração de variáveis, no momento da
criação de constantes, não informamos o tipo;
O tipo de uma constante depende da maneira como o seu valor
foi representado:
Caracter: deve estar entre aspas simples;
Cadeia de caracteres: devem estar entre aspas duplas;
Inteiros: são números sem parte fracionária;
Ponto flutuante: são números com a parte decimal (utilizamos o
ponto, por exemplo, 10.9);
#include <stdio.h>
#define INSTITUICAO "IFRN"
#define PI 3.1415
#define QTD_DE_DIAS_DA_SEMANA 7
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 20 / 35
Comandos de entrada de dados
Comandos de entrada de dados
scanf(): utilizaremos para ser inteiros, caracteres, cadeias de
caracteres com apenas uma palavra e reais;
gets() e fgets(): utilizaremos para ser cadeias de caracteres
compostas por mais de uma palavra;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 21 / 35
Comandos de entrada de dados Scanf
Scanf
Para utilizar o comando scanf devemos nos preocupar com duas
coisas:
Qual o tipo de dado que estou armazenando?
Onde ele será armazenado?
Diferente do Portugol, em C, precisaremos informar qual o tipo
de dado estamos lendo e em qual endereço de memória ele será
armazenado;
#include <stdio.h>
int main (){
int idade;
scanf("%d", &idade);
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 22 / 35
Comandos de entrada de dados Scanf
Scanf
Para cada tipo de dado, tem-se um código que será utilizado na
função scanf;
Código Tipo de dado
%d Lê um inteiro positivo ou negativo (base decimal)
%c Lê um caractere
%f Lê um número de ponto flutuante
%s Lê uma cadeia de caracteres (string)
É importante lembrar que estes não são os únicos códigos e
tipos de dados que podem ser utilizados em C;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 23 / 35
Comandos de entrada de dados Gets e Fgets
Gets e Fgets
Para compreendermos a fundo estas funções precisamos
aprender antes o conceito de arranjos [3];
Então, inicialmente, não trabalharemos com a leitura de strings.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 24 / 35
Comandos de saída de dados
Comandos de saída de dados
puts e putchar: utilizadas para imprimir cadeias de caracteres;
puts, ao contrário de putchar, insere uma quebra de linha ao
final da string.
printf: permite imprimir valores que não são sequências de
caracteres;
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 25 / 35
Comandos de saída de dados Printf
Printf
Podemos utilizar a função printf para imprimir tanto sequências
de caracteres como variáveis do nosso programa;
Da mesma maneira que a função scanf, devemos informar o
tipo de dado que queremos imprimir;
#include <stdio.h>
int main (){
int idade;
printf("Digite a sua idade\n: ");
scanf("%d", &idade);
printf("%d", idade);
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 26 / 35
Comandos de saída de dados Printf
Operação de concatenação
Operações de concatenação são realizadas em cadeias de
caracteres;
Se no exemplo anterior quiséssemos imprimir “A minha idade é
10.”, como faríamos?;
#include <stdio.h>
int main (){
int idade;
printf("Digite a sua idade\n: ");
scanf("%d", &idade);
printf("A minha idade é %d", idade);
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 27 / 35
Operadores aritméticos
Operadores aritméticos
Podemos realizar cálculos com valores inteiros e reais;
Sinal Descrição
+ Operador aritmético tradicional de soma.
- Operador aritmético tradicional de subtração.
* Operador aritmético tradicional de multiplicação.
upslope Operador aritmético tradicional de divisão.
O resultado pode ser um número real.
% Operador de módulo ou resto da divisão.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 28 / 35
Operadores aritméticos
Operadores de Incremento e Decremento
Também realizamos cálculos com valores inteiros e reais;
Sinal Descrição
++ Operador de incremento.
– – Operador decremento.
int main (){
int a = 1;
printf("a = %d", a++); // a = 1
printf("a = %d", ++a); // a = 3
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 29 / 35
Operadores aritméticos
Operadores Compostos
O operador “=” pode ser combinado com outros operadores;
Sinal Descrição
a += b a = a + b
a –= b a = a - b
a *= b a = a * b
a /= b a = a / b
a %= b a = a % b
Note que o operador que está combinado ao “=” sempre está
mais a esquerda.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 30 / 35
Operadores aritméticos
Biblioteca math.h
É um biblioteca que contém diversas funções matemáticas:
Potenciação: pow();
Raiz quadrada: sqrt();
Entre outras: seno, cosseno, tangente, logaritmos, etc.
Para utilizá-la, não podemos esquecer de incluí-la nas diretivas!
#include <stdio.h>
#include <math.h>
int main (){
int a, b;
scanf("%d", &a);
scanf("%d", &b);
printf("‘a’ elevado a ‘b’ é %f", pow(a, b));
}
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 31 / 35
Operadores aritméticos Precedência de operadores
Precedência de operadores
Assim como na matemática, os nossos programas também irão
considerar a precedência de operadores;
2 + 2 * 5 ?
5 * 8 + 4 / 2 ?
A multiplicação e a divisão são resolvidas antes da soma e da
subtração;
Para evitar ambiguidades e erros, use parênteses!;
(2 + 2) * 5 ?
5 * ((8 + 4) / 2) ?
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 32 / 35
Ambiente de desenvolvimento
Ambiente de desenvolvimento
Dev-C++ [1]:
É um ambiente de desenvolvimento integrado para as linguagens
de programação C/C++;
É um software free;
Disponível em www.bloodshed.net/dev/devcpp.html
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 33 / 35
Ambiente de desenvolvimento
REFERÊNCIAS
BloodshedSoftware.
Bloodshed dev-c++ 5, 2014.
Disponível em http://www.bloodshed.net/devcpp.html.
Paul Deitel and Harvey Deitel.
C: Como Programar.
Pearson, 6 ed edition, 2011.
Herbert Schildt.
C Completo e Total.
Makron Books, 1996.
Daniel Aguiar da Silva Carvalho (IFRN) Introdução à Linguagem de Programação C 13 de Janeiro de 2014 34 / 35
	Introdução
	Linguagem de programação C
	Qual é a diferença de Portugol e C?
	Histórico
	Características da linguagemEstrutura de um programa
	Diretivas
	A função main
	Comentários
	Identificadores
	Palavras reservadas
	Tipos de Dados
	Declaração de variáveis e constantes
	Comandos de entrada de dados
	Scanf
	Gets e Fgets
	Comandos de saída de dados
	Printf
	Operadores aritméticos
	Precedência de operadores
	Ambiente de desenvolvimento

Continue navegando