Buscar

01 Introducao A Linguagem C

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

*
*
Introdução a Linguagem C
Profa. Maria Aparecida Reis
Elaborado a partir do material do Profa Daniela Orbolato
*
Conteúdo:
Histórico
Tipos de Dados
Variáveis
Atribuição
Palavras Reservadas
Bibliotecas
Estrutura de um programa em C
*
Histórico das Linguagens C
Origem do C está associada ao Sistema Operacional Unix - Aproximadamente 90% do Sistema Operacional Unix (incluindo o Compilador C e quase todos os aplicativos) são escritos em C
1970: Ken Thompson desenvolve a linguagem B para o primeiro Unix no DEC PDP-7
1972: Dennis Ritchie projeta a linguagem C, baseado na linguagem B. 
1988: Linguagem C é padronizada pelo American National Standard Institute (ANSI) 
*
Algumas Características de C
Linguagem de nível médio (alto – baixo)
Definição de blocos { }
Pré-processador
Funções retornam valor e podem ser chamadas recursivamente
*
Tipos de Dados em C
Complexos
vetores matrizes struct union enum
Básicos
Integral
 char int 
Real
float double void
*
Tipos Básicos de Dados em C
Tipo Integral
Representam números inteiros e seus negativos - o tamanho depende do processador, tipicamente 16 ou 32 bits
São declarados como int
Exemplos: 4578 	 -4578	 0
Representam caracteres simples – o tamanho é de um byte
São declarados como char
Exemplos: ‘B’ ‘d’ ‘4’	 ‘?’ ‘*’
Tipo Real
Representam números reais com ponto decimal
São declarados como float, ou double
Exemplos: 95.274	 95.0	 0.265
Tipo void
Usado para indicar inexistência de tipo
*
Modificadores de Tipos
Modificadores alteram algumas características dos tipos de dados básicos da linguagem C para adequá-los as necessidades do programador
Modificadores:
signed: indica número com sinal (inteiros e caracteres)
unsigned: indica número sem sinal (inteiros e caracteres)
long: aumenta abrangência/precisão (inteiros e reais)
short: reduz a abrangência (inteiros)
*
Valores possíveis num Computador de 16 bits
Tipo 	 Tamanho(bytes) 		 Abrangência
char 		1 		-128		a 	127
unsigned char	1		0		a	255
int 		 	2 		-32768 		a 	32767
unsigned int 	2 		0 		a 	65535
long int		4 		-2.147.483.648 	a 	2.147.483.647
unsigned long int 	4 		 0 		a 	4.294.967.295
float 		4 		-3,4·10 -38 	a 	3,4·10 38
double 		8 		-1,7·10 -308	a 	1,7·10 308
long double 	10 		-3,4·10 -4932 	a 	3,4·10 4932
*
Valores possíveis num Computador de 32 bits
Tipo 	 Tamanho(bytes) 	 	 Abrangência
char 		1 		-128		a 	127
unsigned char	1		0		a	255
int 		 	4 		 -2.147.483.648 	a 	2.147.483.647
unsigned int 	4 		0 		a 	4.294.967.295
short int 		2 		-32768 		a 	32767
long int		4 		-2.147.483.648 	a 	2.147.483.647
unsigned long int 	4 		 0 		a 	4.294.967.295
float 		4 		-3,4·10 -38 	a 	3,4·10 38
double 		8 		-1,7·10 -308	a 	1,7·10 308
long double 	10 		-3,4·10 -4932 	a 	3,4·10 4932
*
Tipo char 
É um byte que armazena o código de um caracter do conjunto de caracteres local
Caracteres são codificados de tal forma que um inteiro representa um caractere particular
ASCII é o padrão dominante para codificação. Exemplos:
 ' ' é codificado como o inteiro 32
 '+' é codificado como o inteiro 43
 'A' é codificado como o inteiro 65
 'Z' é codificado como o inteiro 90
 ’a' é codificado como o inteiro 97 
 ’z' é codificado como o inteiro 122
