09.01.2015 Views

Conceitos básicos da linguagem C - Unesp

Conceitos básicos da linguagem C - Unesp

Conceitos básicos da linguagem C - Unesp

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

• Histórico)<strong>da</strong>)<strong>linguagem</strong>)C.)<br />

• Tipos)primi8vos)de)<strong>da</strong>dos.)<br />

• Constantes)e)variáveis.)<br />

• Atribuição.)<br />

• Operadores)aritmé8cos.)<br />

• Funções)de)exibição)e)leitura.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

51)<br />

Breve)histórico)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

1966:)Mar8n)Richards)(MIT))propõe)a)Basic)Combined)Programming)<br />

Language)(BCPL))para)o)desenvolvimento)de)compiladores)<br />

simplificados)para)outras)linguagens)de)programação.)To<strong>da</strong>s)as)<br />

variáveis)eram)de)um)único)8po)(word),)cujo)tamanho)dependia)<strong>da</strong>)<br />

arquitetura)do)computador)onde)era)executa<strong>da</strong>.)<br />

O)primeiro)programa)“Hello,)world!”)foi)escrito)em)BCPL.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

52)


Breve)histórico)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

1969:)Ken)Thompson)(Bell)Labs))a<strong>da</strong>ptou)a)Linguagem)BCPL)para)u8lização)<br />

em)mini[computadores.)Criação)de)variáveis)do)8po)caractere)(letras )<br />

e)a)inclusão)de)bibliotecas)externas)de)funções.))B)<br />

1971:)Dennis)Richie)(Bell)Labs))acrescentou)8pagem)à)<strong>linguagem</strong>)B)(inteiro,)<br />

real,)caracter)etc),)e)alterou)seu)compilador)para)produzir)código)em)<br />

<strong>linguagem</strong>)de)máquina.))NB)(New$B).)<br />

1972:)Com)a)inclusão)de)um)programa)pré[processador)ao)compilador)e)<br />

pequenas)alterações)na)sintaxe,)NB)passou)a)se)chamar)C,)sendo)<br />

u8liza<strong>da</strong>)para)reescrever)cerca)de)90%)do)núcleo)do)sistema)<br />

operacional)UNIX,)sendo)também)distribuí<strong>da</strong>)com)este)sistema.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

53)<br />

Principais)caracterís8cas)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

A)<strong>linguagem</strong>)C)combina)caracterís8cas)de)linguagens)de)alto[nível)com)a)<br />

funcionali<strong>da</strong>de)de)linguagens)de)montagem)(assembly$languages).)Dentre)<br />

as)principais)caracterís8cas)que)tornaram)C)uma)<strong>da</strong>s)linguagens)mais)<br />

populares)estão:)<br />

• Seu)compilador)gera)programas[executáveis)menores)e)mais)velozes)do)<br />

que)muitas)outras)linguagens;))<br />

• Uso)extensivo)de)funções:)permite)que)tarefas)específicas)sejam)defini<strong>da</strong>s)<br />

e)codifica<strong>da</strong>s)separa<strong>da</strong>mente)–)um)programa)em)C)é)uma)coleção)de)<br />

funções;)<br />

• Implementação)de)ponteiros:)endereçamento)<strong>da</strong>)memória,)vetores,)<br />

estruturas)e)funções.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

54)


O)menor)programa)em)C)<br />

Todo)programa)escrito)na)<strong>linguagem</strong>)C)possui)um)estrutura)básica,)sobre)a)<br />

qual)são)adiciona<strong>da</strong>s)as)instruções)e)comandos)que)se)deseja)que)o)<br />

programa)execute.)<br />

A)função)int main()!<br />

• É)a)função)principal)de)um)programa)em)C.)<br />

• Sempre)deverá)exis8r.)<br />

• Marca)o)início)<strong>da</strong>)execução)do)programa.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

55)<br />

Algumas)notas)MUITO)importantes)<br />

Tudo)que)tem)um)começo)tem)um)fim)(exceto)a)história)do)filme)Matrix$)<br />

