Professional Documents
Culture Documents
Por ejemplo, si hemos declarado una variable con la edad de una perso-
na llamada edad, de tipo entero, la siguiente instrucción muestra una
frase con el contenido de esa variable:
La función scanf sólo puede tener un argumento, que debe estar pre-
cedido del carácter &.
En lugar de una variable
se puede indicar cualquier
expresión de C válida. Para comprender mejor cómo funcionan printf y scanf, escribe el pro-
grama de la figura 5. Este programa calcula la superficie de un rectán-
gulo a partir de los datos base y altura que se introducen por medio del
teclado. Guarda este programa como P1_E1a_nombreapellido.c.
En esta posición se
Definimos la variable n1
de tipo entero.
visualiza el contenido En la figura 6 se pide que se introduzca un número y se devuelve su
de la variable n1.
cuadrado. Guarda este ejemplo como P1_E1b_nombreapellido.c.
Fig. 6
F = (9/5) C + 32
Cuando tengas dudas sobre qué operador se ejecuta antes en una ex-
Fig. 7
presión, consulta la tabla de operadores que hemos presentado en la
parte de teoría. En ella los operadores figuran en orden de preferencia.
Cuando dos operadores tienen la misma prioridad, se evalúan de iz-
quierda a derecha.
Fig. 8
if(expresión) {
sentencia 1;
sentencia 2;
...
sentencia n;
}
else {
sentencia 1;
Fig. 9 sentencia 2;
...
sentencia n;
El organigrama correspondiente a este programa sería el si-
guiente: }
switch(variable) {
case constante 1:
secuencia de sentencias
break;
case constante 2:
secuencia de sentencias
break;
...
default:
secuencia de sentencias
break;
}
Como los bucles son estructuras repetitivas que dependen de algún va-
lor, es muy frecuente usar dentro de ellos contadores y acumuladores.
El bucle while depende del valor de la variable contador,
por lo que es imprescindible antes inicializarla. Su valor Un contador es una variable cuyo valor se incrementa o disminuye
aumenta en el bucle en una unidad por cada repetición. en un valor fijo por cada repetición o iteración de un bucle. En muchos
La variable suma es un acumulador. Acumula, sobre su casos, el contador guarda las veces que se repite un bucle, pues se in-
valor anterior, otro que recibe en cada ciclo del bucle. crementa en una unidad por cada ciclo, pero no tiene por qué ser así en
También es importante que esté inicializada antes de todos los casos. La forma más normal de representar un contador es:
entrar en el bucle.
variable=variable+1
variable=variable+variable
En la mayoría de los casos, la expresión del while tiene que ver con que
un contador o acumulador contenidos en el bucle alcance un determi-
nado valor.
Fig. 14
Los arrays pueden ser de diferentes dimensiones. Los más usados son
los de una dimensión (también llamados vectores) y los de dos di-
mensiones (o tablas).
Cada valor debe ser una constante válida para el tipo de array y los dife-
rentes valores deben estar separados por comas. En la figura 16 puedes
estudiar la definición de distintos arrays y su forma de inicializarlos.
Ejercicio 2. Trabajar con arrays
Para acceder a un elemento de un array se utilizan el identificador y el
La variable i actúa como índice
de filas de la tabla. número de orden del elemento. Al primer elemento siempre le corres-
ponde el 0. De esta forma,
printf(“%d”,vector[0]
El valor que se introduce dentro de los corchetes puede ser una varia-
ble. Esto es muy necesario cuando el array es grande, para poder ini-
salto de
tabulador cializarlo.
Fig. 17
•• Un bucle for para introducir los diez elementos del array. Es im-
portante advertir una vez más que el primer elemento del array
es el que ocupa la posición 0. Por eso, la variable que controla este visualización de los
números ordenados
bucle (i) toma el valor inicial 0 y la condición del for actúa hasta
ordenación
que esta variable vale 9.
Fig. 18
Práctica 5. Funciones
Las funciones son el fundamento de la construcción de los programas
definición de la función
en C. También representan el ejemplo más típico de la programación
modular, en la que cada parte del programa desarrolla un cometido
específico.
Habrás observado que todas las instrucciones que has aprendido hasta
ahora son en sí mismas funciones, puesto que tienen un nombre y unos
paréntesis detrás del nombre.
llamada a la función También se ha comentado que el cuerpo principal del código está cons-
tituido por la función main( ).
superficie=(base*altura)/2
char nombre[15];
El programa puede
producir un error si
Todos los arrays de caracteres deben terminar con la secuencia escape se introducen más
de 9 caracteres.
\0, con lo que el array nombre tiene reservados 14 caracteres y \0.
Fig. 20
Podemos inicializar una cadena de una forma rápida sin indicar su ta-
maño. Por ejemplo:
gets(nombre_array_caracteres);
• strcat(cadena_dest, cadena orig) une la cadena de origen a la de destino, siempre y cuando esta última tenga espacio suficiente.
• strcmp(cadena1,cdena2) compara la cadena 1 con la cadena 2 carácter a carácter. Devuelve 0 si son iguales y un número negativo o
positivo en función del primer carácter distinto.
• strcopy(cadena_dest, cadena_orig) copia la cadena de origen en la de destino, sustituyendo los caracteres que esta última pudiera
tener.
Fig. 22