Linguagem de Programação C



Documentos relacionados
Introdução à Programação

Operaçõe õ s c om o Strings Intr oduç ão a o Ponte iros o e Funçõe õ s

Curso C: Controle de Fluxo

INF 1005 Programação I

Capítulo 2: Introdução à Linguagem C

LINGUAGEM C. Estrutura básica de um programa

Algoritmos e Programação

Programação: Tipos, Variáveis e Expressões

INF 1005 Programação I

Introdução à Programação

Linguagem C. Programação Estruturada. Fundamentos da Linguagem. Prof. Luis Nícolas de Amorim Trigo

Linguagem C: variáveis, operadores, entrada/saída. Prof. Críston Algoritmos e Programação

2. OPERADORES ALGORITMOS, FLUXOGRAMAS E PROGRAMAS FUNÇÕES... 10

INTRODUÇÃO À LINGUAGEM C++

Criar a classe Aula.java com o seguinte código: Compilar e Executar

INF 1007 Programação II

Curso C: Funções e Macros

Linguagem de Programação I

MC102 Algoritmos e programação de computadores Aula 3: Variáveis

A declaração de uma variável vel define o seu tipo. O tipo do dado define como ele será: Armazenado na memória. Manipulado pela ULA.

Sintaxe Básica de Java Parte 1

Variáveis e Comandos de Atribuição

Universidade da Beira Interior Cursos: Matemática /Informática e Ensino da Informática

Tipos de Dados Simples

Estrutura de Dados Básica

VIII. VARIÁVEIS. Tabela I ARQUITETURA DA MEMÓRIA. 0x0000 0x34 0x0001 0xB0 0x0002 0x23. 0xFFFF 0x00

Linguagem C Tipos de Dados. void; escalares; sizeof Vectores; strings em C Estruturas Introdução ao pré-processador

Componentes da linguagem C++

Programando em C++ Histórico da Linguagem C

Conceitos de Linguagens de Programação

Introdução a Computação

Algoritmos e Estruturas de Dados I 01/2013. Estruturas Condicionais e de Repetição (parte 2) Pedro O.S. Vaz de Melo

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Técnicas de Programação: ESTRUTURAS, UNIÕES E TIPOS DEE UFPB

Programação Engenharia Informática (11543) 1º ano, 1º semestre Tecnologias e Sistemas de Informação (6619) 1º ano, 1º semestre

A Linguagem Java. Alberto Costa Neto DComp - UFS

INTRODUÇÃO AO C++ SISTEMAS DE INFORMAÇÃO DR. EDNALDO B. PIZZOLATO

LTP-IV. Prof. Dr. Silvio do Lago Pereira. Departamento de Tecnologia da Informação Faculdade de Tecnologia de São Paulo

20 Caracteres - Tipo char

Introdução a C Tipos de Dados Variáveis Operadores

Linguagem e Técnicas de Programação I Operadores, expressões e funções. Prof. MSc. Hugo Souza Material desenvolvido por: Profa.

Algoritmos e Programação. Curso de Engenharia de Produção Prof. Ms. Rogério Cardoso rogerio.cardoso@aedu.com professor@rogeriocardoso.com.

Estruturas da linguagem C. 1. Identificadores, tipos primitivos, variáveis e constantes, operadores e expressões.

Regras Métodos Identificadores Variáveis Constantes Tipos de dados Comandos de atribuição Operadores aritméticos, relacionais e lógicos

Algoritmos e Programação Estruturada

Resumo da Introdução de Prática de Programação com C. A Linguagem C

10/02/2015. Introdução. Podemos classificar os tipos de dados a serem processados em dados e instruções Dados: Algoritmos e Lógica de Programação

Estruturas de entrada e saída

Aula 1. // exemplo1.cpp /* Incluímos a biblioteca C++ padrão de entrada e saída */ #include <iostream>

2 Orientação a objetos na prática

