Lenguaje c
Grupo de Sistemas Operativos DISCA-DSIC UPV
Curso 2002 / 2003
1
Introducción
El lenguaje de programación C
– – – – –
Lenguaje de alto nivel de propósito general. Sintaxis sumamente compacta Alta portabilidad. (independencia del hardware subyacente) Muy buenas facilidades para acceso a bajo nivel. Gran parte de la funcionalidad se implementa enbibliotecas externas • E/S • Gestión de tiras de caracteres • Asignación de memoria • Etc.
Curso 2002 / 2003
2
Ejemplo 1: Estructura de un programa
Inclusión de bibliotecas, declaraciones de variables y tipos, y secuencia de funciones • Una y sólo una función denominada main (programa principal) • Función.- tipoRetorno Nombre (parametros) {sentencias}
•
/* ejemplo 1.- Escribe un mensajeen pantalla */ #include /* incluye biblioteca donde se define E/S */ int main( ) { /*Este comentario es ignorado por el compilador y */ /* no genera código */ printf("\nIntroducción a la programación en lenguaje C"); return 0; }
Curso 2002 / 2003 3
Ejemplo 2: Definición de variables
• •
Declaración variable.- tipo Nombre (opcionalmente =valor) Asignación.- variable = expresión
/*ejemplo 2.- multiplica dos números enteros y muestra el resultado por pantalla */ #include int main( ) { int multiplicador; /*defino multiplicador como un entero */ int multiplicando; /*defino multiplicando como un entero */ int res; /*defino resultado como un entero*/ multiplicador =1000; /*les asigno valores*/ multiplicando=2; res=multiplicador*multiplicando; printf("Resultado = %d",res); /*muestroresultado en pantalla*/ return 0; }
Curso 2002 / 2003 4
Ejemplo 3: Definición de variables
/* ejemplo 3.- .- multiplica dos números enteros y muestra el resultado por pantalla utiliza definición múltiple de variables */ #include int main( ) { int multiplicador, multiplicando; /*defino múltiples variables*/ multiplicador =1000; /*les asigno valores*/ multiplicando=2; printf("Resultado = %d",multiplicador*multiplicando); /*muestro el resultado por pantalla*/ return 0; }
Curso 2002 / 2003
5
Tipos de variables
• Variables de tipo entero
TIPO
BYTES
1 1 2 2 2 2 4 4
VALOR MINIMO
VALOR MAXIMO
signed char unsigned char unsigned short unsigned short signed int unsigned int signed long unsigned long
-128 0 -32.768 0 -32.768 0 -2.147.483.648 0
127 255 +32.767+65.535 +32.767 +65.535 +2.147.483.647 +4.294.967.295
Nota: Si se omite el clasificador delante de la variable de tipo entero por defecto se considera “signed”.
Curso 2002 / 2003 6
Tipos de variables
• Tipos de variable de punto flotante
TIPO BYTES VALOR MINIMO VALOR MAXIMO
float
4
3.4E-38
3.4E+38
double
8
1.7E-308
1.7E+308
long double
10
3.4E-49323.4E+4932
Nota: Las variables de punto flotante son siempre con signo.
Curso 2002 / 2003
7
Ejemplo 4: Conversiones de tipo
/* ejemplo 4.- realizamos conversiones de tipos implícitas y explícitas */ #include int main() { double d , e , f = 2.33 ; int i = 6 ; e = f * i ; /* e es un double de valor 13.98*/ printf( "Resultado = %f", e); d = (int) ( f * i ) ; /* d es un double de valor 13.00*/printf( "Resultado = %f", d); d = (int) f * i ; /* f se ha convertido a un entero truncando sus*/ /*decimales, d es un double de valor 13.00*/ printf( "Resultado = %f", d); return 0; }
Curso 2002 / 2003 8
Ejemplo 5: Variable tipo carácter
/* ejemplo 5.- Distintas formas de asignar un carácter a una variable de tipo char */ int main () { char c; c=97; c='a'; c=0x61; c=0141; return 0; } /* elvalor en decimal del código ASCII*/ /* el carácter entre comillas*/ /* el valor en hexadecimal del código ASCII*/ /* el valor en octal del código ASCII*/
Curso 2002 / 2003
9
Secuencias de escape.
– Existe una serie de caracteres no imprimibles que el editor los toma como comandos, por lo que la manera de acceder a ellos es mediante una secuencia de escape.
CODIGO '\n' '\r' '\f '\t'...
Regístrate para leer el documento completo.