Está en la página 1de 15

Captulo 4

Estructura de un Programa en C
El lenguaje de programacin C es un lenguaje y como tal tiene un alfabeto, reglas para
formar palabras y reglas de puntuacin para hacer programas correctos o legales. Esas
reglas son la sintaxis del lenguaje. El programa que verifica la legalidad del cdigo C es el
compilador.
Un programa en C consiste en una secuencia de caracteres almacenados en uno o ms
archivos que sern traducidos por el compilador de C al lenguaje mquina de una
determinada computadora.

Caracteres y Tokens
Los caracteres que pueden formar parte de un programa en C se muestran en la tabla 4.1:
Tabla 4.1 Caracteres vlidos en C
Letras maysculas:
Letras minsculas:

A B C ... Z
a b c ... z

Dgitos:

0 1 2 3 4 5 6 7 8 9

Otros caracteres:

+ - * / = ( ) { } [ ] < > ' " ! @ # % & _ | ^ ~ \ . , ;


: ?

Caracteres blancos:

SP (espacio),
LF (carcter de salto de lnea)
HT (carcter de tabulacin horizontal),
VT (carcter de tabulacin vertical),
FF (carcter de avance de pgina),
y comentarios.

Estos caracteres son agrupados por el compilador en una serie de componentes lxicos,
(tokens) que son los elementos que conforman el vocabulario bsico del lenguaje. Hay
seis clases de tokens: Palabras reservadas, identificadores, constantes, constantes de
cadena, operadores y delimitadores. Las palabras reservadas, identificadores y constantes
deben estar separadas entre si por un carcter blanco. Cualquier otro carcter blanco es
ignorado.
El compilador de C verifica que los tokens forman cadenas legales de acuerdo a la sintaxis
del lenguaje C. Los compiladores son muy precisos en sus requerimientos. A diferencia de
ITSON

Mnuel Domitsu Kono

50

Estructura de un Programa en C

las personas, que son capaces de entender el significado de una oracin con un signo de
puntuacin de ms o con una palabra mal escrita, el compilador no podr hacer una
traduccin si encuentra un error, no importa que tan pequeo sea.

Palabras Reservadas de C
Una palabra reservada es una palabra que tiene un significado estricto en C. Estas
palabras no pueden ser usadas como identificadores. La lista de palabras reservadas del
C estndar se muestran en la tabla 4.2:
Tabla 4.2. Palabras reservadas de C
auto
default
float
long
sizeof
unsigned
_Imaginary

break
do
for
register
static
void

case
double
goto
restrict
struct
volatile

char
else
if
return
switch
while

const
enum
inline
short
typedef
_Bool

continue
extern
int
signed
union
_Complex

Identificadores
Un identificador es el nombre que se le asigna a un objeto (constante, variable, funcin,
etc.). En C las reglas para construir un identificador son las siguientes:
1. Un identificador consta de letras (A .. Z, a .. z), dgitos (0 .. 9) o el
carcter de subraya (_).
2. Un identificador debe empezar con una letra o con una subraya.
3. No se establece una longitud mxima en un identificador.
4. C hace distincin entre letras maysculas y minsculas.
Es una buena prctica de programacin escoger identificadores que nos permitan recordar
el uso del objeto nombrado.
Aunque es vlido no es recomendable utilizar identificadores que empiecen con el carcter
de subraya (_).

Constantes, constantes de cadena y operadores


En el Captulo 3: Tipos de Datos y Expresiones en C, se estudiaron los tipos de constantes
y operadores existentes as como su uso y sintaxis.

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

51

Delimitadores
Los delimitadores son caracteres que nos permiten separar otros tokens, agrupar o
terminar instrucciones, formar declaraciones, etc. Los delimitadores de C son:
[ ]

( )

{ }

...

Estructura de un Programa en C
Un programa en C consta de varias partes, las cuales no necesariamente aparecen en
ese orden:
[Comentarios]
[Directivas al preprocesador]
[Declaraciones de funciones]
[Declaracin de variables externas]
Funciones
Por ejemplo considere el programa del siguiente recuadro. Los nmeros a la izquierda del
recuadro no forman parte del programa y slo sirven para numerar las lneas para la
discusin:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25

