RESUMO DE CONCEITOS BÁSICOS DE C

Documentos relacionados
Introdução à Ciência da Computação scc-120

Introdução à Programação

Introdução à Programação SCC-121

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação. Profa Rosana Braga

Linguagem de Programação C

ICMC USP. 1.semestre/2011 SCC120 - ICC. Aula: Comandos em C. Profa. Roseli Ap. Francelin Romero

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

Introdução à Programação SCC-121

Linguagem C. Introdução à Programação C. Variáveis. Identificadores. Identificadores VARIÁVEIS E TIPOS DE DADOS

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

Linguagem de Programação C

3. Linguagem de Programação C

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

LINGUAGEM C: VARIÁVEIS E EXPRESSÕES

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

Estruturas de Controle

Métodos Computacionais. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Algoritmos e Estruturas de Dados I IEC012. Linguagem C - Guia de bolso - Prof. César Melo

Programação Estruturada

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

Tipos Primitivos, estruturas de iteração e decisão.

Linguagens de Programação I

Revisão C++ - Parte 1

Fundamentos de Programação

K&R: Capitulo 2 IAED, 2012/2013

Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

Técnicas de Programação em Engenharia Elétrica I - Engenharia de Sistemas Embarcados - Prof. Alessandro Zimmer Introdução à Linguagem C

Programação 1. Atribuição, operadores aritméticos, entrada de dados. Técnico em Eletrônica Semestre 5 02

Comandos de Controle do Programa

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Ciência da Computação ICC 1 - Teoria

PROGRAMAÇÃO ESTRUTURADA E ORIENTADA A OBJETOS

Introdução à Linguagem de Programação C: Variáveis, Constantes, Expressões, Atribuição, Tipos de dados, Entrada e Saída de Dados

LINGUAGEM C: COMANDOS DE CONTROLE CONDICIONAL

Linguagem C: Introdução

Introdução à Programação. Operadores, Expressões Aritméticas e Entrada/Saída de Dados

Anhanguera Educacional S.A. Centro Universitário Ibero-Americano

Linguagem de Programação I. Aula 06 Linguagem C: Tipos de Dados

Aula 4 - Operadores. Prof. Laura Silva de Assis. Engenharia de Computação 2 o Período

LÓGICA DE PROGRAMAÇÃO. PROFª. M.Sc. JULIANA H Q BENACCHIO

4.1- Aritméticos + soma - subtração * multiplicação / divisão % módulo (resto da divisão de inteiros ).

Programação Orientada a Objetos

Declarações. C diferencia letras maiúsculas de minúsculas! int n, N; n é diferente de N!

Linguagens de Programação PROGRAMAÇÃO DE COMPUTADORES. Linguagem C. Linguagem C Estrutura Básica. Constante (literais) Linguagem C Primeiro Programa

#include <stdio.h> Void main() { printf( Cheguei!\n"); } INTRODUÇÃO A LINGUAGEM C

Conceitos básicos de programação

Computação Eletrônica. Tipos de dados, constantes, variáveis, operadores e expressões. Prof: Luciano Barbosa

Algoritmos e Programação

Introdução à linguagem C

Programação científica C++

PROGRAMAS BÁSICOS EM C++ Disciplina: Introdução à Ciência da Computação Prof. Modesto Antonio Chaves Universidade estadual do Sudoeste da Bahia

Computação 2. Aula 7. Profª. Fabiany Ponteiros

Operadores. A linguagem C é muito rica em operadores internos. Ela define quatro classes de operadores:

Parte 1. Programação (linguagem C) Introdução Geral

CIT Aula 02 Variáveis e Estruturas de desvio condicional. Autor: Max Rodrigues Marques Carga Horária: 2 h 22/07/15 1

Introdução à Linguagem C++

Revisão da Linguagem C Prof. Evandro L. L. Rodrigues

Módulo 1. Introdução. AEDS I C++ (Rone Ilídio)

C Operadores e Expressões

Linguagem de Programação C. Prof. Fabrício Olivetti de França

SCC-120 INTRODUÇÃO À CIÊNCIA DA COMPUTAÇÃO

Nomes de variáveis Todo nome de variável deve iniciar com uma letra ou sublinha _.

Algoritmos: Conceitos Fundamentais

Conceitos Básicos Linguagem C

Introdução à Computação MAC0110

COMANDOS DE CONTROLE DE FLUXO. Luís Charneca.

Introdução à Linguagem C

Tópicos em C. Eliade F. Lima

Linguagem C. Prof.ª Márcia Jani Cícero

Conceitos básicos. Computação eletrônica: Gurvan Huiban

Linguagem C - Tipos de Dados. Lógica de Programação

MsC. João Maria MsC. Liviane Melo

Noções Básicas. Estrutura de um programa em C. Fluxo do Compilador C. Variáveis. Começando do Zero. SCC-814 Projetos de Algoritmos Prof.

INF1007: Programação 2. 0 Revisão. 06/08/2015 (c) Dept. de Informática - PUC-Rio 1

3. Linguagem de Programação C

Cláudio C. Rodrigues Faculdade da Computação - UFU. Faculdade da Computação - UFU 1

PROGRAMAÇÃO I E N T R A DA E S A Í DA D E DA D O S

Introdução a JAVA. Variáveis, tipos, expressões, comandos e blocos

Curso C: Controle de Fluxo

GFM015 Introdução à Computação Algoritmos e Programação / Estrutura de Controle de Fluxo / Ambiente de Programação

Princípios de Desenvolvimento de Algoritmos MAC122

Introdução a JAVA. Variaveis, tipos, expressões, comandos e blocos

Aula 02 - Introdução a Linguagem C

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

Introdução à Linguagem C

Introdução à Programação. Expressões Booleanas e Comandos Condicionais

USP - ICMC - SSC SSC o. Semestre Disciplina de Introdução à Computação para Engenharia Ambiental

Java 2 Standard Edition Tipos, literais, operadores e controle de fluxo

Aula 03: Introdução a C

Linguagem C Operadores

PIC - PROGRAMAÇÃO LINGUAGEM C. AUTOR: ENG. ANTONIO CARLOS LEMOS JÚNIOR

Capítulo 2 Operadores. A função scanf()

Algoritmos RESUMO - LINGUAGEM C

Variáveis, Comandos de Atribuição e Comando de Entrada e Saída

PCI- Operadores, Expressões e Funções. Profa. Mercedes Gonzales Márquez

Algoritmos e Estruturas de Dados I (DCC/003) Estruturas Básicas. Aula Tópico 2

Revisão Linguagem C Parte 1

Universidade de Mogi das Cruzes Implementação Orientada a Objetos - Profª. Danielle Martin. Guia da Sintaxe do Java

Introdução à Programação

Transcrição:

Universidade de São Paulo São Carlos Instituto de Ciências Matemáticas e de Computação RESUMO DE CONCEITOS BÁSICOS DE C 1 Material preparado pela profa Silvana Maria Affonso de Lara 2º semestre de 2010

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 primeiro caracter tem que ser uma letra ou underscore _ O restante do nome pode conter letras, dígitos e sublinhados 2

VARIÁVEIS Exemplos de nomes de variáveis: Corretos Contador Teste23 Alto_Paraiso sizeint Incorretos 1contador oi!gente Alto..Paraíso _size-int Palavras-chave de C não podem ser utilizadas como nome de variáveis: int, for, while, etc... C é case-sensitive: contador Contador CONTADOR 3

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 4

MODIFICADORES DE TIPOS modificadores alteram algumas características dos tipos básicos para adequá-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) 5

ABRANGÊNCIA DE 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 6

ABRANGÊNCIA DE 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 7

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 8

CONSTANTES DO TIPO CHAR Barra invertida \a bip \b backspace \n newline \t tab horizontal \ apóstrofe \ aspa \\ backslash \f form feed 9

STRINGS Strings são seqüências de caracteres adjacentes na memória. O caracter \0 (= valor inteiro 0) indica o fim da seqüência Ex: char str[13]; define uma string de nome str e reserva para ela um espaço de 13 (12 + \0 ) bytes na memória str: \0 0 12 10

OPERAÇÕES COM STRINGS atribuição: não se pode atribuir uma string a outra 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 11

OPERAÇÕES COM STRINGS Ex: char fonte[] = Bom ; char dest[] = dia! ; strlen(fonte) => retorna 3 strlen(dest) => retorna 5 strcat(fonte, dest) => Bom dia! strcpy(dest, fonte) => Bom 12

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 -- */ 13

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 */ 14

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 */ 15

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 & y; x &= y; <=> x = x = : OU bit-a-bit e atribui x = y; <=> x = x y; <<= : shift left e atribui x <<= y; <=> x = 16 x<<y;

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 17

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) 18

PRECEDÊNCIA DOS OPERADORES Maior precedência ( ) [ ] ->! ~ ++ --. -(unário) (cast) *(unário) sizeof * / % + - << >> <<= >>= ==!= & ^ &&? = += -= *= /= Menor precedência 19

MODELADORES (CASTS) Um modelador é aplicado a uma expressão. Ele força a mesma a ser de um tipo especificado. Sua forma geral é: (tipo) expressão #include <stdio.h> void main () { int num; float f; num = 10; f = (float)num/7; printf ("%f", f); } Se não tivéssemos usado o modelador no exemplo ao lado, o C faria uma divisão inteira entre 10 e 7. O resultado seria 1 (um) e este seria depois convertido para float mas continuaria a ser 1.0. Com o cast temos o resultado correto. 20

O COMANDO IF if ( expressão é verdadeira ) execute comando ou bloco de comandos ; else /* se expressão é falsa */ execute comando ou bloco de comandos ; Ex: if ( count > 9 ) count = 0; else count++; 21

EXEMPLO IF ELSE #include <stdio.h> void main ( ) { int num; printf ("Digite um numero: "); scanf ("%d", &num); if (num == 10) { printf ("\n\n Voce acertou!\n"); printf ("O numero e igual a 10.\n"); } else { printf ("\n\n Voce errou!\n"); printf ("O numero e diferente de 10.\n"); } } 22

ANINHAMENTO DE IF É possível aninhar construções do tipo if-else em diversos níveis if (cond1) /* if1 */ if (cond2) /* if2 */ comando if2 ; else /* else2 */ comando else2 ; else /* else1 */ if (cond3) /* if3 */ if (cond4) /* if4 */ comando if4 ; else /* else4 */ comando else4 ; else /* else3 */ comando else3 ; 23

EXEMPLO ELSE-IF #include <stdio.h> void main () { int num; } printf ("Digite um numero: "); scanf ("%d",&num); if (num > 10) printf ("\n\n O numero e maior que 10"); else if (num == 10) { printf ("\n\n Voce acertou!\n"); printf ("O numero e igual a 10."); } else if (num < 10) printf ("\n\n O numero e menor que 10"); 24

O OPERADOR? Uma expressão como: if (a > 0) b = -150; else b = 150; pode ser simplificada usando-se o operador? da seguinte maneira: b = a > 0? -150 : 150; 25

O COMANDO SWITCH switch ( valor ) { case valor1: comandos1; break; case valork: comandosk; break; default: comandos_default; break; } switch case: break; case: case: break; O comando switch é próprio para se testar uma variável em relação a diversos valores pré-estabelecidos. 26

EXEMPLO SWITCH switch( char_in ) { case '.': printf( Ponto.\n" ); break; case ',': printf( Virgula.\n" ); break; case :': printf( Dois pontos.\n" ); break; case ;': printf( Ponto e virgula.\n"); break; default : printf( Nao eh pontuacao.\n" ); } 27

O COMANDO WHILE while (condição) { } comandos; while f v 1º avalia condição se condição é verdadeira, executa comandos do bloco ao término do bloco, volta a avaliar condição repete o processo até que condição seja falsa 28

O COMANDO FOR for (pré_cmd; teste; pós_cmd) { for pré_cmd } comandos; f v teste em termos de while, equivale a: bloco pré_cmd; pós_cmd while (teste) { comandos; pós_cmd; } 29

O COMANDO DO-WHILE do-while é utilizado sempre que o bloco de comandos deve ser executado ao menos uma vez do { comandos; } while (condição); do f bloco teste v 30

O COMANDO BREAK o comando break permite interromper a execução de um laço ou de um switch Ex: main () { int i, j; for (i = 0; i < 4; i++) for (j = 0; j < 2; j++) if (i == 1) break; else printf("i: %d j: %d\n", i, j); } i: 0 j: 0 i: 0 j: 1 i: 2 j: 0 i: 2 j: 1 i: 3 j: 0 i: 3 j: 1 31

O COMANDO CONTINUE o comando continue leva a execução do próximo passo de uma iteração. Os comandos que sucedem continue no bloco não são executados Ex: main() { int i; for (i = 0; i < 5; i++) if (i == 1) continue; else printf("i: %d \n", i); } i: 0 i: 2 i: 3 i: 4 32

EXERCÍCIO Escreva um programa em C para ler 8 dígitos binários (tem que conferir se é mesmo 0 ou 1), e apresenta no final o número convertido para decimal. Exemplo: 00010011 Este número em decimal é 19. 00001010 Este número em decimal é 10. 33