• Os)símbolos)/*)e)*/)indicam)o)começo)e)o)fim)de)um)comentário.)<br />

• Os)símbolos){)e)})indicam)o)começo)e)o)fim)de)um)bloco)de)comandos.)<br />

• Os)símbolos)")e)")indicam)o)começo)e)o)fim)de)uma)cadeia)de)caracteres.)<br />

• Todo)comando)deve)ser)encerrado)com)o)símbolo);)(ponto[e[vírgula).)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

56)


Principais)bibliotecas)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

A)<strong>linguagem</strong>)C)possui)um)conjunto)mínimo)de)instruções,)visando)a)criação)<br />

de)programas)executáveis)de)tamanho)pequeno.)A)adição)de)novas)<br />

funcionali<strong>da</strong>des)é)feita)através)<strong>da</strong>)inclusão)de)bibliotecas,)que)contêm)<br />

classes)de)funções)específicas)para)o)tratamento)de)<strong>da</strong>dos)desejado.)<br />

A)inclusão)de)bibliotecas)devem)ser)as)primeiras)instruções)de)um)<br />

programa)em)C.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

57)<br />

Principais)bibliotecas)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

Biblioteca)<br />

stdio.h!<br />

stdlib.h!<br />

math.h!<br />

time.h!<br />

ctype.h!<br />

string.h!<br />

conio.h!<br />

Principais)funcionali<strong>da</strong>des)<br />

entra<strong>da</strong>)e)saí<strong>da</strong>)de)<strong>da</strong>dos.)<br />

alocação)de)memória)e)comandos)para)o)sistema)operacional.)<br />

funções)matemá8cas.)<br />

manipulação)de)<strong>da</strong>dos)nos)formatos)de)<strong>da</strong>ta)e)hora.)<br />

manipulação)de)caracteres.)<br />

manipulação)de)cadeias)de)caracteres.)<br />

manipulação)do)cursor)na)tela.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

58)


Armazenamento)de)<strong>da</strong>dos)<br />

Antes)de)serem)u8liza<strong>da</strong>s)em)um)programa,)as)informações)do)mundo)<br />

ksico)devem)ser)armazena<strong>da</strong>s)na)memória)do)computador.)Em)<br />

programação,)tais)informações)recebem)o)nome)de)<strong>da</strong>do.)Os)<strong>da</strong>dos)podem)<br />

ser)valores)numéricos)ou)símbolos)gráficos)(caracteres))<br />

Para)isso,)o)programa)reserva)endereços)de)memória,)que)passam)a)ser)<br />

iden8ficados)por)um)nome,)geralmente)relacionado)à)informação)que)ele)<br />

representa)(massa,)altura,)força,)cor)etc.))<br />

Através)deste)nome,)a)informação)con8<strong>da</strong>)no)respec8vo)endereço)de)<br />

memória)pode)ser)modifica<strong>da</strong>)ou)u8liza<strong>da</strong>)em)expressões,)comandos)e)<br />

funções)do)programa.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

59)<br />

Constantes)e)variáveis)<br />

Em)linguagens)de)programação)de)alto)nível,)os)<strong>da</strong>dos)podem)ser)de)duas)<br />

naturezas:)constantes)ou)variáveis.)<br />

Constantes<br />

Assumem)um)único)valor,)do)início)ao)fim)<strong>da</strong>)execução)do)programa,)não)podendo)ser)<br />

alterado)por)nenhum)comando)ou)função.)<br />

Variáveis<br />

Assumem)um)valor)inicial,)que)pode)ser)alterado)por)alguma)função)ou)comando)<br />

durante)a)execução)do)programa.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

60)


Tipos)primi8vos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

A)<strong>linguagem</strong>)C)realiza)operações)sobre)<strong>da</strong>dos)numéricos)e)não[numéricos.)<br />

Os)<strong>da</strong>dos)numéricos)podem)ser)de)3)8pos)dis8ntos:)<br />

int ! !:)para)representar)valores)inteiros;)<br />