/*
* File:
kmh_ms.c
* Author: mdomitsu
*
* Created on 9 de agosto de 2009, 06:15 PM
*/
#include <stdio.h>
#include <stdlib.h>
/*
* Este programa convierte una velocidad de km/hr a m/s.
*
* Este programa ilustra el uso de la sentencia compuesta.
*/
int main(void) {
const float KM_M = 1000.0;
const float H_S = 3600.0;
float velocidad;

ITSON

printf("\nEste programa convierte una velocidad de km/hr a m/s\n");


// Lee la velocidad en km/hr
printf("\nDame la velocidad en kilometros/hora:");
scanf("%f", &velocidad);

Mnuel Domitsu Kono

52

Estructura de un Programa en C

26
27
28
29
30

// Calcula la velocidad en m/s


velocidad *= KM_M / H_S;
// Calcula la velocidad en m/s
printf("\nLa velocidad en m/s es %.4f\n\n", velocidad);
return (EXIT_SUCCESS);
}

Las lneas 1 a 8, 17, 21 y 24 son comentarios.


Las lneas 8, 10, 16, 20, 23 y 26 son lneas en blanco y son equivalentes a lneas con
comentarios.
La lnea 9 contiene una directiva #include
El resto del programa es la funcin main().

Comentarios
Los comentarios son texto que incluimos en el cdigo de un programa para documentar el
programa, una funcin o porcin de cdigo. Un comentario es para el uso de los
programadores, son ignorados por el compilador. Los comentarios pueden ir en cualquier
parte del programa.
En C existen dos tipos de comentarios:

Todo el texto delimitado por los caracteres /* y */ es un comentario. Este tipo de


comentario se puede extender por varias lneas. Por ejemplo:
/* Este es un comentario */
/*
* Este es un comentario
* de varias lneas
*/
/*

// Este comentario est anidado */

Todo el texto despus de los caracteres // hasta el final de la lnea es un


comentario. Por ejemplo:
// Este es un comentario
int velocidad;
// /*

ITSON

// Este comentario permite explicar el

Este comentario est anidado */

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

53

Directiva #include
El proceso de compilacin de un programa est formado de varias etapas, y se ver en el
siguiente captulo. En la primera etapa, nuestro programa, escrito en lenguaje C y llamado
programa fuente, es procesado por un programa llamado Preprocesador, el cual lo
modifica de acuerdo a las directivas que nosotros hallamos incluido en nuestro programa.
Una de esas directivas es la directiva #include.
La directiva #include le indica al preprocesador que inserte en lugar de la directiva el
archivo texto especificado por la directiva. La sintaxis de esta directiva es:
#include <nomArch>

donde nomArch es el nombre del archivo que deseamos insertar. Por ejemplo, en el
programa mostrado anteriormente, la directiva:
#include <stdio.h>

le indica al preprocesador que inserte en su lugar, un archivo llamado stdio.h. Note que el
nombre del archivo va encerrado entre parntesis angulares (los smbolos de menor y
mayor que).
Normalmente, esta directiva se utiliza para incluir en el programa archivos llamados de
encabezados (headers) y se acostumbra darles la extensin ".h". En archivo de
encabezado se encuentran: Directivas al preprocesador, declaraciones de funciones y
declaracin de variables externas.

Declaracin de variables externas


Las variables en C pueden declararse dentro o fuera de una funcin. Una variable
declarada fuera de una funcin, llamada variable externa, es conocida en todo el
programa, mientras que una variable declarada dentro de una funcin, llamada
automtica, slo es conocida dentro de la funcin en que fue declarada.
En el programa de ejemplo no hay variables externas.

Funciones
En C las instrucciones que un programa ejecutar, se agrupan en funciones. Una funcin
es un subprograma que realiza una tarea especfica. Un programa en C est formado de
una o ms funciones.
Aparte de las funciones que nosotros creamos, el sistema C nos proporciona un nmero
considerable de funciones a fin de facilitarnos la tarea de programacin. Estas funciones

ITSON

Mnuel Domitsu Kono

54

Estructura de un Programa en C

se encuentran en uno o ms archivos que conforman lo que se llama la biblioteca de


funciones estndar. Estos archivos tienen la extensin ".lib".
Una de las funciones que nosotros creemos deber llamarse main() y el programa
empezar a ejecutarse por la primera instruccin en esta funcin.
Para crear una funcin, sta debe ser declarada y definida. Para usar una funcin
debemos llamarla.

Declaracin de funciones
Al declarar una funcin le informamos al compilador el tipo de la funcin (es decir el tipo
del dato que regresa la funcin) y el nmero y tipo de los parmetros que tiene la funcin.
Esta informacin es necesaria para que el compilador genere el cdigo correcto y para
que el compilador verifique que al llamar a la funcin le pasemos los datos adecuados. La
sintaxis de la declaracin de una funcin es la siguiente:
tipo nomFunc(lista de parmetros);