ASCII é a abreviatura de American Standard Code for Information Interchange 
					Tabela ASCII
*
Constantes de Caracteres 
*
Dando nome aos elementos de um programa - Identificadores
Um identificador é um nome dado a um objeto, variável, constante ou função em um programa C
C é sensível a casa, ou seja, cont‡Cont‡CONT‡CoNt‡cOnT
O uso de identificadores com significado inteligente é uma boa técnica de programação. Por exemplo, use velMax ao invés de xpt4_21
Alguns compiladores C reconhecem apenas os 31 primeiros caracteres de um identificador
Palavras-chave de C não podem ser utilizadas como nome de variáveis. Exemplo: int, for, while...
*
Palavras Reservadas em C
		auto  
break  
case  
char  
const  
continue  
default  
do
		double  
else  
enum  
extern  
float  
for  
goto  
if
		int  
long   
register  
return  
short  
signed  
sizeof  
static
		struct  
switch  
typedef  
union  
unsigned  
void  
volatile  
while
*
Regras para criar um Identificador
Todo identificador deve começar com uma letra ou sublinhado, seguido de zero ou mais dos seguintes caracteres: 
letras (A-Z, a-z) 
dígitos (0-9), 
ou sublinhado (_)							
Exemplos de identificadores: 
idade_do_cachorro
impostoParaOAno2004
idadeDoCavalo
Os seguintes identificadores não são válidos. Porque? 	
Idade#
2004_Imposto
idade-do-cachorro
website@brasil
int
*
Variáveis em C
Variáveis são nomes dados pelo programador para posições de memória que armazenam informações de um tipo de dado
Variáveis podem ser acessadas e modificadas através de identificadores
Declarar uma variável significa especificar tanto o nome como o tipo do dado a ser armazenado
Variáveis (assim como constantes e funções) não podem ter o nome de palavras reservadas
*
Variáveis em C
Toda variável em C deve ser declarada antes de ser utilizada (tanto para escrita como leitura)
Uma declaração de variável serve para especificar ao compilador qual o nome e tipo do dado a ser armazenado numa posição da memória
Declarações de variáveis possuem o seguinte formato:
	 TipoDoDado NomeDaVariavel1, NomeDaVariavel2, ... ; 
Exemplo:
float distancia;
int idade, numero_de_carros, i;
*
Atribuição de Variáveis
Programadores podem armazenar/atribuir valores a uma variável através do operador de atribuição (=). A forma geral da atribuição é:
variável = expressão ou constante;
C permitem atribuições múltiplas 
	x = y = z = 0;
A expressão da direita é avaliada e então o resultado armazenado é armazenado no local de memória indicado pela variável da esquerda
Exemplos:
//Declarações das variáveis
char inicialDoNome;
char letra;
int idadeDoCachorro;
//Atribuições válidas
inicialDoNome = ‘P’;
letra = ‘c’;
idadeDoCachorro = 6;
*
Atribuindo valores a variáveis
	Você pode atribuir valor a uma variável usando o operador de atribuição (=)
			variável = expressão
	DECLARAÇÃO DAS VARIÁVEIS
		char 	inicialDoNomeDoMeio ;
		char 	letra ;
		int 	idade;
	USANDO O OPERADOR DE ATRIBUIÇÃO
		 inicialDoNomeDoMeio = ‘X’ ;
		 letra = inicialDoNomeDoMeio ;
		 idade = 12 ;
*
Como funciona o operador de atribuição?
			 variável = expressão
A expressão da direita é avaliada primeiro
O resultado é então armazenado na posição de memória da variável da esquerda
Obs: Uma conversão automática ocorre caso os tipos de dados da esquerda e direita não sejam idênticos. 
*
Conversão Explícita de Tipos
int(4.8)		 	=		4
float(5)			=		5.0
float(7/4)			=		1.0
float(7) / float(4)		=		1.75
*
Conversão Explícita de Tipos em C
 Em C a conversão explícita tem duas formas:
