Buscar

Resumo - C

Prévia do material em texto

1 
Universidade Federal Rural do Semi-Árido Versão 
Departamento de Ciências Exatas e Naturais 30/11/2012 
Professor: Bruno Monteiro 
 
Introdução à Linguagem de Programação C 
Introdução 
Linguagens de alto nível, tais como C, C++, Java e PHP, possuem estruturas e palavras reservadas que são mais próximas da 
linguagem humana, facilitando a escrita e a leitura de programas. 
A linguagem C é uma linguagem de programação compilada, de propósito geral, estruturada, imperativa e procedural, criada em 1972, 
por Dennis Ritchie, no AT&T Labs, para desenvolver o sistema operacional Unix, base para o posterior Linux. Vale salientar que C 
ainda é uma das linguagens de programação mais populares, e tem influenciado muitas outras linguagens de programação, inclusive 
C++ (que originalmente começou como uma extensão para C), e Java (que possui uma sintaxe bastante semelhante a C). 
Atenção: embora C e C++ sejam semelhantes em alguns aspectos, elas são linguagens diferentes. A linguagem C++ tem como 
principal diferencial o fato de ser Orientada a Objetos
1
. 
Ambiente de desenvolvimento 
Para desenvolver um programa, na linguagem C, bastaria apenas um editor de texto e um compilador
2
 da linguagem C, por exemplo, 
o GCC
3
. Entretanto, para auxiliar o programador, normalmente faz-se uso de ferramentas do tipo IDE (Integrated Development 
Environment ou Ambiente de Desenvolvimento Integrado), que reúne funcionalidades de apoio ao desenvolvimento de software com 
o objetivo de agilizar este processo. Exemplos de IDEs para a linguagem C: Dev-Cpp
4
, CodeBlocks
5
, Eclipse
6
. 
Alô Mundo 
Este costuma ser o nome dado ao primeiro programa desenvolvido quando se aprende uma nova linguagem de programação. 
Seu objetivo é simplesmente exibir na tela a frase “Alo mundo”, porém, não o subestime, este programa tem sua importância ao 
explicitar a estrutura básica da linguagem, ou seja, ele é a base para todos os programas da linguagem. 
 
#include <stdio.h> /* Biblioteca com funções de entrada e saída */ 
#include <stdlib.h> /* Biblioteca com funções de propósito geral */ 
 
int main() /* Função principal e obrigatória */ 
{ 
 printf("Alo Mundo"); /* Escreve na tela a mensagem “Alo Mundo” */ 
 
 system("pause"); /* Evita que a janela do programa seja fechada */ 
 
 return 0; /* Encerra a função main */ 
} 
Variáveis 
Variáveis são espaços reservados na memória principal para armazenar os dados utilizados pelos softwares. 
Para ilustrar: como uma “caixa” que serve para armazenar algum objeto, uma variável serve para armazenar algum dado. 
Identificadores 
Em C, um identificador (nome de uma variável ou nome de uma função) deve ser constituído apenas de letra (sem acento), dígito e 
sublinha, porém não se pode começar com dígito, nem pode ter mais de 31 caracteres. 
A linguagem C também faz distinção entre letras maiúsculas e minúsculas, por exemplo, minhaVar e MinhaVar são 
consideradas duas variáveis diferentes. 
Existem algumas palavras (palavras reservadas) que já são utilizados pela própria linguagem C, portanto, não podem ser utilizados 
como identificadores pelo programador. 
 
auto 
break 
case 
char 
const 
continue 
default 
do 
double 
else 
enum 
extern 
float 
for 
goto 
if 
int 
long 
register 
return 
short 
signed 
sizeof 
static 
struct 
switch 
typedef 
union 
unsigned 
void 
volatile 
while 
 
1
 http://pt.wikipedia.org/wiki/Orientação_a_objetos 
2
 Compilador é um tipo de software que traduz um arquivo escrito em uma linguagem de programação de alto nível (arquivo fonte), 
