Académique Documents
Professionnel Documents
Culture Documents
Declaracin
int A;
float A;
A = - 3323.57;
char A;
A = 'p';
char A;
A = '1';
int salario;
salario = 30500;
float salario;
salario = 30500;
A = 5 + 2;
int A, B, suma;
B = 32;
suma = A + B; [suma valdr 39]
A = 5;
B = 32;
int A, B, C, D, E;
int agotamiento;
int A;
A = 7 * B;
int A, B;
A = 7 * B;
dar lugar a un error o resultado incierto debido a que B no est declarada en el primer caso,
o a que la variable B no est inicializada en el segundo (no tiene un valor definido y el
compilador no sabe qu valor asignarle).
En cambio:
int A, B=0;
A = 7 * B;
Supone que A valga cero, ya que B tiene asignado valor cero y 7 * B equivale en este caso a
7 * 0.
Vamos a crear un programa que declare una variable tipo int llamada edad y nos muestre un
texto en pantalla. Para ello escribiremos el siguiente cdigo:
#include
#include
<stdio.h>
<stdlib.h>
int
main()
int
edad=54;
printf
("La
edad
es
%d
aos\n",
printf
("Gracias
por
utilizar
este
programa
del
aprenderaprogramar.com");
return
}
{
edad;
edad);
curso
0;
Explicaremos ahora las partes de las que consta el programa anterior y el resultado de su
ejecucin. En primer lugar, analicemos las lneas que componen el programa:
1. #include <stdio.h>
2. #include <stdlib.h>
Estas dos primeras lneas se ocupan de decirle al compilador que vamos a usar ciertas
instrucciones cuyo funcionamiento est definido en archivos externos a nuestro programa.
Estos
archivos
externos
denominadirectiva
del
son
studio.h
preprocesador y
stdlib.h.
los
La
palabra
archivos
clave
stdio.h
#include
se
stdlib.h
se
denominan archivos de cabecera del programa. En un programa podemos tener uno, dos
ms archivos de cabecera. En nuestro caso estamos incluyendo dos porque son los que
incluye Code::Blocks cuando genera el programa bsico de ejemplo.
Dichos archivos se encuentran en tu ordenador, por ejemplo el archivo stdio.h se encontrar
en una ruta que ser similar a C:\MinGW\lib\gcc\mingw32\4.7.2\include\ssp\stdio.h.
Al incluir estas lneas, estamos declarando que vamos a utilizar (o al menos que queremos
tener a nuestra disposicin) aquellas funciones del lenguaje que estn disponibles en estos
archivos externos. Prueba a eliminar estas lnea y trata de ejecutar el programa. Obtendrs
un mensaje de error. Por qu? Porque ests tratando de usar alguna instruccin (como
printf) que no est disponible porque no has incorporado los include que permiten hacer uso
de ella.
Por qu se obliga en C a aadir archivos de cabecera incluso para funciones bsicas del
lenguaje? Posiblemente porque cuando se cre C se hizo teniendo muy en cuenta la
eficiencia y el evitar sobrecargar el computador ocupando memoria intilmente. Imagnate
que eres el cliente de un restaurante (el cliente del compilador) y que vas a pedir un men.
El dueo del restaurante no prepara todos los platos posibles y los pone a tu disposicin, sino
que espera a que t le digas los platos que deseas y son nicamente esos los que prepara.
De esta forma ahorra espacio y esfuerzo. En nuestro caso, en lugar de cargar en memoria y
poner a tu disposicin todas las posibles funciones del lenguaje, el compilador slo carga y
pone a disposicin aquellas funciones que declaramos que vamos a usar. De este modo se
gana en eficiencia.
3. int main () { }Las instrucciones que se encuentran dentro de las llaves del int main ()
{ } se suelen denominar coloquialmente programa principal o instrucciones de la
funcin principal. Podramos decir que un programa en C consta de al menos una funcin (la
funcin principal), pero puede tener muchas ms funciones como veremos ms adelante.
contenido de la variable edad por pantalla. Aqu aparecen algunos elementos extraos
como %d y \n cuyo significado explicaremos ms adelante.
5.
printf
("Gracias
por
utilizar
este
programa
del
curso
return 0; Esta instruccin la veremos de momento como una formalidad. Hemos dicho
que el cdigo dentro de los corchetes del int main se denomina funcin principal y
formalmente una funcin debe devolver algo, en este caso un nmero entero. Para cumplir
con este requisito escribiremos return 0; aunque tambin podramos escribir return 1;
return 321; si quisiramos, sin que en este caso el resultado del programa se viera afectado.
La sentencia return indica que el programa ha finalizado.
Ejecuta el programa pulsando el icono Build and Run o eligiendo la opcin del men Build.
Tambin puedes hacerlo pulsando la tecla F9 (atajo para compilar y ejecutar el programa).
El resultado de ejecutar este programa ser similar a:
La edad es 54 aos
Gracias por utilizar este
programa
ms adelante cmo se puede solucionar para visualizar algunos caracteres especiales para C
como la .
Para cerrar la ventana de consola donde se muestra la ejecucin del programa haz click
sobre el aspa de cierre de la ventana o pulsa una tecla.
Prueba a introducir otras variables de tipo numrico y a dar lugar a que se muestren sus
contenidos sobre la ventana de consola. Juega con los nombres de las variables, sus
contenidos y la asignacin de contenidos. De momento juega con variables tipo int y valores
enteros, y procede a visualizar un mensaje sobre estas variables por pantalla. Ms adelante
veremos cmo usar otros tipos de variables.
Tambin puede resultar de inters que compruebes qu ocurre si declaras una variable de un
tipo y le asignas contenido de otro tipo.
Por ejemplo declara int salario; y asgnale el contenido salario = 655.34 y prueba a mostrarlo
en pantalla. Ten en cuenta que en general en programacin no se considera equivalente
655,34 (con coma como separador decimal) con 655.34 (con punto como separador decimal).
Por tanto habremos de prestar atencin al smbolo que usemos como separador decimal
cuando debamos usarlo.
Qu ocurre cuando incumplimos las previsiones del compilador para asignar contenidos a variables (por
ejemplo, para una variable A tipo int definir A = 53200000000, que est fuera del rango previsto)? No vamos a analizar los distintos
casos que se pueden presentar, sino a tratar de dar una respuesta genrica. Cuando hacemos algo no esperado, como asignar un valor
fuera de rango, asignar un valor que no concuerda con el tipo de la variable, sumar variables numricas con alfanumricas, asignar
decimales a un nmero entero..., etc. pueden suceder varias cosas:
Salta un error. Un mensaje impide que el programa comience a ejecutarse, o bien el programa
se detiene mientras se est ejecutando.
El programa se ejecuta pero los resultados no son los deseados.
El programa se ejecuta y los resultados son los deseados.
En resumen, es difcil prever lo que va a suceder, aunque se pueden estudiar y manejar las
circunstancias. Por ejemplo una variable que se declare como tipo int pero a la que se asigna un
contenido numrico real con dos decimales no da lugar a un error, pero s a una prdida de
EJERCICIO
Crea un programa en C que paso a paso contenga lo siguiente:
a) Los include que ya conocemos.
b) El int main de la misma forma que hemos visto.
c) Declarar una variable de tipo decimal doble denominada precio e inicializarla con un valor
de 100.
d) Declarar una variable de tipo decimal doble e inicializarla con un valor del 4 por ciento
(0.04).
e) Declarar una variable de nombre precioConImpuestos y asignarle como valor el resultado
de multiplicar el contenido de la variable precio por la variable impuesto.
f) Mostrar un mensaje por pantalla que diga cul es el precio con impuestos, utilizando la
sintaxis que hemos visto.
Cul es el resultado que se obtiene si en lugar de precio 100 usamos un valor de precio
igual a 58.34?
Para
comprobar
si
tus
aprenderaprogramar.com.
respuestas
son
correctas
puedes
consultar
en
los
foros
Para acceder a la informacin general sobre este curso y al listado completo de entregas
pulsa en este link: Ver curso completo.
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a
cualquier persona independientemente de su nivel de conocimiento.
Bajar archivo...
Archivo
CU00511F ejemplos lenguaje c declarar variables programa
basico.pdf
< Anterior
Formato pdf
85 Kb
2296
Prximo >
getch();
return 0;
}
Realice un programa en C:
1.
2.
3.
switch(i){
case 1:
printf ("Lunes\n");
break;
case 2:
printf ("Martes\n");
break;
case 3:
printf ("Mircoles\n");
break;
case 4:
printf ("Jueves\n");
break;
case 5:
printf ("Viernes\n");
break;
case 6:
printf ("Sbado\n");
break;
case 7:
printf ("Domingo\n");
break;
default:
printf ("Opcin no vlida\n");
break;
}
system("PAUSE");
return 0;
}
4.
case 9:
printf ("Septiembre\n");
break;
case 10:
printf ("Octubre\n");
break;
case 11:
printf ("Noviembre\n");
break;
case 12:
printf ("Diciembre\n");
break;
default:
printf ("Opcin no vlida\n");
break;
}
system("PAUSE");
return 0;
}
5.
}
}
else if (num3<num1 && num3<num2)
{
if (num1<num2)
{
printf("%d",num3);
printf("%d",num1);
printf("%d",num2);
}
else
{
printf("%d",num3);
printf("%d",num2);
printf("%d",num1);
}
}
system("PAUSE");
return 0;
}
6.
printf("%d",num1);
}
}
else if (num3>num1 && num3>num2)
{
if (num1>num2)
{
printf("%d",num3);
printf("%d",num1);
printf("%d",num2);
}
else
{
printf("%d",num3);
printf("%d",num2);
printf("%d",num1);
}
}
system("PAUSE");
return 0;
}
7.
Que pida 3 nmeros y los muestre en pantalla de mayor a menor en lneas distintas. En caso de
haber nmeros iguales se pintan en la misma lnea.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1>num2 && num1>num3)
{
if (num2>num3)
{
printf("%d\n",num1);
printf("%d\n",num2);
printf("%d\n",num3);
}
else if (num3>num2)
{
printf("%d\n",num1);
printf("%d\n",num3);
printf("%d\n",num2);
}
else
{
printf("%d\n",num1);
printf("%d",num3);
printf("%d\n",num2);
}
}
else if (num2>num1 && num2>num3)
{
if (num1>num3)
{
printf("%d\n",num2);
printf("%d\n",num1);
printf("%d\n",num3);
}
else if (num3>num1)
{
printf("%d\n",num2);
printf("%d\n",num3);
printf("%d\n",num1);
}
else
{
printf("%d\n",num2);
printf("%d",num3);
printf("%d\n",num1);
}
}
else if (num3>num1 && num3>num2)
{
if (num1>num2)
{
printf("%d\n",num3);
printf("%d\n",num1);
printf("%d\n",num2);
}
else if (num2>num1)
{
printf("%d\n",num3);
printf("%d\n",num2);
printf("%d\n",num1);
}
else
{
printf("%d\n",num3);
printf("%d",num2);
printf("%d\n",num1);
}
}
else
{
printf("%d",num1);
printf("%d",num2);
printf("%d",num3);
}
system("PAUSE");
return 0;
}
8.
else
{
printf("Es cero\n");
}
system("PAUSE");
return 0;
}
9.
scanf("%c",&c);
switch (c)
{
case 'a':
printf ("Es vocal\n");
break;
case 'e':
printf ("Es vocal\n");
break;
case 'i':
printf ("Es vocal\n");
break;
case 'o':
printf ("Es vocal\n");
break;
case 'u':
printf ("Es vocal\n");
break;
default:
printf ("No es vocal\n");
break;
}
system("PAUSE");
return 0;
}
12. Que pida tres nmeros y detecte si se han introducido en orden creciente.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1<num2)
{
if (num2<num3)
{
printf("Orden creciente");
}
else
{
printf("No estn introducidos en orden creciente ");
}
}
else
{
printf("No estn introducidos en orden creciente ");
}
system("PAUSE");
return 0;
}
13. Que pida tres nmeros y detecte si se han introducido en orden decreciente.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1>num2)
{
if (num2>num3)
{
printf("Orden decreciente");
}
else
{
printf("No estn introducidos en orden decreciente ");
}
}
else
{
printf("No estn introducidos en orden decreciente ");
}
system("PAUSE");
return 0;
}
14. Que pida 10 nmeros y diga cul es el mayor y cual el menor.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3,num4,num5,num6,num7,num8,num9,num10,mayor,menor;
mayor=0;
menor=10;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
if (num1>mayor)
{
mayor=num1;
}
else if (num1<menor)
{
menor=num1;
}
printf("Introduzca nmero 2:");
scanf("%d",&num2);
if (num2>mayor)
{
mayor=num2;
}
else if (num2<menor)
{
menor=num2;
}
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num3>mayor)
{
mayor=num3;
}
else if (num3<menor)
{
menor=num3;
}
printf("Introduzca nmero 4:");
scanf("%d",&num4);
if (num4>mayor)
{
mayor=num4;
}
else if (num4<menor)
{
menor=num4;
}
printf("Introduzca nmero 5:");
scanf("%d",&num5);
if (num5>mayor)
{
mayor=num5;
}
else if (num5<menor)
{
menor=num5;
}
printf("Introduzca nmero 6:");
scanf("%d",&num6);
if (num6>mayor)
{
mayor=num6;
}
else if (num6<menor)
{
menor=num6;
}
printf("Introduzca nmero 7:");
scanf("%d",&num7);
if (num7>mayor)
{
mayor=num7;
}
else if (num7<menor)
{
menor=num7;
}
printf("Introduzca nmero 8:");
scanf("%d",&num8);
if (num8>mayor)
{
mayor=num8;
}
else if (num8<menor)
{
menor=num8;
}
printf("Introduzca nmero 9:");
scanf("%d",&num9);
if (num9>mayor)
{
mayor=num9;
}
else if (num9<menor)
{
menor=num9;
}
printf("Introduzca nmero 10:");
scanf("%d",&num10);
if (num10>mayor)
{
mayor=num10;
}
else if (num10<menor)
{
menor=num10;
}
printf("El mayor es:%d\n",mayor);
printf("El menor es:%d\n",menor);
system("PAUSE");
return 0;
}
15. Que pida tres nmeros e indicar si el tercero es igual a la suma del primero y el segundo.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1+num2==num3)
{
printf("El tercer nmero es la suma de los dos primeros.\n");
}
else
{
printf("El tercer nmero NO es la suma de los dos primeros.\n");
}
system("PAUSE");
return 0;
}
16. Que muestre un men que contemple las opciones Archivo, Buscar y Salir, en caso de que
no se introduzca una opcin correcta se notificar por pantalla.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int opcion;
printf("Seleccione opcin:\n");
printf("1 - Archivo\n");
printf("2 - Buscar\n");
printf("3 - Salir\n");
scanf("%d",&opcion);
if (opcion!=1 && opcion!=2 && opcion!=3)
{
printf("La opcin NO es correcta.\n");
}
else
{
printf("La opcin es correcta.\n");
}
system("PAUSE");
return 0;
}
17. Que tome dos nmeros del 1 al 5 y diga si ambos son primos.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2;
printf("Introduzca nmero del 1 al 5:");
scanf("%d",&num1);
printf("Introduzca nmero del 1 al 5:");
scanf("%d",&num2);
if (num1!=4 && num2!=4) {
printf("Ambos son primos.\n");
}
else
{
printf("Los nmeros, o uno de ellos, no son primos.\n");
}
system("PAUSE");
return 0;
}
18. Que tome dos nmeros y diga si ambos son pares o impares.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2;
printf("Introduzca primer nmero:");
scanf("%d",&num1);
printf("Introduzca segundo nmero:");
scanf("%d",&num2);
if (num1%2==0 && num2%2==0) {
printf("Ambos son pares.\n");
}
else
{
printf("Los nmeros, o uno de ellos, no son pares.\n");
}
system("PAUSE");
return 0;
}
19. Que tome tres nmeros y diga si la multiplicacin de los dos primeros es igual al tercero.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1*num2==num3)
{
printf("El tercer nmero es la multiplicacin de los dos primeros.\n");
}
else
{
printf("El tercer nmero NO es la multiplicacin de los dos primeros.\n");
}
system("PAUSE");
return 0;
}
20. Que tome tres nmeros y diga si el tercero es el resto de la divisin de los dos primeros.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int num1,num2,num3;
printf("Introduzca nmero 1:");
scanf("%d",&num1);
printf("Introduzca nmero 2:");
scanf("%d",&num2);
printf("Introduzca nmero 3:");
scanf("%d",&num3);
if (num1%num2==num3)
{
printf("El tercer nmero es el resto de la divisin de los dos primeros.\n");
}
else
{
printf("El tercer nmero NO es el resto de la divisin de los dos primeros.\n");
}
system("PAUSE");
return 0;
}
21. Que muestre un men donde las opciones sean Equiltero, Issceles y Escaleno, pida una
opcin y calcule el permetro del tringulo seleccionado.
Sirva de aclaracin que el permetro de un tringulo es siempre la suma de sus lados, pero he preferido
hacerlo as para ver las tres formas diferentes de calcularlo.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int lado, base, opcion;
printf("Introduzca lado del tringulo:");
scanf("%d",&lado);
printf("Introduzca base del tringulo:");
scanf("%d",&base);
printf("Seleccione opcin:\n");
printf("1 - Equiltero\n");
printf("2 - Issceles\n");
printf("3 - Escaleno\n");
scanf("%d",&opcion);
switch (opcion)
{
case 1:
printf("El permetro es:%d\n",3*lado);
break;
case 2:
printf("El permetro es:%d\n",(2*lado)+base);
break;
case 3:
printf("El permetro es:%d\n",lado + lado + lado);
break;
default:
printf("Opcin no vlida.");
break;
}
system("PAUSE");
return 0;
}
22. Que pase de Kg a otra unidad de medida de masa, mostrar en pantalla un men con las opciones
posibles.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int peso;
printf("Introduzca peso en kilogramos:");
scanf("%d",&peso);
printf("Seleccione opcin:\n");
printf("1 - Hectogramos\n");
printf("2 - Decagramos\n");
printf("3 - Gramos\n");
printf("4 - Decigramos\n");
printf("5 - Centigramos\n");
printf("6 - Miligramos\n");
scanf("%d",&opcion);
switch (opcion)
{
case 1:
printf("El peso es:%d\n",peso/10);
break;
case 2:
printf("El peso es:%d\n",peso/100);
break;
case 3:
printf("El peso es:%d\n",peso/1000);
break;
case 4:
printf("El peso es:%d\n",peso/10000);
break;
case 5:
printf("El peso es:%d\n",peso/100000);
break;
case 6:
printf("El peso es:%d\n",peso/1000000);
break;
default:
printf("Opcin no vlida.");
break;
}
system("PAUSE");
return 0;
}
23. Que lea un importe bruto y calcule su importe neto, si es mayor de 15.000 se le aplicar un 16% de
impuestos, en caso contrario se le aplicar un 10%.
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
float importe, deduccion;
printf("Introduzca Importe:");
scanf("%f",&importe);
if (importe>15000)
{
deduccion=importe*0.16;
}
else
{
deduccion=importe*0.1;
}
int main(void)
{
float importe, aumento;
int antiguedad;
importe=40000;
printf("Introduzca la antigedad del trabajador:");
scanf("%d",&antiguedad);
if (antiguedad>=10)
{
aumento=importe*0.1;
}
else if (antiguedad<10 && antiguedad>=5)
{
aumento=importe*0.07;
}
else if (antiguedad<5 && antiguedad>=3)
{
aumento=importe*0.05;
}
else
{
aumento=importe*0.03;
}
printf("El sueldo que le corresponde al trabajador es de %f euros\n",importe+aumento);
system("PAUSE");
return 0;
}
Qu os parecen los ejercicios?
Enviar por correo electrnicoEscribe un blogCompartir con TwitterCompartir con Facebook