Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

left-side-bubbles-backgroundright-side-bubbles-background

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE MINAS GERAIS 
 
 
 
 
 
 
 
ISAAC ALVES SCHUENCK 
 
 
 
 
 
 
 
C 
 
 
 
 
 
 
 
 
BELO HORIZONTE 
2022 
 
 
ISAAC ALVES SCHUENCK 
 
 
 
 
 
 
 
 
 
 
C 
 
 
 
 
Trabalho apresentado para a matéria 
de Linguagens de Programação no 
curso de Engenharia de Computação. 
 
 
 
 
 
 
 
BELO HORIZONTE 
2022 
 
 
SUMÁRIO 
1. INTRODUÇÃO.........................................................................4 
2. HISTÓRICO SOBRE A LINGUAGEM.....................................5 
3. PARADIGMA...........................................................................7 
4. CARACTERÍSTICAS...............................................................8 
4.1 Tipos de dados........................................................................8 
4.2 Ponteiros.................................................................................9 
4.3 Função....................................................................................9 
5. LINGUAGENS SIMILARES...................................................11 
6. EXEMPLOS DE PROGRAMAS.............................................12 
7. CONCLUSÃO........................................................................16 
8. BIBLIOGRAFIA......................................................................17 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4 
 
 
1. INTRODUÇÃO 
A linguagem C é a mais conhecida linguagem de programação, sendo 
considerada a mais utilizada de todos os tempos. 
Embora seu aprendizado não seja fácil, tanto pela falta de clareza com que a 
estrutura da linguagem é descrita, quanto pela dificuldade de compreender 
certos conceitos, a linguagem C é colocada como uma linguagem de médio nível. 
C foi projetada como uma linguagem minimalista para ser usada na escrita de 
sistemas operacionais para minicomputadores , como o DEC PDP 7, que tinha 
memórias muito limitadas em comparação com os computadores mainframe da 
época. C combina elementos de uma linguagem de alto nível como BASIC e 
Pascal, com a funcionalidade do assembly. C chama muita atenção pela sua 
facilidade de portabilidade, adaptar ou converter um software para sistemas 
operacionais diferentes. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://www.britannica.com/technology/operating-system
https://www.britannica.com/technology/operating-system
https://www.britannica.com/technology/minicomputer
https://www.britannica.com/technology/mainframe
5 
 
 
2. HISTÓRICO SOBRE A LINGUAGEM 
Em 1972 surgiu a linguagem de programação desenvolvida pelo cientista da 
computação americano Dennis M. Ritchie nos Laboratórios Bell (anteriormente 
AT&T Bell Laboratories). A linguagem foi desenvolvida durante 1969–73, 
juntamente com o desenvolvimento inicial do sistema operacional UNIX do 
computador PDP-11. 
A linguagem C foi um conjunto de linguagens que começou com uma 
linguagem chamada ALGOL 60, em 1960 que foi um fracasso por ser de muito 
alto nível e exigir do usuário um grande conhecimento de hardware por causa 
dos sistemas operacionais da época. 
Em 1967 surgiu a CPL (Combined Programming Language), que foi 
condensada pela primeira vez na linguagem de programação B - uma linguagem 
de programação de computador simplificada - criada em 1970 por Ken 
Thompson, um cientista da computação americano e colega de Ritchie. A 
linguagem B mostrava-se muito limitada, sendo utilizada apenas para certas 
classes de problemas 
Estes problemas levaram Ritchie posteriormente reescrever e restaurar os 
recursos do CPL para criar C e, eventualmente, reescreveu o sistema 
operacional UNIX no novo idioma. 
 
Figura 1 - Ken Thompson e Dennis M. Ritchie 
 
https://www.britannica.com/technology/computer-programming-language
https://www.britannica.com/biography/Dennis-M-Ritchie
https://www.britannica.com/topic/Bell-Laboratories
https://www.britannica.com/technology/operating-system
https://www.britannica.com/technology/UNIX
https://www.britannica.com/biography/Dennis-M-Ritchie
6 
 
À medida que o sistema UNIX foi aprimorado, uma série de mudanças 
ocorreram em C entre 1977 e 1979. Durante esse período, uma descrição da 
linguagem tornou-se amplamente disponível através do livro, The C 
Programming Language (1978), de Brian W. Kernighan e Ritchie. 
Em meados da década de 1980 tornou-se importante estabelecer um padrão 
oficial para C, uma vez que estava sendo utilizado em projetos sujeitos a 
contratos comerciais e governamentais. Em 1983, a American National 
Standards Institute (ANSI) criou um comitê que alterou e padronizou ainda mais 
a linguagem. 
Desde então, C tem sido referido como ANSI Standard C, e continua popular 
no mundo dos sistemas operacionais do tipo UNIX. C também se tornou uma 
das linguagens de programação mais comuns usadas para escrever outros 
sistemas softwares e aplicativos. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
https://www.merriam-webster.com/dictionary/enhanced
https://www.merriam-webster.com/dictionary/amended
https://www.britannica.com/technology/software
7 
 