float !:)para)representar)valores)de)ponto)flutuante;)<br />

double !:)para)representar)valores)de)ponto)flutuante)de)precisão)dupla.)<br />

O)8po)char)permite)manipular)elementos)não[numéricos)(<strong>da</strong>dos)como)<br />

letras,)dígitos)ou)outro)símbolo)gráfico).)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

61)<br />

Declaração)<br />

A)declaração)é)um)comando)que)associa)<br />

o)nome)de)uma)constante)ou)de)uma)<br />

variável)a)um)determinado)endereço)de)<br />

memória.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

62)


Regras)0a)e)0b)sobre)constantes)e)variáveis)<br />

Declaração)prévia<br />

To<strong>da</strong>)constante)ou)variável)deve)ser)declara<strong>da</strong>)antes)de)ser)usa<strong>da</strong>.)<br />

Declaração)única<br />

O)nome)<strong>da</strong>)constante)ou)variável)deve)ser)único.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

63)<br />

Tipos)e)valores)<br />

Os)valores)admissíveis)para)ca<strong>da</strong>)8po)primi8vo)podem)ser)alterados)com)o)<br />

uso)dos)modificadores)unsigned,)short)e)long.)<br />

Tipo)<br />

Tamanho)<br />

(bytes))<br />

Início)<br />

Intervalo)<br />

Fim)<br />

char! 1) –128) 127)<br />

unsigned char! 1) 0) 255)<br />

short int! 2) –32768) 32767)<br />

unsigned short int! 2) 0) 65535)<br />

int! 4) –2147483648)) 2147483647))<br />

unsigned int! 4) 0) 4294967295)<br />

float! 4) ±3.4)E–38)) ±3.4)E+38)<br />

double! 8) ±1.7)E–308) ±1.7)E+308)<br />

long double! 10) ±3.4)E–4932) ±3.4)E+4932)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

64)


A)tabela)ASCII)padrão)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

65)<br />

Iden8ficadores)de)constantes)e)variáveis)<br />

Os)nomes)<strong>da</strong>dos)às)constantes)ou)variáveis)de)um)programa)denominam[se)<br />

iden8ficadores.)Para)definir)um)iden8ficador)pode[se)u8lizar)uma)<br />

combinação)de:)<br />

• )letras)(maiúsculas)e)minúsculas,)sem)acentuação).)<br />

• )dígitos)(0)a)9),)desde)que)o)primeiro)caractere)não)seja)um)dígito.)<br />

• )caractere)'_')(sublinha).)<br />

A)<strong>linguagem</strong>)C)diferencia)letras)maiúsculas)e)minúsculas.)<br />

int F; ! ! ! ! !// uma variável inteira denomina<strong>da</strong> F !<br />

float f; ! ! ! ! !// uma variável real denomina<strong>da</strong> f!<br />

double valor de A;! ! !// identificador inválido!!<br />

char 1a_inicial;! ! !// identificador inválido!!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

66)


Palavras)reserva<strong>da</strong>s)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

As)seguintes)palavras)não)podem)ser)u8liza<strong>da</strong>s)para)denominar)en8<strong>da</strong>des)<br />

(constantes,)variáveis,)estruturas,)funções)etc.))cria<strong>da</strong>s)pelo)programador:)<br />

• Armazenamento:)auto, extern, register, static.)<br />

• Tipagem:)char, const, double, enum, float, int, long,<br />

short, signed, struct, typedef, union, unsigned, void,<br />

volatile.)<br />

• Controle)de)execução:)break, continue, goto, return.)<br />

• Comandos)de)seleção:)case, default, else, if, switch.)<br />

• Comandos)de)iteração:)do, for, while.)<br />

• Função:)sizeof().)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

67)<br />

Atribuindo)valores)à)variáveis)<br />

A)atribuição)é)um)comando)u8lizado)para)modificar)o)valor)de)uma)<br />

variável.)<br />

Atenção<br />

• )o)símbolo)de)atribuição)=)não)significa)igual<strong>da</strong>de.)<br />

