0% encontró este documento útil (0 votos)
92 vistas19 páginas

Programacion C++

Este documento describe la estructura básica de un programa en C++. Explica que un programa C++ típicamente incluye comentarios, directivas de preprocesador, la función principal main, y otras funciones. También describe conceptos como incluir archivos de cabecera, espacios de nombres, tipos de datos, variables locales y globales.

Cargado por

Marco Ledesma
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
92 vistas19 páginas

Programacion C++

Este documento describe la estructura básica de un programa en C++. Explica que un programa C++ típicamente incluye comentarios, directivas de preprocesador, la función principal main, y otras funciones. También describe conceptos como incluir archivos de cabecera, espacios de nombres, tipos de datos, variables locales y globales.

Cargado por

Marco Ledesma
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Practico De Lenguaje

Electrónico

Nombres y Apellidos:
Demian Alan Vera, Enzo
Ferreyra, Marco Ledesma

Año y Curso: 5to°3ra

Prof. Maximiliano Sosa


1.Estructura de un Programa C++
C++ es un lenguaje de programación orientado a objetos híbrido. Esto quiere decir que
permite realizar programas estructurados sin la orientación a objetos y programas
orientados a objetos.
La estructura general de un programa C++ es la siguiente:

Comentarios
Directivas del preprocesador
Declaración de variables globales y funciones
int main() // principal main
{
Declaraciones locales de la función principal
Instrucciones de la función principal
}
Otras funciones:
funcion1(.....)
{
Declaraciones locales de la función 1
Instrucciones de la función 1
}
funcion2(.....)
{
Declaraciones locales de la función 2
Instrucciones de la función 2
}

