conceitos)básicos)da)linguagem)c) - wordpress.com...pc3i)©)map’2015)...

21
Conceitos básicos da linguagem C PC3I © MAP’2015 Conceitos básicos da linguagem C Histórico da linguagem C. Tipos primi8vos de dados. Constantes e variáveis. Atribuição. Operadores aritmé8cos. Funções de exibição e leitura. 51 Conceitos básicos da linguagem C PC3I © MAP’2015 Breve histórico da linguagem C 1966: Mar8n Richards (MIT) propõe a Basic Combined Programming Language (BCPL) para o desenvolvimento de compiladores simplificados para outras linguagens de programação. Todas as variáveis eram de um único 8po (word), cujo tamanho dependia da arquitetura do computador onde era executada. O primeiro programa “Hello, world!” foi escrito em BCPL. 52

Upload: others

Post on 21-Feb-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Conceitos)básicos)da)linguagem)C)

• Histórico)da)linguagem)C.)

• Tipos)primi8vos)de)dados.)• Constantes)e)variáveis.)• Atribuição.)• Operadores)aritmé8cos.)

• Funções)de)exibição)e)leitura.)

51)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Breve)histórico)da)linguagem)C)

1966:)Mar8n)Richards)(MIT))propõe)a)Basic)Combined)Programming)Language)(BCPL))para)o)desenvolvimento)de)compiladores)simplificados)para)outras)linguagens)de)programação.)Todas)as)variáveis)eram)de)um)único)8po)(word),)cujo)tamanho)dependia)da)arquitetura)do)computador)onde)era)executada.)

O)primeiro)programa)“Hello,)world!”)foi)escrito)em)BCPL.)

52)

Page 2: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Breve)histórico)da)linguagem)C)

1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)em)mini[computadores.)Criação)de)variáveis)do)8po)caractere)(letras))e)a)inclusão)de)bibliotecas)externas)de)funções.)!)B)

1971:)Dennis)Richie)(Bell)Labs))acrescentou)8pagem)à)linguagem)B)(inteiro,)real,)caracter)etc),)e)alterou)seu)compilador)para)produzir)código)em)linguagem)de)máquina.)!)NB)(New$B).)

1972:)Com)a)inclusão)de)um)programa)pré[processador)ao)compilador)e)pequenas)alterações)na)sintaxe,)NB)passou)a)se)chamar)C,)sendo)u8lizada)para)reescrever)cerca)de)90%)do)núcleo)do)sistema)operacional)UNIX,)sendo)também)distribuída)com)este)sistema.)

53)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Principais)caracterís8cas)da)linguagem)C)

A)linguagem)C)combina)caracterís8cas)de)linguagens)de)alto[nível)com)a)funcionalidade)de)linguagens)de)montagem)(assembly$languages).)Dentre)as)principais)caracterís8cas)que)tornaram)C)uma)das)linguagens)mais)populares)estão:)

• Seu)compilador)gera)programas[executáveis)menores)e)mais)velozes)do)que)muitas)outras)linguagens;))

• Uso)extensivo)de)funções:)permite)que)tarefas)específicas)sejam)definidas)e)codificadas)separadamente)–)um)programa)em)C)é)uma)coleção)de)funções;)

•  Implementação)de)ponteiros:)endereçamento)da)memória,)vetores,)estruturas)e)funções.)

54)

Page 3: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

O)menor)programa)em)C)

Todo)programa)escrito)na)linguagem)C)possui)um)estrutura)básica,)sobre)a)qual)são)adicionadas)as)instruções)e)comandos)que)se)deseja)que)o)programa)execute.)

55)

A)função)int main()

•  É)a)função)principal)de)um)programa)em)C.)•  Sempre)deverá)exis8r.)• Marca)o)início)da)execução)do)programa.)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Algumas)notas)MUITO)importantes)

56)

Tudo)que)tem)um)começo)tem)um)fim)(exceto)a)história)do)filme)Matrix$) •  Os)símbolos)/*)e)*/)indicam)o)começo)e)o)fim)de)um)comentário.)•  Os)símbolos){)e)})indicam)o)começo)e)o)fim)de)um)bloco)de)comandos.)•  Os)símbolos)")e)")indicam)o)começo)e)o)fim)de)uma)cadeia)de)caracteres.)•  Todo)comando)deve)ser)encerrado)com)o)símbolo);)(ponto[e[vírgula).)

Page 4: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Principais)bibliotecas)da)linguagem)C)

