PDF de programación - Introducción a la programación con C

Introducción a la programación con Cgráfica de visualizaciones

Publicado el 15 de Enero del 2017
978 visualizaciones desde el 15 de Enero del 2017
9,6 MB
414 paginas
Creado hace 14a (03/01/2010)
ntroducción
a la programación
con C

Andrés Marzal
sabel Gracia

Departamento De lenguajes y sistemas informáticos

Codis d’assignatura 04 i G04



Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2



ntroducción a la programación con C - UJ

Edita: Publicacions de la Universitat Jaume I. Servei de Comunicació i Publicacions
Campus del Riu Sec. Edifici Rectorat i Serveis Centrals. 12071 Castelló de la Plana
http://www.tenda.uji.es

e-mail: [email protected]

Col·lecció Sapientia, 29
www.sapientia.uji.es

ISBN: 978-84-693-0143-2

Aquest text està subjecte a una llicència Reconeixement-NoComercial-CompartirIgual de
Creative Commons, que permet copiar, distribuir i comunicar públicament l’obra sempre
que especifique l’autor i el nom de la publicació i sense objectius comercials, i també per-
met crear obres derivades, sempre que siguen distribuïdes amb aquesta mateixa llicència.
http://creativecommons.org/licenses/by-nc-sa/2.5/es/deed.ca

Andrés Marzal/Isabel Gracia - ISBN: 978-84-693-0143-2

II

Introducción a la programación con C - UJI

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2



ntroducción a la programación con C - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

V

ntroducción a la programación con C - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

V

ntroducción a la programación con C - UJ

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

V

ntroducción a la programación con C - UJ

Había un libro junto a Alicia, en la mesa; y mientras permanecía sentada
observandoalReyBlanco[...],pasabalashojasparaversiencontrabaalgún
trozoquepoderleer:«... Porqueestátodoenunalenguaquenoentiendo»,
sedijo.
Estabaasí:

JERIGÓNDOR

Cocillabaeldíaylastovasagilimosas
giroscopabanybarrenabanenellarde.
Tododevirablesestabanlosburgovos,
ysilbramabanlasalecasrastas.

Duranteunrato,estuvocontemplandoestoperpleja;peroalfinalseleocurrió
unabrillanteidea.¡Ah,yasé!,¡esunlibrodelEspejo,naturalmente!Silo
pongodelantedeunespejo,laspalabrasseveránotravezdelderecho.
LC,Aliciaatravésdelespejo.

El lenguaje de programación C es uno de los más utilizados (si no el que más) en la
programacióndesistemassoftware.EssimilaraPythonenmuchosaspectosfundamenta-
les:presentalasmismasestructurasdecontrol(seleccióncondicional,iteración),permite
trabajarconalgunostiposdedatossimilares(enteros,flotantes,secuencias),haceposible
definiryusarfunciones,etc.Noobstante,enmuchasotrascuestionesesunlenguajemuy
diferente.
C presenta ciertas características que permiten ejercer un elevado control sobre la
eficienciadelosprogramas,tantoenlavelocidaddeejecucióncomoenelconsumode
memoria, pero a un precio: tenemos que proporcionar información explícita sobre gran
cantidaddedetalles,porloquegeneralmenteresultanprogramasmáslargosycomplica-
dosquesusequivalentesenPython,aumentandoasílaprobabilidaddequecometamos
errores.En este capítulo aprenderemos a realizar programas en C del mismo «nivel» que
los que sabíamos escribir en Python tras estudiar el capítulo 4 del primer volumen.
Aprenderemos,pues,ausarvariables,expresiones,laentrada/salida,funcionesdefinidas
en«módulos»(queenCsedenominanbibliotecas)yestructurasdecontrol.Loúnicoque
dejamospendientedemomentoeseltratamientodecadenasenC,queessensiblemente
diferentealqueproporcionaPython.

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

1

1

ntroducción a la programación con C - UJ

Nadamejorqueunejemplodeprogramaenlosdoslenguajesparaquetellevesuna
primeraimpresióndecuándiferentessonPythonyC... ycuánsemejantes.Estosdos
programas,elprimeroenPythonyelsegundoenC,calculanelvalorde

=√



parasendosvaloresenterosdeyintroducidosporelusuarioytalesque0≤≤.
frommathimport
Pedirlímitesinferiorysuperior.
int raw input
while 0
print int raw input

int raw input
while
print

int raw input
Calcularelsumatoriodelaraízcuadradadeparaentrey.

0.0
forinrange 1
sqrt

Mostrarelresultado.
print
print
include
include
intmain void
int
float
Pedirlímitesinferiorysuperior.
printf
scanf
while 0
printf
printf
scanf
printf
scanf
while
printf
printf
scanf













Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

IntroducciónalaprogramaciónconC

2

2

ntroducción a la programación con C - UJ

cUJI



Calcularelsumatoriodelaraízcuadradadeparaentrey.

0.0


for

