Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Taller de Programacion

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 20

1.

4 Tipos de datos en lenguaje C

En lenguaje C se dice que todos los datos que utilizan los programas son básicos (simples predefinidos o estándares) o
derivados. Los tipos básicos en lenguaje C se clasifican en:

1.4.1 Datos de tipo entero (int)

Un dato de tipo entero (int en lenguaje C ) es aquel que puede tomar por valor un número perteneciente al conjunto de
los números enteros (Z), el cual está formado por los números naturales, su opuestos (números negativos) y el cero.

Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... }

Ejemplo: La edad de una persona y el año en que nació, son dos datos de tipo entero:

   Edad...: 29
   Año....: 1976

Z es un conjunto infinito de números enteros, y como el ordenador no puede representarlos todos, un dato de tipo entero
sólo puede tomar por valor un número perteneciente a un subconjunto de Z. Los valores máximo y mínimo de dicho
subconjunto varían según las características de cada ordenador y del compilador que se utilice.

1.4.2 Datos de tipo real (float o double)

Un dato de tipo real (float o double en lenguaje C) es aquel que puede tomar por valor un número perteneciente al
conjunto de los números reales (R), el cual está formado por los números racionales e irracionales.

Ejemplo: El peso de una persona (en kilogramos) y su altura (en centímetros), son datos que pueden considerarse de tipo
real.

   Peso.....: 75,3
   Altura...: 172,7

R es un conjunto infinito de números reales, y como el ordenador no puede representarlos todos, un dato de tipo real sólo
puede tomar por valor un número perteneciente a un subconjunto de R. Los valores de dicho subconjunto varían según las
características de cada ordenador y del compilador que se utilice.

La diferencia principal entre float y double está en el hecho de que un dato de tipo double puede tomar por valor un
número perteneciente a un subconjunto de R mayor que un dato de tipo float.
1.4.3 Datos de tipo carácter (char)

Un dato de tipo carácter (char en lenguaje C) es aquel que puede tomar por valor un carácter perteneciente al conjunto
de los caracteres que puede representar el ordenador.