Algoritmos I Aula 13 Java: Tipos básicos, variáveis, atribuições e expressões

Hello World. Linguagem C. Tipos de Dados. Palavras Reservadas. Operadores Aritméticos. Pré e pós incremento e pré e pós decremento

O COMPUTADOR. Introdução à Computação

Algoritmia e Programação APROG. Linguagem JAVA. Básico. Nelson Freire (ISEP DEI-APROG 2012/13) 1/31

Noções sobre Objetos e Classes

Representação de Dados Inteiros com sinal

Roteiro 1: Dados, variáveis, operadores e precedência

Fundamentos de Programação. Turma CI-240-EST. Josiney de Souza.

Introdução à Programação C. Introdução à Ciência da Computação I Prof. Jó Ueyama

Universidade Federal de Uberlândia Faculdade de Computação. A Linguagem C

ITENS FUNDAMENTAIS. Profª Angélica da Silva Nunes

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Tabela ASCII de caracteres de controle

Programação e Sistemas de Informação

Fundamentos de Programação II. Introdução à linguagem de programação C++

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Exemplos. char c; int i=67;... c= A ; c=c+1; if (c== B )... c=i; i=c; i++; if (i>= C )...

Sistemas Operacionais e Introdução à Programação. Programação com linguagem C

Sintaxe Geral Tipos de Dados. Prof. Angelo Augusto Frozza, M.Sc.

Programação de Computadores I Introdução ao C PROFESSORA CINTIA CAETANO

Introdução a Programação. Ponteiros e Strings, Alocação Dinâmica

Manipulação de Arquivos

número : Por exemplo, tendo o seguinte binário com sinal (em vermelho indica positivo): = 3

Linguagem C. TGSI Lógica de Programação / Linguagem C Prof. Marcos Roberto

Programação: Estruturas de seleção

Programação Básica em Arduino Aula 2

Expressões. Prof. Alberto Costa Neto Linguagens de Programação. Departamento de Computação Universidade Federal de Sergipe

Linguagens de Programação

Linguagem C: Variáveis e Operadores. Prof. Leonardo Barreto Campos 1

system("pause"); //Envia comando para o sistema operacional solicitando parada de execução do programa } //limitador do corpo do programa

Conceitos básicos da linguagem C

5 - Vetores e Matrizes Linguagem C CAPÍTULO 5 VETORES E MATRIZES

Para testar seu primeiro código utilizando PHP, abra um editor de texto (bloco de notas no Windows) e digite o código abaixo:

Linguagens de Programação I

Introdução à Linguagem C

Primeiro Curso de Programação em C 3 a Edição

cast poderia ser usado também para transformar um real (float) em inteiro. A sintaxe C (float)i pode ser substituída em C++ por float(i).

1. Fazer um programa em C que pergunta um valor em metros e imprime o correspondente em decímetros, centímetros e milímetros.

Sistemas Microcontrolados

Transcrição:

Universidade de Brasília Departamento de Ciência da Computação Linguagem de Programação C Prof. Ricardo Pezzuol Jacobi rjacobi@cic.unb.br Variáveis vari veis em um programa C est o associadas a posi es de mem ria que armazenam informa es nomes de vari veis podem ter v rios caracteres em C, apenas os 31 primeiros caracteres s o considerados o primeir caracter tem que ser uma letra ou sublinhado Ò_Ó o restante do nome pode conter letras, d gitos e sublinhados

Variáveis Exemplos de nomes de vari veis: Corretos Incorretos Contador 1contador Teste23 oi!gente Alto_Paraiso Alto..Para so sizeint _size-int Variáveis Palavras-chave de C n o podem ser utilizadas como nome de vari veis: int, for, while, etc... C Ž sens vel a casa: contador Contador CONTADOR