tipo es el tipo del valor regresado por la funcin, y puede ser de cualquiera de los tipos
ya vistos. Algunas funciones no regresan valores. En este caso se utiliza la palabra
reservada void como el identificador de tipo, para indicar que la funcin no regresa un
valor.
nomFun es el nombre de la funcin y debe ser un identificador vlido de C.
lista de parmetros contiene el tipo y el nombre de los parmetros que recibe la
funcin. Un parmetro es un mecanismo mediante el cual le pasamos valores a la funcin
al llamarla. Si una funcin no recibe parmetros, la lista de parmetros estar formada por
la palabra void solamente.
La funcin main() no necesita declaracin.
Las declaraciones de las funciones de la biblioteca estndar del sistema C se encuentran
en los archivos de encabezados, los cuales debern ser incluidos con la directiva
#include.
En el Captulo 6: Funciones, se estudiar cmo escribir nuestras propias funciones.

Definicin de funciones
Al definir una funcin le estamos informando al compilador que es lo que hace la funcin,
esto es, las instrucciones que realizar la funcin al ser llamada. La sintaxis de la
definicin de una funcin es la siguiente:

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

55

tipo nomFunc(lista de parmetros) {


[declaraciones locales]
sentencias
}

tipo, nomFunc y lista de parmetros son los mismos que en la declaracin.


{ y } son los delimitadores del bloque (cuerpo) de la funcin. Marcan el principio y fin de la
funcin.
declaraciones locales son las declaraciones de variables automticas.
sentencias son las instrucciones que ejecutar la funcin.
En el programa de ejemplo, podemos ver en la funcin main() lo siguiente:

La funcin main() regresa un valor entero.

La funcin main() no recibe parmetros.

Se declaran dos variables automticas cuyos valores permanecern constantes:


KM_M y H_S y son inicializadas a los valores de 1000.0 y 3600.0,
respectivamente.

Se declara una variable automtica llamada velocidad de tipo flotante.

En la funcin hay cinco instrucciones o sentencias:


printf("\nDame la velocidad en kilmetros/hora: ");

Aqu se llama a la funcin printf() de la biblioteca estndar de C para que


despliegue el mensaje: "Dame la velocidad en kilmetros/hora: "
scanf("%f", &velocidad);

Aqu se llama a la funcin scanf() de la biblioteca estndar de C para que lea el


valor de la velocidad.
velocidad *= KM_M / M_S;

Esta instruccin convierte la velocidad de kilmetros/hora a m/s.


printf("\nLa velocidad en m/s es %.4f", velocidad);

Se vuelve a llamar a la funcin printf() para que despliegue el valor de la


velocidad en m/s.

ITSON

Mnuel Domitsu Kono

56

Estructura de un Programa en C

return (EXIT_SUCCESS);

Esta sentencia hace que la funcin main() termine su ejecucin y regrese el valor
de 0, el valor dado por la macro EXIT_SUCCESS. Las funciones que regresan un
valor lo hacen a la funcin quien las llama. En el caso de la funcin main(), el
valor lo regresa al sistema operativo. Este valor se utiliza como indicador de la
causa por la que el programa termin la ejecucin. Por convencin un cero significa
que el programa termin su ejecucin normalmente. Un valor diferente de cero
significa que la causa de terminacin del programa fue un error.

Llamada a una funcin


Al llamar a una funcin estamos dando la orden para que el programa empiece a ejecutar
las instrucciones que forman la funcin. La sintaxis de la llamada a una funcin es:
nomFunc(lista de argumentos)

nomFunc es el nombre con que se declar y defini la funcin.


lista de argumentos son los valores que se le pasan a la funcin al llamarla. La lista
de argumentos debe de coincidir con la lista de parmetros, en nmero, tipo y orden.

Sentencias
Las sentencias de C son las instrucciones de las que est formado un programa. Las
sentencias en un programa en C se encuentran en el cuerpo de las funciones.
Las sentencias en C se clasifican de la siguiente manera:

Sentencia de expresin o simple


Sentencia compuesta o bloque
Sentencias de seleccin o condicionales
Sentencias de iteracin o repetitivas
Sentencias de salto

En este tema se estudiarn las sentencias de expresin y las sentencias compuestas. Las
dems se vern en el Captulo 5: Sentencias de Control.

Sentencia de expresin o simple