En lenguaje C, el valor de un dato de tipo carácter se debe representar entre comillas simples (').

Ejemplo: En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a,
b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carácter.

   Respueta correcta a la pregunta 3...: 'c'

1.4.4 Datos sin valor (void)

Un dato sin valor (void en lenguaje C) es un dato que no puede tomar por valor nigún valor, es decir, es un dato vacío
(nulo). Más adelante estudiaremos su utilidad.

1.4.5 Datos de tipo lógico

En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de los dos siguientes:

{ verdadero, falso }

Los valores verdadero y falso son contrapuestos, de manera que, un dato de tipo lógico siempre está asociado a que algo
se cumpla o no se cumpla.

Ejemplo: El estado de una barrera de paso de trenes es un dato que puede considerarse de tipo lógico, por ejemplo,
asociando verdadero a que esté subida y falso a que esté bajada.

   Estado...: falso (indica que la barrera está bajada)

En lenguaje C no existen datos de tipo lógico (que sí existen en otros lenguajes de programación). Ahora bien, se pueden
simular con datos de tipo entero, considerándose el valor cero (0) como falso, y cualquier otro valor entero como
verdadero (para ello, generalmente, se emplea el valor uno (1)).

1.4.6 Datos de tipo cadena

De todos los tipos de datos que no son básicos se dice que son derivados, ya que, están basados en alguno que sí lo es. Por
ejemplo, los datos de tipo cadena son aquellos que pueden tomar por valor una secuencia de caracteres.

En lenguaje C, el valor de un dato de tipo cadena se debe representar entre comillas dobles (").

Ejemplo: El título de un libro y el nombre de su autor, son datos de tipo cadena.

   Título...: "La Odisea" (cadena de 9 caracteres)


   Autor....: "Homero" (cadena de 6 caracteres)

Obsérvese que, en la cadena "La Odisea", el carácter espacio en blanco también se cuenta.
TIPOS

Cuando en C, se dice que un objeto es de un tipo, se quiere decir que ese objeto pertenece a un conjunto específico de
valores con los cuales se pueden realizar un conjunto de operaciones también determinadas.

Existen cinco tipos básicos: carácter, entero, coma flotante, coma flotante de doble precisión y void.

Los demás tipos se basan en alguno de estos tipos básicos. El tamaño y el rango de estos tipos de datos varían con cada
tipo de procesador y con la implementación del compilador de C.

El tipo void, o bien declara explícitamente una función como que no devuelve valor alguno, o bien crea punteros
genéricos.

La siguiente tabla muestra todas las combinaciones que se ajustan al estándar ANSI junto con sus rangos mínimos y
longitudes aproximadas en bits.

Tipo: Tamaño en bits Rango


char: 8 -127 a 127
unsigned char: 8 0 a 255
signed char: 8 -127 a 127
int: 16 -32767 a 32767
unsigned int: 16 0 a 65535
signed int: 16 -32767 a 32767
short int: 16 -32767 a 32767
unsigned short int: 16 0 a 65535
signed short int: 16 -32767 a 32767
long int: 32 -2147483647 a 2147483647
signed long int: 32 -2147483647 a 2147483647
unsigned long int: 32 0 a 4294967295
float: 32 seis dígitos de precisión
double: 64 diez dígitos de precisión
long double: 64 diez dígitos de precisión

OPERADORES

C es un lenguaje muy rico en operadores. Se definen seis tipos de operadores aritméticos, relacionales, de asignación,
lógicos, de dirección y de movimiento.

Existe otro tipo de operador denominado molde que su función es hacer posible que una expresión sea de un tipo
determinado utilizando la sintaxis (tipo) expresión;

Siendo tipo uno de los tipos estándar de C. Por ejemplo, si se quiere asegurar que la expresión x/2 se evalúe de tipo float,
se puede escribir: (float) x/2;.

6.1 Operadores aritméticos

Lista de operadores aritméticos con su significado

+ Suma
- Resta
* Producto
/ Cociente de una división
% Resto de una división
EJEMPLO:

El cociente entre dos enteros da como resultado un entero. Por ejemplo, al dividir 20 entre 7 nos da como resultado 2.

El operador módulo da como resultado el resto de la división entera. Por ejemplo 20%7 da como resultado 6 que es el
resto de la división entre 20 y 7.

El operador módulo también se puede emplear con números reales. Por ejemplo, el cociente entre 7.5 y 3.0 es 2.5 y el
resto es cero, es decir, 7.5=3.0 x 2.5+ 0. El operador módulo, funciona de la siguiente forma 7.5=3.0 x 2+1.5, calcula la
diferencia entre el dividendo (7.5)  y el producto del divisor (3.0) por la parte entera (2) del cociente, devolviendo 1.5. Así
pues, la operación 7.5%3.0 da como resultado 1.5.

6.2 Operadores lógicos

! Not (no lógico)


&& And (y lógico)
|| Or (ó lógico)

 Los operadores lógicos

Los operadores lógicos son:

 && AND (el resultado es verdadero si ambas expresiones son verdaderas)


 || OR (el resultado es verdadero si alguna expresión es verdadera)
 ! NOT (el resultado invierte la condición de la expresión)

AND y OR trabajan con dos operandos y retornan un valor lógico basadas en las denominadas tablas de verdad. El
operador NOT actúa sobre un operando. Estas tablas de verdad son conocidas y usadas en el contexto de la vida diaria,
por ejemplo: "si hace sol Y tengo tiempo, iré a la playa", "si NO hace sol, me quedaré en casa", "si llueve O hace viento,
iré al cine". Las tablas de verdad de los operadores AND, OR y NOT se muestran en las tablas siguientes

El operador lógico AND

x y resultado

true true true

true false false

false true false

false false false

El operador lógico OR

x y resultado

true true true


true false true

false true true

false false false

El operador lógico NOT

x resultado

true false

false true

Los operadores AND y OR combinan expresiones relacionales cuyo resultado viene dado por la última columna de sus
tablas de verdad. Por ejemplo:

(a<b) && (b<c)

es verdadero (true), si ambas son verdaderas. Si alguna o ambas son falsas el resultado es falso (false). En cambio, la
expresión

(a<b) ||(b<c)

es verdadera si una de las dos comparaciones lo es. Si ambas, son falsas, el resultado es falso.

La expresión " NO a es menor que b"

!(a<b)

es falsa si (a<b) es verdadero, y es verdadera si la comparación es falsa. Por tanto, el operador NOT actuando sobre (a<b)
es equivalente a

(a>=b)

La expresión "NO a es igual a b"

!(a==b)

es verdadera si a es distinto de b, y es falsa si a es igual a b. Esta expresión es equivalente a

(a!=b)

Ejemplo:
Para los siguientes ejemplos T significa verdadero y F falso.
Operador Not Operador Not
Operando     Resultado
T     F
F     T

Operador And Operador And


Operando1     Operador     Operando2     Resultado
T     AND     T     T
T F     F
F T     F
F F     F

Operador Or Operador Or
Operando1     Operador     Operando2     Resultado
T     Or     T     T
T F     T
F T     T
F F     F

Prioridad de los Operadores Lógicos

1. Not
2. And
3. Or

Prioridad de los Operadores en General

1. ()
2. ^
3. *, /, Mod, Not
4. +, -, And
5. >, <, > =, < =, < >, =, Or

Ejemplos:
Sea: a = 10 b = 12 c = 13 d =10
6.3 Operadores relacionales

== Igual a
!= No igual a
> Mayor que
< Menor que
>= Mayor o igual que
<= Menor o igual que

Ejemplos:
Si a = 10, b = 20, c = 30
a + b > c     Falso
a - b < c     Verdadero
a - b = c     Falso
a * b < > c     Verdadero

Ejemplos no lógicos:
a<b<c
10 < 20 < 30
T > 5 < 30
(no es lógico porque tiene diferentes operandos)

Los operadores relacionales son símbolos que se usan para comparar dos valores. Si el resultado de la comparación es
correcto la expresión considerada es verdadera, en caso contrario es falsa. Por ejemplo, 8>4 (ocho mayor que cuatro) es
verdadera, se representa por el valor true del tipo básico boolean, en cambio, 8<4 (ocho menor que cuatro) es falsa, false.
En la primera columna de la tabla, se dan los símbolos de los operadores relacionales, el la segunda, el nombre de dichos
operadores, y a continuación su significado mediante un ejemplo.

Operador nombre ejemplo significado


< menor que a<b a es menor que b
> mayor que a>b a es mayor que b
== igual a a==b a es igual a b
!= no igual a a!=b a no es igual a b
<= menor que o igual a a<=5 a es menor que o igual a b
>= mayor que o igual a a>=b a es menor que o igual a b

Se debe tener especial cuidado en no confundir el operador asignación con el operador relacional igual a. Las asignaciones
se realizan con el símbolo =, las comparaciones con ==.

En el programa RelacionApp, se compara la variable i que guarda un 8, con un conjunto de valores, el resultado de la
comparación es verdadero (true), o falso (false).

6.4 Operadores de asignación

C++ dispone de los siguientes operadores de asingación:


=            Asignación
*=           Asigna producto
/=           Asigna división
%=          Asigna resto (módulo)
+=           Asigna suma
-=            Asigna diferencia (resta)
<<=         Asigna desplazamiento izquierda
>>=         Asigna desplazamiento derecha
&=           Asigna AND entre bits
^=           Asigna XOR  entre bits
|=            Asigna OR  entre bits
 

Operadores de asignacion

===
++ m++ m=m+1
-- m-- m=m-1
+= m+=n m=m+n
-= m-=n m=m-n
*= m*=n m=m*n
/= m/=n m=m/n
%= m%=n m=m%n

Los operadores de asignación ++ y ¿ pueden ir antes o delante de una expresión formando una nueva expresión. Estas
expresiones se denominan post-incrementos o pre-incrementos (decrementos si el operador es --) y son expresiones
compuestas, normalmente son del tipo y=x++; (y=++x;).

Existen una diferencia entre el post-incremento y el pre-incremento. El post-incremento primero suma uno a la variable (x
en el ejemplo) y luego asigna ese valor (y en el ejemplo), mientras con el pre-incremento, la asignación es anterior.

Por ejemplo: y=x++; (y=++x;).


Existen una diferencia entre el post-incremento y el pre-incremento. El post-incremento primero suma uno a la variable (x
en el ejemplo) y luego asigna ese valor (y en el ejemplo), mientras con el pre-incremento, la asignación es anterior.

Por ejemplo:
int x=1, y;
y=x++; /* y es 1 y x vale 2 */
int x=1, y;
y=++x; /* x vale 2 e y también vale 2 */

6.5 Operadores de dirección

* Operador de contenido de apuntado u operador de indirección & Operador de dirección

6.6 Operadores de movimiento

Existe un último tipo de operadores, no comentado hasta el momento, los operadores de movimiento (<<, movimiento a la
izquierda y >>, a la derecha). Su función es desplazar los bits de la palabra de memoria dada tantos espacios como se le
indiquen a derecha o izquierda. La forma general es: expresion1<< expresion2

Los dos operandos deben ser del tipo entero, y mueve los bits de la expresion1 tantas posiciones como se lo indique la
expresion2 (en este caso hacia la izquierda).

Por ejemplo, sea x un entero con representación interna: 00010001110011000101010111111111x<<4; da como resultado:
00011100110001010101111111110000 da como resultado: 00011100110001010101111111110000

da como resultado: 00011100110001010101111111110000

6.7 Prioridad y asociatividad de los operadores

Lista en la que se muestra el Operador y la Asociatividad

() [] De izquierda a derecha
- ++ -- ! ~ * & sizeof(tipo) De derecha a izquierda
* / % De izquierda a derecha
+ - De izquierda a derecha
<< >> De izquierda a derecha
< <= > >= De izquierda a derecha
== != De izquierda a derecha
& De izquierda a derecha
&& De izquierda a derecha
|| De izquierda a derecha
?: De derecha a izquierda
= *= /= %= += -= &= <<= >>= De derecha a izquierda
, De izquierda a derecha

Bibliotecas más importantes en C++

iostream.h

Declara en el C++ básico los datos de (I/O).


Funciones

Cin : Declara los datos de entrada para alas variables

Cout : Muestra los datos que uno desea que se vean en la pantalla.

La biblioteca iostream

C++ proporciona una nueva biblioteca de funciones que realizan operaciones de E/S: la biblioteca iostream. Esta
biblioteca es una implementación orientada a objetos y está basada, al igual que stdio, en el concepto de flujos. Cuando se
introducen caracteres desde el teclado, puede pensarse en caracteres que fluyen desde el teclado a las estructuras de datos
del programa. Cuando se escribe en un archivo, se piensa en un flujo de bytes que van del programa al disco.

Para acceder a la biblioteca iostream se debe incluir el archivo iostream.h. Este archivo contiene información de
diferentes funciones de E/S. Define también los objetos cin y cout.

Manipuladores de salida

La biblioteca iostream define varios operadores particulares, llamados manipuladores, que le permiten controlar
precisamente, el formato de los datos visualizados. Situando un manipulador en la cadena de operadores <<, se puede
modificar el estado del flujo.

Una característica importante de un flujo que debe tratar con valores numéricos es la base de los números. Hay tres
manipuladores (dec, hex y oct) para controlar la situación. La base por omisión es 10 y por tanto sólo será necesario
indicar dec cuando se haya fijado la base a otro valor:
cout <<oct<<x<<endl;
cout <<dec<<x<<endl;

Los manipuladores que toman argumentos se declaran en iomanip.h, el resto en iostream.h.

A continuación mostraremos un listado con los manipuladores, su aplicación y la descripción. Cada uno de ellos lo
separaremos mediante --
dec -- cout<<dec<<x; -- Conversión a decimal
dec -- cin>>dec>>x; -- Conversión a decimal
Hex -- out<<hex<<x; -- conversión a hexadecimal
Hex -- cin>>hex>>x; -- conversión a hexadecimal
oct -- cout<<oct<<x; -- Conversión a octal
oct -- cin>>oct>>x; -- conversión a octal
ws -- cin>>ws; Salta espacios en la entrada
ende -- cout<<endl; -- Envía carácter fin de línea
flush -- cout<<flush; -- Limpia el buffer
setfill(int) -- cout<<setfill('*'; -- Fija el carácter de rellenado
setprecision(int) -- cout<<setprecision(6); -- Fija la conversión en coma flotante al nº de dígitos especificado
setw(int) -- cout<<setw(6)<<x; cin>>setw(10)>>x; -- Fija la anchura

 MBA en España USA y China 8º del Ranking MBA en España. Becas y prácticas remuneradas en empresas
www.eseune.eduEnlaces patrocinados

Con setw() los valores numéricos se justifican a derechas y los datos carácter a izquierdas.

La información de la justificación de la salida se almacena en un modelo o patrón de bits de una clase llamada ios, que
constituye la base de todas las clases de flujos. Puede establecer o reinicializar bits específicos utilizando los
manipuladores setiosflags() y resetiosflags() respectivamente.
Para utilizar cualquiera de los indicadores de formato hay que insertar el manipulador setiosflags() con el nombre del
indicador como argumento. Hay que utilizar resetiosflags() con el mismo argumento para invertir el estado del formato
antes de utilizar el manipulador setiosflags().

Indicador -- Significado del indicador activado


ios::left -- Justifica la salida a la izquierda
ios::right -- Justifica la salida a la derecha
ios::scientific -- Utiliza notación científica para números de coma flotante
ios::fixed -- Utiliza notación decimal para números de coma flotante
ios::dec -- Utiliza notación decimal para enteros
ios::hex -- Utiliza notación hexadecimal para enteros
ios::oct -- Utiliza notación octal para enteros
ios::showpos -- Muestra un signo positivo cuando se visualizan valores positivos

stdio.h

Define los tipos y macros necesitados para el paquete definido de I/O normal en Kernighan y Ritchie, extendido bajo el
Sistema de UNIX V.

Define el estándar de I/O predefinido vierte stdin, stdout, stdprn, y stderr, y declara I/O de datos.

Funciones

gets

Sintaxis:

#include <stdio.h>

char *gets(char *s);

Description:

Recibe un cadena del “stdin” (cadena estándar de entrada).

Gets colecciona una cadena de caracteres terminados por una nueva línea desde la cadena estándar de entrada “stdin” y lo
pone en s. La nueva línea es reemplazada por un carácter nulo (\0) en s.

Gets permite las cadenas de la entrada para contener ciertos caracteres del “whitespace o espacio en blanco” (los espacios,
etiquetas). Gets vuelve cuando encuentra una nueva línea; a toda la nueva línea la copia en s.

Note: Para Win32s o Win32 las aplicaciones de GUI, deben remitirse los “stdin”.

El Valor de retorno:

Si el programa esta bien, Gets devuelve s al argumento de la cadena.

Si hay error, Gets devuelve NULO

putchar
Sintaxis:

#include <stdio.h>

int putchar(int c);

Descripción:

putchar(c) es un macro definido para putc(c, stdout).

Note: Para Win32s o Win32 las aplicaciones de GUI, deben remitirse los “stdout”.

El Valor de retorno:

Si el programa esta bien, putchar devuelve el carácter c.

Si hay error, putchar devuelve EOF.

FUNCIONES:

6.3.1 Funciones para el manejo de la Entrada/Salida

6.3.1.1 printf

int printf (const char *formato, ...);

Escribe texto formateado por el flujo stdout, según las especificaciones de ``formato'' y la lista de expresiones. Devuelve
el número de caracteres escritos o un valor negativo en caso de error.

6.3.1.2 scanf

int scanf (const char *formato, ...);

Lee texto por el flujo stdin y lo almacena según las especificaciones de ``formato''. Devuelve el número de valores
asignados o EOF si se produce error o se alcanza fin de fichero sin producirse lectura.

6.3.1.3 puts

int puts (const char *s);

Escribe los caracteres de la cadena ``s'' por el flujo stdout. Escribe un carácter ``NL'' en lugar del nulo de terminación.
Devuelve un valor no negativo. En caso de error devuelve EOF.

6.3.2 Funciones para el manejo de ficheros

6.3.2.1 fopen

FILE *fopen(const char *nombre_fichero, const char *modo);


Abre el fichero de nombre ``nombre_fichero'', lo asocia con un flujo de datos y devuelve un puntero al mismo. Si falla la
llamada, devuelve un puntero nulo. Algunos de los caracteres iniciales de ``modo'' son:
``r'', para abrir un fichero de texto existente para su lectura
``w'', para crear un fichero de texto o abrir y truncar uno existente, para su escritura
``a'', para crear un fichero de texto o abrir uno existente, para su escritura. El indicador de posición se coloca al
final del fichero antes de cada escritura
``r+'', para abrir un fichero de texto existente para su lectura y escritura

 
Ejemplo
   
  1libstd/ejemplo_abre_fichero.c
   

6.3.2.2 fclose

int fclose(FILE *flujo);

Cierra el fichero asociado con ``flujo''. Devuelve 0 en caso de éxito y EOF (end of file) en caso contrario.

 
Ejemplo
   
  1libstd/ejemplo_cierra_fichero.c
   

6.3.2.3 fwrite

size_t fwrite(const void *buffer, size_t n, size_t c, FILE *flujo);

La rutina fwrite permite escribir c elementos de longitud n bytes almacenados en el buffer apuntado por ``flujo''.

 
Ejemplo
   
  1libstd/ejemplo_fwrite.c
   

6.3.2.4 fread

size_t fread(const void *buffer, size_t n, size_t c, FILE *flujo);

La rutina fread permite leer c elementos de longitud n bytes del fichero apuntado por ``flujo'' y los almacena en el buffer
especificado.

 
Ejemplo
   
  1libstd/ejemplo_fread.c
   

6.3.2.5 fgetc

int fgetc(FILE *flujo);

Lee el siguiente carácter por ``flujo'', avanza el indicador de posición y devuelve int. Devuelve EOF si pone a 1 el
indicador de fin de fichero o el de error.

6.3.2.6 fgets

char *fgets(char *s, int n, FILE *flujo);

Lee caracteres por ``flujo'' y los almacena en elementos sucesivos del ``array'' que comienza en ``s'', continuando hasta
que almacene ``n-1'' caracteres, almacene un carácter del nueva línea o ponga a 1 los indicadores de error o de fin de
fichero. Si almacena un carácter, concluye almacenando un carácter nulo en el siguiente elemento del ``array''. Devuelve
``s'' si almacena algún carácter y no ha puesto a 1 el indicador de error; en caso contrario devuelve un puntero nulo.

6.3.2.7 fputc

int fputc(int c, FILE *flujo);

Escribe el carácter c por ``flujo'', avanza el indicador de posición del fichero y devuelve int c . En caso de error devuelve
EOF.

6.3.2.8 fputs

int fputs(const char *s, FILE *flujo);

Escribe los caracteres de la cadena s por ``flujo''. No escribe el carácter nulo de terminación. En caso de éxito, devuelve
un valor no negativo; en caso de error devuelve EOF.

6.3.2.9 fscanf

int fscanf(FILE *flujo, const char *formato, ...);

Lee texto y convierte a la representación interna según el formato especificado en formato. Devuelve el número de
entradas emparejadas y asignadas, o EOF si no se almacenan valores antes de que se active el indicador de error o de fin
de fichero.

6.3.2.10 fprintf

int fprintf(FILE *flujo, const char *formato, ...);

Genera texto formateado, bajo el control de formato formato y escribe los caracteres generados por flujo. Devuelve el
número de caracteres generados o un valor negativo en caso de error.
A modo de resumen estas son las especificaciones de formato más comunes:
Formato Descripción
%d Entero con signo
%u Entero sin signo
%c Caracter
%s Puntero a cadena de caracteres

 
Ejemplo
   
  1libstd/ejemplo_fprintf.c
   

6.3.2.11 fseek

int fseek( FILE *flujo, long desplazamiento, int origen);

La función fseek mueve el puntero de posición del fichero correspondiente al flujo de datos apuntado por ``flujo''. La
nueva posición, medida en bytes, se obtiene añadiendo el número indicado por desplazamiento a la posición especificada
por origen. La variable origen puede tomar tres valores:

 SEEK_SET: El puntero de posición apuntará al inicio del fichero más el desplazamiento


 SEEK_CUR: El puntero de posición apuntará a la posición actual del puntero de posición del fichero más el
desplazamiento.
 SEEK_END: El puntero de posición apuntará al fin del fichero más el desplazamiento (deberá ser menor o igual
que cero).

 
Ejemplo
   
  1libstd/ejemplo_fseek.c
   

math.h

Math.h realiza cálculos matemáticos y conversiones.

Cos, cosl

Sintaxis:
#include <math.h>

double cos(double x);

long double cosl(long double x);

Descripción:

Calcula el coseno de un valor.

Cos computa el coseno del valor de la entrada. El ángulo se especifica en los radianes.

Cosl es la versión doble larga; toma un argumento doble largo y devuelve un resultado doble largo.

Esta función puede usarse con “bcd” y tipos del complejo.

El Valor de retorno:

Si el programa esta bien, Cos de un argumento real devuelve un valor en el rango -1 a 1

Si hay error, estas funciones pueden modificarse a través de _matherr (o _matherrl).

pow, powl

Sintaxis:

#include <math.h>

double pow(double x, double y);

long double powl(long double x, long double y);

Descripción:

Calcula x a la potencia y (xy).

Powl es la versión larga doble; toma argumentos dobles y regresa un resultado doble largo.

Esta función puede usarse con los bcd y tipos complejos.

El Valor de retorno:

Si el programa esta bien, el pow y powl devuelven el valor calculado de x elevado a y.

A veces los resultados dados son grandes o son incalculables. Cuando el resultado es correcto pero grandes o incalculables
las funciones devuelven HUGE_VAL (pow) or _LHUGE_VAL (powl).

Los resultados de magnitud excesivamente grande pueden causar el errno inconstante global para ser puesto a

ERANGE Resultado fuera de rango

Si el argumento x pasó al pow o usted llama el pow(0,0).


EDOM Error de Dominio

Error que maneja para estas funciones puede modificarse a través de las funciones _matherr y _matherrl.

sqrt, sqrtl

Sintaxis:

#include <math.h>

double sqrt(double x);

long double sqrtl(long double x);

Descripción:

Calcula la raíz cuadrada positiva.

Sqrt calcula la raíz cuadrada positiva del argumento x.

Sqrtl es la versión larga doble; toma argumentos dobles y regresa un resultado doble largo. Error que maneja para estas
funciones puede ser modificadas a través de las funciones _matherr y _matherrl.

Esta función puede usarse con los bcd y tipos del complejo.

El Valor de retorno:

Si el programa esta bien, sqrt y sqrtl devuelven el valor calculado, la raíz cuadrada de x. Si x es real y positivo, el
resultado es positivo. Si x es real y negativo, el retorno será inconstante global se pone a EDOM (Error de Dominio).

6.6 math.h

6.6.0.1 ceil

double ceil(double x);

Valor entero más pequeño no menor que x.

6.6.0.2 cos

double cos(double x);

Coseno de x en radianes.

6.6.0.3 exp

double exp(double x);

Exponencial de x, .

6.6.0.4 fabs
double fabs(double x);

Valor absoluto de x, .

6.6.0.5 floor

double floor(double x);

Mayor valor entero menor que x.

6.6.0.6 log

double log(double x);

Devuelve el logaritmo natural de x.

6.6.0.7 log10

double log10(double x);

Devuelve el logaritmo en base 10 de x.

6.6.0.8 pow

double pow(double x, double y);

Devuelve x elevado a la potencia y, .

6.6.0.9 sin

double sin(double x);

Devuelve el seno de x (en radianes).

6.6.0.10 sqrt

double sqrt(double x);

Devuelve la raíz cuadrada de x.

6.6.0.11 tan

double tan(double x);

Devuelve la tangente de x (en radianes).

conio.h

Declara varias funciones usadas llamando la consola del sistema operativo las rutinas de I/O.
Clrscr

Sintaxis:

#include <conio.h>

void clrscr(void);

Descripción:

Aclara el modo de texto de la ventana.

clrscr aclara el texto de la actual y lugares del cursor en la esquina izquierda superior o en la posición (1,1).

La nota: no use esta función para Win32s o Win32 o aplicaciones de GUI.

El Valor de retorno:

Ninguno.

Clreol

Sintaxis:

#include <conio.h.>

void clreol(void);

Descripción:

Aclara el final de la línea en la ventana de texto.

clreol aclara todos los caracteres donde el cursor se posicione hasta el fin de la línea dentro de la ventana de texto actual,
sin mover el cursor.

La nota: no use esta función para Win32s o Win32 o aplicaciones de GUI.

El Valor de retorno:

Ninguno.

Gotoxy

Sintaxis:

#include <conio.h>

void gotoxy(int x

int y);

Descripción:
Posiciona el cursor en la ventana del texto.

Gotoxy mueve el cursor a la posición dada en la ventana del texto actual. Si las coordenadas no son valías entonces la
función gotoxy se ignora. Un ejemplo de esto es si gotoxy(40,30) cuando (35,25) es la correcta posición del fondo de la
ventana. Ningún argumento de gotoxy puede ser el cero.

La nota: no use esta función para Win32s o Win32 o aplicaciones de GUI.

El Valor de retorno:

Ninguno.

Switch

Sintaxis:

switch ( <switch variable> ) {

case <constant expression> : <statement>; [break;]

default : <statement>;

Descripción:

Use la declaración switch para pasar el mando a un caso que empareja el <el interruptor inconstante>. A que el punto las
declaraciones que siguen el caso emparejando evalúa.

Si ningún caso satisface la condición que el caso predefinido evalúa. Evitar evaluar cualquier otro caso y abandonar el
mando del interruptor, termine cada caso break.

También podría gustarte