Visite também: Br-Linux ·  VivaOLinux ·  LinuxSecurity ·  Dicas-L ·  NoticiasLinux ·  SoftwareLivre.org ·  [mais]
Voltar   Under-Linux.org Fóruns > UnderLinux Wiki
Wiki Classificados Galeria Reviews Jogos Comunidades RSS Feeds FAQ Termos de Uso Sobre
Cadastre-se FotosBlogs Lista de Membros Calendário Pesquisar Mensagens de Hoje Marcar Fóruns Como Lidos

Ferramentas pessoais
Publicidade

From UnderLinux Wiki

Basico de C

Pequena introducao do C

Vamos dar uma introducao ao o C. Ele eh uma linguagem de programacao originalmente projetada para ser usada no UNIX PDP-11 da DEC, sendo mais tarde "passado" para outros sistemas operacionais.

Ele eh considerada uma linguagem de "baixo nivel" , nao por ser ruim , mas por manipular o mesmo tipo de objetos que a maioria dos computadores , tais como caracteres , numeros e enderecos. Estes podem ser combinados e manipulados com os operadores aritmeticos e logicos usuais implementados pelas maquinas atuais.

Por isso , pela sua falta de restricoes , e pela sua generalidade , tornam o C mais eficaz e mais poderoso para a maioria das tarefas.

Níveis de uma linguagem

Muitas pessoas tem duvidas sobre o que eh uma linguagem de alto nivel , ou de baixo nivel. Ja ouvi ate algumas dizer que linguagem de alto nivel sao as "melhores" e as de baixo nivel "piores".

Devemos entender a definicao ALTO NIVEL , como sendo a capacidade da linguagem em compreender instrucoes escritas em linguagens humanas (ex:ingles) , como a PASCAL, e de BAIXO NIVEL , aquelas que se assemelham com a linguagem da maquina ,a ASSEMBLY , que eh composta por instrucoes binarias e outras incompreensiveis para o ser humano "normal". Ou seja , quanto mais de ALTO NIVEL for essa linguagem , ela sera mais simples para o ser humano , e mais complexa para a maquina (tornando sua execucao menos veloz). Com isso , vemos que o C sendo considerada de BAIXO NIVEL , nao eh nenhuma depreciacao , podendo ser considerada uma vantagem.

Primeiro programa(printf)

O unico jeito de aprender C , e qualquer outra linguagem de programacao eh com exemplos e com a pratica. Tudo que formos vendo , vai ser mostrado atravez de exemplos.

Mas antes , e muito importante eh ,para fazer os programas , use o seu editor de texto favorito( eu uso pico) , copie o programa para la e nomei-o como arquivo.c ,e para compila-lo use gcc arquivo.c -o arquivo (usando o gcc)

sinistrow@sinistrow:~/programastxt$ gcc -o arquivo.c -o arquivo sinistrow@sinistrow:~/programastxt$

E para comecar , vamos ver, como em todos os primeiros programas de qualquer linguagem , como imprimir na tela uma frase.

/* Primeiro programa em C */
/* Swx equipe de programacao */

#include /* incluimos a informacao sobre essa biblioteca stdio.h */

main() /* define a funcao , sem argumento */

{ /* todos os comandos do main sao delimitados por chaves */

printf("meu primeiro programan"); /* chamamos a funcao printf , que imprimi os caracteres */ 
/* entrem "" na tela :: o n , representa o caractere */ 
/* de nova linha . */ 
} /* fechamos o programa com chaves */

Pronto , ai esta o exemplo , lembrando de que tudo entre /* */ nao eh lido pelo compilador , sendo usado para fazer comentarios. O printf eh uma funcao que imprimi caracteres da biblioteca , que eh uma das mais usadas. O n eh eh a notacao C para nova-linha que quando usado , provoca o avanco do cursor para o inicio da proxima linha ,para voce ver como ele age , escreva essa programa sem usar o n e teste.

Agora vamos aprender a usar o scanf , outra funcao da biblioteca que unida ao printf , da para fazer varios programas interessantes e explorar um pouco do C.

O scanf le caracteres da entrada-padrao , interpreta-os segundo a especificacao em formato , e armazena os resultados por meio dos argumentos restantes.

Mas antes de usa-los , vamos ver um pouco de teoria. Os caracteres de conversao sao usados para a conversao e a impressao sairem corretamente. A conversao comeca com um % e termina com um caractere que define o tipo de conversao a ser feita (um pouco confuso). Para tentar melhorar, veja essa lista de conversoes basicas do printf.

  • d , i - int; numero decimal
  • o - int; numero octal
  • x , X - int; numero hexadecimal
  • u - int; numeor decimal nao sinalizado
  • c - int; unico caractere
  • s - char
  • imprime caracteres
  • f - double; / o %f eh usado onde o numero de d's eh dado pela precisao
  • E - double; / eh usado onde o numero de d's eh dado pela precisao
  • g , G - double; / eh usado se o expoente for menor que -4 ou >= ah precisao
  • p - void; apontador % - nenhum argumento eh convertido

Preste um pouco a atencao nessa listinha acima , pois ela vai ser bastante usada. Vamos a uns exemplos , comecando pelos mais faceis.

/* Swx equipe de programacao */
/* usando caracteres de conversao do printf */

#include
main()
{

int numero;
float numero2;
unsigned int numero3;
char nome[20]="daniel";
char caractere= 'd';

numero=5;
numero2=124e-5;
numero3=5000;

printf("Numero inteiro = %d n",numero); printf("Numero real = %f n",numero2); printf("Inteiro sem sinal = %d n", numero3); printf("Cadeia de Caracteres= %s n",nome); printf("Caractere = %c n" , caractere); }/<pre>

Esse exemplo usa os caracteres de conversao de alguns numeros e de alguns caracteres. Esse proximo ja vai usar printf e scanf juntos.

== Printf e scanf ==

<pre>/* Swx Equipe de programacao */
#include /* incluimos a biblioteca stdio.h */ main()
{ char Aluno[10]; 
/* definimos um char ( cadeia de caracter ) */ int Nota; 
/* definimos um int ( um decimal ) */ printf("nAluno: "); 
/* imprimimos Aluno: na tela */ scanf("%s",Aluno); 
/* pegamos oque foi imprimido e guardamos ( %s cadeia de caracter) */ printf("nNota: "); 
/* imprimimos Nota: na tela */ scanf("%d",&Nota); 
/* pegamos o que foi imprimido e guardamos ( %d numero decimal) */

printf (" O aluno %s tirou %d na prova n", Aluno , Nota); 
/* imprimimos o resultado final , usando */

/* o %s para Aluno e %d para a nota */
}

Fizemos esse programa que imprime a o nome e a nota que um aluno tirou. Os caracteres de conversao do scanf sao um poucos diferentes dos do printf.

Vamos por uma tabelinha dos caracteres do scanf para voce comparar com a do printf.

  • d - inteiro;decimal
  • i - inteiro; int* , pode estar em octal( 0 no inicio) ou hexadecimal (0x no inicio)
  • o - inteiro octal
  • u - inteiro decimal nao sinalizado ; unsigned int
  • x - inteiro hezedecimal
  • c - caracteres; char*
  • s - cadeia de caracteres
  • e,f,g - ponto flutuante; floar* % - %literal; nenhuma atribuicao eh feita

Como voce pode ver , os caracteres de conversao do printf e do scanf tem algumas diferencas , preste atencao quando for usa-las

Vamos agora para um outro exemplo ( bem util como sempre) que montara uma frase com as palavras que voce for digitando.

/* Swx equipe de programacao */

#include /* nossa ja conhecida biblioteca */ main()

{

char nome[20]; /* tudo tem q ser declarado aki antes */ char amada[20];
int tempo;
char acao[20];
char lugar[20];

printf("n Digite seu nome:");
scanf("%s" , nome);
printf("n Digite o nome de alguem que voce ame:"); /* blehhh ... :) isso eh soh teste */ scanf("%s" , amada);
printf("n Digite o seu numero prefirido:"); scanf("%d" ,&tempo);
printf("n Uma coisa que voce gosta de fazer:"); /* nao tenho imaginacao mesmo , eu sei */ scanf("%s" , acao);
printf("n Seu lugar predileto:");
scanf("%s" , lugar);
printf("n Voce %s , vai dentro de %d dias , %s com a %s na %snn " , nome , tempo , acao , amada , lugar); }

Nesse exemplo , usamos os caracteres de conversao %d ,de inteiro decimal e os caracteres %s de cadeia de caracteres.

Com esses exemplos , ja pode se ver um pouco do uso do scanf e do printf , agora mostraremos o uso deles com outras opcoes que podem vir a ser bem uteis.

/* Swx equipe de programacao */
/* pegando um numero e elevando ao quadrado */ /* usando apenas os caracteres de scanf printf */ 
/* e suas opcoes */

#include

main()
{
int numero;
printf("n Digite um numero: ");
scanf("%d",&numero);
printf(" Esse numero %d , elevado ao quadrado sera: %d nn", numero , numero*numero); /* o * simbolixa */

/* multiplicacao */ }

Umas opcoes que podem vir a ser uteis tambem , sao os operadores especiais usados no printf, veja nessa tabelinha alguns deles.

  • b - retrocesso (backspace)
  • f - salto de pagina (form feed)
  • n - nova linha (line feed)
  • r - retorno (cr)
  • t - tabulacao horizontal (TAB)
  • ' - caracter com apostrofo
  • - caracter nulo ou fim de string
  • x - representacao de byte em hexadecimal

O printf e o scanf tem muitas opcoes e variaveis , voce viu alguns exemplos de como eles podem ser usados. Antes de dar como concluida essa leitura , pegue todos esses exemplos que ja foram vistos e reescreva-os , mude nomes , caracteres , va treinando , pois programar soh se aprende com muita pratica e dedicacao.

Abraco a todos , futuramente farei outros textos , bem melhores que esse com certeza.

by Daniel Cid (sinistrow)

Horários baseados na GMT -3. Agora são 1:00.


Powered by vBulletin®
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.