PDF de programación - Curso de Lenguaje C

Imágen de pdf Curso de Lenguaje C

Curso de Lenguaje Cgráfica de visualizaciones

Actualizado el 2 de Junio del 2021 (Publicado el 16 de Enero del 2018)
1.431 visualizaciones desde el 16 de Enero del 2018
353,1 KB
240 paginas
Creado hace 25a (29/09/1998)
CURSO

DE

LENGUAJE "C"

Angel Salas

Centro de Cálculo
Universidad de Zaragoza

Enero - 1991

SALAS, Angel

Curso de Lenguaje "C" / Angel Salas . - Zaragoza :
Secretariado de Publicaciones de la Universidad ,
1991 . - 238 p. ( pag. var. ) ; 30 cm . - (C.C.U.Z. ; 28)

ISBN 84-7733-232-0

CURSO DE LENGUAJE "C"
Angel Salas

Centro de Cálculo
de la Universidad de Zaragoza, 1991.
Edificio de Matemáticas
Ciudad Universitaria
50009 - ZARAGOZA
Tfno: 354100

Edita:

Secretariado de Publicaciones
de la Universidad de Zaragoza

Depósito Legal: Z-416-91
I.S.B.N.: 84-7733-232-0

PRESENTACION

Esta publicación recoge la documentación que se entrega en el Curso de Lenguaje "C"

impartido por el Centro de Cálculo de la Universidad de Zaragoza.

Contiene una reproducción de todas las transparencias que usa el profesor en sus

exposiciones.

No es un manual de referencia, sino un material didáctico dirigido a facilitar la
comprensión de los conceptos, elementos y reglas de la construcción de programas con
lenguaje "C".

En el curso, se explica el lenguaje desde el principio, en términos que presuponen
conocimientos básicos sobre la progamación de computadores. Se estudian, presentando
abundantes ejemplos, todos los aspectos del lenguaje: tipos de datos, clases de
almacenamiento, operadores, expresiones, sentencias de control, funciones, bibliotecas
estándar.

Hay una Introducción donde se exponen algunos datos históricos y características

generales del lenguaje.

En la lección 1, se presenta un panorama general de la estructura de un programa
escrito en C sin profundizar, con el fin de adquirir desde el principio familiaridad con
algunos aspectos importantes. Se habla del formato de escritura, de los comentarios, de las
sentencias para el preprocesador, de la definición de funciones, de las reglas de alcance, de
las expresiones, de la sentencias "if-else" y "for", de las funciones "scanf" y "printf".

En la lección 2 se tratan los elementos que forman el programa desde el punto de
léxico: caracteres,
identificadores, palabras reservadas, constantes, cadenas,

vista
operadores, separadores.

La lección 3 es muy breve. Se trata únicamente el operador de asignación para explicar

la semántica de las expresiones de asignación.

En la lección 4 se presentan los tipos de datos predefinidos sin entrar a fondo.
También se trata de las clases de almacenamiento y de la inicialización de variables en las
declaraciones.

En la lección 5 se estudian los tipos fundamentales a fondo y los operadores más

afines.

La lección 6 se dedica a mostrar todas las sentencias de control.

La lección 7 está dedicada a las funciones. Se estudian todos los aspectos relacionados
con la definición y uso de las funciones. Se explican las reglas de alcance, las clases de
almacenamiento.

En la lección 8 se muestra un panorama general de los tipos estructurados

predefinidos sin entrar a fondo.

En la lección 9 se estudian a fondo el tipo "array", las cadenas y la relación con los

punteros. Se presentan algunas funciones de biblioteca para manejar cadenas de caracteres.

La lección 10 se dedica explicar el tipo "struct", los campos de "bits", las uniones y

los tipos definidos por el usuario.

En la lección 11 se presentan algunas funciones de biblioteca para leer y escribir en
ficheros: abrir y cerrar fichero, posicionar, leer y escribir un carácter, leer y escribir una
cadena, leer y escribir en binario, leer y escribir con formato.

En la lección 12 se explican las bases para construir y manejar estructuras de datos

dinámicas. Se estudia el caso de una lista encadenada con disciplina FIFO.

C.00.01

CONTENIDO

INTRODUCCION

ESTRUCTURA Y FORMATO DEL PROGRAMA.
PANORAMA GENERAL.

ELEMENTOS LEXICOS.

EXPRESIONES Y SENTENCIAS. EXPRESIONES DE
ASIGNACION.

LOS TIPOS DE DATOS. VISION GENERAL.

LOS TIPOS DE DATOS FUNDAMENTALES.

LAS SENTENCIAS DE CONTROL.

LAS FUNCIONES.

LOS TIPOS DE DATOS ESTRUCTURADOS. VISION
GENERAL.

"ARRAYS", CADENAS Y PUNTEROS.

ESTRUCTURAS, UNIONES Y TIPOS DEFINIDOS POR
EL USUARIO.

FUNCIONES PARA MANEJO DE FICHEROS.

ESTRUCTURAS DINAMICAS DE DATOS.

C.00.02

El lenguaje C fue diseñado por Dennis Ritchie, de los Laboratorios Bell,
y se instaló en un PDP-11 en 1972.

Se diseñó para ser el lenguaje de los sistemas operativos UNIX.

Se creó para superar las limitaciones del lenguaje B, utilizado por Ken
Thompson para producir la versión original de UNIX en 1970.

El lenguaje B se basó en BCPL, lenguaje sin tipos desarrollado por
Martin Richards, en 1967, para programación de sistemas.

Su definición apareció en 1978:

apéndice "C Reference Manual"
del libro "The C programming Language"
de Brian W. Kernighan y Dennis M. Ritchie
(Ed. Prentice-Hall)

En 1983, se publicó otro estándar:

"The C Programming Language-Reference Manual"
(Lab.Bell)
escrito por Dennis M. Ritchie

C.00.03

ES UN LENGUAJE DE NIVEL MEDIO

Combina elementos de lenguajes de alto nivel (tipos, bloques, ...) con la
funcionalidad de los ensambladores.

Permite manejar los elementos típicos de la programación de sistemas:

bits

bytes
direcciones

NO ESTA FUERTEMENTE ORIENTADO A TIPOS

Tiene cinco tipos de datos básicos, tipos estructurados y admite
definición de tipos por el usuario.

Pero permite casi todas las conversiones (p.ej. se pueden mezclar los tipos
"int" y "char" en casi todas las expresiones).

No hace comprobaciones de error en
(desbordamiento de arrays, ...)

tiempo de ejecución

"Deja hacer" al programador.

C.00.04

ES UN LENGUAJE SEMI-ESTRUCTURADO

No es completamente estructurado en bloques porque no permite
declarar procedimientos o funciones dentro de otros procedimientos o
funciones.

Pero tiene algunas características propias de los lenguajes estructurados:

• Dos formas de estructuración del código:

Con funciones independientes
Con bloques

• Dispone de las sentencias típicas para construir
estructuras de control:

while
do-while
for

C.00.05

ES UN LENGUAJE PARA PROGRAMADORES

Algunos otros lenguajes están hechos para no-programadores (BASIC,
COBOL, ...)

El lenguaje C está influenciado, diseñado y probado por programadores
profesionales.

Proporciona:

• Una visión próxima a la máquina
• Pocas restricciones
• Pocas pegas
• Conjunto reducido de palabras clave
• Estructuración en bloques
• Funciones independientes
• Recursos para el encapsulamiento de datos

Permite alcanzar casi la eficiencia del código ensamblador, junto con la
estructuración propia de lenguajes como ALGOL, MODULA-2.

Se diseñó para la programación de sistemas

Los programas son muy transportables

Actualmente se usa para otros propósitos

C.00.06

BIBLIOGRAFIA

"The C programming language"
Brian W Kernighan y Dennis M. Ritchie
Ed. Prentice-Hall, segunda edición, 1988.

"Lenguaje C. Introducción a la programación"
Al Kelley e Ira Pohl
Ed. Addison-Wesley, 1987 (edición original, en 1984).

"C estándar. Guía de referencia para programadores"
P.J. Plauger y Jim Brodie
Ed. Anaya Multimedia, 1990 (primera edición en 1989)

"C. Manual de referencia. Segunda edición"
Herbert Schildt
Ed. McGraw-Hill, 1990.

Manual de Referencia de la implementación
que se use.

C.01.00

- 1 -

ESTRUCTURA Y FORMATO DEL PROGRAMA.
PANORAMA GENERAL.

• El formato de escritura
• Ejemplo de un programa completo
• Los comentarios
• Las sentencias para el pre-procesador
• Las funciones. Definición de una función
• Las declaraciones
• Reglas de alcance
• Las expresiones
• Las sentencias
• La sentencia "if-else"
• La sentencia "for"
• La función "printf"
• La función "scanf"

C.01.01

#include <stdio.h>

main ( )
{
saludo( );
primer_mensaje( );
}

saludo()
{
printf ("Buenos dias\n");
}

primer_mensaje()
{


}

printf("Un programa esta formado ");
printf("por funciones\n");

C.01.02

Los programas se construyen con:

Comentarios.

Ordenes para el preprocesador
de macros.

Definiciones de funciones.

Expresiones formadas con constantes, variables,
funciones y operadores.

Sentencias.

C.01.03

EL FORMATO DE ESCRITURA ES MUY FLEXIBLE:

Las constantes, identificadores y palabras clave deben separarse; pero
ello puede hacerse con :

- espacios en blanco
- marcas de tabulador
- marcas de salto de linea
- comentarios

/*
ej1.c
Indica el menor de dos enteros leidos
*/

#include <stdio.h>

void main ( )
{

else

}

int n1, n2, menor (int, int);
printf ("Introducir dos enteros:\n");
scanf ("%d%d", &n1, &n2);
if ( n1 == n2 )

printf ("Son iguales \n");

printf ("El menor es: %d\n",menor(n1,n2));

int menor (int a, int b)
{

if ( a < b ) return (a );
else return ( b );

}

C.01.04

LOS COMENTARIOS

Son lineas que ignora el compilador pero sirven para documentar los
programas:





Empiezan con: /*

terminan con: */

pueden abarcar varias lineas

no se pueden anidar



/*


ej1.c
Indica el menor de dos enteros leidos

*/
...
...
...
scanf("%d%d", &n1, &n2); /*

...
...

aqui se leen dos
valores enteros */

C.01.05

LAS SENTENCIAS PARA EL PREPROCESADOR

Son órdenes que el preprocesador interpreta antes de que el código
fuente sea compilado.
El preprocesador produce un programa escrito en C que es lo que se
compila después.

Deben empezar con el símbolo " # " en la
primera columna.

# define PI 3.1416
# define EQ ==
----------
# define cuadrado(x) ( (x) * (x) )
----------
# include <stdio.h>
# include <math.h>
----------
# define PRUEBA 1
...
...
# if PRUEBA
printf("prueba: x = %d\n", x);
# endif
----------
# ifdef UNO
...
...
# else
...
...
# endif
( cc -DUNO fn.c )
----------
# ifndef
----------

C.01.06

LAS FUNCIONES

Un programa esta formado por funciones.

No se pueden definir anidadas.

Desde una función se puede llamar a cualquier otra.

Está permitida la recursividad.

Si no se indica otro tipo, las funciones son de tipo "in
  • Links de descarga
http://lwp-l.com/pdf8339

Comentarios de: Curso de Lenguaje 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