Tipos de Dados O tipo de uma vari vel define os valores que ela pode assumir e as opera es que podem ser realizadas com ela Ex: Ð vari veis tipo int recebem apenas valores inteiros Ð vari veis tipo float armazenam apenas valores reais Tipos de dados básicos em C char: um byte que armazena o c digo de um caracter do conjunto de caracteres local int: um inteiro cujo tamanho depende do processador, tipicamente 16 ou 32 bits float: um nœmero real com precis o simples double: um nœmero real com precis o dupla

Representação de Inteiros Ex: char -> 8 bits - 2 7 peso negativo 1 0 0 0 1 0 1 0 2 6 2 5 2 4 2 3 2 2 2 1 2 0 peso positivo Resultado: 2 7 + 2 3 + 2 1 = -128 + 8 + 2 = -118 Complemento de 2 Código Binário - Complemento de 2 000 111 0-1 1 001 crescente 110-2 2 010 crescente -3 101-4 100 3 011

Modificadores de Tipos modificadores alteram algumas caracter sticas dos tipos b sicos para adequa-los a necessidades espec ficas Modificadores: Ð signed: indica nœmero com sinal (inteiros e caracteres) Ð unsigned: nœmero apenas positivo (inteiros e caracteres) Ð long: aumenta abrang ncia (inteiros e reais) Ð short: reduz a abrang ncia (inteiros) Abrangência dos Dados: 16 bits Tipo Tamanho(bytes) Abrang ncia char 1-128 a 127 unsigned char 1 0 a 255 int 2-32768 a 32767 unsigned int 2 0 a 65535 short int 2-32768 a 32767 long int 4-2.147.483.648 a 2.147.483.647 unsigned long 4 0 a 4.294.967.295 float 4-3,4á10 38 a 3,4á10 38 double 8-1,7á10 308 a 1,7á10-308 long double 10-3,4á10 4932 a 3,4á10 4932

Abrangência dos Dados: 32 bits Tipo Tamanho(bytes) Abrang ncia char 1-128 a 127 unsigned char 1 0 a 255 int 4-2.147.483.648 a 2.147.483.647 unsigned int 4 0 a 4.294.967.295 short int 2-32768 a 32767 long int 4-2.147.483.648 a 2.147.483.647 unsigned long 4 0 a 4.294.967.295 float 4 3,4á10-38 a 3,4á10 38 double 8 1,7á10-308 a 1,7á10-308 long double 10 3,4á10-4932 a 3,4á10 4932 Constantes Constantes s o valores fixos que n o podem ser modificados pelo programa Tipo Exemplos char -> ÔaÕ Ô\nÕ Ô9Õ int -> 123 1 1000-23 long int -> 35000L -45L short int -> 10-12 90 unsigned int -> 1000U 234U 4365U float -> 123.45F 3.1415e -10F double -> 123.45-0.91254

Constantes char Barra invertida \a bip \b backspace \n newline \t tab horizontal \Õ ap strofe \Ó aspa \\ backslash \f form feed Numéricas \ooo caracter em octal: \013 = tab \xhh caracter em hexa: \xb = tab Declaração de Variáveis A declara o de uma vari vel segue o modelo: TIPO_VARIçVEL lista_de_variaveis; Ex: int x, y, z; float f; unsigned int u; long double df; char c = ÔAÕ; /* variavel definida e iniciada */ char s[] = Òvetor de caracteresó;

Atribuição de Variáveis Forma geral: variavel = express o ou constante Mœltiplas atribui es Ð C permite a atribui o de mais de uma vari vel em um mesmo comando: x = y = z = 0; Conversões de Tipos na Atribuição Quando uma vari vel de um tipo Ž atribuida a uma de outro tipo, o compilador automaticamente converte o tipo da vari vel a direita de Ò=Ó para o tipo da vari vel a esquerda de Ò=Ó Ex: int i; char ch; float f; ch = i; /* ch recebe 8 bits menos significativos de x */ i = f; /* x recebe parte inteira de f */ f = ch; /* f recebe valor 8 bits convertido para real */ f = i; /* idem para inteiro i */

