Vous êtes sur la page 1sur 53

TIPO DE DATOS

TIPO
int
char
float

DESCRIPCIN

Entero
Carcter
Nmero de punto flotante (nmero que
incluye punto decimal y/o exponente)
doubl Nmero de punto flotante de doble
e
precisin (ms cifras significativas y
mayor valor posible del exponente)

MEMORIA
2 bytes
1 byte
1 palabra (4
bytes)
2 palabras (8
bytes)

Algunos tipos bsicos de datos se pueden ampliar usando los


cualificadores de tipos de datos short (corto), long (largo), signed
(con signo), unsigned (sin signo)
Un unsigned int ocupa la misma memoria que un int con la
diferencia que en un int, el bit ms a la izquierda se reserva para
el signo. En un unsigned int, todos los bits se utilizan para
representar el valor numrico. Por ejemplo un int puede variar de
-32 768 a 32 767, en cambio un unsigned int varia de 0 a 65 535
Un dato tipo char puede tomar valores de 0 a 255 y signed char de
-128 a 127

CONSTANTES ENTERAS
Una constante entera decimal puede ser cualquier combinacin
dgitos tomados del conjunto de 0 a9. Si la constante tiene dos
o ms dgitos, el primero de ellos debe ser distinto de 0
Ejemplo:
0 1
743
5280
32767
9999
Los siguientes ejemplos son incorrectos:
12,245
carcter ilegal (,)
36.0
carcter ilegal (.)
10 230
carcter ilegal (espacio en blanco)
123-45-6789
carcter ilegal (-)
0900
El primer dgito no puede ser cero
Una constante entera octal puede estar formada por cualquier
combinacin de dgitos tomados del conjunto de 0 a 7. el
primer dgito deber ser obligatoriamente 0, con el fin de
identificar la constante como un nmero octal.
Ejemplo
0
01
0743 077777

Una constante entera hexadecimal debe comenzar por 0x 0X.


Puede aparecer despus cualquier combinacin de dgitos tomados
del conjunto de 0 a 9 y de a a f (tanto minsculas como
maysculas).
Ejemplo:
0x
0X1
0X7FFF
0Xabcd
Constantes de punto flotante
Es un nmero en base 10 que contiene un punto decimal o un
exponente (o ambos)
Ejemplo:
0.
1.
0.2
827.602
5000.
0.000743
12.3
315.0066
2e-8
0.006e-3
1.6667E+8
.12121212e12
Constantes de carcter
Es un solo carcter encerrado con comillas simples
Ejemplo:
A
x
3

Secuencias de escape
Una secuencia de escape siempre comienza con una barra \ y es
seguida por uno o ms caracteres especiales.
Caracter
sonido (bell)
backspace
tab horizontal
tab vertical
nueva lnea
form feed
retorno de carro
comillas ()
apstrofo ()
signo interrogacin (?)
backslash (\)
nulo

Secuencia de
escape

Valor ASCII

\a
\b
\t
\v
\n
\f
\r
\
\
\?
\\
\0

007
008
009
011
010
012
013
034
039
063
092
000

Constantes de cadena de caracteres


Una constante de cadena de caracteres consta de cualquier
nLmero de caracteres consecutivos (o ninguno) encerrados entre
comillas ()
Ejemplos:
verde
Washington, D. C. 200005270-32-3456
$19.95
LA RESPUESTA CORRECTA ES: 2*(I+3)/J

Linea 1\nLinea 2\nLinea 3


VARIABLES Y ARRAYS
Una variable es un identificador que se utiliza para representar
cierto tipo de informacin dentro de una determinada parte del
programa. En su forma ms sencilla, una variable contendr un
dato simple, esto es, una cantidad numrica o una constante de
carcter. En algn punto del programa se le asiginar a la variable
un determinado valor. Este valor se puede recuperar despus en el
programa con simplemente hacer referencia al nombre de la
variable.
A una variable se le pueden asignar diferentes valores en distintas
partes del programa, de esta forma la informacin representada por
la variable puede cambiar durante la ejecucin del programa. Sin

