C

Grupo :

  1. Eliezer Luz Ribeiro
  2. Lucio Leal
  3. Michel Pedroso

Historia

A partir de uma linguagem mais antiga chamada BCPL, desenvolvida por Martin Richards, surgiu uma linguagem chamada B, inventada por Ken Thompson que influenciou o desenvolvimento da linguagem de programação C.

A linguagem C derivou da linguagem B e foi desenvolvida na AT&T Bell Labs entre 1969 e 1973 por Dennis Ritchie para ser incluído como um dos softwares a serem distribuídos juntamente com o sistema operacional Unix do computador PDP-11, na equipe certificada por Ken Thompson. Sua primeira utilização importante foi a reescrita do Sistema Operacional UNIX, que até então era escrito em assembly, foi um dos primeiros núcleos de sistema operativo que foi implementado numa linguagem sem ser o Assembly.

Em meados de 1970 o UNIX saiu do laboratório para ser liberado para as universidades. Foi o suficiente para que o sucesso da linguagem atingisse proporções tais que, por volta de 1980, já existiam várias versões de compiladores C oferecidas por várias empresas, não sendo mais restritas apenas ao ambiente UNIX, porém compatíveis com vários outros sistemas operacionais.

Caracteristicas

O C é uma linguagem de propósito geral, sendo adequada à programação estruturada. No entanto é mais utilizada escrever compiladores, analisadores léxicos, bancos de dados, editores de texto, etc.. A linguagem C pertence a uma família de linguagens cujas características são: portabilidade, modularidade, compilação separada, recursos de baixo nível, geração de código eficiente, confiabilidade, regularidade, simplicidade e facilidade de uso.

• C é uma linguagem de médio nível. Permitindo instruções de baixo nivel operando diretamente em registradores, endereços e até em bits específicos;

• I/O exclusivamente por funções, todas as operações de I/O são feitas por rotinas da biblioteca;

• Uso de funções, todo programa em C é um conjunto de funções;

• Inexistência de variáveis tipo string, na manipulação de strings usa-se arrays de caracteres;

• Várias bases numéricas, podem ser usados literais numéricos em bases decimal, octal e hexadecimal;

• Diferenciação entre maiúsculo e minúsculo, as variáveis “valor” e “VALOR” são distintas;

• Bastante portável;

• Não é fortemente tipada;

• Permite escrever programas modulares e estruturados;

Utilização

Permite o desenvolvimento e implementação de software básico, tais como:

• Sistemas Operacionais;

• Interpretadores;

• SGBD (Sistema Gerenciador de Banco de Dados);

• Editores (de texto e gráficos);

• Compiladores;

• Programas educacionais;

Funcionalidades

Os comentários são definidos pelo sinal /* (barra-asterisco) até o sinal */ (asterisco-barra), abrindo e fechando o comentario, ou se for apenas em uma linha com o sinal (duas barras).

Exemplo:

 # include <stdio.h>
 void main(){
 // COMENTÁRIO EM APENAS UMA LINHA
 /* TODO PROGRAMA ESCRITO POR UM BOM PROFISSIONAL 
 POSSUI COMENTÁRIOS QUE AUXILIAM EM FUTURAS MANUTENCOES  */
 printf(“HELLO WORLD”);
 }

Operadores Aritméticos:

	+  ADIÇÃO
	-   SUBTRAÇÃO
	*   MULTIPLICAÇÃO
	/    DIVISÃO
	%  RESTO DA DIVISÃO (OPERANDOS INTEIROS)		

Exemplos:

	A = 3 + 5;
	C = 9 % 2;
	O VALOR FINAL DE A = 8 E C = 1	

Operadores de comparação:

	<    MENOR QUE
	<=  MENOR OU IGUAL A
	>     MAIOR QUE
	>=   MAIOR OU IGUAL A
	==   IGUAL A
	!=    DIFERENTE DE

Operadores lógicos::

	&&	E/AND
	||	OU/OR
	!	NEGAÇÃO

Tipos de dados

A tabela abaixo exibe os cinco (5) tipos de dados básicos que podem ser utilizados pelo programador para definir suas variáveis. São exibidos os tipos básicos, a quantidade de bits, a faixa de valores válida e o número de bytes que cada tipo de dados ocupa na memória RAM (memória principal) ou em disco (quando armazenados na memória secundária).

Tipo Bits Faixa de Valores Bytes
char 8 -128 à 127 1
int 32 -2147483648 à 21474483647 4
float 32 -3.4E-38 à 3.4E+38 4
double 64 -1.7E-308 à 1.7E+308 8
void 0 Sem valor 0

Modificadores de tipo

Os modificadores de tipo são utilizados para modificar os tipos de dados base, ou seja, se adaptando às necessidades do programador. Os modificadores modificam a quantidade de bits e bytes dos tiposbase, alterando, desta forma, a faixa de valores destes novos tipos de dados.

Modificador de tipo Modificação Descrição
signed c/sinal Números positivos e negativos
unsigned s/sinal Números positivos
long longo Aumenta o número de bytes do tipo

Tabela de tipos básicos modificados:

Tipo Bits Faixa de valores Bytes
unsigned char 8 0 à 255 1
signed char 8 -128 à 127 1
unsigned int 32 0 à 4294967295 2
signed int 32 -2147483648 à 21474483647 2
short int 32 -2147483648 à 21474483647 2
long int 32 -2147483648 à 21474483647 4
unsigned short int 16 0 à 65535 2
signed short int 16 -32768 à 32767 2
unsigned long int 32 0 à 4294967295 4
signed long int 32 -2147483648 à 21474483647 4
long double 64 -1.7E-308 à 1.7E+308 8

Escrever um programa em C

Um programa em C é constituído de uma ou mais funções delimitadas por chaves { }, onde uma destas funções, obrigatoriamente é chamada main(). As principais regras são:

• Letras maiúsculas e minúsculas são tratadas como caracteres diferentes;

• O formato do texto é livre;

• A função main() especifica onde o programa começa e termina de ser executado;

• Todos os comandos são terminados por ponto e vírgula;

• Todas as variáveis devem ser declaradas;

• { função começa a ser executada;

• } função termina de ser executada.

Palavras reservadas

Definidas por K&R (Kernighan & Ritchie):

• auto, double if, static,const, asm, break, else, int, struct, enum,case, entry, long, switch, signed,char, extern, register, typedef, void,continue, float, return, union, volatile,default, for,sizeof, unsigned, near,do, goto, short, while, _ds.

Observação: As palavras reservadas não podem ser utilizadas pelo programador como nome de variáveis, constantes ou funções, ou seja, não servem como identificadores.

Curiosidades

Não se sabe se o nome “C” foi dado à linguagem porque muitas de suas características derivaram da linguagem B e C é a letra conseguinte no alfabeto, ou porque “C” é a segunda letra do nome da linguagem BCPL, da qual derivou-se a linguagem B.

 
c-1-trabalho.txt · Last modified: 2012/03/18 22:40 by clp · [Old revisions]