Strings strings s o sequ ncias de caracteres adjacentes na mem ria. O caracter Ô\0Õ (= valor inteiro 0) indica o fim da sequ ncia Ex: char str[13]; Ð define um string de nome ÒstrÓ e reserva para ele um espa o de 13 (12 + Ô\0Õ) bytes na mem ria 0 12 str: \0 Strings Ex: char nome[16] = Pindamonhangada ; define um string de nome ÒnomeÓ, reserva para ele um espa o de mem ria de 16 (15 + Ô\0Õ) bytes e inicia-o com o texto indicado nome: 0 15 P i n d a m o n h a n g a b a \0

Strings os caracteres podem ser individualmente acessados por indexa o: Ex: nome[0] = P ; nome[10] = n nome: 0 15 P i n d a m o n h a n g a b a \0 Operações com Strings atribui o: n o se pode atribuir um string a outro string: str = name; /* erro */ o header Òstring.hÓ contžm uma sžrie de fun es para manipula o de strings strlen(str) retorna o tamanho de str strcpy(dest, fonte) copia fonte em dest strcat(dest, fonte) concatena fonte no fim de dest

Operações com Strings Ex: char fonte[] = Bom ; char dest[] = dia! ; strlen(fonte) => retorna 3 strlen(dest) => retorna 5 strcat(dest, fonte) => Bom dia! strcpy(dest, fonte) => Bom Entrada e saída de strings A fun o gets(s) l um string do teclado e coloca-o em s Ex: #include <stdio.h> void main () { char nome[80]; printf ( Entre nome aluno: "); gets (nome); printf ("\O nome eh: %s",nome); }

Exercícios 1. Programar a fun o int is_digit(char c), que retorna 1 se c Ž um d gito (entre Ô0Õ e Ô9Õ) e 0 caso contr rio. 2. Implementar int strlen(char s[]) que retorna o tamanho do string s. 3. Fazer um programa que procura a ocorr ncia de um caracter c em um string s e imprime ÒAchou!Ó caso c apare a em s e ÒNope!Ó caso contr rio. Strlen() int strlen(char s[]) { int i; } for (i = 0; s[i]!= 0; i++); return(i);

Escopo de Variáveis Escopo define onde e quando uma vari vel pode ser usada em um programa vari vel declarada fora das fun es tem escopo de arquivo: #include <stdio.h> int i; /* variavel global */ /* visivel em todo arquivo */ void incr_i() { i++;}... void main() { printf( %d, i);} Escopo de Variáveis Escopo de bloco: Ž vis vel apenas no interior do bloco... if (teste == TRUE) { int i; i = i+1;... } else { i = i - 1; /* erro: i não definida */... }...

Escopo de Variáveis Escopo de fun o: vari vel declarada na lista de par metros da fun o ou definida dentro da fun o Ex:... int minha_fun (int x, int y) { int i, j; /* x,y,i e j visíveis apenas dentro da função */... } x + i+j; /* erro: x,i e j não definidos */ Expressões express es s o compostas por: Ð operandos: a, b, x, Minha_Nossa, 2,... Ð operadores: +, -, %,... Ð pontua o: (), {}, Ò,Ó Ex: x 14 x + y (x + y)*z + w - v

Expressões express es retornam um valor: x = 5 + 4 /* retorna 9 */ Ð esta express o atribui 9 a x e retorna 9 como resultado da express o ((x = 5 + 4) == 9) /* retorna true */ Ð na express o acima, alžm de atribuir 9 a x, o valor retornado Ž utilizado em uma compara o Expressões a ordem em que uma express o Ž avaliada depende daprioridade dos operadores e da pontua o express es podem aparecer em diversos pontos de um programa Ð comandos /* x = y; */ Ð par metros de fun es /* sqrt(x + y); */ Ð condi es de teste /* if (x == y) */