• )a)atribuição)sempre)atua)<strong>da</strong>)direita)para)a)esquer<strong>da</strong>)(←).)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

68)


Atribuindo)valores)à)variáveis)<br />

A)atribuição)é)um)comando)destru8vo,)ou)seja,)o)valor)anteriormente)<br />

armazenado)pela)variável)à)esquer<strong>da</strong>)do)símbolo))= será)subs8tuído)pelo)<br />

valor)<strong>da</strong>)constante,)variável)ou)expressão)no)lado)direito.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

69)<br />

Operadores)aritmé8cos)<br />

A)precedência)<strong>da</strong>s)operações)aritmé8cas)em)C)obedece)às)regras)<br />

estabeleci<strong>da</strong>s)pela)Álgebra.)Os)operadores)com)mesmo)nível)de)<br />

precedência)são)avaliados)pelo)compilador)<strong>da</strong>)esquer<strong>da</strong>)para)a)direita.)<br />

Símbolo) Operação) Resultado) Precedência)<br />

+ adição) soma)dos)argumentos) baixa)<br />

– subtração) diferença)dos)argumentos) baixa)<br />

* mul8plicação) produto)dos)argumentos) média)<br />

/ divisão) quociente)dos)argumentos) média)<br />

% módulo) resto)<strong>da</strong>)divisão)inteira) média)<br />

++ incremento) adiciona)1)ao)operando) alta)<br />

–– decremento) subtrai)1)do)operando) alta)<br />

A)precedência)<strong>da</strong>s)operações)pode)ser)modifica<strong>da</strong>)com)o)uso)de)<br />

parênteses.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

70)


Expressões)aritmé8cas)<br />

Calcular)o)perímetro)e)o)volume)de)uma)esfera)de)raio)r)=)3.)<br />

P)=)4πr 2 .)<br />

V = 4 3 πr3<br />

int main()!<br />

{!<br />

const float PI = 3.14159;!<br />

float r € = 3;!<br />

float p, v;!<br />

p = 4*PI*r*r;!<br />

v = (4.0/3.0)*PI*r*r*r;!<br />

return(0);!<br />

}!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

71)<br />

A)função)de)exibição)printf()!<br />

A)função)printf())é)u8liza<strong>da</strong>)para)exibição)de)informações.)Sua)sintaxe)<br />

é:)<br />

printf("expressão de controle", lista de argumentos);)<br />

A)"expressão de controle")contém)a)mensagem)que)será)exibi<strong>da</strong>)na)<br />

tela,)juntamente)com)os)caracteres)especiais)de)exibição)e)os)códigos)de)<br />

formatação)dos)argumentos.)<br />

A)lista de argumentos)corresponde)à)constantes,)variáveis)e)<br />

expressões)que)serão)exibi<strong>da</strong>s)na)tela,)de)acordo)com)os)formatos)<br />

estabelecidos)pela)"expressão de controle".)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

72)


Símbolos)para)a)função)printf()!<br />

Servem)para)controle)e)formatação)<strong>da</strong>)exibição)em)tela.)<br />

Caractere) Ação)<br />

\n nova)linha)<br />

\t tabulação)<br />

\b retrocesso)(backspace))<br />

\f novo)formulário)<br />

\a alerta)(sinal)sonoro))<br />

\r início)<strong>da</strong>)linha)<br />

\0 caractere)nulo)<br />

\" exibe)o)caractere)")<br />

\\ exibe)o)caractere)\)<br />

Código) Exibição)<br />

%c caractere)simples)<br />

%s cadeia)de)caracteres)<br />

%d valor)inteiro)<br />

%u valor)inteiro)sem)sinal)<br />

%f valor)de)ponto)flutuante)<br />

%e notação)cien{fica)<br />

%o valor)octal)<br />

%x valor)hexadecimal)<br />

%% caractere)%)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

73)<br />

Uso)<strong>da</strong>)função)printf()!<br />

Exibir)uma)mensagem:)<br />

printf("Bom dia!");!<br />

Exibir)uma)mensagem)e)pular)duas)linhas:)<br />

