C Indroducao

Page 1

Linguagem C Introdução

Derzu Omaia 2014


Derzu Omaia - 2014

Linguagem C 

Características que tornaram o C uma das mais populares linguagens de programação:      

Compilada; Estruturada (sequência, decisão, interação); Padronizada; Pequeno tamanho da sua definição; Procedural - Subdivisão do código e grande utilização de funções; Alguma conversão automática entre tipos de dados (ao contrário do Pascal);

2


Derzu Omaia - 2014

Linguagem C 

Características que tornaram o C uma das mais populares linguagens de programação:      

Utilização fácil e extensa de ponteiros para acessar memória, vectores, estruturas e funções; A possibilidade de usar construções de alto nível; A possibilidade de utilizar operadores de baixo nível; A produção de código executável eficiente; É considerada uma linguagem de nível médio; É “case sensitive”.

3


Derzu Omaia - 2014

Linguagem C

+

+

+

C +

Padr達o

+

+

A SUA !! GTK

Socket Library

Banco de Dados


Derzu Omaia - 2014

Linguagem C Estruturada;  Orientada a função;  Modo texto;  Regras iniciais para o desenvolvimento de um programa em C: 

  

Possuir pelo menos uma função; Possuir uma e apenas uma função chamada main() (principal); O programa iniciará a partir do início da função main(); 5


Derzu Omaia - 2014

Linguagem C 

Regras iniciais para o desenvolvimento de um programa em C: Toda função é iniciada por { e finalizada por }  Exemplo: 

int main() { // Algoritmo } 6


Derzu Omaia - 2014

Linguagem C 

Comentários  Ajuda

na legibilidade  Comentário de Linha: // comentário  Comentário de bloco: /* comentário comentário */

7


Derzu Omaia - 2014

Linguagem C 

Funções de Entrada e Saída:  Saída: 

printf(), puts();

 Entrada: 

scanf(), getchar();

 São

definidas na biblioteca stdio.h

8


Derzu Omaia - 2014

Linguagem C  

Função Print Format ou, printf(): 

Assinatura: 

int printf(const char *format, lista_variaveis);

Primeiro Programa em C: #include <stdio.h> int main() { printf("Meu primeiro programa em C\n"); printf("testando"); }

9


Derzu Omaia - 2014

Linguagem C  

Função Put String ou, puts(): 

Assinatura: 

int puts(char * s);

Primeiro Programa em C: #include <stdio.h> int main() { puts("Meu primeiro programa em C"); }

10


Derzu Omaia - 2014

Linguagem C 

printf() 

 

Serve para exibir qualquer tipo de dado; Mais indicado para todos os casos. Não muda de linha;

puts():   

Exibe apenas dados de texto; Pula uma linha; Não exibe variáveis numéricas; 11


Derzu Omaia - 2014

Linguagem C Palavras chave;  Tipos de Dados;  Variáveis;  Constantes;  Operadores;  Instruções. 

12


Derzu Omaia - 2014

Linguagem C ď Ž

Palavras reservadas:

auto break case char const continue default do

double else enum extern float for goto if

int struct long switch register typedef return union short unsigned signed void sizeof volatile static while 13


Derzu Omaia - 2014

Linguagem C 

Tipos de dados primitivos: char:

 

um byte que armazena o código de um caractere do conjunto de caracteres local, também pode armazenar números inteiros.

int:

 

um número inteiro

float:

 

um número real com precisão simples

double:

 

um número real com precisão dupla

lógico?:

 

C não possui tipo lógico específico. Entretanto, qualquer tipo pode representar um valor lógico, onde 0 significa falso, e 1 verdadeiro.

14


Derzu Omaia - 2014

Linguagem C 

Tipo primitivo char: Caracteres A B C D E F ... Z a b c d e f ... z Alfabéticos: Dígitos: 0 1 2 3 4 5 6 7 8 9 Caracteres : ; . , ( ) [ ] { } ? ! @ # $ % & * _ - = ’ ” Especiais: | \ < > /

Obs: O espaço é considerado caracter especial. 

Devem ser utilizados entre aspas simples. Ex.: 'c', '2', '@' 15


Derzu Omaia - 2014

Linguagem C ď Ž

Tabela ASCII (American Standard Code for Information Interchange):

16


Derzu Omaia - 2014

Linguagem C 

Modificadores de Tipos: 

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


Derzu Omaia - 2014

Linguagem C 

Precisão dos tipos: Tipo

Tamanho (Bytes)

Abrangência

char

1

-128

127

unsigned char

1

0

255

int

4

-2.147.483.648

2.147.483.647

unsigned int

4

0

4.294.967.295

short int

2

-32768

32767

long int

4

-2.147.483.648

2.147.483.647

unsigned long int

4

0

4.294.967.295

float

4

± 3,4·10-38

± 3,4·1038

double

8

± 1,7·10-308

± 1,7·10308

long double

10

± 3,4·10-4932

± 3,4·104932

18


Derzu Omaia - 2014

Variáveis  

 

Entidade que armazena ou representa algum dado; Todo dado a ser armazenado na memória de um computador deve ser previamente identificado, ou seja, primeiro é necessário saber o seu tipo para depois fazer o seu armazenamento adequado. O nome de uma variável é utilizado para sua identificação. Posição na memória do computador 19


Derzu Omaia - 2014

Linguagem C 

Variáveis: 

Palavras reservadas não podem ser nomes de variáveis; Na formação do identificador só podem ser utilizados: dígitos, letras (tanto maiúsculas quanto minúsculas) e o caractere de sublinha ( _ );  O identificador deve começar sempre com uma letra ou caractere de sublinha;  Apenas os 31 primeiros caracteres são considerados; Case sesitive, ou sensível a caixa:  Nome != nome != NOME 

20


Derzu Omaia - 2014

Linguagem C 

Nome de variáveis:

Corretos:

Incorretos:

 Contador

 1contador

 Teste23

 oi!gente

 Alto_Paraiso

 Alto..Paraíso

 __sizeint

 _size-int

21


Derzu Omaia - 2014

Linguagem C 

Declaração de variáveis:  Tipo_variável

lista_de_variaveis;

Exemplos:  int

x, y, z;  float f;  unsigned int u;  long double df;  char c = 'A'; // variavel definida e iniciada 

Pode ser declarado em qualquer parte do código;  Recomenda-se

no início da função.

22


Derzu Omaia - 2014

Linguagem C Máscaras de formatação  Símbolo de por cento seguido de uma letra: 

       

%c %d %u %f %lf %e %x %s

Caractere Inteiros com sinal Inteiros sem sinal Números float Números double Notação científica Números em hexadecimal Cadeia de caracteres (strings)

23


Derzu Omaia - 2014

printf() 

Exemplo:  int

i = 10;  float r = 7.1234; #include <stdio.h> int main() { int i = 10; float r = 7.1234; printf("Inteiro: %d, Real: %f \n", i, r); }

 Saída:

Inteiro: 10, Real: 7.123400

24


Derzu Omaia - 2014

printf() 

Exemplo:  int

i = 10;  float r = 7.1234;  Invertendo: #include <stdio.h> int main() { int i = 10; float r = 7.1234; printf("Inteiro: %d, Real: %f \n", r, i); }

 Saída

– Comportamento inesperado:

Inteiro: -1610612736, Real: 0.000000

25


Derzu Omaia - 2014

printf() Caracteres de Controle  Barra invertida seguido caractere: 

bip  \b backspace  \n nova linha  \r return  \t tabulação horizontal  \’ apóstrofe  \” aspas  \\ barra invertida

de

um

 \a

26


Derzu Omaia - 2014

Linguagem C Leitura de variáveis:  Função Scan Format ou,  scanf(): 

 Lê

dados da entrada (teclado) e os armazena em uma variável.  Assinatura: 

int scanf(char * format, lista_variaveis);

A

variável a ser lida deve ser colocada como parâmetro da função, e deve ser passado o endereço dessa variável. 27


Derzu Omaia - 2014

scanf()  

Lê qualquer tipo de dado primitivo; Utiliza um texto formatado como mascara de leitura; Utiliza o endereço das variáveis como parâmetro. #include <stdio.h> int main() { // declaracao das variaveis int numero; printf("Entre com um valor:"); scanf("%d", &numero); }

28


Derzu Omaia - 2014

Linguagem C 

scanf() e printf():  Exemplo: #include <stdio.h> int main() { // declaracao das variaveis int numero; printf("Entre com um valor:"); scanf("%d", &numero); getchar(); printf("O numero digitado foi %d", numero); getchar(); }

29


Derzu Omaia - 2014

scanf() 

Utilizando duas chamadas:

variáveis,

em

duas

#include <stdio.h> int main() { int numero; float nota; printf("digite um valor\n"); scanf("%d", &numero); getchar(); printf("digite a media\n"); scanf("%f", &nota); getchar(); }

30


Derzu Omaia - 2014

scanf() 

Várias variáveis de tipos diferentes ou iguais podem ser lidas de uma vez só. #include <stdio.h> int main() { int numero; float nota; printf("digite um numero e uma nota:\n"); scanf("%d %f", &numero, &nota); }

31


Derzu Omaia - 2014

Linguagem C Leitura de variáveis:  Função Get Char ou,  getchar(): 

 Lê

um caractere (apenas 1) da entrada e o armazena em uma variável. Não lê números.  Assinatura: 

A

int getchar(void);

variável a ser lida deve receber o retorno da função.  Pode ser utilizada apenas para bloquear o 32 fluxo de execução do programa.


Derzu Omaia - 2014

Linguagem C 

Função getchar():  Exemplo: #include <stdio.h> int main() { // declaracao das variaveis char caractere; printf("Entre com um valor:"); caractere = getchar(); }

33


Derzu Omaia - 2014

Linguagem C Leitura de variáveis:  Função Get String ou,  gets(): 

 Lê

texto/string, ou seja, um conjunto de caracteres de uma vez só. Não lê números.  Assinatura: 

A

int gets(char * s);

variável a ser lida parâmetro da função.

deve

ser

o 34


Derzu Omaia - 2014

Linguagem C 

Função gets():  Exemplo: #include <stdio.h> int main() { // declaracao das variaveis char nome[50]; printf("Entre com um valor:"); gets(nome); }

35


Derzu Omaia - 2014

Linguagem C 

Constantes:  É um determinado valor fixo que não se modifica ao longo do tempo, durante a execução de um programa.  Armazena um valor constante na memória;  Pode assumir qualquer tipo;  Pré-processado antes da compilação.  Não tem tipo 36


Derzu Omaia - 2014

Linguagem C 

Declaração de constantes:  #define

nome_contante valor

Exemplos:  #define

PI 3.14159265  #define valorMedia 7.0 Pode ser declarado em qualquer parte do código  Recomenda-se no início do algoritmo, fora das funções. 37


Derzu Omaia - 2014

Operadores 

Definição:  Símbolo

de uma operação que se efetua sobre uma variável ou função.

Tipos:  Atribuição;  Aritméticos;  Relacionais;  Lógicos;  Outros... 38


Derzu Omaia - 2014

Operadores 

Atribuição:  Atribui

o valor da direita à variável da esquerda;  Binário;  Representado pelo símbolo =  Ex: x = 14; x = nota1 + nota2; x = y = z = 0; 39


Derzu Omaia - 2014

Operadores 

Atribuição:  +=

x += 2; <=> x = x+2;  ­= x ­= 2; <=> x = x­2;  *= x *= 2; <=> x = x*2;  /= x /= 2; <=> x = x/2; 40


Derzu Omaia - 2014

Operadores Aritméticos Tabela de operadores aritméticos: Operador Operação Categoria Prioridade 

+ ++ -/ * % +

Manutenção do sinal

Unário

1

Inversão do sinal

Unário

1

Incremento

Unário

1

Decremento

Unário

1

Divisão

Binário

2

Multiplicação

Binário

2

Binário

2

Binário

3

Binário

3

Módulo da (resto) Subtração Adição

divisão

41


Derzu Omaia - 2014

Operadores Aritméticos 

Precedência (Prioridade):  Alta/baixa

ou Maior/menor;  Parênteses altera. 

Associatividade: À

esquerda: da esquerda para a direita  À direita: da direita para a esquerda

42


Derzu Omaia - 2014

Operadores Aritméticos 

Precedência e associatividade: 1) 2) 3) 4) 5)

