PROGRAMACIÓN LENGUAJE

18
PROGRAMACIÓN LENGUAJE II Trimestre 2021 Departamento de Informática Centro Educativo Federico Zúñiga Feliú | Prof. César Delgado MÓDULO 1 INTRODUCCIÓN: La sintaxis del lenguaje C define los elementos de dicho lenguaje y cómo se combinan entre sí para formar un programa. En este módulo observaremos los elementos típicos de este lenguaje. Bibliotecas, Estructura de un fichero fuente Comentarios, Constantes y variables, Palabras reservadas, Tipos de datos, expresiones y operadores, Secuencias de escape, Funciones printf y scanf, Resolución de problemas en C. OBJETIVO: interpreta y aplica adecuadamente los elementos básicos de la estructura y funcionamiento del lenguaje de programación C. Capsula de conocimiento: Actualmente existen una gran cantidad de lenguajes de programación de los cuales podemos mencionar: Java, C, C++, Python, C#, Visual Basic, JavaScript, Perl, Assembly Languaje (ASL), PHP, Ruby, Swift, Delphy, Matlab, Scratch. Estudiante: _______________________ Grado: _______________________ Fecha:______|________|_______

Transcript of PROGRAMACIÓN LENGUAJE

PROGRAMACIÓN

LENGUAJE

II Trimestre 2021

Departamento de Informática Centro Educativo Federico Zúñiga Feliú | Prof. César Delgado

MÓDULO 1

INTRODUCCIÓN:

La sintaxis del lenguaje C define los elementos de dicho lenguaje y cómo se combinan entre sí para formar un programa. En este módulo observaremos los elementos típicos de este lenguaje.

• Bibliotecas, • Estructura de un fichero fuente • Comentarios, • Constantes y variables, • Palabras reservadas, • Tipos de datos, expresiones y

operadores, • Secuencias de escape, • Funciones printf y scanf, • Resolución de problemas en C.

OBJETIVO: interpreta y aplica adecuadamente los elementos básicos de

la estructura y funcionamiento del lenguaje de programación C.

Capsula de conocimiento: Actualmente existen una gran cantidad de lenguajes de programación de los cuales podemos mencionar: Java, C, C++, Python, C#, Visual Basic, JavaScript, Perl, Assembly Languaje (ASL), PHP, Ruby, Swift, Delphy, Matlab, Scratch.

Estudiante: _______________________

Grado: _______________________

Fecha:______|________|_______

PROGRAMACIÓN – LENGUAJE C

2

Profesor: César A. Delgado B.

LENGUAJE C

Bibliotecas

El estándar de C define un conjunto de bibliotecas de funciones, que

necesariamente vienen con todo entorno de compilación de C y que

satisfacen estos servicios elementales. Las interfaces de estos servicios

vienen definidas en unos ficheros cabeceras (header files).

El nombre de estos ficheros suele terminar en .h Algunos de los servicios

proporcionados por las bibliotecas estándares son:

-Entrada y salida de datos (stdio.h) -Manejo de cadenas (string.h)

-Memoria dinámica (stdlib.h) -Rutinas matemáticas (math.h)

Estructura de un fichero fuente (Programa en Lenguaje C)

Un programa escrito en lenguaje C está

compuesto por una o más funciones. Cada

función debe contener: cabecera, argumentos

y sentencias.

Existe una función que está presente en todos los

programas escritos en lenguaje C, su misión es

marcar el inicio y fin de la ejecución de cada

uno de ellos; es la función principal, la primera

que se ejecuta; es la función main.

Su sintaxis "básica" es:

int main()

{

<bloque_de_instrucciones>

}

PROGRAMACIÓN – LENGUAJE C

3

Profesor: César A. Delgado B.

Cada función estará formada por la cabecera de la función, compuesta

por el nombre de esta y la lista de argumentos, la declaración de las

variables a utilizar y la secuencia de sentencias a ejecutar.

declaraciones globales

main( ) {

variables locales

bloque

}

funcion1( ) {

variables locales

bloque

}

Un fichero fuente en lenguaje C

tendrá esta estructura típica:

main es simplemente una función

más del programa, con la

particularidad de que es el punto

de entrada al programa.

Ejemplo: se desea escribir un

programa que muestre por

pantalla un mensaje de saludo: Hola Mundo.

En lenguaje C, el código fuente de dicho programa puede ser:

#include <stdio.h>

int main()

{

printf( "Hola Mundo" );

return 0;

}

PROGRAMACIÓN – LENGUAJE C

4

Profesor: César A. Delgado B.

Comentarios

Un comentario sirve para generar anotaciones al programador en el código

fuente del programa, así como también para desactivar una o más

instrucciones.

En lenguaje C, los comentarios se escriben entre los caracteres barra-

asterisco (/*) y asterisco-barra (*/). Los comentarios serán ignorados por

el compilador y, por tanto, su presencia en el código fuente es, meramente,

informativa.

En C, tienen la forma /*cualquier texto*/

/*Este es un comentario*/

Palabras reservadas

El lenguaje C está formado por un conjunto de palabras clave (reservadas)

o comandos (keywords), y una serie de operadores. De aproximadamente

40 palabras, se mencionan las principales:

• char

• int

• float

• double

• if

• else

• do

• while

• for

• switch

• short

• long

• extern

• static

• default

• continue

• break

• register

• sizeof

• typedef

Identificadores

Un identificador, sirve para nombrar variables, etiquetas, y otros objetos

definidos por el programador. Es el nombre que damos a las variables y

funciones. Está formado por una secuencia de letras y dígitos,

aunque también acepta el carácter de subrayado _. Por

contra no acepta los acentos ni la ñ/Ñ. El primer carácter de

un identificador no puede ser un número, es decir que debe

ser una letra o el símbolo _ y se diferencian las mayúsculas de

las minúsculas, así num, Num y nuM son distintos

identificadores.

La mayoría de los elementos de un programa se diferencian entre sí por su

nombre. Por ejemplo, como ya se ha mencionado num, Num y nuM.

También podemos observar que los tipos de datos básicos (que son palabras

reservadas) en lenguaje C se nombran como:

char, int, float, double y void

PROGRAMACIÓN – LENGUAJE C

5

Profesor: César A. Delgado B.

Un identificador es el nombre que se le da a un elemento de un algoritmo (o

programa). Por ejemplo, el tipo de dato int hace referencia a un tipo de dato

que es distinto a todos los demás tipos de datos; es decir, los valores que

puede tomar un dato de tipo entero, no son los mismos que los que puede

tomar un dato de otro tipo.

Los identificadores char, int, float, double y void están predefinidos, forman

parte del lenguaje C. No obstante, en el código de un programa también

pueden existir identificadores definidos por el programador. Por ejemplo, un

programa puede utilizar variables y constantes definidas por el

programador.

Constantes

Se define a una constante, como un elemento cuyo valor no puede alterarse

en el transcurso de la ejecución de un algoritmo. Por ejemplo: 123, ’López’,

3.14459.

Las constantes mantienen su valor a lo largo de todo el programa.

Para indicar al compilador que se trata de una constante, usaremos la

directiva #define: #define <identificador> <valor>

La directiva #define no sólo nos permite

sustituir un nombre por un valor numérico,

sino también por una cadena de caracteres.

Observe que no se indica el punto y coma (;)

de final de sentencia ni tampoco el tipo de

dato.

El valor de una constante no puede ser

modificado de ninguna manera. El valor de

pi por ejemplo, es una constante.

PROGRAMACIÓN – LENGUAJE C

6

Profesor: César A. Delgado B.

GUÍA DE TRABAJO 1 (2TM1-G1) – TALLER 1

ESTUDIANTE: CÉDULA: NÚMERO GRADO 11°

TALLER: Identificadores Valor 40 puntos

Actividad #1 – Individual - Semi Presencial – Virtual. Fecha de entrega: viernes 18/6/2021.

- Trabaje individualmente para realizar el taller. Haga lectura del documento (desde la página 2 a 5) y complete los espacios en blanco para validar si los identificadores son válidos inválidos.

- Formato: coloque su nombre, cédula, número de lista y el grado al que pertenece. Escriba en letra imprenta y legible. Haga

entrega de esta guía con la información que debe completar en formato de archivo PDF. Estudiantes de módulos, debe incluir

su número de teléfono.

Criterios Evaluación E = Excelente B = Bueno R = Regular PM = Por Mejorar NO = Mínimo observado

Aspectos para evaluar Descripción – Evaluación para Nota de Apreciación 5.0 4.0–4.9 3.0–3.9 2.0–2.9 1.0–1.9

Interés en la clase Se esfuerza en resolver el taller. Se evidencia el estudio del tema.

Responsabilidad Entrega en tiempo oportuno, cumpliendo con el formato solicitado.

Para calcular la calificación obtenida: 4 x puntaje obtenido / puntaje total + 1

Actividad #1. Valor: 40 puntos. Coloque SI o NO para indicar si los identificadores de variables son válidos e inválidos:

Identificador SI / NO Identificador SI / NO Identificador SI / NO Identificador SI / NO

typedef inventario suma_1 for

Num-producto /cedula número año resta Dato_1 numgoles _t lista precios numniños -descompra x Dato1 while Apellido! B2 -sueldo _descuento Dato-1 área

Edadempleado Ganancia_neta descompra TABLA

_NOMBRE cédula 5personas else

pANAMA descuento horasalida +suma

Des*cuento estudianteA Pa=na=ma x;y;z Observación: el plagio comprobado dará lugar a colocar la mínima calificación (1.0). Esto aplica para todas las asignaciones del trimestre.

CRITERIOS POR EVALUAR (NOTA DIARIA) E B R PM MO

Puntos obtenidos de /40 puntos 5.0 4.0-4.9 3.0-3.9 2.0-2.9 1.0-19

Parte 1 – Identificadores válidos e inválidos

CRITERIOS POR EVALUAR (NA) E B R PM MO

Escala numérica (de 1.0 a 5.0) 5.0 4.0-4.9 3.0-3.9 2.0-2.9 1.0-19

PROGRAMACIÓN – LENGUAJE C

7

Profesor: César A. Delgado B.

Declaración de Variables

La sintaxis para declarar una variable es:

<tipo_de_dato> <variable> [ = <expresión> ];

Y para más de una variable del mismo tipo se utiliza la sintaxis:

<tipo_de_dato> <variable_1> [= <expresión_1>],

<tipo de_dato> <variable_2> [= <expresión_2>],

...,

<tipo_de_dato> <variable_n> [= <expresión_n>];

Ejemplo:

int sueldobase_2 = 300.00

Una expresión representa a un valor de un tipo de dato.

Importante: en el lenguaje C hay que escribir un punto y coma (;) después

de la declaración de una o más variables. A continuación, se muestran

algunos ejemplos de declaración de variables en lenguaje C.

Ejemplo 1: la declaración de una variable para

almacenar la edad de una persona se escribe: int edad;

Ejemplo 2: para declarar varias variables

del mismo tipo de dato se puede escribir

int edad;

int numero_de_hijos;

Ejemplo 3: o también, en la misma línea

separadas por el carácter coma (,):

int edad, numero_de_hijos;

Ejemplo 4: si se desea declarar una variable para

almacenar un número entero y que, inicialmente,

contenga el valor 35, se debe escribir:

int numero = 35;

Ejemplo 5: a continuación, se muestra la declaración de una variable para

almacenar una letra del alfabeto y que, inicialmente, contenga el valor 'Z':

PROGRAMACIÓN – LENGUAJE C

8

Profesor: César A. Delgado B.

char letra = 'Z';

Ejemplo 6: para declarar una variable que pueda almacenar el nombre de

una persona y que, inicialmente, contenga el valor "Isabel", escribiremos:

char nombre[7] = "Isabel";

Un dato de tipo cadena es un dato compuesto (estructurado), debido a que

está formado por una agrupación de caracteres. Pues bien, dicha

agrupación se define por medio de un array. Un array agrupa, bajo el

mismo nombre de variable, a una colección de elementos (datos) del