A)linguagem)C)possui)um)conjunto)mínimo)de)instruções,)visando)a)criação)de)programas)executáveis)de)tamanho)pequeno.)A)adição)de)novas)funcionalidades)é)feita)através)da)inclusão)de)bibliotecas,)que)contêm)classes)de)funções)específicas)para)o)tratamento)de)dados)desejado.)

A)inclusão)de)bibliotecas)devem)ser)as)primeiras)instruções)de)um)programa)em)C.)

57)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Principais)bibliotecas)da)linguagem)C)

58)

Biblioteca) Principais)funcionalidades)

stdio.h entrada)e)saída)de)dados.)

stdlib.h alocação)de)memória)e)comandos)para)o)sistema)operacional.)

math.h funções)matemá8cas.)

time.h manipulação)de)dados)nos)formatos)de)data)e)hora.)

ctype.h manipulação)de)caracteres.)

string.h manipulação)de)cadeias)de)caracteres.)

conio.h manipulação)do)cursor)na)tela.)

Page 5: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Armazenamento)de)dados)

Antes)de)serem)u8lizadas)em)um)programa,)as)informações)do)mundo)ksico)devem)ser)armazenadas)na)memória)do)computador.)Em)programação,)tais)informações)recebem)o)nome)de)dado.)Os)dados)podem)ser)valores)numéricos)ou)símbolos)gráficos)(caracteres))

Para)isso,)o)programa)reserva)endereços)de)memória,)que)passam)a)ser)iden8ficados)por)um)nome,)geralmente)relacionado)à)informação)que)ele)representa)(massa,)altura,)força,)cor)etc.))

Através)deste)nome,)a)informação)con8da)no)respec8vo)endereço)de)memória)pode)ser)modificada)ou)u8lizada)em)expressões,)comandos)e)funções)do)programa.)

59)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Constantes)e)variáveis)

Em)linguagens)de)programação)de)alto)nível,)os)dados)podem)ser)de)duas)naturezas:)constantes)ou)variáveis.)

60)

Constantes Assumem)um)único)valor,)do)início)ao)fim)da)execução)do)programa,)não)podendo)ser)alterado)por)nenhum)comando)ou)função.)

Variáveis Assumem)um)valor)inicial,)que)pode)ser)alterado)por)alguma)função)ou)comando)durante)a)execução)do)programa.)

Page 6: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Tipos)primi8vos)da)linguagem)C)

A)linguagem)C)realiza)operações)sobre)dados)numéricos)e)não[numéricos.)

Os)dados)numéricos)podem)ser)de)3)8pos)dis8ntos:)

int :)para)representar)valores)inteiros;)float :)para)representar)valores)de)ponto)flutuante;)

double :)para)representar)valores)de)ponto)flutuante)de)precisão)dupla.)

O)8po)char)permite)manipular)elementos)não[numéricos)(dados)como)letras,)dígitos)ou)outro)símbolo)gráfico).)

61)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Declaração)

62)

A)declaração)é)um)comando)que)associa)o)nome)de)uma)constante)ou)de)uma)variável)a)um)determinado)endereço)de)memória.)

Page 7: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Regras)0a)e)0b)sobre)constantes)e)variáveis)

63)

Declaração)prévia Toda)constante)ou)variável)deve)ser)declarada)antes)de)ser)usada.)

Declaração)única O)nome)da)constante)ou)variável)deve)ser)único.)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Tipos)e)valores)

Os)valores)admissíveis)para)cada)8po)primi8vo)podem)ser)alterados)com)o)uso)dos)modificadores)unsigned,)short)e)long.)

64)

Tipo)Tamanho)(bytes))

Intervalo)

Início) Fim)

char 1) –128) 127)

unsigned char 1) 0) 255)

short int 2) –32768) 32767)

unsigned short int 2) 0) 65535)

int 4) –2147483648)) 2147483647))

unsigned int 4) 0) 4294967295)

float 4) ±3.4)E–38)) ±3.4)E+38)

double 8) ±1.7)E–308) ±1.7)E+308)

long double 10) ±3.4)E–4932) ±3.4)E+4932)

Page 8: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

A)tabela)ASCII)padrão)

65)Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2014)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Iden8ficadores)de)constantes)e)variáveis)

Os)nomes)dados)às)constantes)ou)variáveis)de)um)programa)denominam[se)iden8ficadores.)Para)definir)um)iden8ficador)pode[se)u8lizar)uma)combinação)de:)

• )letras)(maiúsculas)e)minúsculas,)sem)acentuação).)• )dígitos)(0)a)9),)desde)que)o)primeiro)caractere)não)seja)um)dígito.)• )caractere)'_')(sublinha).)