La mayora de las sentencias de un programa en C son sentencias de expresin. Una
sentencia de expresin tiene la siguiente sintaxis:

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

57

[expresin];

Esto es, una expresin seguida de un punto y coma (;). La mayora de las sentencias de
expresin son asignaciones o llamadas a funciones. Si expresin se omite, la construccin
se llama sentencia nula.
El punto y coma (;) es un terminador de sentencia.
Algunos ejemplos de sentencias expresin son:
y = x + 3;
n++;
printf("\nHola");
scanf("%f", &velocidad);
;

/* Sentencia nula */

Sentencia compuesta o bloque


Una sentencia compuesta o bloque son construcciones que contienen otras sentencias
las cuales se debern ejecutar en secuencia. La sintaxis de una sentencia compuesta es:
{
[Declaracin local] ...
Sentencia ...
}

Una sentencia compuesta est formada de declaraciones locales y sentencias. Los


objetos declarados localmente son slo conocidos dentro de la sentencia compuesta en
que fueron declarados. Esto se tratar ms ampliamente en el Captulo 6: Funciones. Las
sentencias dentro de una sentencia compuesta pueden ser de cualquier tipo: Sentencia de
expresin, sentencia compuesta, sentencias de seleccin, sentencias repetitivas,
sentencias de salto. Note que dentro de una sentencia compuesta podemos tener
anidadas sentencias compuestas.
Una sentencia compuesta va encerrada entre llaves { y }.
Una sentencia compuesta es sintcticamente equivalente a una sentencia simple, esto es,
donde puede ir una sentencia simple podemos poner una sentencia compuesta y
viceversa.
Un ejemplo de una sentencia compuesta es el cuerpo de una funcin.

Ejercicio sobre la Sentencia Compuesta


Escribir el cdigo para un programa que lea los tres lados de un tringulo y escriba su
rea.

ITSON

Mnuel Domitsu Kono

58

Estructura de un Programa en C

Funciones de Entrada / Salida de C


La biblioteca estndar de C proporciona una serie de funciones que nos permiten escribir
en el dispositivo estndar de salida, normalmente la pantalla y para leer del dispositivo
estndar de entrada, normalmente el teclado.

Funciones para escribir en la pantalla


printf()
La funcin printf() nos permite escribir informacin formateada a la pantalla. La
sintaxis para esta funcin es la siguiente:
int printf(formato [,expresin] ...);

El prototipo de esta funcin se encuentra en stdio.h


La funcin regresa el nmero de caracteres desplegados. Si hay error la funcin regresa el
valor de EOF. EOF es una constante simblica definida en stdio.h.
formato, la cadena de formateo es una cadena, la cual ser escrita por la funcin
printf().
Dentro de formato pueden incluirse comandos de formateo. La funcin primero evala
las expresiones de la lista de argumentos de la funcin printf() y substituye sus valores
en lugar de sus correspondientes comandos de formateo, formateados de acuerdo a stos
y luego despliega la cadena resultante. Debe haber un comando de formateo para cada
expresin. Si hay ms comandos que expresiones, el resultado es impredecible y a
menudo desastroso. Si hay ms expresiones que comandos, las expresiones sobrantes
son ignoradas.
Un comando de formateo tiene la siguiente sintaxis:
%[banderas][ancho][.precisin][modificador de tipo]tipo

%.- Todo comando de formateo empieza con el signo %.


tipo.- Es el carcter de conversin de tipo. La tabla 4.3 muestra los algunos de los
caracteres de conversin de tipo de la funcin printf(), el tipo de argumento que
acepta y el tipo de formato en que aparece la salida.
modificador de tipo.- Carcter que modifica el tamao del tipo de dato. Algunos
modificadores de tipo se muestran en la tabla 4.4.

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

59

Tabla 4.3. Especificadores de tipo


Tipo

Argumento de
entrada

d
u

Entero

Entero decimal con signo

Entero

Entero decimal sin signo

Flotante

Flotante

Flotante
Carcter

c
%

Formato de salida

Flotante en la forma [-]ddd.ddd..., donde el nmero de dgitos despus del


punto decimal es igual a la precisin.
Flotante en la forma [-]d.ddd...e[+|-]ddd donde un dgito precede al punto
decimal, el nmero de dgitos despus del punto decimal es igual a la
precisin y el exponente contiene al menos dos dgitos.
Flotante igual que e, pero con E como signo de exponente
Un solo carcter
Se imprime el carcter %

Tabla 4.4. Modificadores de tipo


Modificador
de tipo

Tipo modificado

h
l
ll

