[Cursoc] Algunos ejemplos
Magnanego, Nestor
Nestor.Magnanego@nuevobancosuquia.com.ar
Fri, 17 Dec 2004 11:02:08 -0300
Un mail un poco largo, con algunos ejemplos tomados de de aqui y de alla.
Saludos.
Nestor.
PD: Habra más
PD2: Quien tenga ejemplos con que colaborar con la lista, agradecido.
/* ej02.c */
#include <stdio.h>
int main(void)
{
int answer = 42;
printf("Y la respuesta es es: %d\n", answer);
return 0;
}
----------------------------------------------------------------------------
-------------
/*ej03.c */
#include <stdio.h>
#include <math.h>
int main(void)
{
double a, pi;
int b;
a = 500 / 40;
printf("a = %.3f\n", a);
a = 500.0 / 40;
printf("a = %.3f\n", a);
a++;
printf("a now = %.3f\n", a);
b = (int) a;
b ^= 5;
printf("b = %d\n", b);
pi = 4 * atan(1.0);
printf("pi ~= %.10f\n", pi);
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej04.c */
#include <stdio.h>
enum colores {ROJO, NARANJA, AMARILLO, VERDE, AZUL, INDIGO, VIOLETA,
NUMERO_DE_COLORES};
typedef enum colores colores_t;
int main(void)
{
colores_t cielo, bosque;
printf("Son %d colores en el enum\n", NUMERO_DE_COLORES);
cielo = AZUL;
bosque = VERDE;
printf("cielo = %d\n", (int)cielo);
printf("bosque = %d\n", (int)bosque);
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej05.c */
enum marcas {VOLKSWAGEN, FORD, MERCEDES, TOYOTA, PEUGEOT};
enum colores {ROJO, VERDE, AZUL, GRIS, NEGRO, BLANCO};
struct auto {enum marcas marca;
enum colores color;
int usado;
union {unsigned long kilometraje; int meses_garantia;}
infoauto;
unsigned diesel:1, airbag:1, aire_acondicionado:1;
};
int main(void)
{
struct auto miauto = {VOLKSWAGEN, GREY, 1, 50000, 0, 0, 0};
struct auto tuauto;
tuauto.marca = MERCEDES;
tuauto.color = NEGRO;
tuauto.usado = 0;
tuauto.infoauto.meses_garantia = 12;
tuauto.diesel = 1;
tuauto.airbag = 1;
tuauto.aire_acondicionado = 1;
return 0;
}
Este programa no tiene salida por pantalla, pero puedes hacersela si
quieres.
----------------------------------------------------------------------------
-------------------------------------------
/* ej06.c */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int sino;
srand((unsigned)time(NULL));
sino = rand() % 2;
if (sino == 0)
printf("No\n");
else
printf("Si\n");
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej07.c */
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
enum animal {GATO, PERRO, VACA, BURRO, ARAÑA, NUMERO_DE_ANIMALES};
void animalsonido(enum animal animalnro)
{
switch(animalnro)
{
case GATO:
printf("Miau Miau!\n");
break;
case PERRO:
printf("Gua .. Gua..!\n");
break;
case VACA:
printf("Muuu!\n");
break;
default:
printf("Animal que hace sonidos no audibles por
humanos.\n");
break;
}
}
void animalcomida(enum animal animalnro)
{
switch(animalnro)
{
case VACA:
case BURRO:
printf("Comen plantas.\n");
break;
case GATO:
case ARAÑA:
printf("Comen otros animales.\n");
break;
}
}
int main(void)
{
enum animal mianimal, tuanimal;
srand((unsigned)time(NULL));
mianimal = rand() % NUMERO_DE_ANIMALES;
animalsonido(mianimal);
animalcomida(mianimal);
tuanimal = rand() % NUMERO_DE_ANIMALES;
animalsonido(tuanimal);
animalcomida(tuanimal);
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej08.c */
#include <stdio.h>
int main(void)
{
int i;
i = 1;
while (i<4)
{
printf("%d\n",i);
i++;
}
printf("\n");
i = 1;
do
{
printf("%d\n",i);
i++;
}
while (i<4);
printf("\n");
for (i=15; i>=10; i--)
printf("%d\n",i);
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej09.c */
#include <stdio.h>
#include <string.h>
int main(void)
{
char s[20];
strcpy(s, "cadenas");
printf("s = %s\n", s);
printf("s[3] = %c\n", s[3]);
printf("s[7] = %d\n", s[7]);
printf("strlen(s) = %lu\n",( unsigned long)strlen(s));
strcat(s, " explicadas");
printf("ahora s contiene = %s\n", s);
printf("strlen(s) = %lu\n",( unsigned long)strlen(s));
return 0;
}
----------------------------------------------------------------------------
-------------------------------------------
/* ej10.c */
#include <stdio.h>
int main(void)
{
int a[] = {1,2,3,5,7,11,13,17,19};
int *p;
printf("a[4] = %d\n", a[4]);
printf("Direccion del array = %p\n", ( void *)a);
printf("Direccion del elemento nr. 0 del array = %p\n", ( void
*)&a[0]);
printf("Direccion del elemento nr. 4 del array = %p\n", ( void
*)&a[4]);
p = a;
printf("Valor del puntero = %p\n", ( void *)p);
printf("Valor al que apunta el puntero = %d\n", *p);
p += 4;
printf("Nuevo valor del puntero = %p\n", ( void *)p);
printf("Nuevo valor al que apunta el puntero = %d\n", *p);
return 0;
}
----------------------------------------------------------------------------
-------------
/* ej11.c */
#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
printf("Hay %d argumentos de linea de comandos\n", argc);
for (i=0; i < argc; i++)
{
printf("Argumento nro. %d = %s\n", i, argv[i]);
}
return 0;
}