….Por Ejemplo
// Programa que muestra el mensaje Hola mundo!!! por pantalla
#include <iostream>
using namespace std;
int main (void
{
cout << "Hola mundo!!!\n";
}

Vamos a comentar cada una de las partes del programa anterior:


// Programa que muestra el mensaje Hola mundo!!! por pantalla
Esta línea es un comentario.
Todas las líneas que comienzan con dos barras (//) se consideran comentarios y no
tienen ningún efecto sobre el comportamiento del programa.
Los comentarios también pueden ir entre los símbolos /* y */. En ese caso pueden
ocupar más de una línea.
#include <iostream>
Esta línea es una directiva del preprocesador.
Todas las líneas que comienzan con el símbolo # son directivas para el preprocesador.
La directiva #include, sirve para insertar ficheros externos dentro de nuestro programa.
Estos ficheros son conocidos como ficheros incluidos, ficheros de cabecera o headers.
En este caso, la directiva #include <iostream> indica al preprocesador que en este
programa se debe incluir el archivo iostream. El código fuente no cambia, pero el
compilador ve el fichero incluido.
iostream es la librería de entrada/salida de C++. Si no se incluye esta librería no
podemos utilizar la instrucción cout para imprimir un mensaje por pantalla.
La inclusión de ficheros la podemos realizar de dos formas:
#include <nombre de fichero cabecera>
#include "nombre de fichero de cabecera"
En el primer caso el preprocesador buscará en los directorios include definidos en el
compilador.
En el segundo, se buscará primero en el directorio actual, es decir, en el que se
encuentre el fichero fuente, si no existe en ese directorio, se buscará en los directorios
include definidos en el compilador. Si se proporciona el camino como parte del nombre
de fichero, sólo se buscará en el directorio especificado.
using namespace std;
En grandes proyectos formados por varios archivos, es posible que en archivos
diferentes del mismo proyecto se encuentren recursos con el mismo nombre. Para evitar
confusiones y saber a qué recurso estamos haciendo referencia se utilizan los espacios
de nombres (namespace).
Un espacio de nombres es básicamente un conjunto de nombres de recursos (clases,
métodos, funciones, etc) en el cual todos los nombres son únicos.
Todos los elementos de la biblioteca estándar de C++ se declaran dentro de un espacio
de nombres llamado std.
Con la instrucción using namespace std estamos indicando que vamos a usar este
espacio de nombres.
Esta línea se incluirá en la mayoría de programas que escribamos en C++.
¡¡¡Si no la escribimos, la instrucción cout << “Hola mundo!!!\n”; tendríamos que
escribirla indicando el espacio de nombres donde se declara cout así:
std: cout<<” Hola Mundo!!!\n”;
int main (void)
Un programa en C++ no orientado a objetos está formado básicamente por una o varias
funciones.
La función main es la función principal del programa.
La función principal es el punto de inicio del programa. Si el programa contiene varias
funciones, la ejecución del mismo comienza por la función main.
Todo programa escrito en C++ debe contener una función main.
Las llaves { } indican donde empiezan y donde acaban las instrucciones de la función.
cout << "Hola mundo!!!\n";
¡¡¡Esta línea muestra por pantalla Hola mundo!!! y un salto de línea.
cout es un objeto que se declara en el archivo iostream en el espacio de nombres std, por
eso tenemos que incluir ese archivo al principio del programa y declarar que vamos a
utilizar ese espacio de nombres.
La instrucción acaba con punto y coma.
El punto y coma se utiliza para indicar el final de una instrucción y sirve para separarla
de instrucciones posteriores.
2. Modificadores de tipo.
Los tipos de datos básico pueden estar precedidos por modificadores que alteran el
significado del tipo base para que se ajuste más precisamente a cada necesidad. Los
modificadores de tipo que existen.

Short…………………. Reduce a la mitad la longitud de almacenamiento


Long…………………... duplica la longitud de almacenamiento
Unsigned………………. Número sin signo (siempre positivo)
Signe……………………. Número con signo (positivo o negativo)
El rango de valores que pueden representarse con cada tipo depende del diseño de
hardware, en cuanto a la cantidad de bit dispuesto para cada uno. Generalmente se
dispone de 16 bits para contener un entero, y de 8 para almacenar un carácter del juego
de caracteres ASCIL. Dado que internamente los datos en C se almacenan en ASCIL, el
C permite usar una variable de tipo char como un “entero pequeño”. En este caso el
entero será el número que se corresponda en el sistema decimal con la cadena de 8
cifras binarias. Según la arquitectura de la maquina ese número puede ser con o sin
signos, aunque este no afecta a la impresión del carácter en sí, ya que los caracteres que
se pueden imprimir son siempre positivos.
Con la inclusión de los modificadores de tipo la variedad de tipos se amplía: short int,
long int, signe char, etc. En el caso de los enteros permite una anotación abreviada:
short, long o Unsigned pues el compilador sobreentiende el int por omisión el signed
int resulta redundante, pues normalmente el int es con signo.
La mayoría de los compiladores C de PC usan enteros de 16 bit. El estándar ANSI de C
establece que el menor tamaño aceptable para un int y para un short int es de 16 bit;
por ese motivo en muchos entornos no hay diferencia entre un int y short int.
La diferencia entre un entero con signo (int) y un entero sin signo (Unsigned int) esta
dada por la forma de interpretar un bit más significativo:
. int: el bit mas significativo se usa como indicador de signo (0 para positivo, 1 para
negativo), por lo tanto, son 15 los bits que representan al número, y para los negativos
generalmente aplica el método de complemento a 2 (tiene todos los bits del numero
invertidos y un 1 sumado al número).
. Unsigned int: no un bit para el signo, por lo tanto, los 16 bits representan al número.
Si una variable declara como un int contiene 0111111111111111 será interpretado
como el +32767, pero si los bits contenidos son 1111111111111111 será interpretado
como el -32767. Sien cambio el 01111111111111111 este contenido en una variable
declarada como Unsigned int también será interpretado como el +32767, pero si los
bits contenidos fueran 1111111111111111 se trataría del ++65535.
Para elegir el tipo de dato adecuado es necesario conocer muy bien la arquitectura de la
maquina; en general los conceptos fundamentales a tener en cuenta respecto al tamaño
son:
Tamaño char< tamaño short int <= tamaño int <= tamaño long int

Tamaño float < tamaño double < tamaño long doble

El siguiente cuadro muestra todas las combinaciones que se ajustan al estándar ANSI
junto con sus rangos y longitudes, suponiendo palabras de 16 bits.
TIPO TAMAÑO RANGO
(en bits)

Char 8 -128 a +127


Unsigned char 8 0 a 255
Signed char 8 -128 a 127
Int 16 -32768 a +32767
Unsigned int 16 0 a +65535
Signed int 16 -32768 a +32767
Short int 16 -32768 a +32767
Unsigned short int 16 0 a +65535
Signed short int 16 -32768 a +32767
Long int 32 -2147483648 a +2147483647
Unsigned long int 32 0 a +4294967295
Signed long int 32 -2147483648 a +2147483647
Float 32 3.4E-38 a 3.4E+38
Double 64 1.7E-308 A 1.7E+308
Long double 64 1.7E-308 A 1.7E+308

3. Variables locales y globales.


Según el lugar dónde se declaran las variables se clasifican en distintos tipos, a saber:
a).VARIABLES LOCALES, también llamado privadas o automáticas:
° Se declara dentro de una función o de un bloque de código.
° Sólo puede ser referenciadas por sentencia que estén dentro de esa función o de ese
bloqueo de código, ya que fuera de los mismos no se las conoce.
° Solo existen mientras se está ejecutando la función o el bloque de códigos en el que
están declaradas. Se crea cuando se llama a dicha función o se entra a dicho bloque y se
destruye cuando se sale de ellos, por lo tanto, no conservan los valores entre llamadas.
° Su nombre puede ser usado por otras funciones.
*Ejemplo:
a- La variables entera x se define dos veces, una vez en funcl( ) y otra en func2( ), pero
una no tiene relación con la otra , ya que cada x sólo es conocida en la propia función en
la que fue declarada.
funcl ( )

Int x

func2 ( )

Int x;

X = 35;

b- La variables S se define dentro de un bloque de código, fuera de él la variable s es


desconocida
{

Int t;

If (t > 0) {

Char s; /* esta existe únicamente en este bloque */

/* aquí no se conoce a la variable s */

b). Variables Globales:


° Se declaran fuera de todas las funciones.
° Son conocidas a lo largo de todo el programa y por lo tanto se pueden usar en cualquier
parte del código

° Mantienen su valor durante toda la ejecución del programa.

° Si una variables local y una variable global tienen el mismo nombre, toda referencia a ese
nombre de variable dentro de la función dónde se ha declarado la variable local se refiere a
ésta y no tiene efecto sobre la variable global.

Ejemplo:

#include <stdio.h>

void fl (void );

void fl (void);

int var; /* var es global */

main( )

Var = 10;

fl ( ) ;

Void fl ( )

Int h;

h = var;

f2( ):

printf (“var es %d\n”, var); /* imprimirá 10 */

Voidf2 ( )

Int var; /* var es local */

Var = 34;

X = var * 2 ;

Printf (“x = %d\n”,x); /* impirimirá 68 */


Las variables globales son muy útiles cuando muchos funciones del programa usan
los mismo datos, sin embargo, se debe evitar el uso innecesario de variables globales por las
siguientes 3 razones:

• Las variables globales usan memoria todo el tiempo que el programa está en ejecución ,
no sólo cuando se necesitan (importante si la memoria es un recurso escaso).
• Usar una variable global dónde podría ir una local hace a la función menos general, ya que
depende de algo que debe estar definido fuera de ella.
• Usan muchas variables globales puede acarrear problema s de programación
(especialmente en programas grandes ) cuando se modifica el valor en algún lugar del
programa.

4 Las variables globales son variables cuyo alcance es el programa completo. Eso
significa que deben definirse fuera de cualquier función, normalmente en la parte
superior del programa. Cada función puede acceder y cambiar una variable global. Evita
usar variables globales sin una buena razón.
Las constantes son variables cuyo valor no puede cambiar. Se declaran lo mismo que las
variables, excepto que deben ir precedidas por la palabra clave const y se les debe dar
un valor cuando se declaran. Sintaxis;
const type varName = initialValue;
El valor inicial no puede cambiar a lo largo del programa. Como regla general, nunca
use constantes sin nombre (valores simples) si hay un significado adjunto a ellas. En su
lugar, defina una constante global cuyo nombre refleje el significado y use ese nombre
en lugar del valor.

Constantes locales:

Los locales son las constantes más obvias. Se utilizan para expresar valores particulares
dentro del código fuente de un programa. Ya hemos usado algunos de los capítulos
anteriores para dar valores específicos a las variables o para expresar mensajes que
queríamos que nuestros programas se imprimieran, por ejemplo, cuando escribimos:

a = 5;

El código de esta pieza era una constante local.

Las constantes locales se pueden clasificar en: entero, flotante, caracteres, cadenas,
booleanos, punteros definidos por el usuario.

5.Instrucciones al Preprocesador
El preprocesador acepta el código fuente como entradas y es responsable de:
• Quitar los comentarios
• Interpretar las directivas del preprocesador las cuales inician con #
#define Define una macro. P.e.: #define CIERTO 1
#error Fuerza al compilador a parar la compilación, mostrando un mensaje de error P.e.:
#error mensaje_de_error
#include Incluye otro archivo fuente. P.e.: #include <stdio.h>
#undef Elimina una definición de macro previa. P.e.: #undef CIERTO
#if Permite la inclusión de texto en función del valor de una expresión test
#endif Marca el final de un bloque #if. P.e.: #if expresión-constante secuencia
sentencias
#endif
#else Incluye un texto si el test establecido en el comando #if, o #ifdef o #ifndef que le
precede ha dado resultado falso.
#elif Significa "else if".
#ifdef y #ifndef Permite la inclusión de texto en función de si ha sido definida o no
previamente un nombre de macro respectivamente.
#line Cambia los contenidos de _LINE_ y _FILE_, que son identificadores del
compilador predefinidos. _LINE_ contiene el número de línea que se está compliando
actualmente. _FILE_ es una cadena que contiene el nombre del archivo fuente que se
está compilando. P.e.: #line número "nombre de archivo"
#pragma Definida por la implementación que permite se den varias instrucciones al
compilador. La línea completa que comienza con "#" es una línea para el procesador. Si
se desea que la siguiente línea del fichero sea continuación de la anterior, esta debe
acabarse con " \". En la composición de macros se pueden utilizar todos los elementos
básicos del lenguaje.
Las expresiones que se pueden poner en los comandos del preprocesador cuando
ponemos la fórmula "expresión", debe ser una expresión que diese los mismos
resultados que si la escribiésemos en una línea de C. El resultado debe ser una constante

6.Concepto de Biblioteca
una biblioteca o, llamada por vicio del lenguaje librería (del inglés library) es un
conjunto de implementaciones funcionales, codificadas en un lenguaje de
programación, que ofrece una interfaz bien definida para la funcionalidad que se invoca.
Una biblioteca es una colección de funciones. A diferencias de un archivo objeto,
un archivo de biblioteca guardad el nombre de cada función, el código objeto de la
función y la información de reubicación necesaria para el proceso de enlace. Cuando un
programador referencia a una función contenida en una biblioteca, el enlazador toma
esa función y añade el código objeto al programa.
De esta forma, sólo se añadirán al archivo ejecutable aquellas funciones que realmente
se utilicen en el programa.
Las bibliotecas pueden vincularse a un programa (o a otra biblioteca) en distintos puntos
del desarrollo o la ejecución, según el tipo de vínculo que se quiera establecer, tal y
como se detalla en el apartado de "Tipos".
La mayoría de los sistemas operativos modernos proporcionan bibliotecas que
implementan los servicios del sistema. De esta manera, estos servicios se han
convertido en una "materia prima" que cualquier aplicación moderna espera que el
sistema operativo ofrezca. Como tal, la mayor parte del código utilizado por las
aplicaciones modernas se ofrece en estas bibliotecas.

7. El Estándar C++ define la denominada Librería Estándar que debe acompañar a cada
implementación del compilador que se adhiera al estándar. Es decir: la norma determina
cuales son, como se llaman y como se utiliza este conjunto de algoritmos que deben
acompañar (como mínimo) a cada implementación del compilador que quiera llamarse
"Estándar". La última versión, ISO/IEC 14882 del año 1998, especifica que se compone
de 32 ficheros de cabecera de nombres fijos y conocidos agrupados según la
funcionalidad de los algoritmos. Son los siguientes:
Ficheros Funcionalidad/funciones
<algorithm> Parte de la STL que describe los algoritmos (5.1.3)

<bitset> Parte de la STL relativa a contenedores tipo bitset (5.1.1e1). Set de


valores booleanos.
<complex> Parte de la librería numérica de la STL relativa a los complejos.
<deque> Parte de la STL relativa a contenedores tipo deque; un tipo de colas:
"Double-ended-queue" (5.1.1c3).
<exception> Parte de la librería de diagnóstico relativa al manejo de excepciones (1.6)

<fstream> Flujos hacia/desde ficheros.


<functional> Parte de la STL relativa a Objetos-función (4.9.18f)

<iomanip> Manipuladores.
<ios> Supreclases para manejo de flujos de E/S.
<iosfwd> Contiene declaraciones adelantadas de todas las plantillas de flujos y sus
typedefs estándar. Por ejemplo ostream.
<iostream> Parte del a STL que contiene los algoritmos estándar de E/S.
<istream> Algoritmos estándar de flujos de entrada.
<iterator> Parte de la STL relacionada con iteradores (5.1.2), un tipo de puntero que
permite utilizar los algoritmos de la Librería con las estructuras de datos representadas
por los contenedores.
<limits> Descripción de propiedades dependientes de la implementación (1.2.1)
que afectan a los tipos fundamentales.
<list> Parte de la STL relativa a contenedores tipo list (5.1.1c4); listas doblemente
enlazadas (1.8)

<locale> Parte de la STL relativa a la internacionalización (5.2).

<map> Parte de la STL relativa a contenedores tipo map (5.1.1e4).


<memory> Utilidades relativas a la gestión de memoria, incluyendo asignadores
(5.1.5) y punteros inteligentes (auto_ptr).
<new> Manejo de memoria dinámica (1.3.2)

<numeric> Parte de la librería numérica de la STL relativa a operaciones numéricas.


<ostream> Algoritmos estándar para los flujos de salida.
<queue> Parte de la STL relativa a contenedores tipo queue (5.1.1d1); colas de
objetos (1.8).

<set> Parte de la STL relativa a contenedores tipo set (5.1.1e2).


<sstream> Flujos hacia/desde cadenas alfanuméricas.
<stack> Parte de la STL relativa a contenedores tipo stack(5.1.1c5); pilas de
objetos (1.8).

<stdexcept> Parte de la STL relativa a las clases de las que derivan los objetos
lanzados por las excepciones ocasionadas en los algoritmos de la propia STL y otras
expresiones. Estas clases son utilizadas para reportar errores detectados durante runtime.
Los usuarios también pueden utilizar excepciones para reportar errores en sus propios
programas (1.6.1a).
<streambuf> Parte de la STL relativa al Almacenamiento de flujos de E/S ("Stream
buffers"). Define los tipos que controlan la capa de transporte (5.3.2f).

<string> Parte de la STL relativa a contenedores tipo string; una generalización de


las cadenas alfanuméricas para albergar cadenas de objetos.
<typeinfo> Mecanismo de identificación de tipos en tiempo de ejecución (4.9.14).

<utility> Parte de la STL que contiene elementos auxiliares como operadores y


pares (pairs).
<valarray> Parte de la librería numérica de la STL relativa a manejo de matrices
numéricas ()
<vector> Parte de la STL relativa a los contenedores tipo vector; una
generalización de las matrices unidimensionales C/C++ (5.1.1c1)

Librería de usuario:
Las librerías de usuario son una manera de crear funciones con las cuales aumentar el
poder de C; De esta forma C es un lenguaje extensible. Dado que pueden encontrarse
muchas librerías.
Las librerías se organizan en lo que se llama archivos con extensión h.Pueden incluir a
otras librerías pero no a si misma.
Para evitar la duplicidad de código se usan el par de directivas:
• #ifndef ETIQUETA
• #define ETIQUETA
• Cuerpo de la librería
• #endif
En el cuerpo de la librería se pueden incluir otras librerías, luego los prototipos y
finalmente las funciones.
Su forma es idéntica a la de un programa normal, con la excepción de que no contienen
a la función main.
En los programas que usan dicha librería deberá ponerse una directiva include de la
siguiente manera: #include “a: \mis lib\libreria.h”
8. Cuando nos referimos a entrada/salida estándar (E/S estándar) queremos decir que los
datos o bien se están leyendo del teclado, ó bien se están escribiendo en el monitor de
video.
En el lenguaje C++ tenemos varias alternativas para ingresar y/o mostrar datos,
dependiendo de la librería que vamos a utilizar para desarrollar el programa.

Las operaciones de entrada y salida no forman parte del conjunto de sentencias de C++,
sino que pertenecen al conjunto de funciones y clases de la biblioteca estándar de C++.
Ellas se incluyen en los archivos de cabecera iostream.h por lo que siempre que
queramos utilizarlas deberemos introducir la línea de código #include <iostream.h>

Esta biblioteca es una implementación orientada a objetos y está basada en el concepto


de flujos. A nivel abstracto un flujo es un medio de describir la secuencia de datos de
una fuente a un destino o sumidero. Así, por ejemplo, cuando se introducen caracteres
desde el teclado, se puede pensar en caracteres que fluyen o se trasladan desde el
teclado a las estructuras de datos del programa.

Los objetos de flujo que vienen predefinidos serán:

cin, que toma caracteres de la entrada estándar (teclado);


cout, pone caracteres en la salida estándar (pantalla);
cerr y clog ponen mensajes de error en la salida estándar.

SALIDA (OUT)

El operador de insercion, <<, inserta datos en flujo, ejemplos:

cout << 500; // envia el numero 500 a la pantalla

cout << " esto es una cadena " ; // visualiza Esto es una cadena

Es posible usar una serie de operadores << en cascada, ejemplo:


cout << 500 << 600 << 700;

visualiza 500, 600, 700.

De igual modo,

cout << 500 <<", " << 600 << ", " << 700;

visualiza 500, 600, 700

C++ utiliza secuencias de escape para visualizar caracteres que no están representados
por
simbolos tradicionales, tales como \a, \b, etc.
ejemplo:

cout << "\n" // salta a una nueva línea

cout << "Yo estoy preocupado \n no por el funcionamiento \n sino porla claridad \n";

ENTRADA (CIN)

El archivo de cabecera iostream.h de la biblioteca C++proporciona un flujo de entrada


estándar cin
y un operadorde extracción, >>, para extraer valores del flujo yalmacenarlos en
variables, la entrada normal es el teclado.
ejemplo:

int n, n1, n2; // se declara las variables n, n1 y n2


cin >> n; // el cursor aparece en pantalla esperando un
// date de entrada por el teclado para ponerlo
// en la variable n.

// abajo, el cursor aparece despues del mensaje entre comillas


// esperando dos valores, cada uno seguido de la tecla ENTER.

cout << " introdusca los valores de n1 y n2 " ;


cin >> n1 >> n2 .

9. En este heade se declara funciones y macros matemáticas. En la siguiente tabla x e y


son de tipo doubles , n es un int y todas las funciones regresan doubles.
Función Tipo Propósito
Pow (x, y) double Calcular y retorna x y (error si x = 0 y y < 0,o x < 0 y y no es
entero
Sqrt(x) double Calcular y retorna la raíz cuadrada de x, x>0
fabs(x) double Calcular y retorna el valor absoluto de x
Mod(x,doubles*p) double Divide x en partes entera y fraccionaria
fmod(x, y) double Retorna el resto de la división entera entre los flotantes x e y

10.Manejo básico de caracteres (ctype.h)

FUNCION TIPO PROPOSITO


Isalpha (c) Int Determina si el argumento es alfabético
Isdigit (c) Int Determina si el argumento es un digito
Isalnum (c) Int Determina si el argumento es alfanumérico
Isspace (c) Int Determina si el argumento es un espacio en
blanco
Ispuntct (c) Int Determina si el argumento es un carácter de
puntuación o un espacio
Islower (c) Int Determina si el argumento es una minúscula
Isupper (c) Int Determina si el argumento es una mayúscula
Tolower (c) Int Convierte c a minúscula y retorna el carácter
cambiado
Toupper (c ) Int Convierte c a mayúscula a retorna el carácter
cambiado
B vel valor de retorno es un int. Sin embargo se utiliza el byte menos significativo. por
tanto, se puede usar un argumento de tipo carácter, ya que automáticamente se convierte
en int en el momento de la llamada, la funciones regresan Verdadero (diferente 0) si el
argumento satisface la condición, y Falso ( cero) si no lo hace .

11. Las funciones de caracteres están declaradas de forma que tomen un argumento
entero y el valor de retorno es un int. S i embargo, sólo se utiliza el byte menos
significativo. Por tanto, se puede usar argumento tipo carácter, ya que automáticamente
se convierte a int en el momento de la llamada. Las funciones regresan verdadero
(diferencias de 0) si el argumento satisface la condición, y falso (cero) si no lo hace.

Función Tipo Propósito


isalpha( c ) int Determinar si el argumento es alfabético
isdigli( c ) int Determinar si el argumento es un digito
isalnum( c ) int Determinar si el argumento es alfanumérico
isspace( c ) int Determinar si el argumento es un espacio en blanco
ispunct( c ) int Determinar si el argumento es un carácter de puntuación o un
espacio jaja
islower( c ) int Determinar si el argumento es una minúscula
isupper ( c ) int Determinar si el argumento es una mayúscula
tolower( c ) int Convierte c a minúscula y retorna el carácter cambiado
toupper( c ) int Convierte c a mayúscula y retorna el carácter cambiado

12.

Función Tipo Propósito


Stremp(s1,s2) Int Compara alfabéticamente las cadenas s1 y s2. Retornar un valor
negativo si s1<s2, 0 si son iguales y un valor positivo si s1>s2.
Strempu(s1,s2) Int Igual a la anterior pero no diferencia mayúscula de minúsculas.
Stracmp(s1,s2,n) Int Compara hasta n carácter de s1 con s2. Retorna un valor negativo si s1<s2
, 0 si son iguales y un valor positivo si s1>s2.
Strlen(s1) Int Retorna la longitud de s1 sin contar el\0
Strcpy(s1,s2) Char * Compa la cadena s2 en cadena s1. Retornar s1
Strncpy(s1,s2,n) Char * Copia hasta n caracteres de la cadena s2 a la cadena s1
Strrev(s1) Char * Invierte la cadena s1 sobre si misma y la retorna
Strcat(s1,s2) Char * Concatena la cadena s2 al final de s1 y retorna s1
Strncat(s1,s2,n) Char * Concatena hasta n caracteres de s2 al final de s1. Retorna s1
Strlwr(s1) Char * Convierte la cadena s1 a minúscula y la retorna
Strupr(s1) Char * Convierte la cadena s1 a mayúscula y la retorna
Strstr(s1,s2) Char * Retoma un puntero a la primera ocurrencia de la cadena s2, o NULL
si no está presente.
Strchr(s1,c) Char * Retorna un puntero a la 1° ocurrencia de c en s1 NULL si no está
Strrchr(s1,c) Char * Retorna puntero a la ultima ocurrencia de c en s1, o NULL si no
está
Strpbrk(s1,s2) Char * Retorna un putero a la 1a ocurrencia en s1 de cualquier carácter de
s2, o NULL si no está
Strtok(s1,s2) Char * Busca en s1 tokens delimitados por caracteres de s2. Retorno un
puntero al token o NULL cuando ya no encuentra token

BIBLIOGRAFÍA:
Gottfried,B. ‘’Programación en C’’. Mc Graw Hill,1997
Hillar,G.C. ‘’Estructura interna de la pc’’.3ra Edición.Editorial Hispano Americana
S.A.-HASA,Argentina,2000.
Kernighan,B. Ritchie,D. ‘’El lenguaje de programación C’’.2da.Edición.Prestice-hall
Hispanoamericana,México,1988.
Schildt,H. ‘’Programación en lenguaje C’’. Osborne/McGraw Hill,México,1985.
Schildt,H. ‘’The annotated ansi C standard’’.Osborne/McGraw Hill.1993.
Schildt,H. ‘’C guía de autoenseñanza’’.Osborne/McGraw Hill,España,1995

También podría gustarte