printf("Bom dia!\n\n");!<br />

Exibir)o)valor)de)uma)variável)inteira:)<br />

printf("%d", j);!<br />

Exibir)o)valor)de)uma)variável)inteira)e)uma)variável)real:)<br />

printf("%d %f", j, x);!<br />

Exibir)mensagens)e)valores)de)variáveis:)<br />

printf("Valor de j = %d\nValor de x = %f\n", j, x);!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

74)


A)função)printf()!<br />

Exemplo:)Exibir)um)caractere)de)diversas)formas)diferentes.)<br />

#include !<br />

#include !<br />

int main()!<br />

{!<br />

char a = 'A';!<br />

printf("CAR: %c\nDEC: %d\nOCT: %o\nHEX: %x\n", a, a, a, a);!<br />

system("PAUSE");!<br />

return(0);!<br />

}!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

75)<br />

A)função)de)leitura)scanf()!<br />

A)função)scanf())é)u8liza<strong>da</strong>)para)leitura)de)<strong>da</strong>dos)pelo)teclado.)Sua)<br />

sintaxe)é:)<br />

scanf("expressão de controle", lista de argumentos);)<br />

Diferentemente)<strong>da</strong>)função)printf(),)a)"expressão de controle")<strong>da</strong>)<br />

função)scanf())deverá)conter)apenas)os)códigos)de)formatação)<strong>da</strong>s)<br />

variáveis)a)serem)li<strong>da</strong>s.)<br />

A)lista de argumentos)é)composta)pelos)nomes)<strong>da</strong>s)variáveis)que)<br />

serão)li<strong>da</strong>s,)precedi<strong>da</strong>s)pelo)símbolo)&)(endereço),)de)acordo)com)a)ordem)<br />

estabeleci<strong>da</strong>)pela)"expressão de controle".)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

76)


Uso)<strong>da</strong>)função)scanf()!<br />

Ler)o)valor)de)uma)variável)inteira:)<br />

scanf("%d", &j);!<br />

Ler)o)valor)de)duas)variáveis)inteiras:)<br />

scanf("%d %d", &i, &j);!<br />

Ler)o)valor)de)uma)variável)real)e)uma)variável)inteira:)<br />

scanf("%f %d", &x, &j);!<br />

Na)função)scanf())é)imprescindível)o)uso)do)símbolo)de)endereço)&<br />

imediatamente)antes)do)nome)<strong>da</strong>)variável.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

77)<br />

Exemplo)<br />

Exibir)o)valor)correspondente)em)graus)fahrenheit)de)uma)temperatura)em)<br />

graus)celsius)informa<strong>da</strong>)pelo)usuário.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

78)


Uso)combinado)printf())e)scanf()!<br />

A)função)scanf())não)deve)ser)u8liza<strong>da</strong>)para)exibir)mensagens.)<br />

Isto)não)funciona!!!)<br />

scanf("Entre com o valor de i = %d", &i);!<br />

Isto)sim,)funciona!!!)<br />

printf("Entre com o valor de i = ");!<br />

scanf("%d", &i);!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

79)<br />

Formatando)a)exibição)de)valores)<br />

A)função)printf())permite)definir)como)os)valores)<strong>da</strong>s)constantes)e)<br />

variáveis)serão)exibidos)na)tela.)<br />

Exibindo)valores)inteiros:)<br />

int i = 3;!<br />

printf(”i = %d", i); ! ! !// i = 3!<br />

printf(”i = %5d", i); ! ! !// i = 3!<br />

printf(”i = %05d", i);! ! !// i = 00003!<br />

Exibindo)valores)reais:)<br />

float pi = 3.14159265358;!<br />

printf(”pi = %f", pi);! ! !// pi = 3.14159265!<br />

printf(”pi = %.4f", pi); ! !// pi = 3.1416!<br />

printf(”pi = %8.2f", pi); ! !// pi = 3.14!<br />

Atenção!!!)<br />

Não)se)usa)formatação)de)exibição)na)função)scanf().)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