d, u
d, u
d, u

l
L

e, E, f
e, E, f

Efecto
Interpreta el entero como short
Interpreta el entero como long
Interpreta el entero como long long
Interpreta el flotante como doble
Interpreta el flotante como doble largo

ancho.- Mnimo nmero de caracteres a imprimir rellenados con blancos o ceros. En


ningn caso, la falta del especificador de ancho o un valor pequeo de ste, trunca la
salida. Si la expresin a desplegarse es ms ancha que el especificador de ancho, la
funcin utiliza el nmero de caracteres necesarios para desplegar el valor de la expresin.
Los tipos de especificadores de ancho se muestran en la tabla 4.5.
Tabla 4.5. Especificadores de ancho
Especificador
de ancho

Tamao del ancho de campo

Se imprimen un mnimo de n caracteres. Si el valor a imprimirse tiene menos


de n caracteres, se rellena con blancos.

0n

Se imprimen un mnimo de n caracteres. Si el valor a imprimirse tiene menos


de n caracteres, se rellena con ceros a la izquierda.

El valor del especificador de ancho viene en la lista de argumentos, el cul


debe preceder al argumento a formatearse.

precisin.- Para enteros, mnimo nmero de dgitos a imprimir. Si el nmero entero


tiene menos caracteres que la precisin se rellena con ceros a la izquierda. Para flotantes
el nmero de decimales. Si la expresin tiene ms de n decimales, se redondea. No tiene
efecto en los tipos c. El especificador de precisin debe siempre empezar con un punto (.)

ITSON

Mnuel Domitsu Kono

60

Estructura de un Programa en C

para separarlo de cualquier especificador de ancho precedente. Los tipos de


especificadores de precisin se muestran en la tabla 4.6.
Tabla 4.6. Especificadores de Precisin
Especificador
de precisin
Ninguno

Descripcin
Se usa la precisin por defecto: 1 para los tipos d, u. 6 para los tipos e, E y f.

.0

Para los enteros, 1 si el valor de la expresin es diferente de cero; si es cero no


despliega nada. Para los flotantes se trunca la parte fraccionaria y no se
despliega el punto decimal.

.n

n dgitos para los enteros o n decimales para los flotantes.

.*

El valor del especificador de precisin viene en la lista de argumentos, el cul


debe preceder al argumento a formatearse.

banderas.- Especifica la justificacin de la salida, signos numricos, punto decimal y


ceros a la derecha. Las banderas pueden aparecer en cualquier orden y en cualquier
combinacin. Las banderas se muestran en la tabla 4.7.
Tabla 4-7. Banderas
Bandera

Significado

Ninguna

El resultado se justifica a la derecha rellenndose con blancos a la izquierda.

El resultado se justifica a la izquierda rellenndose con blancos a la derecha.

Un resultado numrico empieza con (+) (-) dependiendo del signo.

Blanco

Si el resultado es no negativo empieza con un blanco; si es negativo empieza con el


signo (-)

putchar()
Esta funcin escribe un slo carcter en la pantalla y no le agrega el salto de lnea. La
sintaxis de esta funcin es la siguiente:
int putchar(int c);

El prototipo de esta funcin se encuentra en stdio.h


Si no hay error la funcin regresa el carcter desplegado, c. En caso contrario regresa el
valor de EOF.

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

61

Funciones para leer del teclado


scanf()
Esta funcin nos permite leer el teclado un carcter a la vez y los convierte de acuerdo a
un formato dado. Esta funcin hace lo siguiente:

Acepta una cadena de formateo que determina como debern de ser interpretados
los campos de entrada.

Aplica la cadena de formateo a un nmero variable de campos de entrada a fin de


formatear la entrada.
Almacena la entrada formateada en las direcciones dadas como argumentos
despus de la cadena de formateo.

La sintaxis para esta funcin es la siguiente:


int scanf(formato, direccin, [direccin] ...);

El prototipo de esta funcin se encuentra en stdio.h