3. PARADIGMA 
C é uma linguagem que está no paradigma procedural, na qual consiste numa 
lista de instruções para informar ao computador o que fazer passo a passo. 
As principais características da programação procedural são dadas abaixo: 
• Funções predefinidas: Uma função predefinida é tipicamente uma 
instrução identificada por um nome. Normalmente, as funções 
predefinidas são construídas em linguagens de programação de nível 
superior, mas são derivadas da biblioteca ou do registro, e não do 
programa. 
• Variável Local: Uma variável local é uma variável que é declarada na 
estrutura principal de um método e está limitada ao escopo local que lhe 
é fornecido. A variável local só pode ser usada no método em que está 
definida e, se for usada fora do método definido, o código deixará de 
funcionar. 
• Variável Global: Uma variável global é uma variável que é declarada fora 
de todas as outras funções definidas no código. Devido a isso, as 
variáveis globais podem ser usadas em todas as funções, ao contrário 
de uma variável local. 
• Modularidade: Modularidade é quando dois sistemas diferentes têm 
duas tarefas diferentes em mãos, mas são agrupados para concluir 
primeiro uma tarefa maior. Cada grupo de sistemas teria suas próprias 
tarefas concluídas uma após a outra até que todas as tarefas fossem 
concluídas. 
• Passagem de Parâmetros: Passagem de Parâmetros é um mecanismo 
usado para passar parâmetros para funções, sub-rotinas ou 
procedimentos. A passagem de parâmetros pode ser feita através de 
'passar por valor', 'passar por referência', 'passar por resultado', 'passar 
por valor-resultado' e 'passar por nome'. 
 
 
 
 
https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future
https://hackr.io/blog/best-programming-languages-to-learn-2020-jobs-future
8 
 
4. CARACTERÍSTICAS 
Características de C que levaram à sua popularidade como linguagem de 
programação. 
• Tamanho pequeno 
• Uso extensivo de chamadas de função 
• Digitação solta - ao contrário de PASCAL 
• Linguagem estruturada 
• Programação de baixo nível 
• Implementação de ponteiros - uso extensivo de ponteiros para memória, 
array, estruturas e funções. 
4.1 tipos de dados 
Os tipos de dados básicos são baseados em números inteiros e baseados em 
pontos flutuantes. A linguagem C oferece suporte a literais assinados e não 
assinados. 
Tipo de dados básicos: 
• Int - inteiros 
• Char - caracteres 
• Float - Decimais 
• Double - Decimais 
Tipo de dados derivados: 
• array - vetor 
• pointer - ponteiro 
• structure - estrutura 
• union - união 
Tipo de dados de enumeração 
• enum - enumerar 
Tipo de dados nulo: 
• Void – vazio 
9 
 
Tipo Num de bits 
Intervalo 
Inicio Fim 
char 8 -128 127 
unsigned char 8 0 255 
signed char 8 -128 127 
int 16 -32.768 32.767 
unsignedint 16 0 65.535 
signed int 16 -32.768 32.767 
short int 16 -32.768 32.767 
unsigned short int 16 0 65.535 
signed short int 16 -32.768 32.767 
long int 32 -2.147.483.648 2.147.483.647 
signed long int 32 -2.147.483.648 2.147.483.647 
unsigned long int 32 0 4.294.967.295 
float 32 3,4E-38 3.4E+38 
double 64 1,7E-308 1,7E+308 
long double 80 3,4E-4932 3,4E+4932 
. 
 
4.2 PONTEIROS 
O ponteiro na linguagem C é uma variável que armazena o endereço de outra 
variável. Essa variável pode ser do tipo int, char, array, function ou qualquer outro 
ponteiro. O tamanho do ponteiro depende da arquitetura 
Existem várias situações onde ponteiros são úteis, por exemplo: 
• Alocação dinâmica de memória 
• Manipulação de arrays. 
• Para retornar mais de um valor em uma função. 
• Referência para listas, pilhas, árvores e grafos. 
 
4.3 Função 
Em c, podemos dividir um programa grande nos blocos básicos de construção 
conhecidos como função. A função contém o conjunto de instruções de 
10 
 
programação entre {}. Uma função pode ser chamada várias vezes para fornecer 
reutilização e modularidade ao programa. Em outras palavras, podemos dizer 
que a coleção de funções cria um programa. A função também é conhecida 
como procedimento ou sub-rotina em outras linguagens de programação. 
Vantagem de funções em C 
Existem as seguintes vantagens das funções C. 
• Usando funções, podemos evitar reescrever a mesma lógica/código 
repetidamente em um programa. 
• Podemos chamar funções C quantas vezes em um programa e de 
qualquer lugar em um programa. 
• Podemos rastrear facilmente um grande programa C quando ele é 
dividido em várias funções. 
• A reutilização é a principal conquista das funções C. 
• No entanto, a chamada de função é sempre uma sobrecarga em um 
programa C. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
11 
 
5. LINGUAGENS SIMILARES 
A linguagem C influenciou diversas linguagens desenvolvidas posteriormente 
como: C++, Java, C#, Javascript, Perl, Python e PHP. 
 
