Tornar IES Verge de la Merce 
Departament d'informàtica 
Miguel A. Almarza 
Francesc Rosselló 

Apunts de C. Índex.
  1. Introcucció al crèdit.
  2. Introcucció a la programació en C.
  3. Les dades en C.
  4. Les funcions d'entrada i sortida per pantalla.
  5. Estrutures de control de flux del programa.
  6. Les estructures condicionals i alternatives
  7. La programació descendent
  8. Els vectors
  9. Matrius, estructures, unions.
  10. Els punters. Pas de paràmetres per valor i per referència
  11. Entrada i sortida de dades cap a fitxer de disc.
  12. La recursivitat
  13. Estructures de dades
  14. Estructures de dades. Arbres
Apèndix
  1. Els mòduls de programació. Els projectes amb Borland C++

  1. INTRODUCCIÓ AL CRÈDIT.
    1. Què és un programa?.
    2. Llenguatges de Programació.
      1. Ensambladors
      2. Compiladors
      3. Intèrprets
    3. Història del llenguatge C.
      1. Característiques del llenguatge C.
    4. Realització d’un programa en C.
    5. Exercicis.

  2. INTRODUCCIÓ A LA PROGRAMACIÓ EN C.
    1. Els dos primers programes amb C.
    2. Les variables en C.
      1. El nom de les variables
      2. Assignació de valor a una variable.
      3. Un programa amb vàries variables.
    3. Funcions. Que son?
    4. Exercicis.

  3. LES DADES EN C.
    1. Els tipus de dades numèrics i la seva representació interna.
    2. Els tipus numèrics char, int, long....
    3. Operadors que afecten a les variables numèriques.
    4. Els tipus de caràcters.
    5. El tipus boolean. Operadors entre variables booleanes.
      1. Expressions booleanes
    6. Exercicis

  4. LES FUNCIONS D'ENTRADA I SORTIDA PER PANTALLA
    1. La funció printf.
      1. Les flags.
      2. L'especificador de llarg.
      3. L'especificador de precisió .prec
      4. L'especificador modificador del mida de la variable d'entrada.
      5. Especificadors de conversió
      6. Seqüència d'escapada
      7. Alguns exemples
    2. La funció scanf
      1. Exemples.
    3. La funció getchar
    4. Les funcions gets i puts
    5. Exercicis.

  5. ESTRCUTURES DE CONTROL DE FLUX DEL PROGRAMA
    1. Els cicles de tipus for.
      1. El format més simple del bucle for (i comú a tots els llenguatges).
      2. Variació dels increments en els cicles for.
      3. Altres formats per a la instrucció for.
        1. Es poden comptar caràcters en lloc de números.
        2. La condició de sortida pot ser distinta i no comprovar el comptador.
        3. En la tercera part pot utilitzar-se qualsevol expressió vàlida.
        4. Pot suprimir-se qualsevol de les tres entrades de for.
        5. No és necessari que la primera expressió inicialitzi una variable
      4. Bucles en els que és repeteixen varies accions d'un cop.
    2. Els cicles tipus while.
      1. Els comptadors i els acumuladors.
      2. Els bucles do while <expressió>
    3. Exercicis

  6. LES ESTRUCTURES CONDICIONALS I ALTERNATIVES
    1. Les estructures condicional i alternativa. La sentència if.
      1. Estructura condicional.
      2. Estructura alternativa.
      3. Estructura alternativa amb condicions més complexes.
      4. Estructura condicional amb una acció composta.
      5. Estructura alternativa amb accions compostes.
      6. Estructures alternatives niades.
    2. L'estructura alternativa múltiple. La sentència switch.
      1. La sentència break.
      2. Ruptura de control dins d'un cicle for.
      3. Ruptura de control dins d'un cicle while.
      4. La sentència continue
    3. Com no utilitzar break i continue
      1. Estalviem-nos la sentència break
      2. Estalviem-nos la sentència break.
      3. Estalviem-nos la sentència continue
    4. La sentència goto.
    5. Exercicics

    6.  
    7. Ordinogrames. Annex als capítols 4 i 5.
      1. Elements d'un ordinograma
      2. Estructures de control de flux
        1. El cicle de tipus for
        2. Els cicles de tipus while
      3. Estructures condicionals i alternatives
        1. La sentència if
        2. L'estructura alternativa múltiple, switch

  7. LA PROGRAMACIÓ DESCENDENT
    1. Introducció a la programació descendent.
    2. Aplicació de la programació descendent per fer un petit programa.
    3. Aplicació de la programació descendent per fer un menú.
    4. Aplicació de la programació descendent per fer pantalles amb marcs.
    5. Les funcions
      1. Definició de funció.
      2. Les funcions més senzilles.
      3. Les funcións amb pas de paràmetres o arguments.
      4. Les funcións que reben arguments i retornen un paràmetre.
      5. Les funcions i els tipus de dades.
    6. La programació per mitjà de funcions
    7. Exercicis

  8. ELS VECTORS
    1. Introducció a la noció de vector
      1. Exercicis de vectors
    2. Vectors de caràcters (cadenes o "strings")
      1. Exercicis sobre vectors de caracters (strings)
    3. Cerca d'informació en un vector
      1. Cerca seqüencial.
        1. Exercici de cerca sequencial.
      2. Cerca dicotòmica. (o per dicotomies)
    4. Ordenació d'un vector.
      1. Ordenació per intercanvi directe o métode de la bombolla.
        1. Exercicis amb ordenació i búsquedes
      2. Ordenació per insercció directa.
      3. Ordenació per selecció directa.

  9. MATRIUS. ESTRCTURES. UNIONS
    1. Les matrius de dues dimensions.
    2. El pas de matrius de dues dimensions a funcions
    3. Les estructures.
    4. Variables vector d'estructures
    5. Estructures niades
    6. Exercicis
    7. Les unions

  10. ELS PUNTERS. PAS DE PARÀMETRES PER VALOR I PER REFERÈNCIA
    1. Els punters.
    2. Us dels punters per la comunicació entre les funcions.
      1. Pas de paràmetres per valor
      2. Pas de paràmetres per referència.
    3. Les matrius i els punters.
      1. Els vectors i els punters.
      2. Operacions amb punters.
      3. Les matrius bidimensionals i els punters.
    4. Ús dels punters per la comunicació entre les funcions.
      1. Pas d'un vector com a paràmetre.
      2. Pas d'un punter a un vector com a paràmetre d'una funció.
      3. Pas de punters a vectors com a paràmetres d'una funció.
    5. Exercicis
    6. Punters a estructures.
    7. Com passar una estructura sencera a una funció.

  11. ENTRADA I SORTIDA DE DADES CAP A FITXER DE DISC.
    1. Les funcions d'obertura i tancament d'un fitxer: fopen() i fclose()
    2. Les funcions getc() i putc().
    3. Les funcions fgets() i fputs().
    4. Les funcions fprintf() i fscanf().
    5. Accés aleatori. Les funcions fseek(), ftell(). Les funcions de lectura i escriptura en bloc fread() i fwrite().
      1. La funció fseek()
      2. La funció ftell()
      3. La funció fwrite()
      4. La funció fread().
      5. Desenvolupament del programa gestor del fitxer biblio
    6. Exercicis.

  12. LA RECURSIVITAT
    1. Concepte de recursivitat
    2. La recursivitat indirecta
    3. L'algorisme recursiu OrdenaRapido (quick sort).
      1. La instrucció qsort del C.
    4. Un arbre recursiu
    5. Comentari final
    6. Exercicis

  13. ESTRUCTURES DE DADES
    1. Les piles
      1. Resolució de la pila amb una matriu.
      2. Resolució de la pila amb estructures dinàmiques de dades.
    2. Les cues.
      1. Solució del problema cua amb un vector
      2. Solució del problema cua amb estructures dinàmiques de dades
    3. Llistes unidireccionals
    4. Exercicis

  14. Estructures de dades. Arbres
    1. Els arbres, definicions.
    2. Estructura per a un node d'arbre binari en C
    3. Arbres perfectament equilibrats
    4. Operacions bàsiques amb arbres binaris
      1. Recorregut d'un arbre
      2. Buscar en un arbre binari
      3. Cerca e inserció en arbres binaris
      4. Esborrar nodes d'arbres
    5. Arbres equilibrats
    6. Altres tipus d'arbres
    7. Exercicis

Apèndix