Académique Documents
Professionnel Documents
Culture Documents
Parametro
Funcion
La funcion principal en C se llama main. Todo programa en C debe tener una funcion Llamada main.
d=a*b*c;
printf("a*b*c=%d\n",d); d=a*b+c;
printf("a*b+c=%d\n",d);
d=a+b*c; printf("a+b*c=%d\n",d);
TIPOS DE VARIABLES
8bits. usualmente 16 bits. Punto flotante de precicion sencilla. Punto flotante de precicion doble.
Short.-Modifica un entero, en un compilador con un entero de 32 bits, short int seria de 16. Long.-Modifica un entero, en un compilador con un entero de 16 bits, Long int seria de 32. Signed .- modifica los numeros enteros, produciendo un rango de num. Pos y neg.
Const.- declara una constante, debe ser Inicializada al momento de la declaracion. Volatil.-le indica al compilador no optimizar Ningun codigo que involucre una determinada Variable.
Variables locales.-Estan definidas dentro de una funcion. su clase de almacenamiento es automa tica. -solo existen mientras mientras la funcion se ejecuta. -no son inicializadas al crearce. -usualmente creadas en el stack.
int funcion(void)
{
int var1=9; }
VARIABLES ESTATICAS Son variables que mantendran su valor durate Sucesivas llamadas de funciones. Local Static Global o externas
int funcion(void) { Static int keep=1; Keep=keep+1; }
La primera vez que se ejecuta la funcion keep se coloca 1 En las sucesivas ejecuciones, keep mantendra el valor de La ultima vez que fue ejecutada la funcion.
Variable externa
Static int keep=1; int funcion(void) { Keep=keep+1; }
Puede ser accesada en cualquier parte del archivo Donde fue definida.
Indica que able esta fuera Si en lugar de int able Del archivo file2. Se le hubiera puesto Static int able Solo podria ser llamada en file1.
Ing.Martin Raya IPN ESIME
http://www.prodigyweb.net.mx/microelec tel 5 352-04-71 ing. Martn Raya 9
Operadores aritmeticos Tambien se llaman operadores binarios porque son Usados entre dos expresiones. + * / % Suma Resta Multiplicacion Divicion Modulo Operador unario Se encuentra a la izquierda de un termino si es cambia el signo del termino si es + no afecta al termino.
+-
10
OPERADORES BITWISE & | ^ >> << ~ AND OR INCLUSIVA OR EXLUSIVA CORRIMIENTO A LA DERECHA CORRIMIENTO A LA IZQUIERDA COMPLEMENTO A UNO
11
char r=b10101010; r=r&~7; 0000 0111 7 1111 1 000 ~7 1010 1010 & ______________ 10101000 Los tres bits menos significativos Son forzados a cero.
12
13
14
Operadores de asignacion
e1$=e2
i+=2 x<<=1 n/=10
e1=(e1)$e2
i=i+2 x=x<<1 n=n/10
15
LA EXPRESION CONDICIONAL
If (exp1) exp2; else exp3; (((t)>=0) ? (t): -(t))
16
Funciones Las funciones son el corazon de lenguaje C, una funcion puede tener varios argumentos O ninguno.
17
Una funcion no puede ser definida dentro de Otra funcion. Una funcion solo tiene un punto de entrada, y Regresan una sola variable. El uso de una funcion requiere el uso de una Declaracion llamada funcion prototipo. Funcion prototipo Regreso de la funcion nombre (argumentos);
18
Cuando se pasan argumentos, en realiadad se pasan copias de estos argumentos.usando el Stack. El dato regresado por una funcion siempre sera Convertido al tipo correcto antes de ser Regresado. Si usted quiere cambiar el tipo de regreso se Utiliza el operador cast. Si no se escribe la palabra return en la funcion La funcion prototipo correspondiente debe de Identificarla como tipo void.
19
/*funcion prototipo*/ Void SendCmd(char x) Void LcdInit(void); {++x; Void SendCmd(char); } void main(void) {LcdInit(); } void Lcd_Init() {char datlcd SendCmd(datlcd); }
Ing.Martin Raya IPN ESIME
http://www.prodigyweb.net.mx/microelec tel 5 352-04-71 ing. Martn Raya 20
Definicion de macro.
nombre
codigo
(t)*(t)
cuadrado(t)
Printf(\t%d\t%f\t%f\n,I,c,square(c));
En este caso square(c)=c*c
21
#define abs(t)
ejemplo
Do { } While(abs(c) >=.00000001);
En caulquier momento que la funcion abs es encontrada en el codigo la cadena de caracteres (((x)>=0) ? (x) : -(x)) es colocada en su lugar el argumento en este caso x puede ser cualquier Expresion valida de C.
22
Cuando se se escriba una definicion de macro, rodee todos los argumento y funciones con Parentesis, de lo contrario pasara lo que acontinuacion se muestra.
#define cuadrado(t) t*t suponga que la macros se usa de la siguiente manera x=cuadrado(y+3) La expansion de caracteres resultaria en x=y+3*y+3 /*que por logica no es lo deseado*/
23
Flujo y control de programa La manera en que se controlan los ciclos para Que una determinada secuencia de codigo se ejecute Bajo ciertas condiciones, n veces. While For Do/while If/else If/else/if Breake/continue and goto switch
24
while
Al comienzo de un nuevo ciclo el argumento de while es Verificado y si es verdadero se ejecuta el siguiente enun ciado que sigue a while, si el argumento es falso el sigui_ nte enunciado es saltado, el siguiente enunciado puede Ser un enunciado compuesto { } Int main(void) { int i; while(i!=5) { ++i }
25
for(enunciado1;enunciado2;enunciado3)
El enunciado1 es ejecutado seguido de un standard while, con el enunci Ado2 como su argumento El enunciado 3 es ejecutado al final Del ciclo.
26
For(i=1,guess=5;i!=guess;)
Primer argumento
Segundo argumento
27
Do/while En el while standar el argumento es probado antes de la ejecucion del ciclo. Si el argumento es falso El ciclo nunca se ejecuta. Algunas veces es necesario que el ciclo se ejecute por lo menos una vez independientemente del valor del argumento, en este caso el argumento es probado Al final del ciclo, y esta construccion se llama Do/while Se ejecuta el ciclo que esta Dentro del do y despues se Do evalua la expresion y si es { Verdadera el control se regresa }while(expresion); Al enunciado que sigue a do
Ing.Martin Raya IPN ESIME
http://www.prodigyweb.net.mx/microelec tel 5 352-04-71 ing. Martn Raya 28
Si el argumento de if es verdadero El statement1 es ejecutado y despues el Control del programa es pasado al enunciado que sigue a statement2 y el Statement2 no sera ejecutado. Si la evaluacion del argumento de if es falsa statement2 sera ejecutado y el Enunciado1 no sera ejecutado.
29
Int main(void) {int c,nn,no; no=0; nn=0; while((c=getchar())!=EOF) if(c>=0&&c<=9) Ciclo de while nn++; else no++; printf(Digitos=%d y otros caracteres=%d\n,nn,no); return 0; }
30
Operadores relacionales o logicos. Son operadores binarios,se evaluan de izquierda a derecha, los operados de estos operadores son evalua dos y si el resulatado de la comparacion es correcta Regresan un 1, caso contrario regresan un cero. Falso es siempre cero, verdadero es cualquier otra cosa.
31
If /else if
int main(void) { int na=0,ne=0,ni=0,no=0,nu=0; int nother=0,c; while((c=getchar())!=EOF) if(c==A|| c==a) na=na+1; else if (c==E|| c==e) ne=ne+1; else if (c==I|| c==i) ni=ni+1; else if (c==O|| c==o) no=no+1; else if (c==U|| c==u) no=no+1; else nother=nother+1; Printf(A=%d, E=%d, I=%d,O=%d,U=%d y otros otros=%d\n, na,ne,ni,no,nu,nother); Return 0; }
32
break Cuando un enunciado break es encontrado el programa Sale del ciclo en el cual se estaba ejecutando. Break puede ser usado para salir de enunciados de for, while, do-while y switch continue Causa la siguiente iteracion del ciclo for,while o do while, Para while y do while el argumento de while es probado Inmediatamente, y el programa procede de acuerdo al resultado de la prueba.
33
goto Se puede crear una etiqueta en cualquier lugar, Escribiendo un nombre de etiqueta seguida de un colon Si es necesario el goto<label> puede ser usado
34
switch
While((c=getchar())!=EOF) Switch(c) { case A: casea: na=na+1; break; case E: casee: ne=ne+1; break; case I: casea: ni=ni+1; break; case O: caseo: no=no+1; break; case U: caseu: nu=nu+1; No es necesaria siempre, cuando no se encuentra break; Ningun match se ejecuta la que sigue a default: default: nother=nother+1 }
35