sqrt
Mostrarelresultado.
printf
printf
return0
Envariospuntosdeestecapítuloharemosreferenciaaestosdosprogramas.Nolos
pierdasdevista.
........................................................................
y
·1 Comparalosprogramas
.Analizasussemejanzasy
diferencias. ¿Qué función desempeñan las llaves en
? ¿Qué función crees
quedesempeñanlaslíneas6y7delprogramaC?¿AquéelementodePythonseparecen
lasdosprimeraslíneasde
?¿Quésimilitudesydiferenciasapreciasentre
lasestructurasdecontroldePythonyC?¿Cómocreesqueseinterpretaelbuclefordel
programaC?¿Porquéalgunaslíneasde
finalizanenpuntoycomayotras
no?¿QuédiferenciasvesentreloscomentariosPythonyloscomentariosC?
..................................................................................
PythonyCnosólosediferencianensusintaxis,tambiénsondistintosenelmodoen
quesetraducenlosprogramasacódigodemáquinayenelmodoenqueejecutamoslos
programas.
Pythonesunlenguajeinterpretado:paraejecutarunprogramaPython,suminis-
»)consu
tramosalintérpreteunficherodetexto(típicamenteconextensión«
,porejemplo,hemosdeescribir
códigofuente.Sideseamosejecutar
enlalíneadeórdenesUnix.Comoresultado,elintérprete
va leyendo y ejecutando paso a paso el programa. Para volver a ejecutarlo, has
de volver a escribir
en la línea de órdenes, con lo que
serepiteelprocesocompletodetraducciónyejecuciónpasoapaso.Aunqueno
modifiquemoselcódigofuente,esnecesariointerpretarlo(traduciryejecutarpaso
apaso)nuevamente.

IntérpretePython

Resultados
Cesunlenguajecompilado:antesdeejecutarunprogramaescritopornosotros,
suministramossucódigofuente(enunficheroconextensión«
»)auncompilador
deC.Elcompiladorleeyanalizatodoelprograma.Sielprogramaestácorrec-
tamente escrito según la definición del lenguaje, el compilador genera un nuevo
ficheroconsutraducciónacódigodemáquina,ysino,muestraloserroresqueha
detectado.Paraejecutarelprogramautilizamoselnombredelficherogenerado.Si
nomodificamoselcódigofuente,nohacefaltaquelocompilemosnuevamentepara

3

3

Andrés Marzal/sabel Gracia - SBN: 978-84-693-0143-2

IntroducciónalaprogramaciónconC

ntroducción a la programación con C - UJ

cUJI

Unpocodehistoria
Cyatienesusañitos.ElnacimientodeCestáestrechamentevinculadoaldelsistema
operativoUnix.ElinvestigadorKenThompson,deAT&T,lacompañíatelefónicaesta-
dounidense,sepropusodiseñarunnuevosistemaoperativoaprincipiosdelossetenta.
DisponíadeunPDP-7enelquecodificóunaprimeraversióndeUnixenlenguajeen-
samblador.Prontoseimpusolaconvenienciadedesarrollarelsistemaenunlenguajede
programacióndealtonivel,perolaescasamemoriadelPDP-7(8Kde18bits)hizoque
idearaellenguajedeprogramaciónB,unaversiónreducidadeunlenguajeyaexistente:
BCPL.EllenguajeCapareciócomounBmejorado,frutodelasdemandasimpuestas
poreldesarrollodeUnix.DennisRitchiefueelencargadodeldiseñodellenguajeCy
delaimplementacióndeuncompiladorparaélsobreunPDP-11.
Chasufridonumerososcambiosalolargodesuhistoria.Laprimeraversión«estable»
del lenguaje data de 1978 y se conoce como «K&R C», es decir, «C de Kernighan y
Ritchie».Estaversiónfuedescritaporsusautoresenlaprimeraedicióndellibro«The
CProgrammingLanguage»(unauténtico«best-seller»delainformática).Laadopciónde
Unixcomosistemaoperativodereferenciaenlasuniversidadesenlosaños80popularizó
enormementeellenguajedeprogramaciónC.Noobstante,Ceraatractivoporsímismo
yparecíasatisfacerunademandarealdelosprogramadores:disponerdeunlenguaje
dealtonivelconciertascaracterísticaspropiasdeloslenguajesdebajonivel(deahí
queavecessedigaqueCesunlenguajedenivelintermedio).
La experiencia con lenguajes de programación diseñados con anterioridad, como
LispoPascal,demuestraquecuandoelusodeunlenguajeseextiendeesmuyprobable
que proliferen variedades dialectales y extensiones para aplicaciones muy concretas,
loquedificultaenormementeelintercambiodeprogramasentrediferentesgruposde
programadores.Paraevitaresteproblemasesuelerecurriralacreacióndeuncomité
de expertos que define la versión oficial del lenguaje. El comité ANSI X3J9 (ANSI
son las siglas del American National Standards Institute), creado en 1983, considera
lainclusióndeaquellasextensionesymejorasquejuzgadesuficienteinterésparala
comunidad de programadores. El 14 de diciembre de 1989 se acordó qué era el «C
estándar» y se publicó el documento con la especificación en la primavera de 1990.
El estándar se divulgó con la segunda edición de «The C Programming Language»,
deBrianKernighanyDennisRitchie.UncomitédelaInternationalStandardsOffice
(ISO)ratificóeldocumentodelcomitéANSIen1992,convirtiéndoloasíenunestándar
internacional.DurantemuchotiemposeconocióaestaversióndellenguajecomoANSI-
CparadistinguirlaasídelK&RC.AhoraseprefieredenominaraestavarianteC89(o
C90)paradistinguirladelarevisiónquesepublicóen1999,laqueseconoceporC99
yqueeslaversiónestándardeCqueestudiaremos.
Chatenidoungranimpactoeneldiseñodeotrosmuchoslenguajes.Hasido,por
ejemplo,labaseparadefinirlasintaxisyciertosaspectosdelasemánticadelenguajes
tanpopularescomoJavayC .
volveraejecutarelprograma:bastaconvolveraejecutarelficherogeneradopor
elcompilador.
Para ejecutar
, por ejemplo, primero hemos de usar un compilador
paraproducir
  • Links de descarga
http://lwp-l.com/pdf1901

Comentarios de: Introducción a la programación con C (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad