










Estude fácil! Tem muito documento disponível na Docsity
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Prepare-se para as provas
Estude fácil! Tem muito documento disponível na Docsity
Prepare-se para as provas com trabalhos de outros alunos como você, aqui na Docsity
Os melhores documentos à venda: Trabalhos de alunos formados
Prepare-se com as videoaulas e exercícios resolvidos criados a partir da grade da sua Universidade
Responda perguntas de provas passadas e avalie sua preparação.
Ganhe pontos para baixar
Ganhe pontos ajudando outros esrudantes ou compre um plano Premium
Comunidade
Peça ajuda à comunidade e tire suas dúvidas relacionadas ao estudo
Descubra as melhores universidades em seu país de acordo com os usuários da Docsity
Guias grátis
Baixe gratuitamente nossos guias de estudo, métodos para diminuir a ansiedade, dicas de TCC preparadas pelos professores da Docsity
Uma introdução abrangente à linguagem de programação c, explorando conceitos fundamentais como variáveis, funções, estruturas de controle e entrada/saída. O texto é enriquecido com exemplos práticos de código, facilitando a compreensão dos conceitos e a aplicação prática da linguagem. A sintaxe básica, a estrutura de um programa em c, a utilização de bibliotecas e a criação de funções, além de apresentar exemplos de operações matemáticas e estruturas de repetição.
Tipologia: Esquemas
1 / 18
Esta página não é visível na pré-visualização
Não perca as partes importantes!
C é uma linguagem de programação de propósito geral, estruturada, imperativa, procedural,
de baixo nível e padronizada, criada em 1972, por Dennis Ritchie, nos laboratórios Bell,
para ser usada no sistema operacional UNIX. Desde então, espalhou-se por muitos outros sistemas operativos, e tornou-se uma das linguagens de programação mais usadas.
C tem como ponto fraco, a falta de proteção que dá ao programador. Praticamente tudo
que se expressa em um programa em C, pode ser executado. Os resultados são muitas
vezes totalmente inesperados, e os erros, difíceis de encontrar. Muitas linguagens de programação foram influenciadas por C, sendo que a mais utilizada atualmente é C++, que
por sua vez foi uma das inspirações para Java.
O C++ foi inicialmente desenvolvido por Bjarne Stroustrup dos Bell Labs durante a década
de 1980 com o objetivo de melhorar a linguagem de programação C ainda que mantendo
máxima compatibilidade.
Ainda em 1983 o nome da linguagem foi alterado de C with Classes para C++. Novas
características foram adicionadas, como funções virtuais, sobrecarga de operadores e
funções, referências, constantes, gerenciamento manual de memória, melhorias na
verificação de tipo de dado e estilo de comentário de código de uma linha (//).
As vantagens são as possibilidades em programação de alto e baixo nível que não está sob
o domínio de uma empresa (em contraste do Java — Sun ou Visual Basic — Microsoft) e a
compatibilidade com C, resultando em vasta base de códigos.
Os programas de computador ou softwares, processadores de textos planilhas,
navegadores para internet e até mesmo o sistema operacional Windows, são arquivos cujas
as instruções dizem ao computador como realizar determinadas tarefas.
No ambiente Windows os arquivos com extensões EXE e COM contém comandos que o
computador pode executar. Em outras palavras esses arquivos de programas dão ao
computador instruções especificas para que ele realize determinada tarefa.
Para criar programas usa se uma linguagem considerada de alto nível como o C++ e
especifica as instruções que o computador que o computador deve executar e em seguida
por meio de um programa especial chamado compilador converter se essa instrução de
programação na linguagem da máquina (binaria) que o computador compreende.
Definição de dados: são informações que podem ser números ou caracteres com os quais o programa opera.
Definição de variáveis: representam localizações de memória onde são armazenados valores que podem ser modificados pelo programa.
Variáveis: podem conter letras, números e caracteres porem um caractere não pode ser um numero, exemplo: pm_01 ou pm01 é permitido , mas 01_pm não é permitido. Letras maiúsculas são diferentes de minúsculas.
Observação: o manipulador endl é utilizado para passar o cursor para a próxima linha.
É uma sessão de código independente é autônoma escrita para desempenhar uma tarefa especifica. Deve conter protótipo e definição da função;
Sintaxe:
Tipo_retorno nome_função (tipo_arg nome ..., tipo_arg nomen);
Tipo retorno: variável que a função retornará. Pode ser char , int , float , double e void, se não retornará a nada.
Nome_função: descreve que a função faz;
Tipo-arg: tipo e nome das variáveis que serão para a função. Pode ser char, int, float.
Nomen: double, void.
Sempre termina com ; (ponto e vírgula).
Int main (void)
Todo o programa em C está escrito dentro da função main.
main é a primeira função a ser executada por qualquer programa em C mesmo que tenha outras funções escritas antes.
Há compiladores que interpretam esta função mesmo incompleta, ou seja, você também
poderá escrever está função escrevendo
main ()
int main ()
main (void)
Mas para mantar a portabilidade e evitar erros desnecessários de compilação o melhor a
se fazer é declarar ela inteira int main (void)
Devemos sempre dar preferencias as letras minúsculas para não gerar um erro no seu código.
Os bloco de dados são utilizados para determinar todas as linhas de código que comandos
ou funções devem executar de uma vez.
O bloco de dados é determinado pelo abrir e fechar chaves ({ }). Você abre chaves aonde
se deve começar a executar e fecha aonde se deve terminar a execução. Em um programa
pode haver mais de uma chave e o mesmo número de chave aberta ser o de chaves fechadas.
Qualquer programa é determinado pelo que está dentro das chaves. O que está dentro das
chaves pode ser uma função, uma palavra reservada (como: if, else, for, ...) ou processo ( operação matemática).
Em C toda chamada de função, processo ou algumas palavras reservadas devem terminar
a linha com um ponto e vírgula (;).
A importação de uma biblioteca é dada pelo comando INCLUDE (incluir) seguido da
biblioteca entre os sinais de menor (<) e maior (>).
Porém, devemos notar que existem diferenças entre a importação de bibliotecas de C e de
C++.
Em C, a importação de bibliotecas são mais simples, bastando acrescentar para cada
biblioteca um include em uma linha diferente e o nome da biblioteca seguido de ponto H
(.h) - .h é a extensão do arquivo da biblioteca que vem da palavra inglesa HEADER
(cabeçalho) - se você esquecer de colocá-lo o programa não será compilado.
No exemplo abaixo, vamos incluir duas bibliotecas padrões de C.
1.#include <stdio.h>
2.#include <stdlib.h>
Como podem ver, cada biblioteca foi incluída em uma linha.
Em C++ a importação de bibliotecas é um pouco diferente. O comando de importação continua sendo o include, mas neste caso não usaremos o ponto h (.h) no final da
bibliotecas legitimamente.
Após importar uma biblioteca por linha no final desta lista devemos mostrar o tipo de
funções usaremos. Na grande maioria dos casos usaremos a funções padrões de cada biblioteca. Podemos fazer isso facilmente digitando a palavra **using *** indicando o espaço
de nome (namespace) standard (std) que quer dizer padrão em inglês.
Não se esqueça a palavra reservada using necessita terminar a linha com o ponto e vírgula (;)
#include <stdlib.h> // biblioteca em C
#include
Using namespace std;
As bibliotecas de C são diferentes das bibliotecas de C++ apensar de muitos compiladores
de C++ suportarem as bibliotecas de C, nenhum compilador exclusivamente de C
suportam as bibliotecas C++.
A parte mais importante de qualquer programa é o processo. Uma variável é uma
informação que você pode usar dentro do programa.
Está informação está associada comum lugar especifico da memória (isso é feito pelo
compilador)
Cada variável utiliza uma determinada quantidade de armazenamento em memória. A
maneira como sabemos quantos bytes são utilizados é pelo tipo de variável. Variáveis do
mesmo tipo utilizam o mesmo número de bytes, não interessando qual é o valor que a
variável armazena.
Um dos tipos utilizados para armazenar números é o int que é usado para armazenar
números inteiros. Outro tipo é o char usado para armazenar caracteres (um símbolo, uma
letra, sinais, entre outros). Um char é armazenado em 1 byte de memoria
O processamento em geral é dado de forma genérico, ou seja por variáveis.
Cada variável tem um alcance e forma diferente de trabalhar o dado nela gravado. Por
exemplo se determinarmos uma variável inteira você jamais poderá digitar um número
decimal, pois todos os números depois do sinal decimal serão ignorados. Se formos
escrever um número decimal devemos utilizar o ponto (.) ao invés da virgula (,) se for
incremento=10; incremento++; resto=10%3; printf ("soma = %d\n", soma); printf ("subtracao = %d\n", subtracao); printf ("multiplicacao = %d\n", multiplicacao); printf ("divisao = %d\n", divisao); printf ("decremento = %d\n", decremento); printf ("incremento = %d\n", incremento); printf ("resto = %d\n", resto); return 0; }
Variáveis são endereços de memória na qual podemos atribuir ou mudar o valor.
A declaração da variável deve proceder da seguinte maneira:
1º especificar o tipo de variável
2º nomear a variável
Obs. Não podemos esquecer que o C / C++ é case sensitive, ou seja, ele diferencia as letras maiúsculas das minúsculas.
Por exemplo, x não é a mesma coisa de X.
Um outro cuidado que devemos ter é não começar uma variável por número, mas podemos terminá-la.
Exemplo: É errado declarar 2x, mas podemos declarar x2 ou _2x.
Como uma última precaução, não podemos usar espaços, pois o compilador pode entender como sendo outra variável não separada por vírgula e acusará um erro. No lugar do espaço, pode-se usar underline (_).
Exemplo: É errado digitar resultado da raiz, mas é correto, resultado_da_raiz.
O primeiro tipo é o inteiro. Declara se como int nomedavariável. O tipo inteiro c/c++ é uma variável de 16 bits (2bytes)
O segundo é o inteiro long. Declara se como long int nomedavariável. Ele é uma melhoria do inteiro comum, pois dobra o número de bits.
O outro tipo é o real ou decimal que também chamamos de ponto flutuante. Declara se
como float nomedavariável. O tipo flutuante é uma variável que tem uma precisão de 7
dígitos e consome 4 bytes.
E tem também um outro tipo que é uma melhoria do ponto flutuante, o dobro. Declaramos
como double nomedavariável. O double consome 8 bytes de memória para seu
armazenamento.
Funções são usadas para criar pequenos pedaços de códigos separados do programa
principal. Em c / c++ tudo na verdade é uma função. Int main (void) é uma função, por
exemplo.
Exceto a função Main, todas as outras funções são segundarias o que ela significa que elas podem existir ou não.
Funções são importantes porque elas retornam valores, ajudam fragmentar o código em
partes menores, mais fáceis de lidar e ainda por cima podem ser utilizadas mais de uma
vez no mesmo programa, poupando preciosos minutos de programação e inúmeras linhas
de códigos.
Funções são como variáveis que guardam inúmeras linhas de código. Se não prototipadas*, elas devem ser escritas antes da função MAIN, afim de serem compiladas primeiro para poderem ser utilizadas pela função main.
É quase o mesmo que querer comer uma maçã do pomar e quando chegar lá não tem nenhuma, você continuará com fome. Porque não tem maçãs produzidas no pomar. Seria o mesmo que querer utilizar uma função no MAIN e não tem nenhuma função produzida anteriormente.
Como havíamos dito, funções são como variáveis. Então, criamos uma função indicando o tipo de retorno (saída) que será int, float, etc..Nomeamos a função (valem as mesma regras das variáveis, ex.: Não começa nomes de funções com número) e terminamos colocando entre parênteses os argumentos. Como nossas primeiras funções não terão argumentos entre parênteses usaremos VOID (do inglês VAZIO). Todo o código da função deve estar dentro de um bloco de instrução ( { } ), mesmo que haja apenas uma linha.
Obs.: Não se usa ponto-e-vírgula no final da criação da função.
Após a função ser criada, basta chamarmos a função dentro da função principal MAIN.
Para chamá-la, apenas digitamos o nome da função e entre parênteses colocamos seus argumentos. Como esta função não tem argumentos, simplesmente colocamos nada entre os parênteses
#include
using namespace std; int main (void) { int nr; cout <<"Digite um numero: "; cin >> nr; cout <<"\n\n\nVoce digitou o numero: "<<nr; return 0; }
Diferentemente do scanf do C , não podemos indicar várias entradas com a função cin. Ou seja, você deve incluir um CIN para cada entrada.
Funções de saída são utilizadas para interface com o usuário, ou seja, define se do pressuposto de comunicação entre a máquina e o usuário de alguma maneira. Toda comunicação da máquina e do usuário deve ser calculada pelo programador de forma a induzir o usuário a praticar determinada ação. Por exemplo se você imprimir a mensagem para o usuário digitar dois números para serem somados e quando ele apertar a tecla ENTER mostrará o resultado.
As funções de saída de C são encontradas na biblioteca padrão de entrada/saída, a STDIO.H.
No caso, para imprimir uma mensagem basta adicionar a linha com a função printf. Tudo que deve ser mostrado na tela deve estar especificado dentro dos parênteses () e a mensagem deve estar dentro de aspas ("").
#include <stdio.h> // biblioteca padrão I/O de C int main (void) { printf ("Esta e uma mensagem sendo mostrada na tela"); return 0; }
O controle de texto é importante pois melhora a legibilidade do usuário. Todos os controles são determinados pelo caractere barra invertida () e uma letra. Cada letra faz algo determinado, veja a tabela abaixo e o exemplo:
\n Pula de linha \t Adiciona tabulação \a Adiciona um bip \b Faz o cursor voltar um caractere \r Faz o cursor voltar a linha inteira
As funções de saída de C++ são encontradas na biblioteca padrão de entrada / saída a iostream. No caso, para imprimir uma mensagem basta adicionar a linha com a função cout. Tudo que deve ser mostrado na tela deve ser especificado entre os acumuladores de saída (<<) e as aspas (“ ”).
#include
O que também podemos fazer é imprimir variáveis como por exemplo o resultado de uma soma.
#include
No exemplo acima, atribuímos os valores de 5 na variável a , 10 na variável b e guardamos o resultado de a+b na variável resultado.
Uma ação muito importante, pois toma uma decisão definindo o que é verdadeiro e o que é falso. Capaz de definir caminhos diferentes de acordo com decisões que o próprio programa toma. Para isso, precisamos de uma estrutura seletiva da qual o único valor possível é o bit 1 ou 0, resumindo: retornar o valor VERDADEIRO ou FALSO.
Exemplificando: Se (IF) for tal coisa, faça isso! Caso contrário (ELSE), faça aquilo!
Para usar o IF basta digitar entre parênteses o que deve ser comparado.
Ou seja, for precisa de três condições. Vale salientar que essas condições são separadas por ponto-e-vírgula (;).
ITERAÇÃO é sinônimo de repetição.
O FOR também segue a mesma regra de IF. Caso haja mais de uma linha a ser executada pelo comando FOR, essas deverão estar agrupadas num bloco de dados ( { } ).
Uma outra forma de iteração (repetição) em C/C++ é o WHILE.
While executa uma comparação com a variável. Se a comparação for verdadeira, ele executa o bloco de instruções ( { } ) ou apenas a próxima linha de código
Neste exemplo serão mostrados os números pares entre 0 e 100.
#include
O ideal é utilizar o WHILE em um loop definido pelo usuário, que a partir de uma entrada ele termine. Ou seja, enquanto o usuário não fizer determinada ação, o loop continuará a dar voltas.
#include
else cout <<"Este numero e negativo\n"; } return 0; }
No exemplo, o programa só irá parar quando o usuário digitar 0, qualquer outro número fará com que o programa continue dando loop. Perceba que a variável ainda está sendo inicializada.
A estrutura de repetição DO WHILE parte do princípio de que deve-se fazer algo primeiro e só depois comparar uma variável para saber se o loop será executado mais uma vez.
Devemos proceder da seguinte maneira:
DO {bloco de instruções} WHILE (comparação);
Usamos DO, depois escrevemos tudo que o DO deve fazer no bloco de instruções, no final do bloco colocamos o WHILE com a comparação entre parênteses, e não se esqueça que neste caso termina-se a linha do WHILE com ponto-e-vírgula (;).
Uma outra forma de estrutura seletiva é o SWITCH. Dentro dos switch há o case (que significa caso). Ou seja, é quase que um if com várias possibilidades, mas com algumas diferenças importantes.
1ª diferença: Os cases não aceitam operadores lógicos. Portanto, não é possível fazer uma comparação. Isso limita o case a apenas valores definidos.
2ª diferença: O switch executa seu bloco em cascata. Ou seja, se a variável indicar para o primeiro case e dentro do switch tiver 5 cases, o switch executará todos os outros 4 cases a não ser que utilizemos o comando para sair do switch. (Nos referimos ao BREAK).
Agora, que conhecemos diferenças importantes, vamos ver como proceder com o switch / case.
Primeiro o comando SWITCH e entre parênteses a váriavel na qual está guardado o valor que será avaliado pelo case. Então, abre-se o bloco de dados. Dentro do bloco de dados colocamos o comando CASE e logo após um valor terminando a linha com dois pontos (:). Preste atenção no tipo de dado que será colocado, pois há diferenças entre um dado e outro. Por exemplo: 1 não é a mesma coisa que '1' e 'a' não é a mesma coisa que 'A'...
Então, é estruturado os comando que serão executados pelo case, que seria isso:
SWITCH ( variável ){ CASE valor1 : Dados a serem executados BREAK ; CASE valor2 : Dados a serem executados BREAK ; }