A)linguagem)C)diferencia)letras)maiúsculas)e)minúsculas.)

66)

int F; // uma variável inteira denominada F float f; // uma variável real denominada fdouble valor de A; // identificador inválido!char 1a_inicial; // identificador inválido!

Page 9: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Palavras)reservadas)da)linguagem)C)

As)seguintes)palavras)não)podem)ser)u8lizadas)para)denominar)en8dades)(constantes,)variáveis,)estruturas,)funções)etc.))criadas)pelo)programador:)

•  Armazenamento:)auto, extern, register, static.)•  Tipagem:)char, const, double, enum, float, int, long, short, signed, struct, typedef, union, unsigned, void, volatile.)

•  Controle)de)execução:)break, continue, goto, return.)•  Comandos)de)seleção:)case, default, else, if, switch.)•  Comandos)de)iteração:)do, for, while.)•  Função:)sizeof().)

67)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Atribuindo)valores)à)variáveis)

A)atribuição)é)um)comando)u8lizado)para)modificar)o)valor)de)uma)variável.)

68)

Atenção • )o)símbolo)de)atribuição)=)não)significa)igualdade.)• )a)atribuição)sempre)atua)da)direita)para)a)esquerda)(←).)

Page 10: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Atribuindo)valores)à)variáveis)

A)atribuição)é)um)comando)destru8vo,)ou)seja,)o)valor)anteriormente)armazenado)pela)variável)à)esquerda)do)símbolo))= será)subs8tuído)pelo)valor)da)constante,)variável)ou)expressão)no)lado)direito.)

69)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Operadores)aritmé8cos)

A)precedência)das)operações)aritmé8cas)em)C)obedece)às)regras)estabelecidas)pela)Álgebra.)Os)operadores)com)mesmo)nível)de)precedência)são)avaliados)pelo)compilador)da)esquerda)para)a)direita.)

A)precedência)das)operações)pode)ser)modificada)com)o)uso)de)parênteses.)

70)

Símbolo) Operação) Resultado) Precedência)

+ adição) soma)dos)argumentos) baixa)

– subtração) diferença)dos)argumentos) baixa)

* mul8plicação) produto)dos)argumentos) média)

/ divisão) quociente)dos)argumentos) média)

% módulo) resto)da)divisão)inteira) média)

++ incremento) adiciona)1)ao)operando) alta)

–– decremento) subtrai)1)do)operando) alta)

Page 11: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Expressões)aritmé8cas)

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

P)=)4πr2.)

71)

int main(){ const float PI = 3.14159; float r = 3; float p, v;

p = 4*PI*r*r; v = (4.0/3.0)*PI*r*r*r;

return(0);}

V =43πr3

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

A)função)de)exibição)printf()

A)função)printf())é)u8lizada)para)exibição)de)informações.)Sua)sintaxe)é:)

printf("expressão de controle", lista de argumentos);)

A)"expressão de controle")contém)a)mensagem)que)será)exibida)na)tela,)juntamente)com)os)caracteres)especiais)de)exibição)e)os)códigos)de)formatação)dos)argumentos.)

A)lista de argumentos)corresponde)à)constantes,)variáveis)e)expressões)que)serão)exibidas)na)tela,)de)acordo)com)os)formatos)estabelecidos)pela)"expressão de controle".)

72)

Page 12: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Símbolos)para)a)função)printf()

Servem)para)controle)e)formatação)da)exibição)em)tela.)

73)

Código) Exibição)

%c caractere)simples)

%s cadeia)de)caracteres)

%d valor)inteiro)

%u valor)inteiro)sem)sinal)

%f valor)de)ponto)flutuante)

%e notação)cien{fica)

%o valor)octal)

%x valor)hexadecimal)

%% caractere)%)

Caractere) Ação)

\n nova)linha)

\t tabulação)

\b retrocesso)(backspace))

\f novo)formulário)

\a alerta)(sinal)sonoro))

\r início)da)linha)

\0 caractere)nulo)

\" exibe)o)caractere)")

\\ exibe)o)caractere)\)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Uso)da)função)printf()

74)

Exibir)uma)mensagem)e)pular)duas)linhas:)

printf("Bom dia!\n\n");

Exibir)uma)mensagem:)

printf("Bom dia!");

Exibir)o)valor)de)uma)variável)inteira:)

printf("%d", j);

Exibir)o)valor)de)uma)variável)inteira)e)uma)variável)real:)

printf("%d %f", j, x);

Exibir)mensagens)e)valores)de)variáveis:)

printf("Valor de j = %d\nValor de x = %f\n", j, x);

Page 13: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

