C é a base para C++. Embora o C++ seja mais amplamente usado para aplicativos e jogos de desktop, é uma excelente opção para começar com C, especialmente se você é novo no mundo do software. Leia para saber o porquê.
últimas postagens
O que é C?
C é uma linguagem de programação estrutural de alto nível. Programas escritos em C são portáveis. C ainda é uma das principais linguagens de programação hoje porque é robusta. Ele é usado para programas complexos como sistemas embarcados, drivers, kernels, aplicativos de sistema, sistemas operacionais como Microsoft Windows, Apple OS X, bancos de dados como MySQL e alguns aplicativos de IoT.
C é uma linguagem compilada, fornecendo assim uma camada de abstração entre o código de máquina e o programa.
Um programa simples em C para somar dois números ficará assim.
#include<stdio.h> int main() { int a, b, sum; printf("Enter two numbers to add: "); scanf("%d%d", &a, &b); sum = a + b; printf("nSum of %d and %d is %d", a, b, sum); return 0; }
Aqui está a saída:
Saída do programa C de exemplo
Os programas C incluem stdio.h – a saída de entrada padrão.
STDIO fornece funções básicas de entrada e saída como printf e scanf. printf é usado para imprimir algo (mensagem, saída) no console, enquanto scanf é usado para receber entradas do console. Estamos usando %d para indicar que os números são inteiros.
Se você der decimais, obterá algumas respostas estranhas. Para evitar isso, você pode usar %f. A função main() é a primeira função executada quando o programa é executado. A sintaxe é muito simples – declare os tipos de variáveis e use-os.
O que é C++?
C++ é baseado em princípios de programação orientada a objetos como abstração, polimorfismo, herança e encapsulamento. Você pode pensar em C++ como uma extensão de C com o conceito de classes e objetos.
Ter objetos para armazenar dados deu uma estrutura elegante aos programas. Por exemplo, se você deseja armazenar os detalhes de um aluno, pode criar uma turma de Aluno e criar atributos como nome, idade, hobbies, notas etc., sob a turma. Você pode criar um objeto de aluno real sempre que necessário!
class Student { public: char name[20]; int age; float marks; }; //This will create an object Student student1 = new Student();
Na realidade, o objeto será criado e a memória alocada apenas durante o tempo de execução.
C++ oferece alto desempenho, razão pela qual é a escolha mais popular até hoje para desenvolver mecanismos de jogos de alto desempenho, sistemas incorporados, navegadores, compiladores e aplicativos baseados em gráficos, como processamento de imagens.
Poucos bancos de dados como o MongoDB são escritos em C++. Assim como C, C++ é portátil.
Vamos escrever nosso programa de adição anterior em C++ – observe as diferentes funções.
#include <iostream> using namespace std; int main() { int a, b; cout << "Enter the numbers: "; cin >> a >> b; int sum = a + b; cout << a << " + " << b << " = " << sum; return 0; }
Observe que estamos usando cout e cin em vez de printf e scanf. Além disso, declarações de tipo podem ser feitas em qualquer lugar do programa antes que a variável seja usada (por exemplo, a variável soma). A instrução print é bastante simples com apenas os nomes das variáveis. Observe que estamos usando o namespace std do cabeçalho iostream. std tem métodos como cout, in e muitos mais.
Semelhanças entre C e C++
Você pode dizer que C é um subconjunto de C++. Existem muitas semelhanças entre C e C++, seja na forma como os programas são escritos ou nos aplicativos para os quais eles são usados. Ambos são robustos, portáteis e de alto desempenho. Algumas semelhanças importantes são:
Sno.FeatureExplanation1.SyntaxBoth tem a mesma sintaxe, por exemplo, declaração de variável, ponto e vírgula de fim de linha, convenções de nomenclatura, etc.2.Structural e proceduralCada linha de código é executada uma a uma. Os programas são estruturados da seguinte forma – primeiro as importações, depois as declarações de variáveis e depois o código principal.3.Função Main() Todo o código que precisa ser executado deve estar dentro da função main(). main() é a primeira chamada de função durante a execução do programa.4.Ponteiros C e C++ usam ponteiros da mesma maneira. Um ponteiro é uma variável que armazena o endereço de memória de outra variável. Por exemplo, int a = 1;. Assim que este código for executado, uma memória (digamos, XX0011) será alocada para a. A localização de memória de ‘a’ pode ser acessada usando o e comercial (&) como int ptr_a = &a;5.Palavras-chave e operadores Todas as palavras-chave e operadores presentes em C também são válidos para C++. Por exemplo, scope, static, public, int, etc. C++ também possui operadores e palavras-chave adicionais.Semelhanças entre C e C++
Diferenças entre C e C++
C++ foi criado para superar algumas das deficiências de C e é um superconjunto de C. Assim, qualquer programa escrito em C funcionará em C++ – mas não vice-versa! A principal diferença entre C e C++ é que C++ é baseado em princípios orientados a objetos (OOP) de programação. Além disso, há mais ênfase na verificação de tipos em C++. Há também algumas diferenças mais sutis, conforme listado abaixo:
CC++ foi desenvolvido entre 1969-1973 por Dennis Ritchie no AT&T Bell labsDesenvolvido por Bjarne Stroustrup em 1979.Não segue princípios de programação orientada a objetosBaseado nos conceitos OOPS, como encapsulamento, polimorfismo e herançaC contém um total de 32 palavras-chave como char , switch, int, static, union e outros Todas as palavras-chave C são válidas em C++, e 31 palavras-chave adicionais também estão presentes.Suporta apenas programação proceduralC++ suporta vários paradigmas de programação, como OOP, programação genérica e funcionalNão podemos implementar recursos de OOP em C Recursos como amigos, funções virtuais em C++ aprimoram a essência da OOP.C suporta tipos de dados internos.C++ suporta tipos de dados internos e definidos pelo usuário através do conceito de classes. e sobrecarga de função (polimorfismo) A alocação de memória é feita através das funções malloc() e calloc(), e a desalocação usando free() Alocação de memória happ ens usando novo operador, e desalocação usando delete operadorC não suporta tratamento de exceçãoSuporta tratamento de exceçãoFoca no procedimento ou método mais do que em dadosMais focado em dadosDiferenças entre C e C++
Alguns outros recursos importantes presentes apenas em C++ são:
- Usando a palavra-chave namespace, podemos criar variáveis de mesmo nome em diferentes namespaces.
- Podemos usar funções dentro de uma estrutura. As estruturas também podem ter modificadores de acesso.
- Suporta variáveis de referência.
Quando usar C ou C++
Este é um debate muito comum entre programadores – por que devo aprender C quando posso fazer tudo em C++?
Aprender C lhe dará uma base sólida sobre estruturas de dados, ponteiros, palavras-chave, conceitos de pilha, heap e alocação de memória.
Além disso, C ainda é amplamente utilizado para aplicativos de alto desempenho, pois o compilador C é mais rápido que o compilador C++. Portanto, se você deseja escrever pedaços de código que não exigem objetos e classes, funções virtuais ou modelos, opte por C porque C++ pode ser um exagero com suas extensas bibliotecas.
A maioria dos códigos de baixo nível, como kernels, sistemas operacionais e bancos de dados, ainda são mantidos em C, portanto, conhecer C também ajudará você a aprender C++ mais rapidamente.
C++ é considerada uma das linguagens mais rápidas e eficientes – e é por isso que ainda é uma das principais linguagens de programação, especialmente para aplicativos de alto desempenho como mecanismos de jogos, dispositivos IoT e aplicativos de desktop. Muitos aplicativos usam uma combinação de código C e C++ – para obter o melhor desempenho e o benefício da programação orientada a objetos.
Resumo
Neste artigo, aprendemos o básico de C e C++ com um programa de exemplo simples. Discutimos as principais diferenças e semelhanças entre as duas linguagens e quando usar cada uma.
Se você está apenas começando sua jornada de desenvolvimento de software, começar com C lhe dará um impulso de confiança, pois é fácil e abrange todos os conceitos de programação, como estruturas de dados, ponteiros, memória e assim por diante.
Você pode estar interessado em usar o compilador C online e o compilador C++ do etechpt.com.