La funcin regresa el nmero de valores ledos, formateados y almacenados.
formato, la cadena de formateo es una cadena y contiene tres tipos de objetos:
caracteres blancos, caracteres no-blancos y especificadores de formateo.
Los caracteres blancos son: blanco o espacio (' '), carcter de tabulacin ('\t') o
carcter de salto de lnea ('\n'). Si la funcin scanf() se encuentra un carcter blanco
en la cadena de formateo, leer pero no almacenar, todos los caracteres blancos
consecutivos, hasta el siguiente carcter no-blanco de la entrada.
Los caracteres no-blancos son todos los otros caracteres ASCII excepto '%'. Si la
funcin scanf() encuentra un carcter no-blanco en la cadena de formateo, leer pero
no almacenar, un carcter de no-blanco igual.
El especificador de formateo, le indica a la funcin scanf() que lea y convierta los
caracteres ledos de los campos de entrada a valores de tipos especficos y los almacenes
en las direcciones dadas en los argumentos. Debe haber un especificador de formateo
para cada direccin. Si hay ms especificadores que direcciones, el resultado es
impredecible y a menudo desastroso. Si hay ms direcciones que especificadores, las
expresiones sobrantes son ignoradas.
Un especificador de formateo tiene la siguiente sintaxis:
%[ancho][modificador de tipo]tipo

ITSON

Mnuel Domitsu Kono

62

Estructura de un Programa en C

%.- Todo especificador de formateo empieza con el signo %.


tipo.- Carcter de conversin de tipo. La tabla 4-8 muestra algunos de los caracteres de
conversin de tipo de la funcin scanf(), el tipo de entrada esperada y el formato en que
la entrada ser almacenada.
Tabla 4.8 Especificadores de tipo
Tipo

Tipo de argumento
(Direccin de un)

Entrada esperada

Entero decimal

Entero Decimal

Entero decimal

Entero largo decimal

Entero sin signo decimal

Entero sin signo decimal

Entero sin signo decimal

Entero largo sin signo decimal

Punto flotante

Punto flotante

Carcter

Carcter

e, E, f
c

ancho.- El especificador de ancho, un nmero decimal, controla el nmero mximo de


caracteres que sern ledos del campo de entrada.
modificador de tipo.- Modifica el tipo de dato al que se har la conversin. Algunos
de los modificadores de tipo se muestran en la tabla 4.9.
Tabla 4.9. Modificador de tipo
Modificador
de tipo

Tipo modificado

d, u

Interpreta el entero como short.

d, u

Interpreta el entero como long.

ll

d, u

Interpreta el entero como long long.

e, f, g

Interpreta el flotante como double

e, f, g

Interpreta el flotante como long double.

Efecto

getchar()
Esta funcin leen un slo carcter del teclado. La sintaxis de esta funcin es la siguiente:
int getchar(void)

El prototipo de esta funcin se encuentra en stdio.h


Si no hay error la funcin regresa el carcter ledo, en caso contrario regresa el valor de
EOF.

ITSON

Mnuel Domitsu Kono

Captulo 4

Estructura de un Programa en C

63

Una caracterstica de esta funcin es que despus de presionar la tecla del carcter,
debemos de presionar la tecla [ENTER] para indicarle a getchar() que se le ha dado el
carcter. De otra manera la funcin no termina de leer.

Problemas
1. Cul es la salida que nos da la funcin printf() en los siguientes ejemplos?:
sean x = 1276, y = 123.97547, a = 10, b = 4, c = 12.
a)
b)
c)
d)
e)

printf("x = %d, y = %f", x, y);


printf("x = %6d, y = %10.4f", x, y);
printf("y = %*.*E", a, b, y);
printf("x = %+d, -x = %+d, c = %u", x, -x, c);
printf("%c %c", 'A', 70);

2. Suponga que se desea construir una tabla en la que aparezca el capital acumulado
de una inversin para cada mes. La tabla deseada tiene la siguiente forma:
Mes
Capital
--------------1
dddd.dd
2
dddd.dd
3
dddd.dd
...
10
dddd.dd
...
100
dddd.dd

Escriba una llamada a la funcin printf() que escriba el nmero del mes y el
monto del capital acumulado con el formato mostrado.
3. Escribir un programa que lea un nmero que represente una distancia en metros y
escriba su equivalente en pies y en pulgadas. El resultado deber desplegarse en
notacin fija con 4 cifras decimales.
4. Escribir un programa que lea un nmero que represente el radio de una esfera y
escriba su rea y volumen. El resultado deber desplegarse en notacin flotante
con 6 cifras decimales.
5. Escriba un programa que indique a una cajera de banco el nmero y denominacin
de los billetes que necesita darle a un cliente al hacer un retiro. La cajera deber
darle al cliente billetes de la ms alta denominacin posible, esto es, el menor
nmero de billetes. Suponga que los retiros deben de ser en cantidades mltiples
de 10 pesos y que hay billetes de $10, $20, $50 y $100 pesos.

ITSON

Mnuel Domitsu Kono

También podría gustarte