Figura 2 – Influencia do C em outras linguagens 
 
A influencia mais marcante que C deixou para as próximas Linguagens de 
Programação, foi a sua sintaxe extremamente eficiente. 
 
 
Figura 3 – Semelhança das LPs com C 
 
 
 
12 
 
6.EXEMPLOS DE PROGRAMAS 
1 - Hello World! 
#include <stdio.h> 
#include <stdlib.h> 
 
int main() 
{ 
 printf("Hello world!\n"); 
 return 0; 
} 
2 – While com soma 
#include <stdio.h> 
#include <stdlib.h> 
int main () 
{ 
 char sn; 
 int i, j, z; 
 printf("Quer fazer uma soma?(s/n?): "); //perguntando ao usuario se ele quer 
fazer a soma 
 scanf("%c", &sn); 
 while(sn == 's') 
 { 
 printf("\nInsira um numero inteiro: "); //inserir um inteiro 
 scanf("%d", &i); 
 printf("Insira um numero inteiro: "); 
 scanf("%d", &j); 
 z = i + j; // fazer a soma dos 2 inteiros 
 printf("\nO resultado da soma e: %d", z); // imprime a soma 
 fflush(stdin); 
 printf("\nQuer fazer uma soma?(s/n?): "); // faz o loop 
 scanf("%c", &sn); 
 } 
13 
 
 return 0; 
} 
3 – Vetor 
#include <stdio.h> 
#include <stdlib.h> 
 
int main(void) 
{ 
 int i; 
 float vetor[5] = {1,3,5,7,9}; 
 // declarando e inicializando o vetor 
 
 printf("Exibindo os Valores do Vetor \n\n"); 
 
 for( i = 0 ; i < 5; i++) 
 { 
 printf("[%.1f]", vetor[i]); 
 } 
 return 0; 
} 
4 – Ponteiro 
#include <stdio.h> 
#include <conio.h> 
int main(void) 
{ 
 //valor é a variável que será apontada pelo ponteiro 
 int valor = 15; 
 
 //declaração de variável ponteiro 
 int *ptr; 
 
 //atribuindo o endereço da variável valor ao ponteiro 
14 
 
 ptr = &valor; 
 
 printf("Utilizando ponteiros\n\n"); 
 printf ("Conteudo da variavel valor: %d\n", valor); 
 printf ("Endereco da variavel valor: %x \n", &valor); 
 printf ("Conteudo da variavel ponteiro ptr: %x", ptr); 
 
 return 0; 
} 
5 – Função 
#include <stdio.h> 
#include <stdlib.h> 
static void Mul(int i, int j) 
{ 
 i = i * j; 
 printf("O resultado da multiplicacao e: %d", i); 
} 
int main() 
{ 
 char sn; 
 int i, j; 
 printf("Quer fazer uma multiplicacao?(s/n?): "); 
 scanf("%c", &sn); 
 while(sn == 's') 
 { 
 printf("\nInsira um numero inteiro: "); 
 scanf("%d", &i); 
 printf("Insira um numero inteiro: "); 
 scanf("%d", &j); 
 Mul(i, j); 
 fflush(stdin); 
15 
 
 printf("\nQuer fazer uma multiplicacao?(s/n?): "); // faz o loop 
 scanf("%c", &sn); 
 } 
 return 0; 
} 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16 
 
7.CONSIDERAÇÕES FINAIS 
Concluímos que a linguagem C revolucionou o modo em que programamos, 
e todas as linguagens seja ela procedural ou orientada a objetos, tem um pouco 
de C. 
Uma linguagem que no começo pode ser difícil, porem quando se acostuma 
a sua sintaxe fica bem simples se programar. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
17 
 
8.BIBLIOGRAFIA 
SCHILDT, Herbert. C Completo e Total. Terceira Edição. São Paulo, Makron 
Books, 1 fevereiro 1997. 
BACKES, André. Linguagem C completa e descomplicada. 2ª edição. São 
Paulo, GEN LTC, 29 outubro 2018. 
THIBES, Vitoria. C: a linguagem de programação que está em tudo o que você 
usa. Canal Tech, 2014. Disponível em: (https://canaltech.com.br/software/c-a-
linguagem-de-programacao-que-esta-em-tudo-o-que-voce-usa-19512/). Acesso 
em: 23 de março de 2022. 
PINHO, Márcio S. Histórico da Linguagem C. PUCRS. Disponível em: 
(https://www.inf.pucrs.br/~pinho/LaproI/Historico/Historico.htm). Acesso em: 23 
de março de 2022. 
LESTAL, Justin. História das linguagens de programação. Dev Skiller, 2020. 
Disponivel em: (https://devskiller.com/pt/historia-da-programacao-idiomas/). 
Acesso em: 23 de março de 2022. 
CARVALHO, Erick. Programação Procedural Vs. Programação Orientada a 
Objetos. Bar8. Disponível em:( https://bar8.com.br/abap-oo-versus-procedural-
50474ff371a5). Acesso em: 23 de março de 2022. 
 
https://www.inf.pucrs.br/~pinho

Mais conteúdos dessa disciplina