A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Linguagem C Conteúdos já desenvolvidos

Apresentações semelhantes


Apresentação em tema: "Linguagem C Conteúdos já desenvolvidos"— Transcrição da apresentação:

1 Linguagem C Conteúdos já desenvolvidos
Estrutura de um programa em C Identificadores, variáveis, constantes, operadores e expressões Linguagem C, A. Barão, 2002

2 Estrutura de um programa em C
Linguagem C Estrutura de um programa em C #include <bibliotecas> #define <funções de macros> #define <constantes> declaração de funções ou protótipos de funções; definição de novos tipos de dados; declaração de variáveis globais; tipo de dado da função main (argumentos) { definição e declaração de variáveis locais; código de execução da função; } tipo de dado da função identificador (argumentos) Linguagem C, A. Barão, 2002

3 Estrutura de um programa em C
Linguagem C Estrutura de um programa em C Exemplos: #include <stdio.h> void main(void) { printf(“Linguagem C”); } #include <stdio.h> void main(void) { int numeroAluno = 12; printf(“O número do aluno é %d”, numeroAluno); } Linguagem C, A. Barão, 2002

4 Estrutura de um programa em C
Linguagem C Estrutura de um programa em C Caracteres especiais no código fonte: ; (após cada instrução) , (para separar identificadores) /* */ (para incluir comentários numa ou mais linhas // (incluir comentários numa linha) “ (delimitar grupos de caracteres) = (atribuição) { (início de um bloco de instruções) } (fim de um bloco de instruções) Palavras reservadas: auto double if static break else int struct case entry long switch char extern register typedef continue float return union default for sizeof unsigned do goto short while Linguagem C, A. Barão, 2002

5 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Identificador Deve começar por uma letra ou underscore (a..z, A..Z ou _ ); Não pode conter espaços; Não é possível utilizar acentuação; É case-sensitive Exemplos mediaAluno totalVendas MAXIMO ctd _enderecoSistema ... Linguagem C, A. Barão, 2002

6 Identificador da variável
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Variável Entidade que pode assumir vários valores durante a execução do programa Declaração de variáveis (exemplos) int numeroAluno; char sexo; Tipo de dado Identificador da variável Linguagem C, A. Barão, 2002

7 As declarações terminam com ponto e vírgula
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Declaração de variáveis, continuação int numeroAluno; char sexo; Outro exemplo: int numeroContribuinte; é o mesmo que: int numeroAluno, numeroContribuinte; quando os tipos de atributo são iguais. As declarações terminam com ponto e vírgula Linguagem C, A. Barão, 2002

8 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Declaração de variáveis, conclusão. As variáveis podem ser inicializadas no momento da declaração Exemplos: int numeroAluno = 12; char sexo = ‘M’; Tipos de dados básicos char – carácter int – inteiro float – vírgula flutuante fouble – vírgula flutuante de precisão dupla void – vazio ou sem valor definido Linguagem C, A. Barão, 2002

9 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Capacidade dos tipos de dados char ( , 8 bits) int ( , 16 bits) unsigned int ( , 16 bits) signed int ( , 16 bits) short int ( , 16 bits) unsigned short int ( , 16 bits) signed short int ( , 16 bits) long int ( , 32 bits) unsigned long int ( , 32 bits) float (3,4x10E-38..3,4x10E38, 32 bits) double (1,7x10E ,7x10E308, 64 bits) long double (3,4x10E ,4x10E4932) Importante: O operador sizeof devolve o espaço de memória Que um determinado tipo de dado ocupa Linguagem C, A. Barão, 2002

10 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Conversão de tipos de dados Em expressões com diferentes tipos de dados podem existir promoções Exemplos: Todos os char e short int são convertidos para int Todos os float são convertidos para double Caso concreto numa expressão: char c; int i; float f; double d; resultado = ( c / i ) + ( f * d ) + ( f – i ) int double float Int double float double Linguagem C, A. Barão, 2002

11 Linguagem C Identificadores, variáveis, constantes, operadores e expressões Conversão de tipos de dados Casts É possível forçar a conversão de tipos através da técnica de cast Exemplo: float f = 17.5; float g; g = (int) f; g fica com 17 Linguagem C, A. Barão, 2002

12 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Variáveis globais e locais Uma variável global é conhecida por todas as funções do programa Uma variável local só é conhecida dentro da função que a declara Como optar? Depende do problema a resolver... Mas deve-se optar por variáveis locais sempre que possível. Quando um nome de uma variável local é o mesmo que uma variável global, o sistema dá preferência à variável local. Ou seja, variáveis locais têm precedência sobre variáveis globais Linguagem C, A. Barão, 2002

13 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Variáveis globais e locais #include <stdio.h> Int numeroAlunos = 30; void main(void) { int numeroProfessores = 8; } void X() int numeroMonitores = 16; Só a função main conhece esta variável A função X() pode usar a variável numeroAlunos (global) mas não conhece a variável numeroProfessores (local noutra função) Esta variável só é conhecida pela função X() Linguagem C, A. Barão, 2002

14 Palavra reservada para declarar uma constante
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes O valor de uma constante permanece por definição inalterado durante a execução do programa. Exemplos: #define ALUNOS_DA_TURMA 30 Outro tipo de constante: const alunosDaTurma = 30; Palavra reservada para declarar uma constante Linguagem C, A. Barão, 2002

15 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes Exemplos: #define mensagem = “Seja bem vindo ao sistema” ou const mensagem = “Seja bem vindo ao sistema”; Atenção: aspas e plicas são diferentes! letra = ‘b’; frase = “Seja bem vindo...”; Constante do tipo caractere (plicas) Constante do tipo string (aspas) Linguagem C, A. Barão, 2002

16 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes de barra Código Significado /? Ponto de interrogação // Barra invertida /’ Plica ou apóstrofo /” Aspas \b backspace \f Form feed \n New line \r Carriage return \t Tabulação horizontal \v Tabulação vertical \xValor Código Valor ASCII em hexadecimal Linguagem C, A. Barão, 2002

17 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes e variáveis Exemplo 1: #include <stdio.h> #include <conio.h> #define mensagemEntrada "Seja bem vindo ao sistema" #define mensagemSaida "Obrigado por ter escolhido o nosso Banco" #define TAXA_JURO 15.5 void main(void) { clrscr(); printf("\nBanco X\n"); printf("%s\n", mensagemEntrada); printf("A nossa taxa de juro é muito boa: %.2f", TAXA_JURO); printf("\n%s", mensagemSaida); } Linguagem C, A. Barão, 2002

18 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes e variáveis Exemplo 2: #include <stdio.h> // necessário para printf #include <conio.h> // necessário para clrscr() e getch() void x(); // protótipo da função X() int numeroAluno = 10; // variável global void main(void) { int numeroAluno; // variável local com mesmo nome da global para ver a diferença.. char turma; clrscr(); // limpar ecrã turma = 'A'; printf("\nTurma %c", turma); numeroAluno = 20; printf("\nO numero do aluno da variável local é: %d", numeroAluno); numeroAluno = 21; printf("\nAgora o numero do aluno da variável local é‚: %d", numeroAluno); x(); getch(); // aguardar uma tecla para terminar programa } /* Função X() que usa a variável global e tem uma variável local */ void x() int numeroProfessor = 8; // esta variável só é conhecida nesta função printf("\nO valor da variável numeroAluno global é: %d", numeroAluno ); printf("\nO valor da variável numeroProfessor é: %d", numeroProfessor ); Linguagem C, A. Barão, 2002

19 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores Aritméticos Relacionais Lógicos + Adição - Subtracção * Multiplicação / Divisão % Resto da divisão inteira ++ Incremento -- Decremento = Atribuição == Igual > Maior < Menor >= Maior ou igual <= Menor ou igual != Diferente && Conjunção (E) || Disjunção (OU) ! Negação Manipulação de bits & Conjunção (E) | Disjunção (OU) ^ Disjunção Exclusiva (XOR) ~ Complemento >> Deslocamento para a direita << Deslocamento para a esquerda Em C existem formas abreviadas de codificar, exemplos: k = k + 1; é o mesmo que ++k; k = k – 1; é o mesmo que --k; Ou k = k + 10; é o mesmo que k+=10; a = b = c = 25; // atribuição múltipla do mesmo valor etc... Linguagem C, A. Barão, 2002

20 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores Aritméticos (exemplo) #include <stdio.h> #include <conio.h> void main(void) { float valor1, valor2, resultado; int resto; clrscr(); printf("\nDigite um valor: "); scanf("%f", &valor1); printf("\nDigite outro valor: "); scanf("%f", &valor2); resultado = valor1 + valor2; printf("\nSoma: %f", resultado); resultado = valor1 - valor2; printf("\nSubtraccao: %f", resultado); resultado = valor1 * valor2; printf("\nMultiplicacao: %f", resultado); resultado = valor1 / valor2; printf("\nDivisao: %f", resultado); resto = (int) valor1 % (int) valor2; printf("\nResto da divisao inteira: %d", resto); getch(); } O resto da divisão inteira não pode ser efectuado com floats daí a necessidade de efectuar o cast para int Linguagem C, A. Barão, 2002

21 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores Relacionais (exemplo) #include <stdio.h> #include <conio.h> void main(void) { int valor1, valor2; clrscr(); printf("\nDigite um valor: "); scanf("%d", &valor1); printf("\nDigite outro valor: "); scanf("%d", &valor2); printf("\n0 - Falso, 1 - Verdade"); printf("\nvalor1 igual a valor2? %d", (valor1 == valor2) ); printf("\nvalor1 maior que valor2? %d", (valor1 > valor2) ); printf("\nvalor1 menor que valor2? %d", (valor1 < valor2) ); printf("\nvalor1 maior ou igual que valor2? %d", (valor1 >= valor2) ); printf("\nvalor1 menor ou igual que valor2? %d", (valor1 <= valor2) ); printf("\nvalor1 diferente que valor2? %d", (valor1 != valor2) ); getch(); } O resultado da expressão lógica (0/1) será impresso por printf Linguagem C, A. Barão, 2002

22 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores de manipulação de bits (exemplo #1) #include <stdio.h> #include <conio.h> void main(void) { int valor; clrscr(); printf("\nDigite um valor: "); scanf("%d", &valor); printf("\nValor digitado: %d", valor); printf("\nValor depois de deslocar todos os bits uma posicao para a esquerda: %d", ( valor << 1 ) ); printf("\nValor depois de deslocar todos os bits duas posicoes para a esquerda: %d", ( valor << 2 ) ); printf("\nValor depois de deslocar todos os bits tres posicoes para a esquerda: %d", ( valor << 3 ) ); getch(); } Linguagem C, A. Barão, 2002

23 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores de manipulação de bits (exemplo #2) #include <stdio.h> #include <conio.h> void main(void) { int a = 45; // em binario int b = 28; // em binario clrscr(); printf("\na E b = %d", ( a & b ) ); // resultado 12 (1100) printf("\na OU b = %d", ( a | b ) ); // resultado 61 getch(); } Nota: As técnicas de manipulação de bits são muito importantes Para acesso e configuração de hardware... Linguagem C, A. Barão, 2002

24 Identificadores, variáveis, constantes, operadores e expressões
Linguagem C Identificadores, variáveis, constantes, operadores e expressões Prioridade dos operadores ( ) [ ] -> ! & (cast) sizeof * / % + - << >> < <= > >= == != & ^ | && || ?: = += -= /= %= &= ^= != <<= >>= , Maior prioridade Menor prioridade Linguagem C, A. Barão, 2002


Carregar ppt "Linguagem C Conteúdos já desenvolvidos"

Apresentações semelhantes


Anúncios Google