Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Curso de Lenguaje 'C': Guía Completa para Principiantes, Monografías, Ensayos de Programación C

programación en lenguaje C y ejemplos

Tipo: Monografías, Ensayos

2019/2020

Subido el 12/03/2023

davidjmb3
davidjmb3 🇻🇪

3 documentos

1 / 240

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
CURSO
DE
LENGUAJE "C"
Angel Salas
Centro de Cálculo
Universidad de Zaragoza
Enero - 1991
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36
pf37
pf38
pf39
pf3a
pf3b
pf3c
pf3d
pf3e
pf3f
pf40
pf41
pf42
pf43
pf44
pf45
pf46
pf47
pf48
pf49
pf4a
pf4b
pf4c
pf4d
pf4e
pf4f
pf50
pf51
pf52
pf53
pf54
pf55
pf56
pf57
pf58
pf59
pf5a
pf5b
pf5c
pf5d
pf5e
pf5f
pf60
pf61
pf62
pf63
pf64

Vista previa parcial del texto

¡Descarga Curso de Lenguaje 'C': Guía Completa para Principiantes y más Monografías, Ensayos en PDF de Programación C solo en Docsity!

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 ,

    • 238 p. ( pag. var. ) ; 30 cm. - (C.C.U.Z. ; 28)

ISBN 84-7733-232-

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- I.S.B.N.: 84-7733-232-

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.

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.

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 tiempo de ejecución (desbordamiento de arrays, ...)

"Deja hacer" al programador.

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

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.

  • 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"

Los programas se construyen con:

Comentarios.

Ordenes para el preprocesador

de macros.

Definiciones de funciones.

Expresiones formadas con constantes, variables,

funciones y operadores.

Sentencias.

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 **

void main ( ) { int n1, n2, menor (int, int); printf ("Introducir dos enteros:\n"); scanf ("%d%d", &n1, &n2); if ( n1 == n2 ) printf ("Son iguales \n"); else printf ("El menor es: %d\n",menor(n1,n2)); }

int menor (int a, int b) { if ( a < b ) return (a ); else return ( b ); }

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.

define EQ ==

define cuadrado(x) ( (x) * (x) )

include

include

define PRUEBA 1

... ...

if PRUEBA

printf("prueba: x = %d\n", x);

endif

ifdef UNO

... ...

else

... ...

endif

( cc -DUNO fn.c )

ifndef

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 "int" por

defecto

El mecanismo de paso es por valor.

DEVUELVEN UN VALOR.

La función "main"

Todo programa debe contener una función llamada "main".

Es la invocada desde el sistema operativo cuando comienza la ejecución del programa.

También devuelve un valor al medio de llamada.

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

#include

main ( )

{

int n1, n2, menor ( );

printf("Introducir dos enteros: \n"); scanf("%d%d", &n1, &n2); if ( n1 == n2 ) printf("Son iguales \n"); else printf("El menor es: %d\n", menor (n1, n2)); }

int menor ( a, b )

int a, b;

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

}

COMENTARIOS

SENTENCIA PARA EL PRE-PROCESADOR

DEFINICION DE LA FUNCION "main"

Encabezamiento. No hay parámetros

Declaraciones de objetos locales

Cuerpo de la función

Sentencias

DEFINICION DE LA FUNCION "menor" Encabezamiento. Los parámetros son "a" y "b"

Declaración de los parámetros

Cuerpo de la función. No contiene declaraciones

DEFINICIONES DE DATOS. DECLARACIONES

Todas las variables deben declararse antes de usuarlas:

Indicar el tipo de datos al que pertenece.

Ello determina : Su representación en memoria. El conjunto de valores posibles. Las operaciones permitidas. La forma de realizar las operaciones.

También se puede indicar:

La clase de localización en memoria. El ámbito de existencia. Un valor inicial.

El usuario puede definir tipos nuevos, combinando tipos predefinidos

pero...

C no está orientado a los tipos

estrictamente

REGLAS DE ALCANCE

Los objetos declarados fuera de la función son globales.

Al principio de cualquier bloque ( proposiciones entre { y } ) se pueden poner declaraciones.

Los objetos sólo son conocidos dentro del bloque en que

han sido declarados, y en los bloques anidados dentro.