Intrudução ao C

Started by Cloudy, 17 de April , 2006, 09:56:11 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Cloudy

Aí galera, um amigo meu, JoneS, me passou quando disse que iria começar a estudar C.

E li e achei muuuuito bom, então resolvi postar aqui pra vcs, espero que gostem.

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

 #############################################################################
 ############################## UNSEKURITY TEAM ##############################
 #############################################################################

 
Escrito por Charles Manson
e-mail: http://unsekurity.virtualave.net/

obs; O material presente aqui não é de minha autoria.

****************************************************************************************
*  Introdução ao Basico de C (por Charles Manson mailto:jackz@ieg.com.br">jackz@ieg.com.br)                     *         ****************************************************************************************


           
    1- Introduçao
    2- Estrutura Básica de um Programa em C
           2.2- Forma Geral das Funcoes C
    3- A função main()
    4- Instruções de Programa
    5- A função printf()
           5.1- Imprimindo Cadeia de Caracteres
    6- Constantes e Variaveis
           6.1- Declaração de Variáveis
           6.2- Tipos de Variáveis
           6.3- Variáveis Ponto Flutuante
           6.4- Inicializando Variáveis
           6.5- Inteiros com e sem Sinal
           6.6- Nomes de Variáveis
    7- Palavras-Chaves em C
           7.1- Explorando a Função printf()
           7.2- Tamanho de Campos na Impressão
           7.3- Complementando com zeros à Esquerda
           7.4- Imprimindo Caracteres
           7.5- Imprimindo Caracteres Gráficos
           7.6- Revisão
           7.7- Alguns Exercícios
    8- Comentários


 =============================================================================================


 1- Introdução (História)

   A linguagem C foi primeiramente criada por Dennis M. Ritchie e Ken Thompson que no laboratorio Bell em 1972, baseada na linguagem B de Thompsonque era uma evoluçao da antiga linguagem BCPL. B foi nomeada com a primeira letra de BCPL e C com a segunda. A proxima linguagem progressiva da idéia de C provavelmente se chamará P.
   A definição de C está contida no livro The C Programming Language, escrito por Brian W. Kernighan e Dennis M. Ritchie.
   C é uma linguagem vitoriosa como ferramenta na programação de qualquer tipo de sistema (sistemas operacionais, planilhas eletronicas,gerenciador de banco de dados, etc.) Como exemplo, o sistema operacional Unix é desenvolvido em C.
   A linguagem de programação C tornou-se rapidamente uma das mais importantes e populares, principalmente por ser muito poderosa, portátil, pela padronização dos compiladores existentes e flexivel.
   C foi desenhada para que o usuario possa planejar programas estruturados e modulares. O resultado é um programa mais legivel e documentado. Os programas em C tendem a ser bastante compactos e de execução rápida.
   C é amiga do programador, suficientemente estruturada para encorajar bons hábitos de programação. Programas em C podem ser desenvolvidos em partes separadas por pessoas distintas e depois unidos num produto final, o que significa que bibliotecas de funçoes podem ser criadas ou usadas sem realmente conhecer o código de cada uma delas.

 **********************************************************************************************
 A maioria do programas utilizados aqui usam a diretiva #include por isso inclua na frente de cada programa.
 **********************************************************************************************
 =============================================================================================

 2- A Estrutura Básica de um programa em C

  Um programa C consiste em uma ou varias "funções". Os nomes programa e funçao se confudem em C.



 2.1- FORMA GERAL DAS FUNÇÕES C

  Vamos começar pelo menor programa possível em C.


  main()
  {
  }


    Este programa compõe-se de uma única função chamada  main .
 
         main()  ------------->  primeira funçao a ser executada
         {       ------------->  inicia o corpo da funçao
         }       ------------->  termina a funçao


   Os parênteses após o nome indicam que esta é uma funçao. O nome de uma funçao C pode ser qualquer um com exceção de "main" , reservado para a funçao que inicia a execuçao do programa.
   
   Toda funçao C deve ser iniciada por uma chave de abertura, { ,  e encerrada por uma chave de fechamento, } .
 
   O nome da funçao, os parenteses e as chaves são os únicos elementos obrigatorios de uma funçao.

   Você pode colocar espaços, caracteres de tabulaçao e pular linhas à vontade em seu programa, pois o compilador ignora estes caracteres. Em C não há um estilo obrigatorio.

   Os exemplos a seguir mostram como o estilo de programação pode causar problemas de legibilidade aos programas C.

  ____________________________________________________________________________
  |                           |                                                |
  |     main () {}            |               main ()                          |
  |                           |         {                }                     |
  |                           |                                                |
  |                           |                                                |
  |___________________________|________________________________________________|
  | main                      |              main                              |
  | (                         |         () {}                                  |
  | )                         |                                                |
  | {                         |                                                |
  | }                         |                                                |
  |                           |                                                |
  |___________________________|________________________________________________|

 Todos este exemplos são de programas que nao fazem nada, ou seja, programas vazios.



 ==============================================================================================

 
   3- A função main()

  A função main() deve existir em algum lugar de seu programa e marca o ponto de inicio da execuçao do programa. Se um programa for constituído de uma única funçao esta será main() .

 ==============================================================================================


   4- INSTRUÇÕES DE PROGRAMA

  Vamos adicionar uma instrução em nosso programa.
 

  main()
  {
    printf("primeiro programa");
  }


  Todas as instruções devem estar dentro das chaves que iniciam e terminam a funçao e são executadas na ordem em que as escrevemos.

  As instruçoes C sao sempre encerradas por ponto-e-vírgula (;) . O ponto-e-vírgula é parte da instruçao e nao um simples separador.

  Esta instrução é uma chamada à função printf() , os parênteses nos certificam disso e o ponto-e-vírgula indica que esta é uma instruçao.

  Como C não existe um estilo obrigatorio, vamos reescrever o programa anterior de forma que a sua execuçao será a mesma.

  main() {printf("primeiro programa");}


 =============================================================================================   
 
   5- A FUNÇÃO printf()


   A função printf() é uma das funçoes de E/S (entrada e saída) que podem ser usadas em C. Ela não faz parte da definição de C mas todos os sistemas têm uma versão de printf() implementada.

   Os parênteses indicam que estamos, realmente, procedendo com uma função. No interior dos parênteses estão as informações passadas pelo programa main() a função printf() , isto é "primeiro programa". Esta informação é chamada de argumento de printf() .

   Quando o programa encontra esta linha, passa o controle para a função printf() que imprime na tela do seu computador

    primeiro programa

e, quando encerra a execução desta, o controle é transferido novamente para o programa.

   Sintase:

               printf("expressão de controle",lista de argumentos)

   Outro exemplo:


       main()
       {
          printf("Este e'o numero dois:%d,2);
       }


   Este programa imprimirá na tela do seu computador.

            Este e'o numero dois:2

    A funçao printf() pode ter um ou varios argumentos. No primeiro exemplo nós colocamos um único argumento: "primeiro programa". Agora entretanto, colocamos dois: "Este e'o numero:%d" que está à esquerda e o valor 2 à direita. Este dois argumentos são separados por uam vírgula.

    A expressão de controle pode conter caracteres que serão exibidos na tela e códigos de formatação que indicam o formato em que os argumentos devem ser impressos. No nosso exemplo o código de formatação %d solicita a printf() imprimir o segundo argumento em formato decimal.

    printf() é uma funçao da biblioteca padrao de C e pode receber um número variavel de argumentos. Isto é, a cadeia de caracteres de controle e mais tantos argumentos quantas especificações de formato a cadeia de controle contiver. Cada argumento deve ser separado por uma vírgula.


 
 5.1-IMPRIMINDO CADEIA DE CARACTERES

 Além do codigo de formatação decimal(%d), printf() aceita vários outros. O Proximo exemplo mostra o uso do codigo %s para imprimir uma cadeia de caracteres.

   main()
   {
     printf("%s esta a %d milhoes de milhas\ndo sol","Venus",67);
   }

  A saída será:

  Venus esta a 67 milhoes de milhas
  do sol

  Aqui, além do codigo de formatação, a expressão de controle de printf() contém um conjunto de caracteres  estranho:  \n

  O \n é um codigo especial que informa a printf() que o restante da impressão deve ser feito em nova linha. A combinação de caracteres \n representa, na verdade, um único caractere em C, chamado de nova-linha. Em outras palavras, este caractere desempenha a mesma funçao que a executada quando pressionamos a tecla [enter]  do teclado. Por que, entao, nao usar a tecla [enter] ? Porque, quando pressionamos a tecla [enter], o editor de textos que estamos usando para editar nosso programa deixa a linha atual onde estamos trabalhando e passa para outra linha, deixando a linha anterior inacabada, e a funçao printf() nao o tomará para a impressão.

  Os caracteres que nao podem ser obtidos diretamente do teclado para dentro do programa (como a mudança de linha) sao escritos em C, como a combinaçao do sinal \ (barra invertida) com outros caracteres. Por exemplo, \n representa a mudança de linha. (mais para a frente tem uma tabela)

  Vamos agora ecrever um programa com mais de uma instrução:


      main()
      {
        printf("A letra %c",'j');
        printf("pronuncia-se %s","jota");
      }

   A saída será:
   
      A letra j pronuncia-se jota.

   'j' é um caractere e "jota" é uma cadeia de caracteres.

  Note que 'j' é delimitado por aspas simples enquanto que "jota" é delimitado por aspas duplas. Isto indica ao compilador como diferenciar um caractere de uma cadeia de caracteres. Observe, também que a saída é feita em duas linha de programa, o que nao constitui duas linhas impressas de texto. A função printf() não imprime automaticamente um caractere de nova linha; se você desejar, deve inserir um explicitamente.

  A tabela seguinte mostra os codigos de C para caracteres que nao podem ser inseridos diretamente do teclado. A funçao printf() aceita todos eles.

  _______________________________________________________________________________________
   CODIGOS ESPECIAIS                                 SIGNIFICADO
   
    \n  ------------------------------------------> Nova Linha
    \t  ------------------------------------------> TAB
    \b  ------------------------------------------> RETROCESSO
    \"  ------------------------------------------> ASPAS
    \\  ------------------------------------------> BARRA
    \f  ------------------------------------------> SALTA PÁGINA DE FORMULARIO
    \0  ------------------------------------------> NULO

  _______________________________________________________________________________________

    A proxima tabela mostra os codigos para impressao formatada de printf().

  _______________________________________________________________________________________
    CODIGO                                            FORMATO
 
   %c  -------------------------------------------> CARACTERE SIMPLES
   %d  -------------------------------------------> DECIMAL
   %e  -------------------------------------------> NOTAÇÃO CIENTÍFICA
   %f  -------------------------------------------> PONTO FLUTUANTE
   %g  -------------------------------------------> %e ou %f (O mais curto)
   %o  -------------------------------------------> Octal
   %s  -------------------------------------------> Cadeia de Caracteres
   %u  -------------------------------------------> Decimal sem sinal
   %x  -------------------------------------------> Hexadecimal

  _______________________________________________________________________________________

 
 =============================================================================================

  6- Constantes e Variáveis

   Uma constante tem valor fixo e inalterável.

   Nos exemplos anteriores, mostramos o uso de constantes numericas, cadeias de caracteres e caracteres em printf().

   Em C uma constante caractere é escrita entre aspas simples, uma constante cadeia de caracteres entre aspas duplas e constantes numéricas como o número propriamente dito.

     Exemplos de constantes:
       'c'
       "primeiro programa"
       8
   
      O programa

   main()
   {
     printf("Este e'o numero dois: %d",2);
   }
   
     imprime a constante 2, no formato especificado, %d.


   As variaveis sao o aspecto fundamental de qualquer linguagem de computador. Uma certa variavel em C é um espaço de memória reservado para armazenar um certo tipo de dado e tendo um nome para referenciar o seu conteúdo.

   O espaço de memoria de uma variavel pode ser compartilhado por diferentes valores segundo certas circunstancias. Em outras palavras, uma variavel é um espaço de memoria que pode conter, a cada tempo, valores diferentes.
 
   Para explicar o uso de variaveis vamos reescrever o programa anterior usando uma variavel ao invés de uma constante:

       main()
       {
         int num;
         num=2;
         printf("Este e'o numero dois: %d",num);
       }

    A execuçao deste programa é exatamente a mesma que a da versão anterior porém ele cria a variavel num , atribui a ela o valor 2 e imprime o valor contido nela.

    A primeira instrução,
   
       int num;

  é um exemplo de declaraçao de variavel, isto é, apresenta um tipo, int , e um nome, num .

    A segunda instrução,
 
       num=2;
 
  atribiu um valor à variavel e este valor será acessado atraves de seu nome.
  Usamos o operador de atribuição (=) para este fim.

   A terceira instruçao chama a funçao printf() mandando o nome da variavel como argumento, substituindo a constante 2 usada anteriormente.


 
 6.1- DECLARAÇÃO DE VARIAVEIS

 
  Uma declaraçao de variavel é uma instruçao para reservar uma quantidade de memoria apropriada para armazenar o tipo especificado, neste caso int , e indicar que seu conteúdo será referenciado pelo nome dado, neste caso num .
 
      int num;

  __________________________________________________________________________________________
   UMA DECLARAÇAO DE VARIAVEL CONSISTE NO NOME DE UM TIPO, SEGUIDO DO NOME DA VARIAVEL.
  __________________________________________________________________________________________

   Em C todas as variaveis devem ser declaradas.

   Se você tiver mais de uma variavel do mesmo tipo, poderá declará-las de uma única vez, separando seus nomes por virgulas.

        int aviao,foguete,helicoptero;
   
   C não trabalha se você nao declarar suas variaveis



 
 6.2- TIPOS DE VARIAVEIS


  O tipo de uma variavel informa a quantidade de memoria, em bytes que esta irá ocupar.

  Em C existem 5 tipos de variaveis básicas.

   ________________________________________________________________________________________
    TIPO                                    BIT   BYTES    ESCALA
                 
    char   (caractere)                      8       1      -128 a 127
    int    (inteiro)                        16      2      -32768 a 32767
    float  (ponto flutuante)                32      4      3.4E-38 a 3.4E+38
    double (p.flutuante de precisao dupla)  64      8      1.7E-308 a 1.7E+38
    void   (sem valor)                      0       0      sem valor
   ________________________________________________________________________________________

  Com exceção de void, os tipos de dados basicos podem estar acompanhados por modificadores na declaraçao de variaveis. Os modificadores de tipos oferecidos por C são:

    long ou long int (4bytes)
    unsigned char    (de 0 a 255)
    unsigned int     (de 0 a 65535)
    unsigned long    (2 bytes no IBM-PC)

   O tipo inst tem sempre o tamanho da palavra da máquina, isto é, em computadores de 16 bits ele terá 16 bits de tamanho.

   Vamos examinar um programa que usa variaveis caractere, ponto flutuante e inteiras. Chamaremos este programa de evento.c

       main()
       { 
         int evento;
         char corrida;
         float tempo;
         evento=5;
         corrida='C';
         tempo=27.25;
         printf("O tempo vitorioso na eliminatoria %c",corrida);
         printf("\nda competicap %d foi %.2f.",evento,tempo);
       }

    A saída será:
 
         O tempo vitorioso na eliminatoria C
         da competicao 5 foi 27.25.

    Este programa usa os 3 tipos de variaveis mais comuns: int, char e float.


 
  6.3- VARIAVEIS PONTO FLUTUANTE


   Numeros em ponto flutuante correspondem mais ou menso aos que os matematicos chamam de "numeros reais".

   Existem varias maneiras de escrever numeros em ponto flutuante. A notaçao "3.16e7" é um metodo de indicar que 3.16 será multiplicado por 10 elevado a potência 7, isto é, 31600000.
Esta indicaçao chama-se notaçao cientifica e é usada para armazenar números em ponto flutuante na memoria do computador.

   Assim, números em ponto flutuante sao guardados na memoria em duas partes. Estas duas partes sao chamadas de mantissa e expoente. A mantissa é o valor do numero e o expoente é a potencia que ira aumentá-lo.
   Por exemplo, 12345 é representado por .12345e5 onde o número que segue o (e) é o expoente, e .12345 é o valor do numero.
   
   Variaveis tipo float sao guardadas em 4 bytes; um para o expoente e 3 para o valor do numero e o sinal.

   
 
  6.4- INICIALIZANDO VARIAVEIS


   É possivel combinar uma declaraçao de variavel com o operador de atribuiçao para que a variavel tenha um valor ao mesmo tempo de sua declaraçao; é o que chamaremos de inicializaçao de variavel. Como exemplo reescreveremos o programa evento.c inicializando as variaveis na sua declaraçao.

     main()
     {
       int evento=5;
       char corrida='C'
       float tempo=27.25;
       printf("O tempo vitorioso na eliminatoria %c",corrida);
       printf("\nda competicao %d foi %f.",evento,tempo);
     }

    A execuçao será a mesma do anterior.


 
 6.5-INTEIROS COM E SEM SINAL


   O modificador de tipo unsigned indica que o tipo associado deve ter seu bit de ordem superior interpretado de maneira diferente. Observe o programa a seguir:

        main()
        {
          unsigned int j=65000;
          int i=j
          printf("%d %u \n",i,j);
        }

    O resultaro será  :  -536 65000
 
   A razao disto está na maneira como o computador interpreta o bit de ordem superior do inteiro, ou seja, o bit 15.
 
   Na forma binaria o bit 15 de um inteiro positivo é sempre 0 e o de um inteiro negativo é sempre 1. Se usarmos o modificador unsigned em nossos programas, o computador irá ignorar o bit de sinal tratando-o como um bit a  mais para numeros positivos.

   Os numeros negativos sao conhecidos como " complemento de dois " dos numeros positivos , pois a conversao de um numero positivo para o seu negativo é feita por um processo de duas etapas. No momento você nao precisar entender bem isso.

   No nosso exemplo usamos o numero 65000 que é maior que o maior inteiro interpretado com sinal, o que deixa evidente que o seu bit 15 é 1.




  6.6- Nomes de Variaveis


  A escolha de nomes significativos para suas variaveis pode ajuda-lo a entender o que o programa faz e prevenir erros.

  Você pode usar quantos caracteres quiser para um nome de variavel com o primeiro sendo obrigatoriamente uma letra ou caractere de sublinar e os demais podendo ser letras, numero ou caracteres de sublinhar.

  Uma variavel em C nao pode ter o mesmo nome de uma palavra-chave d C.

  C é case sensitive, ou seja, maiusculas e minusculas fazem diferença.

 --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Continua...
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

Cloudy

...Continuação:


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

==============================================================================================

 7- Palavras-chaves em C

  auto      double  int      struct
  break     else    long     switch
  case      enum    register typedef
  char      extern  return   union
  const     float   short    unsigned
  continue  for     signed   void
  default   goto    sizeof   volatile
  do        if      static   while


 
 7.1- EXPLORANDO A FUNÇAO printf()


  Como já vimos , a funçao printf() usa o caractere % seguido de uma letra para identificar o formato de impressao. O problema surge quando queremos imprimir o caractere % . A soluçao consiste em usar dois simbolos % .

     main()
     {
        int reajuste=10;
        printf("O reajuste foi de %d%%. \n",reajuste);
     }

    A saída será :   O reajuste foi de 10%



 7.2- TAMANHOS DE CAMPOS NA IMPRESSÃO


  Em printf() é possivel estabelecer o tamanho minimo para a impressão de um campo.

     main()
     {
        printf("Os alunos sao %2d.\n,350);   
        printf("Os alunos sao %4d.\n,350);   
        printf("Os alunos sao %6d.\n,350);   
     }

   A saída será:

      Os alunos sao 350
      Os alunos sao  350
      Os alunos sao   350

   Pode-se usar tamanho de campos com números em ponto flutuante para obter precisão e arredondamento.

      main()
      {
        printf("%4.2f\n",3456.78);               
        printf("%3.2f\n",3456.78); 
        printf("%3.1f\n",3456.78); 
        printf("%10.3f\n",3456.78); 
   
   A saída será :

       3456.78
       3456.78
       3456.8
         3456.780

    Os tamanhos de campos podem ser usados para alinhamento à direita ou a esquerda. Exemplos:


       main()
       {
         printf(".2f %.2f %.2f\n",8.0,15.3,584.13);
         printf(".2f %.2f %.2f\n,834.0,1500.55,4890.21);
       }

    A saída será:
 
       8.00 15.30 584.13
       834.00 1500.55 4890.21

   O sinal de menos (-) precedendo a especificação do tamanho do campo justifica os campos à esquerda, como mostra o proximo programa:

      main()
      {
        printf("-%10.2f -%10.2f -%10.2f -%10.2f\n",8.0,15.3,584.13);
        printf("-%10.2f -%10.2f -%10.2f -%10.2f\n",834.0,1500.55,4890.21);
   
     A saída será:
   
       8.00     15.30     584.13
       834.00   1500.55   4890.21

   Este formato , é muito útil em certas circunstancias, especialmente quando imprimimos cadeia de caracteres.


 
  7.3- COMPLEMENTO COM ZEROS À ESQUERDA

  Além de especificar o tamanho do campo, podemos complementar o campo todo ou parte dele com zeros à esqueda. Observe a seguir:

    main()
    {
      printf("\n%04d",21);
      printf("\n%06d",21);
      printf("\n%6.4d",21);
      printf("\n%6.0d",21);
    }

   A saída será:
 
     0021
     000021
       0021
         21



  7.4- Imprimindo Caracteres


  Em C um caractere pode ser representado de diversas maneiras:
  o proprio caractere entre aspas simples ou sua representação decimal, hexadecimal ou octal segundo a tabela ASCII.

   Por exemplo:

      printf("%d %c %x %o \n",'A','A','A','A');

   imprime:
       
      65 A 41 101
   
   e a instruçao

      printf("%c %c %c %c \n",'A',65,0x41,0101);
   
   imprime:
   
      A A A A

   Um octal em C sempre é iniciado por 0 e um hexadecimal por 0x para que o compilador saiba diferencia-los de números decimais.

   A tabela ASCII tem 256 codigos decimais numerados de 0 a 255. Se imprimirmos em formato caractere um número maior que 255, o computador imprimirá o equivalente ao resto da divisao do numero por 256, ou seja, se o numero for 3393 ele será impresso com 'A' pois o resto da divisao de 3393 por 256 é 65.

      printf("%d %c \n",3393,3393);
 
   imprime:
 
       3393 A


  7.5 IMPRIMINDO CARACTERES GRÁFICOS 
     

  Como você provavelmente sabe, todo caractere (letra, digito, caractere de pontuação , etc...) é representado, no computador, por um numero. O codigo ASCII dispõe de numeros de 0 a 127 (decimal) cobrindo letras, digitos de 0 a 9 , caracteres de pontuação , etc.

  Já mostramos como imprimir caracteres ASCII usando a função printf(). Os caracteres graficos e outros nao standard requerem uma outra maneira de escrita para serem impressos. A forma de se representar um caractere de codigo acima de 127 decimal é:
 
    \xdd

onde dd representa o codigo do caractere em notação hexadecimal. Observe que \xdd é um caractere e pode ser usado na expressão de controle de printf() como qualquer outro caractere.

  Usaremos este formato para impressão de qualquer caractere gráfico.

  O programa a seguir imprime um carro e uma caminhonete usando caracteres gráficos:

       
     main()
     {
        printf("\n\n\n");
        printf("\n \xDC\xDC\xDB\xDB\xDB\xDB\xDC\xDC");
        printf("\n \xDF0\xDF\xDF\xDF\xDF0\xDF");
        printf("\n\n\n");
        printf("\n \xDC\xDC\xDB \xDB\xDB\xDB\xDB\xDB\xDB");
        printf("\n \xDF0\xDF\xDF\xDF\xDF\xDF00\xDF");
        printf("\n\n\n");
     }

   Compile ele e execute.

   O proximo exemplo será denominado box.c e imprimirá uma moldura na tela.



      main()
      {
         printf("\xC9\xCD\xCD\xCD\xCD\xBB\n");
         printf("\xBA \xBA\n");
         printf("\xC8\xCD\xCD\xCD\xCD\xBC\n");
      }
 
   A saída será um quadrado, compile e execute.



    7.6- Revisão


  1- Todo programa C deve ter uma funçao chamada main() , ela é  a primeira funçao a ser executada.

  2- Toda instruçao C é terminada por um ponto-e-vírgula .

  3- A funçao printf() é usada para enviar informaçoes à tela. Os seus argumentos consistem em uma expressão de controle contendo caracteres e codigos de formataçao iniciados pelo caractere % , e tantos argumentos quantos forem os codigos de formataçao colocados na expressao de controle.

  4- Os caracteres que nao podem ser obtidos diretamente do teclado sao escritos com a combinaçao do caractere \ seguido por outro caractere, segundo a tabela de codigos especiais.

  5- Um programa C deve declarar todas suas variaveis antes de usa-las. Os 5 tipo basicos de variaveis em C sao: char , int , float , double e void .

  6- Em C , letras minusculas e maiusculas sao tratadas diferentemente.

  7- Um caractere grafico é representado em C pelo forma \xdd onde dd é o codigo ASCII hexadecimal do caractere.

  8- O programa termina sua execução quando é encontrada a chave de fechamento da funçao main() .



  7.7- Alguns Exercícios

 
  1- O que está errado nesse programa ? Conserte-o.


     main{}
     (
        printf(Existem %d semanas no ano.,56);
     )
 

   2- O programa seguinte tem varios erros em tempo de compilaçao. Execute-o observe as mensagens apresentadas por seu compilador.

     Main()
     {
        int a=1; b=2, c=3;
        printf("Os numeros sao: %d %d %d\n,a,b,c,d)
     }


   3- Qual será a saída do programa abaixo ?


     main()
     {
       printf("%s\n%s\n%s","um","dois","tres");
     }

   
    4- Qual será a impressao obtida por cada uma destas instruçoes ? Assuma que fazem parte de um programa completo.

   a)  printf("Bom Dia! Shirley.");
       printf("Voce ja tomou cafe?\n");

   b)  printf("A solucao nao existe!\nNao insista");
 
   c)  printf("Duas linhas de saida\nou uma ?");


    5- Identifique os tipos das seguintes constantes:

   a) '\r'   b)  2130  c) -123  d) 33.28  e) 0x42  f) 0101  g) 2.0e30  h) '\xDC'  i) '\"'
   j) '\\'   k)  'F'   l) 0     m) '\0'


    6- O que é uma variavel em C ?

   
    7- Quais os 5 tipos basicos de variaveis em C ?


    8- Quais dos seguintes nomes sao validos para variaveis em C ?

     a) 3ab   b)  _sim  c) n_a_o  d) 00FIM  e) int  f) A123  g) x**x  h) __A   i) y-2
     j) OOFIM k) \meu   l) *y2


    9- Quais das seguintes instruçoes sao corretas ?

     a) int a;
     b) float b;
     c) double float c;
     d) unsigned char d;
     e) long float e;


   10- O tipo float ocupa o mesmo espaço que _______ variaveis do tipo char .

   11- Escreva um programa que contenha uma unica instruçao e imprima na tela:

          Esta e' a linha um
          Esta e' a linha dois

   12- Escreva um programa que imprima na tela:

          um
                 dois
                          tres

   13- Reescreva o programa box.c para que desenhe uma moldura similar, mas que tenha 4 caracteres de largura e 4 caracteres de altura. Use o caractere || , de codigo BA hexa , para complementar a moldura.


 ==============================================================================================

 8- Comentarios
     
 
   
  Bom amigos, como vocês puderam perceber não é tão dificil aprender C , eu ainda não sei programar totalmente (quem sabe?) em C mas já estou com conhecimentos basicos. Como o Nash Leon falou, C se aprende sozinho fuçando, entao é importantissímo que vc's analizem com cuidado cada exemplo, compile-o , execute-o e o mais importante fuce. Com esse texto de "Introduçao ao basico C" acho que já é possivel um bom entendimento do Manual-C do Dimitri Vashnov . Bom amigos pretendo escrever mais artigos como esse, de facil entendimento na linguagem C. Pretendo escrever mais, para que forme um "curso de c basico" de facil entendimento. Mas isso so será possivel se vc's comentarem de alguma forma, sendo criticando ou elogiando. Bom amigos é isso, espero ter ajudado.

 
 por Charles Manson (mailto:jackz@ieg.com.br">jackz@ieg.com.br)
 


 ==============================================================================================

 9- Bibliografia


  Treinamento em Linguagem C - Modulo 1


--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Caso queiram baixar o arquivo em TXT pra ter uma visão melhor e uma formatação mais adequada, clique aqui.

...by Cloudy
"You have to be trusted by the people tou lied to, so when they turn their back on you, you have the chance to the put the knife in." (Roger Waters)

...by Cloudy

OnlyOne

texto basico mas ja ta valendo pra quem quer começar em C/C++

printf("%s\n","mas eu prefiro escrever printf assim ... , hehehehehe");
No céu toca Joy Division