notação de função
forma pré-fixa
	int intVar;
	float floatVar = 104.8 ;
 intVar = int ( floatVar ) ; // notação de função, OU 
 intVar = ( int ) floatVar ; // forma pré-fixa usando( )
*
Mais exemplos
	int idade;
	Exemplo					Valor
	idade = 8					 8
	- idade					- 8
	5 + 8					13
	5 / 8					 0
	6.0 / 5.0					1.2
	float ( 4 / 8 )				0.0
	float ( 4 ) / 8				0.5
*
Constantes
Constantes são valores armazenados numa posição da memória que podem ser lidos como variáveis mas não podem ser modificados pelo programa
Exemplos de declarações de constantes:
const float TEMP_NORMAL = 98.6 ; 
const char ESPACO = ‘ ’ ;
const int IDADE_LEGAL_PARA_VOTAR = 16 ; 
const float PI = 3.141516 ;
Por convenção, constantes são escritas em letra maiúsculas
*
Comentários:
// Um comentário
/* Outro comentário
 que termina na
 terceira linha */
Comentários
Use comentários para tornar um programa mais fácil de ler e entender
// é usado para comentar texto da posição das duas barras até o final da linha 
/* … */ é usado para comentar múltiplas linhas
Não aninhe comentários do tipo /* */
*
Um exemplo de programa:
#include <stdio.h>
void main (void)
{
	printf (“Hello World!”);
}
*
Analisando o programa:
#include <stdio.h>
Diretivas ao Pré-processador
#include <filename>
Esta diretiva indica ao pré-processador para incluir o arquivo filename antes de continuar com a compilação – é como se todas as linhas do arquivo filename estivessem resumidas onde a diretiva #include está
Os arquivos terminados em “.h” são chamados headers (ou cabeçalhos). Estes arquivos armazenam informações sobre as declaração de tipos, funções e definição de macros
*
Saída formatada: printf()
printf() escreve um conjunto de dados na saída, convertendo os dados de acordo com a especificação de formato. Note que, ao contrário de scanf, os valores das variáveis são fornecidos
Formato:
printf(“<formato e texto>”, variáveis);
*
Saída formatada: printf()
Exemplo:
int i = 10;
float r = 3.1514;
char letra = ´A´; 
printf(“Inteiro: %d, Real: %f, Caractere: %c”,i,r,letra);
Resultado:
Inteiro: 10, Real: 3.151400, Caractere: A
*
Entrada Formatada: scanf()
scanf() lê um string de entrada, converte os dados de acordo com a especificação de formato e armazena-os nas variáveis indicadas
Formato:
scanf(“<formato e texto>”, endereço variáveis);
Exemplo: leitura de um inteiro do teclado:
#include <stdio.h>
void main() {
	int i;
	scanf(“%d”, &i);
}
*
Função getch()
int getch(); /* stdio.h */
lê um caracter do teclado e retorna um inteiro contendo o seu código ASCII
não espera que o usuário tecle <return>
Ex:
#include <stdio.h>
...
int ch;
...
ch = getch();
*
Tabela de formato para scanf e printf
*
Erros Comuns em Programas
Sintaxe
Programa não compila
Mensagem do compilador não é clara
Procure pelo erro na linha anterior ou posterior à mencionada pelo compilador
Confirme que não há ; nem } faltando/sobrando
Erros durante Execução
Operações ilegais (por exemplo, dividir por 0)
Erros Lógicos
O programa produz um resultado diferente do que você não espera
*
Exercícios
Escreva um programa em C que leia dois números inteiros em duas variáveis de tipo int e então apresente como saída a soma destes dois valores.
Escreva um programa em C que leia dois números inteiros em duas variáveis de tipo int, troque os valores das variáveis e as exiba, bem como o resultado das 4 operações aritméticas operando esses valores.
Escreva um programa em C que leia o ano corrente e ano de nascimento de uma pessoa e imprima a sua idade em anos e em dias, considerando que ela já fez aniversário esse ano e que todo ano tem 365 dias.
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*
*

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais