Baixe o app para aproveitar ainda mais
Prévia do material em texto
UNIVERSIDADE PAULISTA (UNIP) Paradigma de Linguagem (PL) Tipos de dados: um tipo de dado é um conjunto de valores que uma constante, variável ou expressão podem assumir na execução de uma aplicação. Tipos primitivos em C / C++. Tabela: Todos os Tipos de dados definidos pelo Padrão ANSI C, seus tamanhos em bytes e suas faixa de valores. Tipo Tamanho em Bytes Faixa Mínima char 1 -127 a 127 unsigned char 1 0 a 255 signed char 1 -127 a 127 int 4 -2.147.483.648 a 2.147.483.647 unsigned int 4 0 a 4.294.967.295 signed int 4 -2.147.483.648 a 2.147.483.647 short int 2 -32.768 a 32.767 unsigned short int 2 0 a 65.535 signed short int 2 -32.768 a 32.767 long int 4 -2.147.483.648 a 2.147.483.647 signed long int 4 -2.147.483.648 a 2.147.483.647 unsigned long int 4 0 a 4.294.967.295 float 4 Seis digitos de precisão double 8 Dez digitos de precisão long double 10 Dez digitos de precisão Variáveis Nomes das Variáveis: Existem algumas regras básicas para a construção de variáveis, sendo estas: Todo nome só pode conter letras e dígitos; O caractere "_" é contado como uma letra; Todo primeiro caractere deve ser sempre uma letra nunca um número ou caracteres especiais, estes podem ser incluídos depois da letra de início da variável; Letras maiúsculas e minúsculas são consideradas caracteres diferentes; Palavras reservadas não podem ser usadas como nome de variáveis, por exemplo: int, char, float, void, printf, entre outras que são utilizadas pela linguagem. É boa política escolher nomes que significam alguma coisa e indiquem a função da variável. Por exemplo: valor, soma, total, nome, raio, entre outras. Atribuição de valores às variáveis Após ser declarada, a variável pode receber valores. O operador de atribuição utilizado em linguagem C é "=" indica que o valor à direita será atribuído à variável. O valor inicial pode ser atribuído de duas formas: na hora da criação da variáevl: int valor = 30; ou depois da criação: int valor; valor = 30; Tipos Estruturados São estruturas não nativas da linguagem e devem ser implementadas, como por exemplo o tipo String. Pode ser implementada por meio do uso de um vetor de char: Ex.: char[30]; Em linguagem C é possível a manipulação de strings por meio de funções pré-definidas em uma biblioteca denominada String.h. As principais funbções e mais utilizadas são: Strcomp (st1,st2); - compara duas strings Strlen (st); - retorna o tamanho de uma string Strcat (st1,st2); - concatena duas strings Strcpy (st1,st2); - copia o conteúdo de uma string para outra. Aplicação de exemplo, escrita em C++ e C, utilizando duas variáveis de entrada (valores solicitados do usuário no console) e uma variável que armazenrá o valor da soma dos valores fornecidos pelo usuário. Escrita em C++ #include <iostream> #include <conio.h> #include <stdlib.h> using namespace std; int main(){ int num1, num2; int resultado; system("cls");//Utilizado para limpar a tela //cout : comando utilizado em C++ para imprimir em tela cout << "Digite um número" << endl; //cin : comando utilizado para obter dados do usuário sendo este digitado no console cin >> num1; cout << "Digite um número" << endl; cin >> num2; //realiza a soma e atribui o valor em resultado resultado = num1 + num2; cout << "O resultado é: " << resultado; getch(); return 0; } Escrita em C #include <conio.h> #include <stdlib.h> #include <stdio.h> void main(){ int num1, num2; int resultado; system("cls"); printf ("Digite um número"); scanf ("%d", &num1); printf ("Digite um número"); scanf ("%d", &num2); resultado = num1 + num2; printf ("O resultado é: %d", resultado); system("pause"); } Exercício: Crie uma aplicação que receba um nome, idade, nome da faculdade, curso, ano de início e término. Apresente estas informações na tela para o usuário, devidamente formatada. Crie uma aplicação que receba do usuário dois números inteiros positivos e apresente as quatro operações matemáticas básicas (soma, subtração, multiplicação e divisão). Indique os nomes de váriaveis que são válidos para criação. Justifique os nomes inválidos: tempo nota_final us$ char 2dias teste 1 raio.do.circulo Indique quais dos números abaixo são constantes inteiras (longas ou não) válidas. Justifique suas respostas. 100 2 345 123 3.0 -35 - 234 0L 2l Exemplo utilizando passagem de parâmetro por Valor: #include <stdio.h> #include <conio.h> int soma (int x1, int x2) { x1+= x2; return x1; } void main (void) { int v1, v2; printf("Digite um número, aperte ENTER e digite outro numero\n"); scanf("%d %d",&v1,&v2); printf("%d",soma(v2,v1)); system("PAUSE"); } Exemplo utilizando passagem de parâmetro por Referência: #include <stdio.h> #include <conio.h> void troca(int *x, int *y){ int aux; aux=*x; *x=*y; *y=aux; } void main(void) { int a=10,b=20; troca(&a,&b); printf("%d %d",a,b); system("PAUSE"); } OBSERVAÇÃO: Caso queira verificar se esta sendo realizada a passagem de parâmetro por referência no programa apresentado como exemplo acima, retire o asterisco das variáveis e execute novamente o programa e note o valor apresentado e compare com a execução anterior. Crie um programa que solicite o preenchimento de um vetor de char de N posições (N é digitado pelo usuário). Após o preenchimento, utilizando um ponteiro, mostrar o valor de cada posição do vetor; Criar uma variável (x) do tipo int e armazenar o número informado pelo usuário. Em seguida, crie um ponteiro (c) para int e receba o endereço de x. Altere a variável x, utilizando o ponteiro c. Imprimir, ao final, a variável x, bem como seu endereço de memória. Explique o que é e para que serve um ponteiro no contexto da programação estruturada. Explique ainda por que linguagens como Java e outras não fazem mais uso de ponteiros. Explique o que é um ponteiro e como funciona a utilização deste em um programa. Qual objetivo da alocação dinâmica de memória no desenvolvimento de sistemas? Assinale qual das instruções apresentadas abaixo corresponde a declaração correta de um ponteiro? int _ptr x; int *ptr; *int ptr; *x; Nenhuma das anteriores Ao se utilizar um vetor como parâmetro para uma função que informação está sendo passada à função? Uma cópia de todos os elementos do vetor. Uma cópia do primeiro elemento do vetor. O endereço do primeiro elemento do vetor. O endereço de todos os elementos do vetor. Nenhuma das opções anteriores. Na expressão float *pont, o que é do tipo float? A variável pont O endereço de pont A variável apontada por pont O endereço da variável apontada por pont Nenhuma das anteriores. Seja a seguinte seqüência de instruções em um programa C: int *pti; int i = 10; pti = &i; Qual afirmativa é falsa? pti armazena o endereço de i *pti é igual a 10 ao se executar *pti = 20; i passará a ter o valor 20 ao se alterar o valor de i, *pti será modificado pti é igual a 10 Nenhuma das anteiores Considerando as variáveis e ponteiros definidos abaixo; quais são as atribuições permitidas? int x, *ptx, **pp; float a, *pta, **pf; x = 100; *pta = &a; ptx = &a; *pf = &a; pp = &pta; **pf = 7.9; *ptx = 20; ptx = &x; pp = &x; pf = &pta;
Compartilhar