mismo tipo.

Para declarar un array de caracteres, después del

identificador de la variable, se tiene que escribir,

entre corchetes "[ ]", el número de caracteres que se

van a almacenar en el array, más uno. Por tanto, en

este caso, puesto que "Isabel" tiene seis caracteres,

hay que escribir un 7 entre los corchetes.

Se tiene que escribir un número más, porque en

la memoria se va a reservar espacio para los seis

caracteres de la cadena "Isabel", más uno,

conocido éste como el carácter nulo, el cual se

representa mediante una barra invertida y un cero

(\0). El sistema se encarga de "poner" dicho

carácter, que indica el fin de la cadena. En la

memoria se almacenarán 7 caracteres consecutivos.

Los caracteres del array pueden ser referenciados mediante el identificador

de este, seguido de un número entre corchetes. A dicho número, de manera

formal, se le llama "índice", y puede oscilar entre el valor 0 y n-1, siendo n el

número de caracteres que pueden ser almacenados en memoria en el

array, en este caso son 7 caracteres consecutivos.

<nombre_de_la_variable>[<índice>]

Por ejemplo, nombre[3] hace referencia al espacio de memoria donde está

el carácter 'b'.

PROGRAMACIÓN – LENGUAJE C

9

Profesor: César A. Delgado B.

Ejemplo 7: Si se declara la variable de tipo cadena:

char nombre[7] = "June";

En memoria tendremos:

En esta ocasión, el array de caracteres nombre ha

sido inicializado con el valor "June". De manera que,

el fin de la cadena se encuentra en nombre[4], y no

en el último espacio de memoria reservado para el

array, ya que, "June" tiene, solamente, cuatro

caracteres.

Tipos de Datos

El Lenguaje C utiliza 5 palabras reservadas para definir los tipos de datos

fundamentales. A diferencia de otros lenguajes, un determinado tipo de

datos puede ir cualificado por un conjunto de modificadores.

Tipo Tamaño Rango de Valores

char Caracter 1 byte -128 a 127

int Entero 2 bytes -32768 a 32767

float Real 4 bytes 3.4 E-38 a 3.4 E-f38

double Real doble precisión 8 bytes 1.7 E-308 a 1.7 E-f308

Void Sin tipo - valor

-Secuencias de escape

Ciertos caracteres - no representados gráficamente - se pueden representar

mediante lo que se conoce como secuencia de escape.

A continuación, vemos una tabla de las más significativas:

\n salto de línea

\b retroceso

\t tabulación horizontal

\v tabulación vertical \

\ contrabarra

\f salto de página

\’ apóstrofe \

" comillas dobles

\0 fin de una cadena de

caracteres

PROGRAMACIÓN – LENGUAJE C

10

Profesor: César A. Delgado B.

Operadores y Expresiones en Lenguaje C

En un programa, el tipo de un dato determina las operaciones que se pueden

realizar con él. Por ejemplo, con los datos de tipo entero se pueden realizar

operaciones aritméticas, tales como la suma, la resta o la multiplicación. Por

ejemplo: 111 + 6 – 8 (tres operandos y dos operadores)

-( ( +19 ) + 72 ) (dos operandos y tres operadores)

-( -72 ) (un operando y dos operadores)

Los caracteres abrir paréntesis "(" y cerrar paréntesis ")" se utilizan para

establecer la prioridad de los operadores, es decir, para establecer el orden

en el que los operadores actúan sobre los operandos.

Un operador indica el tipo de operación a realizar sobre los operandos

(datos) que actúa. Los operandos pueden ser: Constantes (expresadas por

su valor o con un nombre (identificador)), Variables, Llamadas a funciones,

Elementos de formaciones (arrays). Además, siempre forma parte de una

expresión., en la cual, siempre actúa sobre al menos un operando. Por el

contrario, un operando sí puede aparecer solo en una expresión.

De la evaluación de una expresión siempre se obtiene un valor que puede

ser de tipo: entero, real, lógico, carácter o cadena. Por consiguiente, una

expresión puede ser:

• Aritmética (devuelve un número entero o real).