compreensível pelo ser humano, para a linguagem de máquina (arquivo executável), compreensível pelo computador. 
3
 http://pt.wikipedia.org/wiki/GCC 
4
 http://www.bloodshed.net/dev/devcpp.html 
5
 http://www.codeblocks.org 
6
 http://www.eclipse.org/downloads 
 2 
Tipos de Dados 
Tipo Natureza Exemplos Bits Bytes Menor valor Maior valor 
char Caractere (tabela ASCII) „b‟ „3‟ „A‟ „%‟ 8 1 -127 127 
short Inteiro -9282 50 -58 32188 16 2 -32.768 32.767 
int Inteiro -9754282 50 -58 32188556 32 4 -2.147.483.648 2.147.483.647 
float Real (ponto flutuante) -465476 3.14 -0.045 893963.0 32 4 -3,4 x 10
+38
 3,4 x 10
+38
 
double Real (ponto flutuante) -465476 3.14 -0.045 893963.0 64 8 -1,7 x 10
+308
 1,7 x 10
+308
 
Outros tipos de dados 
Valores lógicos: C não possui um tipo de dados para valores lógicos (verdadeiro ou falso), entretanto, considera zero como falso e 
qualquer valor diferente de zero como verdadeiro. 
Valores literais: para utilizar valores literais (string), deve-se utilizar uma cadeia de caracteres (char), exemplo: char nome[30]; 
void: utiliza-se esta palavra-reservada quando não é necessário especificar o tipo de dado, por exemplo, costuma ser utilizada na 
definição de funções que não retornam nenhum valor. 
Declarações de Variáveis 
A memória de um computador pode ser vista simplesmente como um grande agrupamento de bits que podem ser reservados para 
armazenar algum conteúdo. Uma variável, em programação, representa uma ou mais destes espaços endereçáveis de memória. 
Portanto, fique atento, em C, toda variável precisa ser declarada antes de ser usada, para que um espaço de memória seja reservado. 
Exemplos: 
int contador; 
float nota1, nota2, nota3, media; 
Atribuição 
Uma atribuição serve para preencher a variável (espaço na memória) com um conteúdo determinado. Não se esqueça que para poder 
atribuir um conteúdo a uma variável, ela já deve ter sido declarada. Exemplo: 
int nPlanetas; 
. 
: 
nPlanetas = 8; 
Inicialização 
Às vezes é desejável que uma variável assuma um certo valor logo no início do bloco de instruções. Esta inicialização pode ser feita 
combinando a declaração da variável com a atribuição do valor desejado. Exemplo: 
int nPlanetas = 8; 
Operadores 
Operadores Aritméticos 
Adição + 
Subtração - 
Multiplicação * 
Quociente da Divisão / 
Resto da Divisão % 
 
Operadores Relacionais 
Maior > 
Menor < 
Maior ou Igual >= 
Menor ou Igual <= 
Igual == 
Diferente != 
 
Operadores Lógicos 
E && 
OU || 
NÃO ! 
 
 
Tabela Verdade 
X Y X && Y X || Y !X 
0 0 0 0 1 
0 1 0 1 1 
1 0 0 1 0 
1 1 1 1 0 
Operadores de Incremento e de Decremento 
Os operadores de incremento (++) e de decremento (--) são operadores unários que adicionam ou subtraem 1, respectivamente. Eles 
são bastante úteis em estruturas de repetição, onde normalmente uma variável de controle precisa ser incrementada ou decrementada. 
Forma tradicional 
Equivalente 
utilizando ++ e -- 
 cont = cont + 1; cont++; 
 cont = cont - 1; cont--; 
 3 
