Olá pessoal, hoje vamos entender para que servem as bibliotecas que importamos para o programa C.
Com certeza a primeira coisa que você se perguntou quando viu um código C na sua frente, foi para que servem #include<stdio.h> e #include<stdlib.h>? o que elas fazem?
Elas são bibliotecas que agrupam um conjunto de funções que facilitam a nossa vida na hora de programar, isso mesmo as funções printf e scanf não são propriamente do C, elas fazem parte de uma biblioteca que está inclusa no C, então podemos dizer que as funções printf e scanf são de uma biblioteca que pode ser inclusa no C. Utilizando a palavra chave #include <nome da biblioteca>.
A biblioteca que contém o printf e scanf é a <stdio.h>, se repararmos o nome dessa biblioteca, veremos que seu nome é bem sugestivo ao seu propósito: stdio.h (i/o input/output) entrada e saída. Já que printf faz a saída do programa, ou seja, exibe algo para o usuário, e o scanf faz a leitura dos dados, ou seja, recebe a entrada do teclado.
Então se a biblioteca <stdio.h> não for incluida no cabeçario do nosso programa não tem como usarmos as funções que estão contidas dentro dela. Faça um teste, experimente apagar a linha: #include<stdio.h>, e compile seu programa. Veja o que acontece.
Beleza, a biblioteca <stdio.h>, cuida da parte de entrada e saida de dados, mas e a <stdlib.h> para que ela seve? A biblioteca <stdlib.h> funciona como um emulador da prompt do sistema operacional que você está programando, caso seja Windows ele emula todos os comandos do DOS, se você estiver programando no Linux, quem será emulado é o Terminal.
Essa biblioteca é muito inteiressante, pois com apenas algumas linhas de comando você consegue acessar pastas, mover diretorios, executar programas, fuder com a HD e tudo o que um programador metido a hacker gosta de fazer =D.
Aqui um exemplo de como é legal brincar com a biblioteca <stdlib.h>:
#include <stdlib.h>
int main() {
system("calc");
system("pause");
return 0;
}
O que aconteceu ... legal né? Isso é só o começo de um montão de coisa que você pode fazer utilizando o system.
Ainda resta uma dúvida. Só existem essas bibliotecas em C ? É claro que não pessoal, existem muitas outras bibliotecas que são especificas para cada situação. Existem bibliotecas para trabalhar com contas matemáticas, bibliotecas para manipular textos, para manipular a formatação de exibição dos dados e uma infinidade de outras coisas ai. A melhor coisa a ser feita é uma pesquisa rápida pelo Google.
Bele pessoal?, dúvidas, sugestões não esqueçam deixem seus comentários. Valeu e até a próxima.
muy bueno
ResponderExcluirMto bom!
ResponderExcluirValeu Guilherme,,,
ResponderExcluirAinda que deu uma abertura sobre as bibliotecas e , posso saber porque usar a biblioteca tbm?
Olá Johnny,
ExcluirDevemos usar as bibliotecas em C para poder utilizar as funções que estão contidas nela. Por exemplo, se você não utilizar a stdio você não poderá utilizar a função printf para exibir textos no ecrã do sistema operacional que você está programando. Então as bibliotecas servem para minimizar o seu esforço como programador ... Já pensou em ter que programar tudo do zero? Seria algo terrível.
Espero que tenha entendido, qualquer coisa não deixe de perguntar abraços!
PS = assine nosso feed para receber as atualizações diretamente por e-mail.
stdio.h e stdlib.h não são bibliotecas, mas arquivos contendo cabeçalhos (em Inglês, header, donde vem também a extensão ".h").
ResponderExcluirEm C e C++, os arquivos de cabeçalho são adicionados ao programa por meio do comando #include do preprocessador (o verbo "adicionar", aliás, não foi usado por acaso: o efeito do comando é trazer todo o conteúdo do arquivo referenciado para que seja compilado como se fizesse parte do programa que o está incluindo). Existem duas sintaxes para o #include: a primeira delas coloca o nome do arquivo incluído entre os sinais menor que ("<") e maior que (">"), significando que o compilador deve buscar o arquivo entre os cabeçalhos predefinidos pelo ambiente de compilação (i.e. aqueles que acompanham o compilador), e a segunda coloca o nome do arquivo entre aspas, para que o compilador o localize a partir do mesmo caminho em que reside o programa que está sendo compilado.
O uso típico de arquivos de cabeçalho em C (C++ muda isso um pouco, conforme se verá mais abaixo) é fazer declarações de símbolos (i.e. nomes de funções, variáveis globais com ligação externa e tipos de dados) ou definir valores constantes e macros, de modo que o compilador saiba o que aquele símbolo significa, dando-lhe meios de usá-los corretamente ou de diagnosticar uso inapropriado, mas sem gerar código objeto durante a compilação do arquivo de cabeçalhos.
O código objeto que implementa aquilo que é apresentado nos cabeçalhos não reside nesses arquivos, mas em outros. A função printf(), por exemplo, tem dentro de <stdio.h> apenas uma presentação, mas sua implementação reside noutro lugar, e pode nem mesmo ter sido escrita originalmente como um programa em C (esse "outro lugar" tipicamente é um arquivo com extensão ".so" ou ".a" no mundo UNIX, ou ".LIB" ou ".DLL" no Windows).
A correspondência entre os arquivos de cabeçalhos e as bibliotecas que eles apresentam não é necessariamente biunívoca. Ao contrário, até: a maioria das implementações da biblioteca padrão da linguagem C é contida num arquivo só (no mundo UNIX, a famosa "libc"; no mundo Windows, MSCRT*.DLL), embora as funções e tipos de dados relacionados a entrada e saída sejam apresentadas em <stdio.h>, aquelas relativas a manipulação de strings, em <string.h>, as de data e hora, em <time.h>, e funções de utilidade em geral, em <stdlib.h>.
(No caso do C++, é comum que código incluído por meio de #include gere código executável novo, principalmente por causa de uso de programação genérica com templates. Por conta dessa geração de código, muitas pessoas consideram errôneo dizer que tais arquivos são apenas de cabeçalhos. Em parte em função disso -- e em parte também para evitar confusão com arquivos de cabeçalhos com nomes parecidos que fazem parte de compiladores C --, desde o padrão C++ de 1998, os "cabeçalhos" de C++ não têm mais a extensão ".h".)
Paulo dá para ver que você manja muito cara parabéns. Porém não é errado chamar um header de biblioteca :D blz!
ExcluirE com certeza podemos montar nossas bibliotecas ou headers (como preferir nomear) e adicioná-los ao nosso programa C, porém, o escopo da postagem não cobria isso :p. Esse post foi feito para quem está começando.
Outra coisa, você escreve bem mas cuidado para não afirmar coisas que não tem como você provar como: "muitas pessoas consideram errôneo". Quem são muitas pessoas? Porque devo considerar a opinião delas?
Mas achei legal seu comentário e obrigado por ajudar a melhor o conteúdo do blog.
Cara, por que tu escreveu return 0; no final daquele código? Digo, se você tirar essa parte, o código dá no mesmo...
ResponderExcluirO return no final do código serve para indicar que o sistema terminou sem nenhum erro. Sempre retorne o valor no final do seu main ... é uma boa prática de programação.
ExcluirOlá amigo, não terminei de ler o artigo pois, há um erro gritante que me impediu de prosseguir. Mais exatamente em sua primeira palavra. Favor verificar a gramática antes de postar algum artigo.
ResponderExcluirTalvez, se o texto fosse escrito no DEV C++, o erro teria sido sinalizado.
De nada.
kkkkkkkkkkkkkk Também vi!!! hahahaha Muito burro! Dá zero pra ele!
Excluircaralho que burro dá 0 pra ele, qm é teu professor?
Excluirhttp://2.bp.blogspot.com/-gEuRAi_3WEs/T9fXaftwj3I/AAAAAAAADwY/CuO5CrQL6DE/s640/SeuCreysson.png
Olá amigo, não terminei de ler o artigo pois, há um erro gritante que me impediu de prosseguir. Mais exatamente em sua primeira palavra. Favor verificar a gramática antes de postar algum artigo.
ResponderExcluirTalvez, se o texto fosse escrito no DEV C++, o erro teria sido sinalizado.
De nada.
Qual foi o erro amigo? E quem disse que isso é um artigo, isso é uma postagem de um blog que escrevo em minhas horas livres. Meu professor acho que você não conhece, mas se chama Breno =). Obrigado pelas criticas, se tiver mais alguma manda ai.
ExcluirSegue o blog assim você pode ficar por dentro de tudo o que eu postar. Até mais amigo.
Tem gente que ao invés de somar, quer fazer palhaçada... Erro bobo, falta de atenção, nada justifica tamanha grosseria e deboche.
ExcluirParabéns Guilherme! Continue fazendo o que esse (ou essa) aí não faz: ser útil.
Esse trecho de codigo no ex. da biblioteca #include stdlib.h, resulta em que? nao tive coragem de rodar!! hehehe...
ResponderExcluirSe vc estiver usando sistema operacional Windows, a calculadora será aberta.
Excluirinfelizmente copiei e colei e o sistema perguntou se quero incluir pois já existe nele. achei que não iria abrir a calc. resondi não. rss
ExcluirPoxa, rodei no meu e não fez nada... só aparece uma msg e pronto.
ExcluirParabéns, ficou bem claro...
ResponderExcluirFicou legal, parabéns.
ResponderExcluirVlw Paulo, nas minhas férias espero retomar as postagens.
Excluirtenho esse codigo na biblioteca stdio.h
ResponderExcluir#include
int main(void) {
int i, j, n;
printf("Digite um valor de 1 a 9: ");
scanf("%d", &n);
if (n < 1 || n > 9)
printf("Valor de invalido !\n");
else {
for (i = 1; i <= n; i++) {
for (j = 1; j <= i; j++)
printf("%d", j);
printf("\n");
}
}
}
porem eu não entendo esses parametros usados ao lado do %, todos que eu estudei anteriormente estavão situados na biblioteca iostream e cstdlib.
poderia me ajudar?
%d ou %i = Inteiros (int)
Excluir%f = Ponto flutuante (float)
%c = Caracter (char)
%s = Cadeia de caracteres (char)
Esses são os mais comuns. Esses parâmetros são usados para identificar qual o tipo que está sendo lido e vai ser atribuído a variável.
Muito legal, me ajudou bastante. Parabéns.
ResponderExcluirmas como que eu faço para resolver o maior entre três números(a+b+abs(a-b))/2 ????
ResponderExcluirGostei da postagem, vlw!
ResponderExcluirSó corrigindo um erro seu:
"inteiressante"
correto: "Interessante"
#include
ResponderExcluir#include
int main ()
{
printf ("vlw!!!");
system ("pause");
return 0;
}
Vlw, ajudo bastante
ResponderExcluirboa tarde
ResponderExcluirtô começando
espero ter ajuda neste início
quando tiver algo pra somar ajudarei
vlw Guilherme pela inciativa
Guilherme vc está de parabéns, continue mostrando uma luz para quem está começando, igual a mim.
ResponderExcluirNão ligue para palhaços que só esperam a gente dá um deslize qualquer para tacar pedras
Alguém sabe me informar como faz para apagar uma cadeia de caracteres só usando string, char, int, float. Ou seja não posso usar variaveis diferentes.
ResponderExcluirParabéns!!! Voce acabou de me tirar uma duvida, que parece ser boba mas não é :D
ResponderExcluirSimples e objetivo
Muito bom!!!
ResponderExcluirMuito bom cara!
ResponderExcluir#include
ResponderExcluirint main(){
printf("digite um num:");
scanf("%D", &a
continueeeem
Este comentário foi removido pelo autor.
ResponderExcluirEste comentário foi removido pelo autor.
ResponderExcluirUsei os comandos do prompt de comando sem o stdlib.h e funcionou do mesmo jeito. Alguém explica?
ResponderExcluir