Llenguatge de programació C (I)

el llenguatge ha aconseguit una gran difusió en els últims anys. A través d'aquesta sèrie d'articles amb un enfocament pràctic basat en exemples, presentem les bases del llenguatge.

Elhuyar. Ciència i Tècnica

El llenguatge C que continuarem explicant en aquest número i en els pròxims anys ha aconseguit una gran difusió en els últims anys, sent imprescindible per als qui avui dia ens submergim en el món de la informàtica conèixer-lo. A través d'aquesta sèrie d'articles amb un enfocament pràctic basat en exemples, presentem les bases del llenguatge, però algun altre llenguatge d'alt nivell (BASIC, PASCAL, FORTRAN, etc.) suposant que es coneix i fomentant la programació estructurada, és a dir, la distribució dels programes difícils en subprogrames més senzills o en funcions.

Pròxims capítols:

  • Dades bàsiques de C
  • Agents C i expressions
  • Estructures de control I
  • Estructures de control II
  • Funcions i macros
  • Estructures de Dades I
  • Estructures de Dades II
  • Característiques de les variables
  • Funcions II
  • Pre-compilador i biblioteca
  • Entrada i sortida
  • Compilador C i altres llenguatges
  • Aplicacions I
  • Aplicacions II

Característiques de C

Llenguatge C en 1972 D. Fue creada per Ritchie dins del projecte que estava desenvolupant el sistema operatiu UNIX en els laboratoris Bell d'AT T. Encara que originalment es tracta d'un llenguatge orientat a la programació de sistemes (ja que UNIX va ser el primer sistema programat en llenguatge d'alt nivell) i també s'utilitza en programes d'aplicació, l'àmbit d'aplicació més comuna de C és la programació per al desenvolupament de paquets i programes estàndard. Per tant, molts editors, sistemes de base de dades, gràfics i paquets de gestió es desenvolupen en C. Això es deu a:

  • Malgrat ser un llenguatge molt senzill, és poderós, ja que amb el seu breu bateria de sentències i la biblioteca que posseeix, tot tipus de problemes poden resoldre's amb facilitat.
  • Una vegada compilats els programes escrits en C, resulten molt eficaces, ja que són molt compactes (prenent un petit tros de memo) i ràpids.
  • El llenguatge C és molt intercanviable. Per tant, els programes escrits en una màquina amb un llenguatge d'origen poden ser transferits i executats sense canvis. També afavoreix la presència en el mercat de molts compiladors C.
  • Conceptes pròxims als recursos físics (registres generals, bits, registres de dispositius d'entrada/sortida, etc.) encara que es tracti d'un llenguatge d'alt nivell Es poden utilitzar pel seu interès per a alguns tipus d'aplicacions (maneig de pantalles i discos, entre altres).
Figura . Fases de desenvolupament d'un programa.

D'altra banda, si els programadors no actuen amb rigor, els programes poden ser molt críptics i ininterpretables. D'altra banda, el compilador no acredita molt.

Per tant, és difícil detectar i corregir errors (per a aquest últim els programes debugger ajuden cada vegada més).

Desenvolupament de programes

Com ja s'ha indicat, aquest llenguatge C l'explicarem mitjançant exemples que estaran provats una vegada traduïts mitjançant compilador Microsoft C. Abans de començar amb el llenguatge convé recordar les fases que apareixen en la figura 1: definició del problema, disseny de l'algorisme, edició del programa font, compilació, enllaç (link) i finalment la prova.

A pesar que el C és un llenguatge senzill, recordant l'anterior, compta amb una gran biblioteca en la qual hi ha procediments d'entrada/sortida, funcions aritmètiques i gràfiques i moltes altres rutines. A més, impulsarem una compilació distribuïda que afavoreix la programació estructurada. En utilitzar aquest tipus de compilació, el programador conservarà la seva biblioteca guardant en ella el seu mòdul d'objectes. En conseqüència, l'esquema d'enllaç de compilació a tenir en compte és el que es mostra en la figura 2.

Figura . Compilació i amarrament.

Primeres sentències i estructura de programes

En el llenguatge C el programa principal comença sempre amb la paraula main ( ).

Els interessos de les audiències i les juvenils representen el principi i la fi del cos d'una funció i totes les sentències del cos acaben amb el símbol. En la figura 3 presentem un programa senzill que analitzarem a continuació.

printf

i scanf són les funcions de la biblioteca estàndard que dirigeixen la sortida i l'entrada (els parèntesis limiten els paràmetres). Dins d'ells, %s string (cadena de caràcters) és l'indicador de format i\n el de fi de línia. S'admeten altres formats com el format decimal %d, el caràcter %c, el format real %f i l'escriptura científica %e.

main ( ) /* primer programa */{ char [20]; printf (“Premi el seu nom: \n”); scanf (“%s”, nom); printf (“%s C està aprenent a través de la lectura d'Elhuyar\n”, nom);}
Figura . El nostre primer programa.

char [20]

és una sentència d'eracencia. En ella es defineix la variable nom com una taula de 20 caràcters. Els tipus de dades i les seves corresponents comunicacions s'analitzen en el següent número. Els parells de caràcters /* i */ delimiten un suggeriment o comentari. Per tant, no es compilarà a l'implicat.

Cal destacar que el compilador distingeix entre majúscules i minúscules, i per exemple, a l'ésser el nom i el NOM variables diferents, es recomana escriure tot el codi en minúscules excepte les constants parametritzades i els nous tipus de dades, que solen escriure's en majúscules.

Una vegada editat el programa se seguiran els següents passos fins a aconseguir la prova del programa.

Amb compilador de Microsoft en un PC:

$ msc

programa $ programa

Respecte al Sistema Operatiu UNIX:

$

Programa -o. Programa c $

Rincón de l'alumne

Aquí explicarem i comentarem les preguntes i propostes dels quals segueixen el curs C. Per a participar escriu a Elhuyar.

"Llenguatge de programació C"

ELHUYAR KULTUR ELKARTEA Polígon Asteasuain 14. Barri Txikierdi. 20170 USURBIL

Guipúscoa

Gehitu iruzkin bat

Saioa hasi iruzkinak uzteko.

Babesleak
Eusko Jaurlaritzako Industria, Merkataritza eta Turismo Saila
MAIER Koop. Elk.
KIDE Koop. Elk.
ULMA Koop. Elk.
EIKA Koop. Elk.
LAGUN ARO Koop. Elk.
FAGOR ELECTRÓNICA Koop. Elk.