Buscar

Introdução a Linguagem

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;

Continue navegando