Funções 
Função em C é o nome genérico dado a procedimentos, ou rotinas em outras linguagens de programação. Pode-se definir uma função 
como um conjunto de operações que executam uma tarefa específica, composta por um conjunto de instruções. 
Portanto, ao criar uma função, evita-se que um conjunto de instruções apareça mais de uma vez num programa, pois ela precisa ser 
definida apenas uma vez, mas pode ser utilizada várias vezes. 
Para criar uma função, deve-se obedecer a seguinte estrutura: 
tipo de retorno nome da função ( declaração de argumentos ) 
{ 
 bloco de instruções 
} 
 
Exemplo sem utilizar função Exemplo de função com retorno Exemplo defunção sem retorno 
#include <stdio.h> 
 
int main() 
{ 
 int r; 
 
 r = 3 + 5; 
 printf("Resultado=%d", r); 
 
 return 0; 
} 
#include <stdio.h> 
 
int soma(int n1, int n2) 
{ 
 int valor; 
 
 valor = n1+n2; 
 
 return valor; 
} 
 
int main() 
{ 
 int r; 
 
 r = soma(3 , 5); 
 printf("Resultado=%d", r); 
 
 return 0; 
} 
#include <stdio.h> 
 
void soma(int n1, int n2) 
{ 
 int valor; 
 
 valor = n1+n2; 
 printf("Resultado=%d", valor); 
} 
 
int main() 
{ 
 soma(3 , 5); 
 
 return 0; 
} 
Em todos os exemplos, será exibido na tela Resultado=8 
 
Atenção: observe que a função main é obrigatória em todo programa C, pois é a primeira função chamada pelo Sistema Operacional. 
 
Escopo das variáveis 
 Exemplo 
Variável Local: uma variável declarada dentro de uma função possui 
escopo local, ou seja, é visível apenas dentro da função que a criou. 
Por exemplo, as variáveis varArgum e varLocal só podem ser 
utilizadas dentro da função minhaFuncao. 
 
Variável Global: quando uma variável é declarada fora de uma função 
(no início do código-fonte) ela é dita global, ou seja, ela se torna visível 
para todas as funções do programa. 
Por exemplo, a variável varGlobal pode ser utilizada tanto pela 
função minhaFuncao quanto pela função main. 
 
#include <stdio.h> 
 
int varGlobal = 5; 
 
void minhaFuncao(int varArgum) 
{ 
 int varLocal = 20; 
 printf("varGlobal=%d \n", varGlobal); 
 printf("varLocal=%d \n", varLocal); 
 printf("varArgum=%d \n", varArgum); 
} 
 
int main() 
{ 
 minhaFuncao(40); 
 
 return 0; 
} 
O que será exibido na tela? 
varGlobal=5 
varLocal=20 
varArgum=40 
 4 
Códigos de formatação 
Estes códigos são utilizados nas funções de entrada (scanf) e saída (printf) para informar o tipo da variável que está sendo tratada: 
%c Caracteres simples 
%d Inteiros decimais 
%f Ponto flutuante (Notação tradicional) 0.00316 
%e Ponto flutuante (Notação cientifica) 3.16e-3 
%s Cadeia de caracteres 
Função de Entrada scanf 
Funcionamento: os valores informados pelo usuário, através dos dispositivos de entrada (normalmente o teclado), serão atribuídos a 
variável utilizada na função scanf. 
Para utilizar a função scanf, deve-se obedecer a seguinte estrutura: 
scanf( “código de formatação”, &nome da variável ); 
Exemplo: 
scanf("%d", &numero); 
Função de Saída printf 
Funcionamento: os valores informados na função escreva serão exibidos para o usuário, através dos dispositivos de saída 
(normalmente o monitor). 
Exemplos: 
printf(“Bom dia prezado estudante!”); 
printf(“Sua media foi %f”, media); Exibirá na tela Sua media foi 7.500000 
printf(“Sua media foi %.2f”, media); Exibirá na tela Sua media foi 7.50 
 