A)função)printf()

Exemplo:)Exibir)um)caractere)de)diversas)formas)diferentes.)

75)

#include <stdio.h>#include <stdlib.h>

int main(){ char a = 'A';

  printf("CAR: %c\nDEC: %d\nOCT: %o\nHEX: %x\n", a, a, a, a); system("PAUSE"); return(0);}

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

A)função)de)leitura)scanf()

A)função)scanf())é)u8lizada)para)leitura)de)dados)pelo)teclado.)Sua)sintaxe)é:)

scanf("expressão de controle", lista de argumentos);)

Diferentemente)da)função)printf(),)a)"expressão de controle")da)função)scanf())deverá)conter)apenas)os)códigos)de)formatação)das)variáveis)a)serem)lidas.)

A)lista de argumentos)é)composta)pelos)nomes)das)variáveis)que)serão)lidas,)precedidas)pelo)símbolo)&)(endereço),)de)acordo)com)a)ordem)estabelecida)pela)"expressão de controle".)

76)

Page 14: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Uso)da)função)scanf()

Na)função)scanf())é)imprescindível)o)uso)do)símbolo)de)endereço)& imediatamente)antes)do)nome)da)variável.)

77)

Ler)o)valor)de)uma)variável)inteira:)

scanf("%d", &j);

Ler)o)valor)de)duas)variáveis)inteiras:)

scanf("%d %d", &i, &j);

Ler)o)valor)de)uma)variável)real)e)uma)variável)inteira:)

scanf("%f %d", &x, &j);

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Exemplo)

Exibir)o)valor)correspondente)em)graus)fahrenheit)de)uma)temperatura)em)graus)celsius)informada)pelo)usuário.)

78)

Page 15: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Uso)combinado)printf())e)scanf()

A)função)scanf())não)deve)ser)u8lizada)para)exibir)mensagens.)

79)

Isto)não)funciona!!!)

scanf("Entre com o valor de i = %d", &i);

Isto)sim,)funciona!!!)

printf("Entre com o valor de i = ");scanf("%d", &i);

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Formatando)a)exibição)de)valores)

A)função)printf())permite)definir)como)os)valores)das)constantes)e)variáveis)serão)exibidos)na)tela.)

80)

Exibindo)valores)inteiros:)int i = 3;printf("i = %d", i); // i = 3printf("i = %5d", i); // i = 3printf("i = %05d", i); // i = 00003

Exibindo)valores)reais:)float pi = 3.14159265358;printf("pi = %f", pi); // pi = 3.141593printf("pi = %.4f", pi); // pi = 3.1416printf("pi = %8.2f", pi); // pi = 3.14

Atenção!!!)

Não)se)usa)formatação)de)exibição)na)função)scanf().)

Page 16: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

O)operador)de)subtração)

O)símbolo)–)representa)a)operação)de)subtração.)Quando)u8lizado)numa)expressão)aritmé8ca,)ele)calcula)e)diferença)entre)os)operadores)envolvidos.))

Este)símbolo)também)define)o)operador)unário)que)altera)o)sinal)da)constante,)variável)ou)expressão)que)o)sucede.))

81)

Alterar)o)sinal)de)uma)variável)ou)expressão...)

x = -x;k = -(i + j);

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

x = (-1)*x;k = (-1)*(i + j);

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

O)operador)de)divisão)

O)símbolo)/)representa)a)operação)de)divisão.)Uma)expressão)aritmé8ca)contendo)diversos)valores)no)numerador)ou)no)denominador)deve)ser)linearizada)com)o)uso)de)parênteses.)

) ) ) ) ) ) ) ) )! "x = (a + b)/(c + d);

O)resultado)da)operação)de)divisão)depende)do)8po)dos)operandos)na)expressão.)

82)

Quando)houver)apenas)operando)inteiros...)

Será)realizada)a)divisão)inteira.)

Quando)pelo)menos)um)dos)operandos)for)real...)

Será)realizada)a)divisão)real.)

x←a + bc + d

Page 17: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

O)operador)módulo)

O)símbolo)%)representa)o)operador)módulo,)que)calcula)o)resto)da)divisão)inteira)entre)2)operandos)do)8po)inteiro.)

Ex:))

) ) ) ) ) ) ) ) ) )!) ) ) )13)=)5)*)2)+)3)

83)

13) 5)

3) 2)

dividendo)

divisor)

quociente)

resto)

int D = 13, d = 5;int Q, R;

Q = D/d;R = D%d;

printf(“Resultado da divisão inteira: %d\n”, Q) ;printf(“Resto da divisão inteira: %d\n”, R);

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Operadores)de)incremento)e)decremento)