80)


O)operador)de)subtração)<br />

O)símbolo)–)representa)a)operação)de)subtração.)Quando)u8lizado)numa)<br />

expressão)aritmé8ca,)ele)calcula)e)diferença)entre)os)operadores)<br />

envolvidos.))<br />

Este)símbolo)também)define)o)operador)unário)que)altera)o)sinal)<strong>da</strong>)<br />

constante,)variável)ou)expressão)que)o)sucede.))<br />

Alterar)o)sinal)de)uma)variável)ou)expressão...)<br />

x = -x;!<br />

k = -(i + j);!<br />

...)é)o)mesmo)que)mul8plicar)a)variável)ou)expressão)por)-1))<br />

x = (-1)*x;!<br />

k = (-1)*(i + j);!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

81)<br />

O)operador)de)divisão)!<br />

O)símbolo)/)representa)a)operação)de)divisão.)Uma)expressão)aritmé8ca)<br />

contendo)diversos)valores)no)numerador)ou)no)denominador)deve)ser)<br />

lineariza<strong>da</strong>)com)o)uso)de)parênteses.)<br />

) ) ) ) x←) a + ) b ) ) ) "x = (a + b)/(c + d);!<br />

c + d<br />

O)resultado)<strong>da</strong>)operação)de)divisão)depende)do)8po)dos)operandos)na)<br />

expressão.)<br />

€<br />

Quando)houver)apenas)operando)inteiros...)<br />

Será)realiza<strong>da</strong>)a)divisão)inteira.)<br />

Quando)pelo)menos)um)dos)operandos)for)real...)<br />

Será)realiza<strong>da</strong>)a)divisão)real.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

82)


O)operador)módulo)<br />

O)símbolo)%)representa)o)operador)módulo,)que)calcula)o)resto)<strong>da</strong>)divisão)<br />

inteira)entre)2)operandos)do)8po)inteiro.)<br />

dividendo)<br />

quociente)<br />

Ex:)) 13) 5)<br />

) ) ) 3) ) ) 2) ) ) ) ) ))) ) )13)=)5)*)2)+)3)<br />

divisor)<br />

resto)<br />

int D = 13, d = 5;!<br />

int Q, R;!<br />

Q = D/d;!<br />

R = D%d;!<br />

printf(“Resultado <strong>da</strong> divisão inteira: %d\n”, Q) ;!<br />

printf(“Resto <strong>da</strong> divisão inteira: %d\n”, R);!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

83)<br />

Operadores)de)incremento)e)decremento)<br />

São)u8lizados)para)adicionar)ou)subtrair)1)uni<strong>da</strong>de)de)uma)variável)inteira.)<br />

i++; ! !// equivale ao comando i = i + 1;!<br />

j--; ! !// equivale ao comando j = j – 1;!<br />

Notação)pré[fixa)<br />

O)valor)<strong>da</strong>)variável)é)atualizado)antes)de)ser)u8lizado)na)expressão.)<br />

i = 3;!<br />

j = ++i; !// i assume o valor 4, j assume o valor de i!<br />

Notação)pós[fixa)<br />

O)valor)<strong>da</strong>)variável)é)atualizado)depois)de)ser)u8lizado)na)expressão.)<br />

i = 3;!<br />

j = i++; !// j assume o valor de i, i assume o valor 4!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

84)


Conversão)de)8pos)em)atribuições)<br />

A)<strong>linguagem</strong>)C)permite)a)atribuição)de)valores)entre)constantes)e)variáveis)<br />

de)8pos)diferentes.)Em)alguns)casos)pode)haver)per<strong>da</strong>)de)informação.)<br />

(char) = (int)!<br />

Armazena)apenas)os)bits)menos)significa8vos)<strong>da</strong>)variável)inteira.)<br />

(int) = (float)!<br />

Armazena)apenas)a)parte)inteira)do)valor)de)ponto)flutuante.)<br />

(float) = (char)!<br />

Armazena)o)valor)inteiro)associado)ao)caractere.)<br />

(float) = (int)!<br />