• Lógica (devuelve un valor lógico: verdadero o falso)

• De carácter (devuelve un carácter representable por el ordenador).

• De cadena (devuelve una cadena).

Expresiones Aritméticas

De la evaluación de una expresión aritmética siempre se obtiene un valor

de tipo entero o real. En lenguaje C existen algunos operadores que no se

utilizan en pseudocódigo, y al revés. Como se puede apreciar, existen tres

diferencias importantes entre

los operadores aritméticos en

pseudocódigo y en lenguaje

C:

1. El operador potencia (**) no

existe en lenguaje C.

2. En lenguaje C, sólo existe un

operador de división (/).

3. En lenguaje C, el operador

módulo (mod) se escribe con

el carácter porcentaje (%).

PROGRAMACIÓN – LENGUAJE C

11

Profesor: César A. Delgado B.

Ejemplo: a partir de las variables: a, b y c

En pseudocódigo En lenguaje C: -4*(7 % 2) (7 % 2)= 1 resto división entera

-4*1 = -4 entero a = 4, b = 7, c = 2 int a = 4, b = 7, c = 2;

- a * (b mod c ) - a * ( b % c )

De la evaluación de esta expresión se obtiene el valor -4 (actúan en orden

los operadores: (%), menos (-) y (*) ).

Expresiones Lógicas

De la evaluación de una expresión lógica siempre se obtiene un valor de

tipo lógico (verdadero o falso). En las expresiones lógicas se pueden utilizar

dos tipos de operadores: Relacionales y lógicos.

Operadores Relacionales: se

utilizan para comparar los

valores de dos expresiones.

Éstas deben ser del mismo tipo

(aritméticas, lógicas o de

carácter). Las diferencias son:

1. En C, el operador igual

que (=) se escribe con los

caracteres igual-igual

(==).

2. En C, el operador distinto

que (<>) se escribe con

los caracteres

admiración-igual (!=).

Ejemplo: A partir de las variables:

En pseudocódigo En lenguaje C:

entero p = 45, q = 186 int p = 45, q = 186;

p <> q p != q

Verdadero ( p es distinta de q ) 1 (C simula el valor lógico verdadero

con el valor entero 1)

En lenguaje C, los datos de tipo lógico se simulan con datos de tipo entero,

considerándose el valor 0 como falso, y cualquier otro valor entero como

verdadero.

PROGRAMACIÓN – LENGUAJE C

12

Profesor: César A. Delgado B.

Operadores Lógicos: actúan,

exclusivamente sobre valores de

expresiones lógicas. En la siguiente

figura (derecha) se comparan los

operadores lógicos en

pseudocódigo y en lenguaje C.

Ejemplo: Habiendo declarado las variables:

En pseudocódigo En lenguaje C:

entero r = 2, s = 9, t = 8 int r = 2, s = 9, t = 8;

no( r = s o r <= t ) !( r == s || r <= t )

Falso (actúan en orden los

operadores: (<=), (==), (||) y (!))

0 (C simula el valor lógico falso con el

valor entero 0)

Expresiones - Operadores de Asignación

En lenguaje C existen

expresiones de asignación. De

ellos, el más utilizado es el

operador de asignación (=).

Su funcionalidad es

equiparable a la de una

instrucción de asignación en

pseudocódigo, y su sintaxis es

muy similar.

<nombre_de_la_variable> = <expresión>;

Las diferencias son:

1. En vez del símbolo reservado (←), se utiliza el carácter igual (=).

2. Se debe escribir un punto y coma (;) al final.

Ejemplo 1: partiendo de la constante simbólica #define PI 3.141592 y de las

variables float area, longitud, radio; una instrucción de asignación puede

ser: radio = 5.78;

Técnicamente, en lenguaje C, una asignación (=) es una operación, al igual

que lo es una suma (+) o una resta (-). En consecuencia, radio = 5.78 es una

PROGRAMACIÓN – LENGUAJE C

13

Profesor: César A. Delgado B.

expresión de asignación, que entra dentro de la categoría de las

instrucciones de expresión.