Códigos especiais: 
\n produz uma linha em branco no meio de saída. 
\t produz uma tabulação horizontal no meio de saída. 
\a produz um sinal sonoro. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 5 
Estruturas Condicionais 
Também conhecidas como Estruturas de Decisão, permitem que uma instrução, ou bloco de instruções, sejam ou não executadas, 
dependendo de determinadas condições, representadas por expressões lógicas ou relacionais. Em outras palavras, oferecem os meios 
de escolher entre dois ou mais caminhos de execução em um programa. 
if 
Estrutura Fluxograma Exemplo 
 
 if(condição) 
 { 
instruções executadas 
quando a condição for 
verdadeira 
 } 
 else 
 { 
instruções executadas 
quando a condição for 
falsa 
 } 
 
 
#include <stdio.h> 
 
int main() 
{ 
 int numero; 
 
 printf("Digite um numero: \n"); 
 scanf("%d", &numero); 
 
 if(numero % 2 == 0) 
 { 
 printf("PAR"); 
 } 
 else 
 { 
 printf("IMPAR"); 
 } 
 
 return 0; 
} 
 
switch case 
Estrutura Fluxograma Exemplo 
 
 switch(variavel) 
 { 
 case valor1 : 
instruções executadas 
quando o conteúdo da 
variável for valor1 
 case valor2 : 
instruções executadas 
quando o conteúdo da 
variável for valor2 
 case valor3 : 
instruções executadas 
quando o conteúdo da 
variável for valor3 
 default : 
instruções executadas 
quando não há valor 
previsto 
 } 
 
ATENÇÃO: observe que a 
instrução break evita que o 
fluxo de um case “vaze” 
para o case de baixo. 
 
 
 
#include <stdio.h> 
 
int main() 
{ 
 int numero; 
 
 printf("Digite um numero: \n"); 
 scanf("%d", &numero); 
 
 switch(numero) 
 { 
 case 2 : 
 printf("dois"); 
 break; 
 case 3 : 
 printf("tres"); 
 break; 
 case 4 : 
 printf("quatro"); 
 break; 
 default: 
 printf("invalido"); 
 break; 
 } 
 
 return 0; 
} 
 
 
 
 6 
Estruturas de Repetição 
Estas estruturas permitem que alguns trechos do código sejam repetidos enquanto uma condição for satisfeita. 
while 
Estrutura Fluxograma Exemplo 
 
while( condição ) 
{ 
instruções executadas 
enquanto a condição for 
verdadeira 
} 
 
 
Observe que o teste da condição é feito no início. 
 
 
#include <stdio.h> 
 
int main() 
{ 
 int numero; 
 int cont = 0; 
 
 printf("Digite um numero: \n"); 
 scanf("%d", &numero); 
 
 while( cont <= numero ) 
 { 
 printf(" %d ", cont); 
 cont++; 
 } 
 
 return 0; 
} 
 
do while 
Estrutura Fluxograma Exemplo 
 
do 
{ 
instruções executadas uma 
primeira vez e enquanto a 
condição for verdadeira 
} 
while( condição ); 
 
 
Observe que o teste da condição é feito no final. 
 
 
#include <stdio.h> 
 
int main() 
{ 
 int numero; 
 int cont = 0; 
 
 printf("Digite um numero: \n"); 
 scanf("%d", &numero); 
 
 do 
 { 
 printf(" %d ", cont); 
 cont++; 
 } 
 while( cont <= numero ); 
 
 return 0; 
} 
 
for 
Estrutura Fluxograma Exemplo 
 
for(inicialização; condição; incremento) 
{ 
instruções executadas 
enquanto a condição for 
verdadeira 
} 
 
 
 
 
 
#include <stdio.h> 
 
int main() 
{ 
 int numero, cont; 
 
 printf("Digite um numero: \n"); 
 scanf("%d", &numero); 
 
 for(cont=0; cont <= numero; cont++) 
 { 
 printf(" %d ", cont); 
 } 
 return 0; 
}

Outros materiais

Materiais relacionados

Perguntas relacionadas

Materiais recentes

Perguntas Recentes