Armazena)o)valor)inteiro)como)um)número)de)ponto)flutuante.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

85)<br />

O)8po)char!<br />

Variáveis)ou)constantes)do)8po)char)são)usa<strong>da</strong>s)para)amazenar)caracteres.)<br />

Na)atribuição)de)valores)a)variáveis)do)8po)char)os)símbolos)devem)ser)<br />

escritos)entre)aspas)simples)' '.)<br />

Usa[se)o)código)de)formatação)%c)para)ler)ou)exibir)valores)do)8po)char.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

86)


Funções)na8vas)de)entra<strong>da</strong>)e)saí<strong>da</strong>)<br />

• getchar():)lê)um)caractere)até)que)a)tecla))seja)pressiona<strong>da</strong>.)<br />

Se)mais)de)um)caractere)for)digitado,)apenas)o)primeiro)caractere)será)<br />

considerado)e)o)restante)será)descartado.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

87)<br />

Funções)na8vas)de)entra<strong>da</strong>)e)saí<strong>da</strong>)<br />

• putchar():)Exibe)na)tela)o)caractere)passado)como)argumento,)a))par8r)<br />

<strong>da</strong>)posição)atual)do)cursor.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

88)


Funções)na8vas)de)entra<strong>da</strong>)e)saí<strong>da</strong>)<br />

• getche():)Lê)um)caractere)do)teclado)sem)pressionar))e)<br />

mostra)o)que)foi)digitado.)<br />

#include !<br />

#include !<br />

int main()!<br />

{!<br />

char a;!<br />

printf("Digite um caractere: ");!<br />

a = getche();!<br />

printf("\nO caractere digitado foi %c.\n", a);!<br />

system("PAUSE");!<br />

return(0);!<br />

}!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

89)<br />

Funções)na8vas)de)entra<strong>da</strong>)e)saí<strong>da</strong>)<br />

• getch():)Lê)um)caractere)do)teclado)sem)pressionar))e)não)<br />

mostra)o)que)foi)digitado.)<br />

#include !<br />

#include !<br />

int main()!<br />

{!<br />

char a;!<br />

printf("Digite um caractere: ");!<br />

a = getch();!<br />

printf("\nO caractere digitado foi %c.\n", a);!<br />

system("PAUSE");!<br />

return(0);!<br />

}!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

90)


A)função)puts()!<br />

• É)u8liza<strong>da</strong>)apenas)para)exibir)mensagens)na)tela.)<br />

• A)mensagem)a)ser)exibi<strong>da</strong>)deverá)ser)escrita)entre)aspas.)<br />

• Após)a)exibição)<strong>da</strong>)mensagem,)a)função)puts())mu<strong>da</strong>)de)linha)<br />

automa8camente.))<br />

int main()!<br />

{!<br />

puts("Digite sua opcao:");!<br />

puts("[1] Consultar");!<br />

puts("[2] Incluir");!<br />

puts("[3] Atualizar");!<br />

puts("[4] Excluir");!<br />

puts("[5] Encerrar");!<br />

printf("-> ");!<br />

...!<br />

}!<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

91)<br />

Funções)de)manipulação)de)caracteres)<br />

char a;!<br />

• isalpha(a):)testa)se)o)caractere)é)uma)letra.)<br />

• isdigit(a):)testa)se)o)caractere)é)um)algarismo.)<br />

• isespace(a):)testa)se)é)o)caractere)espaço)' '.))<br />

• islower(a):)testa)se)é)uma)letra)minúscula.))<br />

• isupper(a):)testa)se)é)uma)letra)maiúscula.)<br />

• tolower(a):)converte)o)caractere)para)minúscula.)<br />

• toupper(a):)converte)o)caractere)para)maiúscula.)<br />

Estas)funções)estão)defini<strong>da</strong>s)na)biblioteca)ctype.h.)<br />

PC3I)©)MAP’2014)<br />

<strong>Conceitos</strong>)básicos)<strong>da</strong>)<strong>linguagem</strong>)C)<br />

92)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!