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

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

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

Apresentações semelhantes


Apresentação em tema: "Linguagem C, A. Barão, 20021 Linguagem C Conteúdos já desenvolvidos Estrutura de um programa em C Identificadores, variáveis, constantes, operadores e."— Transcrição da apresentação:

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

2 Linguagem C, A. Barão, Linguagem C Estrutura de um programa em C #include #define 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) { definição e declaração de variáveis locais; código de execução da função; }

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

4 Linguagem C, A. Barão, 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: autodoubleifstatic breakelseintstruct caseentrylongswitch charexternregistertypedef continuefloatreturnunion defaultforsizeofunsigned dogotoshortwhile

5 Linguagem C, A. Barão, 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...

6 Linguagem C, A. Barão, 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

7 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Declaração de variáveis, continuação int numeroAluno; char sexo; Outro exemplo: int numeroAluno; 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

8 Linguagem C, A. Barão, 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

9 Linguagem C, A. Barão, 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

10 Linguagem C, A. Barão, 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

11 Linguagem C, A. Barão, 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

12 Linguagem C, A. Barão, 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

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

14 Linguagem C, A. Barão, 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

15 Linguagem C, A. Barão, 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)

16 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes de barra CódigoSignificado /?Ponto de interrogação //Barra invertida /Plica ou apóstrofo /Aspas \bbackspace \fForm feed \nNew line \rCarriage return \tTabulação horizontal \vTabulação vertical \xValorCódigo Valor ASCII em hexadecimal

17 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes e variáveis Exemplo 1: #include #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); }

18 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Constantes e variáveis Exemplo 2: #include // necessário para printf #include // 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 ); }

19 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores +Adição -Subtracção *Multiplicação /Divisão %Resto da divisão inteira ++Incremento --Decremento =Atribuição ==Igual >Maior =Maior ou igual <=Menor ou igual !=Diferente &&Conjunção (E) ||Disjunção (OU) !Negação &Conjunção (E) |Disjunção (OU) ^Disjunção Exclusiva (XOR) ~Complemento >>Deslocamento para a direita <

20 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores Aritméticos (exemplo) #include 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

21 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores Relacionais (exemplo) #include 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

22 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores de manipulação de bits (exemplo #1) #include 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(); }

23 Linguagem C, A. Barão, Linguagem C Identificadores, variáveis, constantes, operadores e expressões Operadores de manipulação de bits (exemplo #2) #include 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...

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


Carregar ppt "Linguagem C, A. Barão, 20021 Linguagem C Conteúdos já desenvolvidos Estrutura de um programa em C Identificadores, variáveis, constantes, operadores e."

Apresentações semelhantes


Anúncios Google