O que é a linguagem de programação C?
C é uma linguagem de programação de nível médio que foi desenvolvida no Bell Lab em 1972 por Dennis Ritchie. A linguagem C combina os recursos de baixo nível e também de alto nível. Portanto, é considerada uma linguagem de nível médio.
C é uma linguagem de programação de tipo clássico de alto nível que permite desenvolver firmware e aplicativos portáteis. A linguagem C foi desenvolvida com o objetivo de escrever softwares de sistema. É uma linguagem ideal para o desenvolvimento de sistemas de firmware.
O que é a linguagem de programação C ++?
C ++ é uma linguagem de programação de computador que contém o recurso da linguagem de programação C, bem como Simula67 (uma primeira linguagem orientada a objeto). C ++ introduziu o conceito de Classe e Objetos.
Ele encapsula recursos de linguagem de alto e baixo nível. Portanto, é vista como uma linguagem de nível intermediário. Anteriormente, era chamado de "C com classes", pois tinha todas as propriedades da linguagem C.
DIFERENÇA CHAVE
- C é uma linguagem orientada a procedimentos, enquanto C ++ é uma linguagem de programação orientada a objetos.
- C oferece suporte apenas a ponteiros, enquanto C ++ oferece suporte a ponteiros e referências.
- C não permite que você use a sobrecarga de função, enquanto C ++ permite que você use a sobrecarga de função.
- C oferece suporte a tipos de dados internos, enquanto C ++ oferece suporte a tipos de dados internos e definidos pelo usuário.
- A linguagem C segue a abordagem de programação de cima para baixo, enquanto C ++ segue uma abordagem de programação de baixo para cima.
- C scan e printf são usados para entrada e saída padrão, enquanto em C ++, cin e cout são fornecidos para operações de entrada e saída padrão.
C vs. C ++: Principais diferenças
Base de distinção | C | C ++ |
---|---|---|
Tipo de programação | É uma linguagem orientada por procedimentos. | É uma linguagem de programação orientada a objetos. |
Aproximação | A linguagem C segue a abordagem de programação Top Down | C ++ segue a abordagem de programação ascendente. |
Extensão de arquivo | A extensão do arquivo de um programa C é .c | A extensão do arquivo de uma linguagem de programa c ++ é .cpp |
Divisão de programa | Na linguagem de programação C, um grande código de programa é dividido em pequenos pedaços que são chamados de funções. | Na linguagem de programação C ++, um grande código de programa é dividido em Objetos e Classes. |
Estrutura | A estrutura em C não fornece o recurso de declaração de função. | Estrutura em C ++ fornece o recurso de declarar uma função como uma função membro da estrutura. |
Função inline | Não permite função embutida. | Suporta função embutida. |
Operações de E / S padrão | Em C, scan e printf são usados para entrada e saída padrão | Em C ++, cin »e cout« são fornecidos para operações de entrada e saída padrão. |
Segurança de dados | Na linguagem C, os dados não são protegidos. | Os dados são seguros, portanto, não podem ser acessados por funções externas. (Usando o conceito de encapsulamento de OOPs) |
Facilidade de codificação | C é uma linguagem de programação mais antiga, descrita como Prática. Neste idioma, você deve dizer ao programa para fazer tudo. Além disso, esta linguagem permite que você faça quase tudo. | C ++ é uma linguagem de extensão de C. Ela permite o código orientado a objetos altamente controlado. |
Compatibilidade com outros idiomas | C não é compatível com outro idioma. | C ++ é compatível com as outras linguagens de programação genéricas. |
Pointer | C suporta apenas ponteiros. | C ++ suporta ponteiros e referências. |
Variável | Em C, a variável deve ser definida no início do programa. | C ++ permite que você declare variáveis em qualquer lugar da função. |
Ponto de Foco | C enfoca as etapas ou procedimentos que são seguidos para resolver um problema. | C ++ enfatiza os objetos e não as etapas ou procedimentos. Possui maior nível de abstração. |
Sobrecarga de função | C não permite que você use a sobrecarga de função. | C ++ permite que você use a sobrecarga de função. |
Tipos de dados | A linguagem C não permite declarar tipos de dados String ou Boolean. Ele oferece suporte a tipos de dados internos e primitivos. | C ++ oferece suporte a tipos de dados String e Boolean. |
Manipulação de exceção | C não oferece suporte ao tratamento de exceções. No entanto, isso pode ser executado usando algumas soluções alternativas. | C ++ oferece suporte ao tratamento de exceções. Além disso, esta operação pode ser realizada usando o bloco try e catch. |
Funções | Não permite funções com disposições padrão | Permitir funções com arranjos padrão. |
Namespace | Ele está ausente na linguagem C. | Está presente na linguagem C ++. |
Código fonte | Código-fonte do programa de formato livre. | Originalmente desenvolvido a partir da linguagem de programação C. |
Relação | C é um subconjunto de C ++. Ele não pode executar código C ++. | C ++ é um superconjunto de C. C ++ pode executar a maior parte do código C, enquanto C não pode executar código C ++. |
Conduzido por | Linguagem baseada em funções | Linguagem orientada a objetos |
Foco | Concentra-se no método ou processo em vez de dados. | Concentra-se em dados em vez de método ou procedimento. |
Encapsulamento | Não suporta encapsulamento. Como dados e funções são entidades separadas e livres. | Suporta encapsulamento. Dados e funções são encapsulados juntos como um objeto. |
Esconder informações | C não suporta ocultação de informações. Nesta linguagem, os dados são entidades livres e podem ser alterados fora do código. | O encapsulamento oculta os dados. Para que as estruturas de dados e os operadores sejam usados conforme a intenção. |
Gerenciamento de memória | C fornece funções malloc () e calloc () para alocação dinâmica de memória. | C ++ fornece um novo operador para esse propósito. |
Tipos de dados | Suporta tipos de dados integrados. | Suporta tipos de dados integrados e definidos pelo usuário. |
Variáveis globais | Permite declaração múltipla de variáveis globais. | Declarações múltiplas de variáveis globais não são permitidas. |
Conceito de Mapeamento | O mapeamento entre Dados e Função é muito complicado. | O mapeamento entre Dados e Função pode ser facilmente estabelecido usando "Classes e Objetos". |
Herança | Herança não é suportada C | A herança é possível na linguagem C ++. |
Arquivo de cabeçalho padrão | C usou o arquivo de cabeçalho stdio.h. | C ++ usa iosteam.h como arquivo de cabeçalho padrão. |
Função virtual | O conceito de funções virtuais está presente em C. | O conceito de função virtual não é usado em C ++. |
Palavras-chave | Contém 32 palavras-chave. | Contém 52 palavras-chave. |
Polimorfismo | Em C. O polimorfismo não é possível | O conceito de polimorfismo é usado em C ++. O polimorfismo é uma das características mais importantes do OOPS. |
Programação GUI | A linguagem C oferece ferramenta GTK para programação GUI | C ++ suporta ferramentas Qt para programação GUI |