X X X X X

= = = = =

1+2; 10+5.0/2; 1+2*2; 1+2.0/2*2; 2*3+1-5*2

43


Derzu Omaia - 2014

Operadores Aritméticos 

Precedência e associatividade: 1) X = 1+2; X==3 2) X = 10+5/2; X==12.5 3) X = 1+2*2; X==5 4) X = 1+2/2*2; X==3 ou X==1.5 5) X = 2*3+1-5*2 X==-3

44


Derzu Omaia - 2014

Operadores Relacionais   

Compara duas expressões e/ou variáveis; Binários; Retornam 1 ou 0;

Matemática

Símbolo

Significado

Exemplo

=

==

igual a

x == y

!=

diferente de

x != y

>

>

maior que

x>y

<

<

menor que

x<y

>=

maior ou igual que

x >= y

<=

menor ou igual que

x <= y

45


Derzu Omaia - 2014

Operadores Lógicos   

Compara duas expressões e/ou variáveis; Binários; Retornam 1 ou 0 (verdadeiro ou falso); Símbolo

Significado

Exemplo

&&

e

x && y

||

ou

x || y

!

não

!y

46


Derzu Omaia - 2014

Operadores LĂłgicos ď Ž

Tabela verdade geral: A

B

A && B

A || B

!A

!B

F

F

F

F

V

V

F

V

F

V

V

F

V

F

F

V

F

V

V

V

V

V

F

F

47


Derzu Omaia - 2014

Operadores de bits 

Utilizados para manipulação de bits: “ Símbolo Significado Exemplo &

e

x&y

|

ou

x|y

^

xor (ou exclusivo)

^x

>>

deslocamento direito

x >> 1

<<

deslocamento esquerda

x << 1

~

complemento (inverte)

~x

48


Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.