<instrucción_de_expresión>;

Operadores Incremento (++) y Decremento (--)

En lenguaje C, el operador incremento (++) y el operador decremento (--) actúan

siempre sobre un solo operando, normalmente una variable. Por tanto, son

operadores monarios, y sirven para incrementar o decrementar en una unidad el

valor de dicho operando.

Ejemplo 1: declaradas las variables: int r = 8, s = 3;

Se pueden escribir las instrucciones de expresión: r++;

s--;

Dichas instrucciones son equivalentes a: r = r + 1;

s = s - 1;

Y también se pueden escribir como: ++r;

--s;

Tras su ejecución, el aspecto de la memoria será: --->

En estas instrucciones, ambos operadores se pueden escribir,

indistintamente, antes o después de los operandos sobre los

que actúan. Pero, cuando en una expresión, además del

operador incremento o decremento, también aparecen otros

operadores, entonces sí que hay que tener en cuenta la

diferencia que supone el escribirlos antes o después.

Ejemplo 2: a partir de las variables: int i = 5, j, k = 5, m;

Si se ejecutan las instrucciones:

j = i++;

m = ++k;

PROGRAMACIÓN – LENGUAJE C

14

Profesor: César A. Delgado B.

Los valores de j y m son diferentes, ya que se evalúa la

expresión j = i++, en primer lugar, se le asigna a j el valor de i

(es decir, un 5) y, a continuación, se incrementa el valor de

la variable i. Por el contrario, cuando se evalúa la expresión

m = ++k, primero, se incrementa el valor de k (de 5 pasa a ser

6) y, después, este nuevo valor de k se le asigna a m.

En resumen, cuando en una expresión el operador

incremento (++) o decremento (--) precede al operando

sobre el que actúa (por ejemplo ++k), antes de utilizar el valor

de dicho operando para otro propósito, este se incrementa.

De ser al revés, es decir, si es el operando quien precede al

operador (por ejemplo i++), el valor de dicho operando se incrementa

después de ser utilizado para otro fin.

La prioridad de todos los operadores del lenguaje C estudiados hasta el

momento en esta asignatura es:

En lenguaje C, tanto los paréntesis "()" que se utilizan para llamar a una

función, como los corchetes "[]" que albergan el índice de un array, también

son considerados operadores. Además, son los operadores más prioritarios

PROGRAMACIÓN – LENGUAJE C

15

Profesor: César A. Delgado B.

y, en una expresión, se evalúan de izquierda a derecha.

Por otra parte, los operadores incremento (++), decremento (--) y conversión

de tipo "( <tipo> )" entran dentro de la categoría de operadores monarios.

De manera que, al igual que los operadores signo más (+), signo menos (-),

negación (!) y de asignación, todos ellos se evalúan de derecha a izquierda

en una expresión, al revés que todos los demás.

Función printf

La función printf permite llevar hacia la salida estándar (la pantalla) los

valores (datos) obtenidos de la evaluación de una lista de argumentos. La

sintaxis de su llamada es:

printf( <cadena_de_control> [, <lista_de_argumentos> ] )

En programación, los argumentos (también llamados parámetros) se

emplean para transferir datos de un programa (o subprograma) llamante a

otro llamado, y viceversa (del llamado al llamante).

Cuando desde un programa llamante se invoca a la función printf, a ésta se

le pasa una lista de argumentos (expresiones). Los valores (datos) obtenidos

de la evaluación de esa lista de expresiones son los que se van a mostrar

por la pantalla. También la <cadena_de_control> es un argumento.

En la <cadena_de_control> el programador

debe indicar el formato de salida de los

datos que se van a mostrar por la pantalla.

Para ello, se puede hacer uso de:

• Texto ordinario (texto normal).

• Especificadores de formato.

• Secuencias de escape.

La <cadena_de_control> es, en sí misma,

una cadena de caracteres, que se debe