Ejemplo:
int a, b, c;
char d;
.
.
.
a = 3;
b = 5;
c = a + b;
d = a;
.
.
.
a = 4;
b = 2;
c = a - b;
d = W;
.

Conversiones explcita de tipos utilizando el


operador de conversin de tipos (cast)
Siempre que se quiera modificar, de forma temporal, el formato
de una variable, simplemente se coloca delante del identificador
de la variable el tipo, entre parntesis, al que desea convertir el
citado identificador.
int valor1, valor2;
float resultado;
valor1 = 7;
valor2 = 3;
resultado = valor1/valor2;
resultado= (float) valor1/valor2

// resultado = 2
// resultado = 2.333333

OPERADORES
Incremento y decremento
Colocando el operador incremento (++) se aumenta en 1 al valor
que tiene almacenado la variable a la cual se aplica este operador.
En forma similar si se coloca el operadar decremento (--) se
disminuye en 1 al valor de la variable
Este operador se puede colocar antes o despus de la variable. En
una expresin simmple no se nota la diferencia, pero en una
expresin compleja, s se nota.
Cuando este operador es colocado despus de la variable, en la
expresin, primero se usa el valor de la variable y luego se
incrementa en 1 a la variable; en cambio, cuando es colocado a la
izquierda de la variable, primero se incrementa el valor de la variable
en 1 y luego el nuevo valor se usa en la expresin.
Ejemplo:
int i=3, j k=0;
k= ++i;
// i=4, k=4
k = i ++; // i=4, k=3
k= --i;
// i=2, k=2
k= i--;
// i=2, k=3
i=j=k-// i=0, j=0, k=-1

OPERADORES ARITMTICOS
El lenguaje C, incorpora el conjunto, estndar de operadores aritmticos
para la suma

(+), resta (-), multiplicacin (*), divisin (/) y mdulo (%)


Ejemplo 1.- Supongamos a = 10 y b = 3 entonces:
Expresin
Valor
a+b
ab
a*b
a/b
a%b

13
7
30
3
1

Ejemplo 2.- Supongamos


2.0 entonces
Expresin v1 = 12.5 y v2 =Valor
v1 + v2
v1 v2
v1 * v2
v1 / v2

14.5
10.5
25.0
6.25

OPERADOR DE ASIGNACIN
La asignacin se realiza mediante un operador de
asignacin (=). Se puede utilizar una expresin con un
operador de asignacin en una expresin ms
compleja, como puede ser:
valor1 = 8 * (valor2 = 5);
valor1 = valor2 = valor3 = 0;

OPERADORES DE ASIGNACIN COMPUESTA


Permiten expresar, de forma ms concisa, ciertos clculos.

a = a + 5 -----
b = b - c -----
d = d*6 ----
e = e/f ---- >

a+= 5
b-= c
d*=6
e/= f

Operadores relacionales

Operador
==
!=
>
<
<=
>=

Significado
Igualdad (No asignacin)
Desigualdad
Mayor que
Menor que
Menor o igual que
Mayor o igual que

Ejemplo.- Supongamos i = 1, j = 2 y k = 3

Expresin
i<j
(i + j) >= k
(j + k) > (i +
5)
k != 3
j == 2

Interpretaci
n

Valor

cierto
cierto
falso
falso
cierto

1
1
0
0
1

Operadores lgicos
Operador
!
&&
||

Significado
NOT
AND
OR

Ejemplo.- i = 7, f = 5.5, c = w
Expresin

Interpreta
cin

Valor

(i >= 6) && (c ==
w)
(i >= 6) || (c ==
119)
(f < 11) && (i > 100)
(c != p) || ((i + f)
<= 10)
! (i > (f + 1))