Operadores Un rios: + : mais un rio ou positivo /* + x; */ - : menos un rio ou nega o /* - x; */! : NOT ou nega o l gica /*! x; */ &: endere o /* &x; */ *: conteœdo (ponteiros) /* (*x); */ ++: prž ou p s incremento /* ++x ou x++ */ -- : prž ou p s decremento /* -- x ou x -- */ Operadores Bin rios: +: adi o de dois nœmeros /* x + y */ - : subtra o de dois nœmeros /* x - y */ * : multiplica o de dois nœmeros /* x * y */ / : quociente de dois nœmeros /* x / y */ %: resto da divis o: /* x % y */

Operadores bit a bit Opera es bit-a-bit (vetores) <<: desloca ˆ esquerda /* x << 2 */ >>: desloca ˆ direita /* x >>2 */ ^ : ou exclusivo /* x ^ 0xF0 */ & : E bit-a-bit /* x & 0x07 */ : OU bit-a-bit /* x 0x80 */ ~ : Complementa bit-a-bit /* ~ x */ Operações bit a bit Ex: char x = 0xD5; x = x & 0x0F máscara de 0 s x 0x0F x & 0x0F 11010101 00001111 00000101

Operações bit a bit Ex: x = x 0x0F; máscara de 1 s x 0x0F x 0x0F 11010101 00001111 01011111 x = x ^ 0x0F; inversão controlada x 0x0F x ^ 0x0F 11010101 00001111 11011010 Operações bit a bit Ex: x = ~ x; complemento x ~x 11010101 00101010 x = x << 2; x desloca 2 bits ( x*4) x = x << 2; x = x >> 2; x desloca 2 bits ( x/4) x = x >> 2; 11010101 01010100 11010101??110101

Atribuição Atribui o: = : atribui x = y; += : soma e atribui x += y; <=> x = x + y; -= : subtrai e atribui x -= y; <=> x = x - y; *= : multiplica e atribui x *= y; <=> x = x * y; /= : divide e atribui quociente x /= y; <=> x = x / y; %= : divide e atribui resto x %= y; <=> x = x % y; &= : E bit-a-bit e atribui x &= y; <=> x = x & y; = : OU bit-a-bit e atribui x = y; <=> x = x y; <<= : shift left e atribui x <<= y; <=> x = x<<y;... Atribuição Exemplos: x = 10; y = 5; x += y; /* x = 15 */ x -= 10; /* x = 5 */ x *= y; /* x = 35 */

Operadores Relacionais Aplicados a vari veis que obede am a uma rela o de ordem, retornam 1 (true) ou 0 (false) Operador Rela o > Maior do que >= Maior ou igual a < Menor do que <= Menor ou igual a == Igual a!= Diferente de Operadores Lógicos Operam com valores l gicos e retornam um valor l gico verdadeiro (1) ou falso (0) Operador Fun o Exemplo && AND (E) (c >=Ô0Õ && c<=ô9õ) OR (OU) (a==ôfõ b!=32)! NOT (NÌO) (!var)

Tabela Verdade a b!a!b a && b a b 0 0 1 1 0 0 0 1 1 0 0 1 1 0 0 1 0 1 1 1 0 0 1 1 Exercícios 1. Verificar o c digo ASCII dos caracteres Ô0Õ, Ô9Õ, ÔaÕ e ÔAÕ. (dica: ler um char e imprimir como int) 2. Ler um caracter do teclado e verificar se Ž um caracter de pontua o: Ô,Õ ou Ô.Õ ou Ô;Õ ou Ô!Õ ou Ô?Õ 3. Verificar se um caracter lido do teclado Ž maiœsculo ou minœsculo (entre ÔaÕ e ÔzÕ Ž minœsculo) 4. Ler um string do teclado com a fun o gets(s) e imprimir o nœmero de ocorr ncias do caracter ÔaÕ 5. Fazer maiuscula(s): transforma todas as letras minœsculas em maiœsculas em s.