São)u8lizados)para)adicionar)ou)subtrair)1)unidade)de)uma)variável)inteira.)

84)

i++; // equivale ao comando i = i + 1;j--; // equivale ao comando j = j – 1;

Notação)pré[fixa)

O)valor)da)variável)é)atualizado)antes)de)ser)u8lizado)na)expressão.)

Notação)pós[fixa)

O)valor)da)variável)é)atualizado)depois)de)ser)u8lizado)na)expressão.)

i = 3;j = ++i; // i assume o valor 4, j assume o valor de i

i = 3;j = i++; // j assume o valor de i, i assume o valor 4

Page 18: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Conversão)de)8pos)em)atribuições)

A)linguagem)C)permite)a)atribuição)de)valores)entre)constantes)e)variáveis)de)8pos)diferentes.)Em)alguns)casos)pode)haver)perda)de)informação.)

85)

(char) = (int)

Armazena)apenas)os)bits)menos)significa8vos)da)variável)inteira.)

(int) = (float)

Armazena)apenas)a)parte)inteira)do)valor)de)ponto)flutuante.)

(float) = (char)

Armazena)o)valor)inteiro)associado)ao)caractere.)

(float) = (int)

Armazena)o)valor)inteiro)como)um)número)de)ponto)flutuante.)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

O)8po)char

Variáveis)ou)constantes)do)8po)char)são)usadas)para)amazenar)caracteres.))

Na)atribuição)de)valores)a)variáveis)do)8po)char)os)símbolos)devem)ser)escritos)entre)aspas)simples)' '.)

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

86)

Page 19: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Funções)na8vas)de)entrada)e)saída)

• getchar():)lê)um)caractere)até)que)a)tecla)<ENTER>)seja)pressionada.)Se)mais)de)um)caractere)for)digitado,)apenas)o)primeiro)caractere)será)considerado)e)o)restante)será)descartado.)

87)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Funções)na8vas)de)entrada)e)saída)

• putchar():)Exibe)na)tela)o)caractere)passado)como)argumento,)a))par8r)da)posição)atual)do)cursor.)

88)

Page 20: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Funções)na8vas)de)entrada)e)saída)

• getche():)Lê)um)caractere)do)teclado)sem)pressionar)<ENTER>)e)mostra)o)que)foi)digitado.)

89)

#include <stdio.h>#include <stdlib.h>

int main(){ char a;

printf("Digite um caractere: ");  a = getche();  printf("\nO caractere digitado foi %c.\n", a); system("PAUSE"); return(0);}

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Funções)na8vas)de)entrada)e)saída)

• getch():)Lê)um)caractere)do)teclado)sem)pressionar)<ENTER>)e)não)mostra)o)que)foi)digitado.)

90)

#include <stdio.h>#include <stdlib.h>

int main(){ char a;

printf("Digite um caractere: ");  a = getch();  printf("\nO caractere digitado foi %c.\n", a); system("PAUSE"); return(0);}

Page 21: Conceitos)básicos)da)linguagem)C) - WordPress.com...PC3I)©)MAP’2015) Conceitos)básicos)da)linguagem)C) Breve)histórico)da)linguagem)C) 1969:)Ken)Thompson)(Bell)Labs))adaptou)a)Linguagem)BCPL)para)u8lização)

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

A)função)puts()

• É)u8lizada)apenas)para)exibir)mensagens)na)tela.)• A)mensagem)a)ser)exibida)deverá)ser)escrita)entre)aspas.)

• Após)a)exibição)da)mensagem,)a)função)puts())muda)de)linha)automa8camente.))

91)

int main(){ puts("Digite sua opcao:"); puts("[1] Consultar"); puts("[2] Incluir"); puts("[3] Atualizar"); puts("[4] Excluir"); puts("[5] Encerrar"); printf("-> "); ...}

Conceitos)básicos)da)linguagem)C)PC3I)©)MAP’2015)

Funções)de)manipulação)de)caracteres)

char a;

• isalpha(a):)testa)se)o)caractere)é)uma)letra.)• isdigit(a):)testa)se)o)caractere)é)um)algarismo.)• isespace(a):)testa)se)é)o)caractere)espaço)' '.))• islower(a):)testa)se)é)uma)letra)minúscula.))• isupper(a):)testa)se)é)uma)letra)maiúscula.)• tolower(a):)converte)o)caractere)para)minúscula.)• toupper(a):)converte)o)caractere)para)maiúscula.)

Estas)funções)estão)definidas)na)biblioteca)ctype.h.)

92)