cierto
cierto
falso
(cierto
falso

1
1
0
1
0

int main( )
{
float foperando1, foperando2;
printf( \nIntroduzca operando1 y operando2: );
scanf(%f%f, &foperando1, &foperando2);
printf(\n operando1 > operando2 es %d,
(foperando1>foperando2));
printf (\n operando1 < operando2 es %d,
(foperando1<foperando2));
printf (\n operando1 >= operando2 es %d,
(foperando1>=foperando2));
printf (\n operando1 <= operando2 es %d,
(foperando1<=foperando2));
printf (\n operando1 == operando2 es %d,
(foperando1==foperando2));
printf (\n operando1 != operando2 es %d, (foperando1!
=foperando2));
printf (\n operando1 && operando2 es %d,

Operador condicional
Syntaxis:
condicin ? expresion_caso_verdadero :
expresion_caso_falso
if (A <= c && c <= Z)
printf (%c, a + c A);
else
printf(%c, c);

printf(%c, (A <= c && c <= Z) ? (a + c A) : c);

Operador coma
Evala dos expresiones donde la sintaxis permite slo una, el
valor del operador coma es el valor de la expresin que aparece
a la derecha del operador. El formato de la expresin es:
expresin_izquierda , expresin_derecha
Normalmente, el operador coma se utiliza en los bucles for en
que se itera ms de una variable. Por ejemplo:
for (min=0, max=longitud-1; min < max; min++, maxx--) {
.
.
.
}

Entrada Salida
#include "stdio.h
int _tmain(int argc, _TCHAR* argv[])
{
char c
= 'A',
ptam1[] = "Quien a buen rbol se arrima ",
ptam2[] = "buena sombra le cobija.";
int iln
= 0,
ivalor
= 1234;
double dpi
= 3.14159265;
printf("\n[%2d] %c", ++iln, c); //imprime c
printf("\n[%2d] %d", ++iln, c); //imprime el codigo ASCII de c
printf("\n[%2d] %c", ++iln, c); //ancho minimo 1
printf("\n[%2d] %5c", ++iln, c); //ancho minimo 5, justificado a la
derecha
printf("\n[%2d] %-5c", ++iln, c); //ancho minimo 5, justificado a la
izquierda
printf("\n[%d] %s", ++iln,ptam1); //29 caracteres no nulos,
automaticamente
printf("\n[%d] %s", ++iln,ptam2); //23 caracteres no nulos,
automaticamente

printf("\n[%d] %-34s", ++iln,ptam1); //ancho min. 34, justificado a


la izquierda
printf("\n[%d] %d", ++iln,ivalor); //ancho de ivalor por omision, 4
printf("\n[%d] %+d", ++iln,ivalor); //imprime ivalor con el signo +
printf("\n[%d] %3d", ++iln,ivalor); //ancho min. 3, automaticamente 4
printf("\n[%d] %10d", ++iln,ivalor); //ancho min. 10, justificado a la
derecha
printf("\n[%d] %-10d", ++iln,ivalor); //ancho min. 10, justificado a la
izquierda
printf("\n[%d] %010d", ++iln,ivalor); //justificado a la derecha,
completado con ceros
printf("\n[%d] %f", ++iln,dpi); //utiliza el numero de digitos por omision
printf("\n[%d] %20f", ++iln,dpi); //ancho min. 20, justificado a la derecha
printf("\n[%d] %020f", ++iln,dpi); //justificado a la derecha, completado
con ceros
printf("\n[%d] %-20f", ++iln,dpi); //ancho min. 20, justificado a la
izquierda
printf("\n[%d] %.2s", ++iln,ptam1); //imprimer los 2 primeros caracteres
printf("\n[%d] %19.2s", ++iln,dpi); //imprime 2 caracteres, justificado a la
deracha
printf("\n[%d] %-19.2s", ++iln,dpi); //imprime 2 caracteres, justificado a
la izquierda
printf("\n[%d] %10.8f", ++iln,dpi); //ancho 10, con 8 decimales
printf("\n[%d] %20.2f", ++iln,dpi); //2 decimales y justificado a la

#include "stdafx.h"
#include "iostream.h"
inline long cuadrado(int iValor) {return iValor * iValor;}
int _tmain(int argc, _TCHAR* argv[])
{
int iValor = 5;
cout << cuadrado(iValor)
<< endl;
return 0;
}

Tipo

Biblioteca a
la cual
Sintaxis
pertenece

Descripcin

Ejemplo

1 abs(i)

int

stdlib.h

int abs(int i);

Devuelve el valor
absoluto de i

x = abs(-7) // x es 7

2 acos(d)

double

math.h

double acos(double d);

Devuelve el arco
coseno de d

angulo = acos(0.5); // angulo


devuelto es phi/3

3 asin(d)

double

math.h

double asin(double d);

4 atan(d)

double

math.h

5 atan(d1, d2)

double

math.h

double atan(double d1, double


d2);

stdlib.h

Convierte la cadena
s a una cantidad de
doble precisin.
double atof(const char *cadena)
Requiere el llamdo
de la biblioteca
math.h

Nombre de
#
funcin

6 atof(s)

double

Devuelve el arco
seno de d
Devuelve la arco
tangente de d.
Calcula el arco
double atan(double d);
tangente del
long double tanl(long double d); argumento x.
Requiere el llamado
de la biblioteca
complex.h
Devuelve el arco
tangente de d1/d2

angulo = asin(0.707); //
aproximadamente phi/4

angulo atan(1.0); // angulo es


phi/4

angulo = atan(y, x)

double x;
char *cad_dbl = "200.85"; ...
x=atof(cad_dbl); // convierte la
cadena "200.85" a valor real

atoi(s)

atol(s)

calloc(n, s)

int

long

void(puntero)

int atoi(const char


*cadena)

Convierte la cadena s
int i;
a un entero.
char
La cadena debe tener
*cad_ent="123";
el siguiente formato:
...
[espacio en blanco]
i=atoi(cad_ent);
[signo][ddd] (siendo
//convierte la cadena
obligatorio los digitos
"123" al entero 123
decimales).

stdlib.h

long atol(const char


*cadena);

Convierte la cadena s long int i;


a un entero largo.
char
La cadena debe tener cad_ent="9876543";
el siguiente formato: ...
[espacio en blanco] i=atol(cad_ent);
[signo][ddd] (siendo //convierte la cadena
obligatorio los digitos "9876543" al entero
decimales).
largo

malloc.h y stdlib.h
o bien
alloc.h y
stdlib.h

Reserva memoria
para una formacin
de n elementos , cada
uno de s bytes.
Devuelve un puntero
void *calloc(size_t n, al principio del
size_t s);
espacio reservado.
Si no existente
bastante espacio para
el nuevo bloque o
bien n o s es 0, calloc
devuelve nulo.

stdlib.h

long *buffer
buffer=(long *)
calloc(40,
sizeof(long));

10

11

12

13

ceil(d)

cos(d)

cosh(d)

difftime(11, 12)

double

double

double

double

math.h

Devuelve un valor
double ceil(double redondeado por
redondeo=ceil(5.1);
d);
exceso al siguiente //redondeo es 6
entero mayor

math.h

double cos(double
d);
Devuelve el coseno coseno_x=cos(1.65
complex
de d
43)
cos(complex d);

math.h

double cos(double
d=1.00;
d);
Devuelve el coseno
printf("d=
complex
hiperblico de d
%f.\n\n,d);
cos(complex d);

time.h

double
difftime(time_t
hora2, time_t
hora1)

Devuelve la
diferencia de
tiempo 11(hora2) 12(hora1) , donde
11 y 12 representan
el tiempo
transcurrido
despues de un
tiempo base (ver
funcin time)

time_t inicio, fin;


clrscrl();
inicio=time(NULL)
;
delay(5000)
fin=time(NULL)
print("Diferencia
en segundos:
%f\n",
difftime(inicio,fin))
;

14

exit(u)

void

stdlib.h

void exit(int
estado)

Cierra todos los


archivos y buffers
y termina el
programa. El valor
exit(0);
de u es asignado
por la funcion para
indicar el estado de
terminacin.

15

exp(d)

double

math.h

Eleve e a la
potencia d
double exp(double
(e=2,7182818... es
d);
la base del sistema
complex
de logaritmos
exp(complex d)
naturales
(neperianos))

16

fabs(d)

double

math.h

double fabs(double Devuelve el valor y=fabs(-7.25); // y


d);
absoluto de d
vale 7.25

d=100.00;
y=exp(d);
printf("El
exponencial de x=
%f.\n\n",y);

Inicio
Arcill
a>
30

Si

Si

No

lim
o>
50
No

aren
a<
50

Si
No

No
Si

Lim
o>
50
No
Aren
a
50
Si

Si

Arcill
a>
20

Si

Si
No

lim
o>
50
No
aren
a
50
No
aren
a
80
Si
9

No

1
0

Sentencia WHILE:
La sentencia while (MIENTRAS,en espaol) es una
sentencia usada en los lenguajes de programacin para
repeticiones. Con esta sentencia se evala una condicin y
se repite un determinado proceso hasta que la condicin
deje de ser verdadera.
Estructura:
En lenguaje C++ la sentencia while se aplica se la siguiente
manera:
while(condicin)
{
// proceso
}
En la condicin colocaremos la variable afectada por la
condicin.
El proceso de realizara mientras que la condicin sea
verdadera.

Ejemplo
#include<conio.h>
#include<stdio.h>
int nro;
main()
{
scanf("%d",&nro);
while(nro<0) //Se ejecuta el proceso mientras el
nmero sea menor a 0.
{
printf("El nmero debe ser positivo"); //Corrige al
usuario.
scanf("%d",&nro); //Pide ingresar de
nuevo el nmero.
}
}

Sentencia DO WHILE:
La sentencia Do While (HACER MIENTRAS, en espaol)
funciona igual que el While con una pequea diferencia que
radica en que el While comn, el proceso, a menos que se
cumpla la condicin puede nunca ejecutarse. En el Do While,
en cambio, siempre se ejecutar la primera vez y luego se
seguir repitiendo si se cumple la condicin. (Se ejecuta a una ves)
mientras q el while no se ejecuta
Estructura:
En lenguaje C++ la sentencia do While se aplica de la
siguiente manera:
do
{
// Proceso
}
while(condicin);
El proceso se realizara al menos una vez y luego se
comprobara si la condicin es verdadera, de serlo se repetir

Ejemplo
#include<conio.h>
#include<stdio.h>

int nro;
main()
{
printf("Ingrese 0 para salir del programa");
do
{
scanf("%d",&nro);
printf("\nEl nmero ingresado es:%d",nro);
}
while(nro!=0);
}

Sentencia FOR:
La sentencia for es una sentencia usada en los lenguajes de
programacin para repeticiones. Con esta sentencia se define
una variable numrica y se repite un determinado proceso la
cantidad de veces que se le indica en la declaracin de la
sentencia.
Estructura:
for(definicin de la variable;numero de veces que se repetir el
proceso;suma numrica del contador)
{
// proceso que se repite
}
En la definicin de variable se se coloca la variable que
utilizaremos para la repeticin.
El el numero de veces que se repetir el proceso se coloca la
condicin mediante la cual se repetir el proceso, esta debe de
constar de la variable definida, un operador (>,<,=, etc.) y la
cantidad de veces que se repetir.
En la suma numrica colocaremos la variable definida seguida
de un valor para incrementar esta variable hasta que se cumpla
el numero de veces que se repetir, generalmente se utiliza el

Ejemplo
#include<conio.h>
#include<stdio.h>
int nro,i;
main()
{
for(i=0;i<5;i++)
{
scanf("%d",&nro);
printf("Numero %d: %d",i,nro);
}
}

Sentencia IF:
La sentencia if (SI,en espaol) es una sentencia muy usada
en los lenguajes de programacin. Su funcionamiento es
simple. Se evala una condicin, si es verdadera se ejecuta
un proceso y si es falsa se ejecuta otro.
Estructura:
if(condicin)
{
// proceso 1
}
else
{
// proceso 2
}
El proceso 1 es el que se realiza en caso de que la
condicin sea verdadera. El proceso 2 no es obligatorio, es
decir, puede o no estar, y se ejecuta si la condicin es
falsa.

Ejemplo
#include<conio.h>
#include<stdio.h>
int nro;
main()
{
scanf("%d",&nro);
if(nro>0)
{
printf("El nmero es positivo");
}
else
{
printf("El nmero es negativo");
}
}

SUBPROGRAMAS O FUNCIONES
mein principal) no debe faltar

FUNCIONES DE BIBLIOTECA STANDARD


FUNCIONES DEFINIDAS POR EL USUARIO

Funcin.-

Es un segmento de programa que realiza determinadas


tareas bien definidas.

Funciones definidas por el usuario.-

Son subprogramas que


el usuario define para dividir un programa grande en un cierto nmero
de componentes ms pequeos, cada no de los cuales con un
propsito nico e identificable. Por tanto, un programa en C se
puede realizar mediante el uso inteligente de las funciones

El uso de funciones es necesario cuando:

Se requiere que se acceda repetidamente a un grupo determinado


de instrucciones desde varias partes distintas del programa.
Se requiere transferir un diferente conjunto de datos al grupo de
instrucciones que se ejecuta varias veces.
Se requiere identificar con claridad lgica la descomposicin de un
programa en varias funciones concisas.

Definicin de una funcin


La definicin de una funcin tiene 3 componentes principales:
La primera lnea
La declaracin de parmetros
El cuerpo de la funcin
Primer lnea
tipo nombre(parmetro1, parmetro2, parmetro n)
parmetros formales
Nombre de la funcin
Tipo de dato que
devuelve la
funcin
Declaracin
de parmetros.- Se tiene que declarar los tipos de los
parmetros que deben coincidir con los de los argumentos (los que
se usan en la llamada a la funcin). Los identificadores usados en
los parmetros son locales porque no son reconocidos fuera de la
funcin.
Pout 4,2 = cuatro elevado al 2

Cuerpo de la funcin .- Es una sentencia compuesta que define las


acciones que debe realizar sta. (Va entre llaves)
// convierte_mayuscula_a_minuscula.cpp : Defines the entry point for the
console application.
//
#include "stdafx.h"
#include "stdio.h
#include conio.h
char minuscula(char c)
{
return(('A' <= c && c <= 'Z') ? ('a' + c - 'A') : c);
}
int _tmain(int argc, _TCHAR* argv[])
{
char carmin, carmay, d;
printf("Introducir un caracter en mayuscula. \n");
carmay = getchar( );
carmin = minuscula(carmay);
printf("%c\n",carmin);
d = getch( );
return 0;
}

Recursividad
La recursividad tiene lugar en un programa cuando una funcin se
llama a s misma. Inicialmente, puede parecer un bucle infinito, pero
no es as. Tanto Como C++ admiten la recursividad. Los algoritmo
recursivos permiten resolver problemas de forma creativa, legible y
concisa.
double dfactorial (double drespuesta)
{
if (SI) (drespuesta <= 1.0)
rerturn (1.0)
else (en caso contrario)
return(drespuesta*dfactorial(drespuesta-1.0));
}
main( )
{

double dfactorial (double drespuesta)


{
if (drespuesta <= 1.0)
rerturn (1.0)
else
return(drespuesta*dfactorial(drespuesta-1.0));
}
main( )
{
double dnumero, dresult;
printf(Ingresar nmero:); scanf(%lf, &dnumero);
dresult = dfactorial(dnumero);
printf(El factorial de %15.0lf es: %15.0lf\n, dnumero, dresult);
return (0);
} . argumento tiene valor y tiene q ser del mismo tipo del parmetro

ARRAYS

- Conjunto de datos

Los elementos individuales de datos de un array se denominan elementos


Todos los elementos deben ser del mismo tipo de dato.
Todos los elementos se almacenan en posiciones contiguas de la memoria de
la computadora y el subndice del primer elemento es cero
El nombre de un array es un valor constante que representa la direccin del
primer elemento del array

DECLARACIN DE ARRAYS
int iarray[12]; //un array de 12 enteros
char carray[20]; // un array de 20 caracteres
No se puede usar nombre de variable dentro de los corchetes en la declaracin
de un array. Es mejor usar constantes definidas para especificar el tamao de
los arrays
#define iARRAY_MAX 20 define constantes
#define fARRAY_MAX 15
int iarray[iARRAY_MAX] tamao de array 20
float farray[fARRAY_MAX]

Ejemplo.- Debajo se muestran varias definiciones de arrays que


incluyen la asignacin de valores iniciales:
int digitos[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
float x[6] = {0, 0.25, 0, -0.50, 0, 0}; se llama x de 6 valores
char color[3] = {R, E, D}; va en comillas constantes tipo
carcter
El resultado de estas asignaciones iniciales es como sigue:
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]

=
=
=
=
=
=
=
=
=
=

1
2
3
4
5
6
7
8
9
10

x[0]
x[0]
x[0]
x[0]
x[0]
x[0]

=
=
=
=
=
=

0
0.25
0
-0.50
0
0

color[0] = R
color[0] = E
color[0] = D

Todos los elementos del array que no tienen asignados valores


iniciales explcitos sern puestos automticamente a cero.
Ejemplo:
int digitos[10] = {3, 3, 3};
float x[6] = {-0.3, 0, 0.25};
Los resultados son:
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]

=
=
=
=
=
=
=
=
=
=

3
3
3
0
0
0
0
0
0
0

x[0]
x[0]
x[0]
x[0]
x[0]
x[0]

=
=
=
=
=
=

-0.3
0
0.25
0
0
0

El tamao del array no necesita ser especificado explcitamente


cuando se incluyen los valores iniciales como una parte de la
definicin del array. Con un array numrico, el tamao del array ser
fijado automticamente igual que el nmero de valores incluidos
dentro de la definicin.
Ejemplo
int digitos[] = {1, 2, 3, 4, 5, 6}; entre el corchete va el tamao
float x[] = {0, 0.25, 0, -0.5};
digitos es un array de seis elementos y x un array de cuatro
elementos en punto flotante. Los elementos tendrn asignados los
siguientes valores:
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]
digitos[0]

=
=
=
=
=
=

1
2
3
4
5
6

x[0]
x[0]
x[0]
x[0]

=
=
=
=

0
0.25
0
-0.5

Procesamiento de un Array
Se rrealiza mediante bucles y en cada paso del bucle se procesa un
elemento del array
Ejemplo: Se desea obtener el promedio ponderado de un alumno

Inicio
Pedir
ncurs
os
Para i=1
hasta
ncursos
Pedir
curso(i)
nota(i),
cred(I)
Prox.
i

Sum
acumula

1
Para i=1
hasta
ncursos
SumNxC+=nota(i)*c
red(i)SumaCred+=c
red(i)
Prox.
i
Pp=SumNxC/Suma
Cred
Mostr
ar Pp

Fin

main()
{
char curso[20];
int ncursos, nota[10], cred[10], i, SumNxC, SumCred;
float Pp;
printf(Ingresar numero de cursos: ); scanf(%d,&ncursos);
for(i = 0; i < ncursos; i++) {
printf(Nombre curso: ); scanf(%s,curso);
printf(Nota = ); scanf(%d, &nota[i]);
printf(Crreditos = ); scanf(%d,&cred[i]);
}
for(i = 0; i < ncursos; i++) {
SumNxC += nota[i] * cred[i];
SumCred += cred[i];
}
Pp = (float) SumaNxC/SumCred;
printf(El Prom. Ponderado es %4.2f,Pp);
}

Vous aimerez peut-être aussi