escribir entre comillas dobles (").

La rutina printf permite la aparición de valores numéricos, caracteres y

cadenas de texto por pantalla. En la cadena de control indicamos la forma

en que se mostrarán los argumentos posteriores. También podemos

introducir una cadena de texto (sin necesidad de argumentos), o combinar

ambas posibilidades, así como Secuencias de escape.

PROGRAMACIÓN – LENGUAJE C

16

Profesor: César A. Delgado B.

En el caso de que utilicemos

argumentos deberemos indicar

en la cadena de control tantos

especificadores como

argumentos vayamos a

presentar. El especificador está

compuesto por el carácter.

Función scanf

La función scanf de la biblioteca estándar del lenguaje C permite asignar a

una o más variables, uno o más valores (datos) recibidos desde la entrada

estándar (el teclado). La sintaxis de su llamada es:

scanf( <cadena_de_control> [, <lista_de_argumentos> ] )

En la <cadena_de_control>, el programador debe indicar el formato de

entrada de los datos que se van a recoger por teclado. Para ello, se puede

hacer uso de:

En la función scanf, por cada

argumento (variable) que se le

pase, se debe escribir un

especificador de formato, que

establecerá el formato de

entrada por teclado del

argumento. La forma más

sencilla de escribir un

especificador de formato en la

función scanf es con el

carácter tanto por ciento (%)

seguido de un carácter de

conversión que indique el tipo de dato del argumento. De momento, no es

necesario conocer todos los especificadores de formato que se pueden

usar en la función scanf, pero sí, los más usados, que son los mismos que en

la función printf:

Ejemplo 1: dado el programa:

#include <stdio.h>

int main()

{

Especificadores más utilizados en la función printf

PROGRAMACIÓN – LENGUAJE C

17

Profesor: César A. Delgado B.

int numero;

printf( "\n Introduzca un numero entero: " );

scanf( "%d", &numero );

return 0;

}

Introduzca un numero entero: 5

Puesto que la variable numero es de tipo entero, en la cadena de control se

tiene que escribir el especificador de formato asociado a la entrada de un

número entero (%d). Por otro lado, la variable numero se ha escrito

precedida del carácter ampersand (&). Se trata de un nuevo operador, el

operador dirección. El operador dirección (&) siempre actúa sobre un

operando (normalmente una variable) y, de su evaluación, se obtiene la

dirección de memoria de dicha variable.

Es sabido que, una variable representa a un espacio de memoria en el cual

se puede almacenar un dato. Pues bien, en realidad, a la función scanf no

se le pasa una lista de variables, sino, las direcciones de memoria de los

espacios de memoria a los que representan dichas variables.

Debemos recordar que todas las variables declaradas en un programa se

reservan espacios de memoria en donde se almacenarán datos. La

memoria del computador está dividida en celdas numeradas de forma

consecutiva, por lo que, cada una de ellas tiene una dirección (un número).

Un dato puede necesitar una o más celdas de memoria. Así pues, en el

ejemplo anterior, la expresión &numero hace referencia a la primera celda

donde se va a almacenar el valor 5

introducido por el usuario. La dirección de

memoria de la variable numero podría ser, por

ejemplo, 0012FF88. En informática, las

direcciones de memoria suelen representarse

con números hexadecimales. Gráficamente,

se puede representar de la siguiente manera:

PROGRAMACIÓN – LENGUAJE C

18

Profesor: César A. Delgado B.

Bibliografía

• Carlos Pes, 2002. Recursos Educativos de Informática, Curso/Tutorial de Lenguaje C. Documento recuperado el 1 de octubre de 2020 de: http://www.carlospes.com/curso_de_lenguaje_c/

Ni la totalidad ni parte de este trabajo pueden reproducirse, registrarse o transmitirse, por un sistema de recuperación de información, en ninguna forma ni por ningún medio, sea electrónico,

mecánico, fotoquímico, magnético o electroóptico, por fotocopia, grabación o cualquier otro, sin permiso previo. Este documento se distribuye con fines exclusivamente didácticos y es de uso exclusivo para estudiantes de la asignatura Multimedia 1 y 2 que se imparte en el CRU-Los Santos de la Universidad de Panamá y de Undécimo (11°) grado del Centro Educativo Federico Zúñiga Feliú por el profesor César Delgado.