SlideShare una empresa de Scribd logo
1 de 6
Descargar para leer sin conexión
Principios de programación. Licenciatura en Ciencias Genómicas
TIPOS DE DATOS BASICOS EN LENGUAJE C
TIPO
char
int
float
double
void
ANCHO EN BIT
8
16
32
64
0
RANGO EN PC
-128 a 127
-32768 a 32767
3.4E-38 a 3.4E+38
1.7E-308 a 1.7E+308
sin valores
TIPOS DE DATOS
TIPO
char
unsigned char
signed char
int
unsigned int
signed int
short int
unsigned short int
signed short int
long int
signed long int
unsigned long int
float
double
long double
ANCHO EN BIT
8
8
8
16
16
16
16
16
16
32
32
32
32
64
64
RANGO EN PC
-128 a 127
0 a 255
-128 a 127
-32768 a 32767
0 a 65535
-32768 a 32767
-32768 a 32767
0 a 65535
-32768 a 32767
-2147483648 a 2147483647
-2147483648 a 2147483647
0 a 4294967295
3.4E-38 a 3.4E+38
1.7E-308 a 1.7E+308
1.7E-308 a 1.7E+308
COMBINACIONES DE TIPOS DE DATOS
El tamaño en bits asignado al tipo de dato que se use depende de la capacidad de la
computadora y del compilador utilizado. Ejemplo: en una PC normal con un compilador de
TC ver 2.0, un tipo int es de 16 bits, para una AIX-RISC system6000 un tipo int es de 32
bits.
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
Principios de programación. Licenciatura en Ciencias Genómicas
DECLARACIONES EN C.
Una declaración asocia un tipo de datos determinado a un grupo de variables.
ejemplos:
int a,b,c;
char d,e;
float f,g;
long int h,i,j;
double k,l,m;
CONSTANTES EN C.
Ejemplos de constantes
#define pi 3.1415
#define verdad 1
const int a=3;
MACROS EN C
La forma de una macro es #define nombre texto de reemplazo. El nombre es la
macro a sustituir, el texto de reemplazo es una línea normalmente, pero puede
continuarse en varias líneas utilizando un al final de cada línea para indicar que se
continua.
ejemplo sin argumentos:
#define infinito for(;;)
define una nueva palabra, infinito, para un ciclo infinito.
ejemplo con argumentos:
#define multiplica(a,b) (a*b)
la línea x=multiplica((3+4),(4+6));
será reemplazada por la línea x=((3+4)*(4+6));
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
Principios de programación. Licenciatura en Ciencias Genómicas
OPERADORES
Operadores aritméticos: + - * % (modulo)
Operadores unitarios:
negación : !
menos : -2 -(a+b) -0.34
incremento: ++j j++
decremento: --j j—
ejemplo:
para j=1 SALIDA
printf(“j=%dn”,j); 1
printf(“j=%dn”,++j); 2
printf(“j=%dn”,j); 2
para j=1 SALIDA
printf(“j=%dn”,j); 1
printf(“j=%dn”,j++); 1
printf(“j=%dn”,j); 2
Operador sizeof(tamaño de):
Devuelve el tamaño de su operando en bytes, ejemplo:
printf(“Entero tiene : %dn bytes”,sizeof(int));
Operadores relacionales:
<
<=
>
>=
==
!=
(menor que)
(menor o igual que)
(mayor que)
(mayor o igual que) ejemplo
(idéntico )
(diferente)
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
Principios de programación. Licenciatura en Ciencias Genómicas
Operadores lógicos:
&& (AND) 11 (OR)
Operadores de asignación:
Los operadores como +=, -=, =, *=, %=, son operadores de asignación.
Expresiones tales como Se escriben de la forma
i = i + 2 i+=2
j = j - 3 j-=3
k = k /5 k/=5
n = n * 6 n*=6
m = m % 8 m%=8
Operador condicional:
Sustituye la expresión if-else, y se simplifica el código.
expresión 1 ? proposición 2: proposición 3
ejemplo: f=(a>b) ? a-b : a+b;
en donde a-b se ejecuta si a>b es verdad, de lo contrario se ejecutara a+b
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
Principios de programación. Licenciatura en Ciencias Genómicas
ESTRUCTURA GENERAL DE UN PROGRAMA EN C
A continuación se muestra un bosquejo de como puede ser la estructura de un programa
en C.
/*comentarios sobre lo que el programa realiza */
/*declaración de archivos de encabezado*/
#include <archivo.h>
/*constantes*/
nombre_constantes;
/*plantillas de estructuras */
struct nombre{declaradores}
/*declaración de funciones */
tipo nombre_funcion1(parametros);
...
/*variables globales*/
tipo nombre_variable;
/*función principal */
void main(void)
{
/*Declaración de variables locales */
tipo nombre_variable;
/*contenido interno */
nombre_funcion1(argumentos);
...
...
...
}
/*cuerpo de las funciones */
tipo nombre_funcion1(argumentos)
{
/*variables locales a la función */
tipo nombre_variable;
/*contenido interno*/
...
}
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
Principios de programación. Licenciatura en Ciencias Genómicas
FUNCIONES DE BIBLIOTECA ANSI C
Kernighan y Ritchie en su apéndice B muestra la biblioteca definida por el estándar
ANSI C y el contenido de las funciones dentro de estas, se puede tener acceso a un header
por medio de #include <header>. A continuación se da un resumen de lo que hace cada
archivo de cabecera.
<assert.h> Define la macro assert(), es muy adecuada en depuración. Se le da un
argumento que es una expresión que se afirma que es verdadera. El preprocesador genera
código que comprobara la afirmación. Si es falsa, el programa se detendrá después de dar
un mensaje de error en el que se indique cual era la afirmación y que esta era errónea.
<ctype.h> Definición de varios tipos de macros, permite el manejo de tipos en el lenguaje.
<errno.h> Maneja errores de código para registrar razones de error.
<float.h> Define implementaciones especificas de macros para el trato con números
flotantes.
<limits.h> Define implementaciones especificas de limites sobre tipos de valores.
<locale.h> Declara las funciones, tipos y macros relacionados al formato de valores
numéricos.
<math.h> Declara funciones y macros matemáticas.
<setjmp.h> Proporcionan una forma de evitar la secuencia normal de llamadas y regreso
de funciones, típicamente para permitir un regreso inmediato de una llamada a una
función profundamente anidada.
<signal.h> Da facilidades para manejar condiciones excepcionales que aparecen durante
la ejecución, tal como una señal de interrupción de una fuente externa o un error en la
ejecución.
<stdarg.h> Proporciona recursos para recorrer una lista de argumentos de función de
tamaño y tipo desconocido.
<stddef.h> Definición de tipos comunes NULL, errno, ptrdiff_f, size_t.
<stdio.h> ENTRADA Y SALIDA DE FLUJOS. Las funciones, tipos y macros de
entrada y salida con o sin formato están aquí, todo lo relacionado a archivos.
<stdlib.h> Definiciones para tipos comunes, variables y funciones que se relacionan
con dirección de memoria, ordenamiento, búsqueda, conversión de cadenas,
aritmética entera.
<string.h> Definiciones de memoria y funciones de cadena de caracteres.
<time.h> Declaraciones de funciones y estructuras que relacionan al tiempo.
TAREA: Hacer una tabla como la presentada al inicio para los tipos de datos y las
combinaciones de tipos de datos. Que incluya en la primera columna el tipo/combinación, y
el ancho en bit. Aplicado al servidor de la escuela de la Licenciatura en Ciencias
Genómicas.
TAREA OPCIONAL: Hacer una tabla como la presentada al inicio para los tipos de datos y
las combinaciones de tipos de datos. Que incluya en la primera columna el
tipo/combinación, el ancho en bit y el rango. Aplicado al servidor de la escuela de la
Licenciatura en Ciencias Genómicas.
MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx

Más contenido relacionado

La actualidad más candente

La actualidad más candente (19)

Tema 4 - Tipos datos avanzados (I)
Tema 4 - Tipos datos avanzados (I)Tema 4 - Tipos datos avanzados (I)
Tema 4 - Tipos datos avanzados (I)
 
Strpbrk
StrpbrkStrpbrk
Strpbrk
 
Lenguajec++
Lenguajec++Lenguajec++
Lenguajec++
 
Tema 4 - Tipos datos avanzados (III)
Tema 4 - Tipos datos avanzados (III)Tema 4 - Tipos datos avanzados (III)
Tema 4 - Tipos datos avanzados (III)
 
Tema 4 - Tipos datos avanzados (II)
Tema 4 - Tipos datos avanzados (II)Tema 4 - Tipos datos avanzados (II)
Tema 4 - Tipos datos avanzados (II)
 
Resumen punteros1
Resumen punteros1Resumen punteros1
Resumen punteros1
 
Tema 2 - Programación básica en C (III)
Tema 2  - Programación básica en C (III)Tema 2  - Programación básica en C (III)
Tema 2 - Programación básica en C (III)
 
Libreria c++
Libreria c++Libreria c++
Libreria c++
 
Punteros
PunterosPunteros
Punteros
 
Creacion de una librería propia en C
Creacion de una librería propia en CCreacion de una librería propia en C
Creacion de una librería propia en C
 
Semana 3 Fundamentos de Python(Funciones y Métodos)
Semana 3   Fundamentos de Python(Funciones y Métodos)Semana 3   Fundamentos de Python(Funciones y Métodos)
Semana 3 Fundamentos de Python(Funciones y Métodos)
 
Programación C++
Programación C++Programación C++
Programación C++
 
Punteros a Funciones en C
Punteros a Funciones en CPunteros a Funciones en C
Punteros a Funciones en C
 
Ejemplos Para Dev C++
Ejemplos Para Dev C++Ejemplos Para Dev C++
Ejemplos Para Dev C++
 
El lenguaje de programacion c++ prev
El lenguaje de programacion c++ prevEl lenguaje de programacion c++ prev
El lenguaje de programacion c++ prev
 
Taller de programación clase #3
Taller de programación   clase #3Taller de programación   clase #3
Taller de programación clase #3
 
6 Funciones
6  Funciones6  Funciones
6 Funciones
 
08 - Punteros en lenguaje C
08 - Punteros en lenguaje C08 - Punteros en lenguaje C
08 - Punteros en lenguaje C
 
Lista circulares doblemente enlazadas
Lista circulares doblemente enlazadasLista circulares doblemente enlazadas
Lista circulares doblemente enlazadas
 

Destacado

Socializacion de los resultados del levantamiento de suelos en el distrito de...
Socializacion de los resultados del levantamiento de suelos en el distrito de...Socializacion de los resultados del levantamiento de suelos en el distrito de...
Socializacion de los resultados del levantamiento de suelos en el distrito de...Carlos Méndez
 
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADO
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADOSECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADO
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADOJose Baca
 
ACTIVOLT_презентація_EKT
ACTIVOLT_презентація_EKTACTIVOLT_презентація_EKT
ACTIVOLT_презентація_EKTDmytro Dolishnii
 
Consultores para la Reactivación Económica y el Autoempleo
Consultores para la Reactivación Económica y el AutoempleoConsultores para la Reactivación Económica y el Autoempleo
Consultores para la Reactivación Económica y el AutoempleoDavid Solves
 
Evoluciondelascomputadoras
EvoluciondelascomputadorasEvoluciondelascomputadoras
EvoluciondelascomputadorasYadi Hidalgo
 

Destacado (11)

Socializacion de los resultados del levantamiento de suelos en el distrito de...
Socializacion de los resultados del levantamiento de suelos en el distrito de...Socializacion de los resultados del levantamiento de suelos en el distrito de...
Socializacion de los resultados del levantamiento de suelos en el distrito de...
 
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADO
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADOSECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADO
SECTA MISION FAMILIAR INTERNACIONAL DEL FALSO APOSTOL PEPE DELGADO
 
Thaumatrope emma salome
Thaumatrope emma salomeThaumatrope emma salome
Thaumatrope emma salome
 
PEP work experience
PEP work experiencePEP work experience
PEP work experience
 
ACTIVOLT_презентація_EKT
ACTIVOLT_презентація_EKTACTIVOLT_презентація_EKT
ACTIVOLT_презентація_EKT
 
Consultores para la Reactivación Económica y el Autoempleo
Consultores para la Reactivación Económica y el AutoempleoConsultores para la Reactivación Económica y el Autoempleo
Consultores para la Reactivación Económica y el Autoempleo
 
Textos periodísticos
Textos periodísticosTextos periodísticos
Textos periodísticos
 
Evoluciondelascomputadoras
EvoluciondelascomputadorasEvoluciondelascomputadoras
Evoluciondelascomputadoras
 
Research papers
Research papersResearch papers
Research papers
 
Speech
SpeechSpeech
Speech
 
VIGOR ROAR
VIGOR ROARVIGOR ROAR
VIGOR ROAR
 

Similar a 274420287 tipos-de-datos-en-c (1) (20)

Tipos de datos
Tipos de datosTipos de datos
Tipos de datos
 
C
CC
C
 
Cpp
CppCpp
Cpp
 
Cpp
CppCpp
Cpp
 
Curso c ii
Curso c iiCurso c ii
Curso c ii
 
Curso C Ii
Curso C IiCurso C Ii
Curso C Ii
 
A1 u1-16230227
A1 u1-16230227A1 u1-16230227
A1 u1-16230227
 
Curso c ii
Curso c iiCurso c ii
Curso c ii
 
Python Tutorial Presentation
Python Tutorial PresentationPython Tutorial Presentation
Python Tutorial Presentation
 
Programar en c
Programar en cProgramar en c
Programar en c
 
Introduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquezIntroduccion al lenguaje c_EderHenriquez
Introduccion al lenguaje c_EderHenriquez
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Mule Librerias en Java
Mule Librerias en JavaMule Librerias en Java
Mule Librerias en Java
 
Librerias en-lenguaje-c
Librerias en-lenguaje-cLibrerias en-lenguaje-c
Librerias en-lenguaje-c
 
Estructura basica para_c_
Estructura basica para_c_Estructura basica para_c_
Estructura basica para_c_
 
Ejemplos c
Ejemplos cEjemplos c
Ejemplos c
 
Lenguaje de programación c
Lenguaje de programación cLenguaje de programación c
Lenguaje de programación c
 
Elementos basicos de_programacion
Elementos basicos de_programacionElementos basicos de_programacion
Elementos basicos de_programacion
 
ELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdfELEMENTOS DE PROGRA 30-05.pdf
ELEMENTOS DE PROGRA 30-05.pdf
 

Último

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfOscarBlas6
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.imejia2411
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxRodriguezLucero
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx241532171
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxssuser61dda7
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webDecaunlz
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenajuniorcuellargomez
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdfFAUSTODANILOCRUZCAST
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdfFernandaHernandez312615
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfisrael garcia
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenadanielaerazok
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellajuancamilo3111391
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAdanielaerazok
 

Último (13)

COMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdfCOMPETENCIAS CIUDADANASadadadadadadada .pdf
COMPETENCIAS CIUDADANASadadadadadadada .pdf
 
MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.MODELO CARACTERIZACION DE PROCESOS SENA.
MODELO CARACTERIZACION DE PROCESOS SENA.
 
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptxPRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
PRIMARIA 1. RESUELVE PROBLEMAS DE FORMA MOVIMIENTO Y LOCALIZACIÓN 2 (2).pptx
 
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsxactividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
actividad.06_crea_un_recurso_multimedia_M01_S03_M01.ppsx
 
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptxrodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
rodriguez_DelAngel_MariaGPE_M1S3AL6.pptx
 
Buscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la webBuscadores, SEM SEO: el desafío de ser visto en la web
Buscadores, SEM SEO: el desafío de ser visto en la web
 
institucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalenainstitucion educativa la esperanza sede magdalena
institucion educativa la esperanza sede magdalena
 
libro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdflibro de Ciencias Sociales_6to grado.pdf
libro de Ciencias Sociales_6to grado.pdf
 
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf2º SOY LECTOR PART 2- MD  EDUCATIVO (6).pdf
2º SOY LECTOR PART 2- MD EDUCATIVO (6).pdf
 
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdfNUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
NUVO PROGRAMAS DE ESCUELAS NUEVO-ACUERDO-CTE.pdf
 
Institucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalenaInstitucion educativa la esperanza sede la magdalena
Institucion educativa la esperanza sede la magdalena
 
Historia de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ellaHistoria de la Medicina y bases para desarrollo de ella
Historia de la Medicina y bases para desarrollo de ella
 
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENAINSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
INSTITUCION EDUCATIVA LA ESPERANZA SEDE MAGDALENA
 

274420287 tipos-de-datos-en-c (1)

  • 1. Principios de programación. Licenciatura en Ciencias Genómicas TIPOS DE DATOS BASICOS EN LENGUAJE C TIPO char int float double void ANCHO EN BIT 8 16 32 64 0 RANGO EN PC -128 a 127 -32768 a 32767 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308 sin valores TIPOS DE DATOS TIPO char unsigned char signed char int unsigned int signed int short int unsigned short int signed short int long int signed long int unsigned long int float double long double ANCHO EN BIT 8 8 8 16 16 16 16 16 16 32 32 32 32 64 64 RANGO EN PC -128 a 127 0 a 255 -128 a 127 -32768 a 32767 0 a 65535 -32768 a 32767 -32768 a 32767 0 a 65535 -32768 a 32767 -2147483648 a 2147483647 -2147483648 a 2147483647 0 a 4294967295 3.4E-38 a 3.4E+38 1.7E-308 a 1.7E+308 1.7E-308 a 1.7E+308 COMBINACIONES DE TIPOS DE DATOS El tamaño en bits asignado al tipo de dato que se use depende de la capacidad de la computadora y del compilador utilizado. Ejemplo: en una PC normal con un compilador de TC ver 2.0, un tipo int es de 16 bits, para una AIX-RISC system6000 un tipo int es de 32 bits. MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
  • 2. Principios de programación. Licenciatura en Ciencias Genómicas DECLARACIONES EN C. Una declaración asocia un tipo de datos determinado a un grupo de variables. ejemplos: int a,b,c; char d,e; float f,g; long int h,i,j; double k,l,m; CONSTANTES EN C. Ejemplos de constantes #define pi 3.1415 #define verdad 1 const int a=3; MACROS EN C La forma de una macro es #define nombre texto de reemplazo. El nombre es la macro a sustituir, el texto de reemplazo es una línea normalmente, pero puede continuarse en varias líneas utilizando un al final de cada línea para indicar que se continua. ejemplo sin argumentos: #define infinito for(;;) define una nueva palabra, infinito, para un ciclo infinito. ejemplo con argumentos: #define multiplica(a,b) (a*b) la línea x=multiplica((3+4),(4+6)); será reemplazada por la línea x=((3+4)*(4+6)); MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
  • 3. Principios de programación. Licenciatura en Ciencias Genómicas OPERADORES Operadores aritméticos: + - * % (modulo) Operadores unitarios: negación : ! menos : -2 -(a+b) -0.34 incremento: ++j j++ decremento: --j j— ejemplo: para j=1 SALIDA printf(“j=%dn”,j); 1 printf(“j=%dn”,++j); 2 printf(“j=%dn”,j); 2 para j=1 SALIDA printf(“j=%dn”,j); 1 printf(“j=%dn”,j++); 1 printf(“j=%dn”,j); 2 Operador sizeof(tamaño de): Devuelve el tamaño de su operando en bytes, ejemplo: printf(“Entero tiene : %dn bytes”,sizeof(int)); Operadores relacionales: < <= > >= == != (menor que) (menor o igual que) (mayor que) (mayor o igual que) ejemplo (idéntico ) (diferente) MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
  • 4. Principios de programación. Licenciatura en Ciencias Genómicas Operadores lógicos: && (AND) 11 (OR) Operadores de asignación: Los operadores como +=, -=, =, *=, %=, son operadores de asignación. Expresiones tales como Se escriben de la forma i = i + 2 i+=2 j = j - 3 j-=3 k = k /5 k/=5 n = n * 6 n*=6 m = m % 8 m%=8 Operador condicional: Sustituye la expresión if-else, y se simplifica el código. expresión 1 ? proposición 2: proposición 3 ejemplo: f=(a>b) ? a-b : a+b; en donde a-b se ejecuta si a>b es verdad, de lo contrario se ejecutara a+b MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
  • 5. Principios de programación. Licenciatura en Ciencias Genómicas ESTRUCTURA GENERAL DE UN PROGRAMA EN C A continuación se muestra un bosquejo de como puede ser la estructura de un programa en C. /*comentarios sobre lo que el programa realiza */ /*declaración de archivos de encabezado*/ #include <archivo.h> /*constantes*/ nombre_constantes; /*plantillas de estructuras */ struct nombre{declaradores} /*declaración de funciones */ tipo nombre_funcion1(parametros); ... /*variables globales*/ tipo nombre_variable; /*función principal */ void main(void) { /*Declaración de variables locales */ tipo nombre_variable; /*contenido interno */ nombre_funcion1(argumentos); ... ... ... } /*cuerpo de las funciones */ tipo nombre_funcion1(argumentos) { /*variables locales a la función */ tipo nombre_variable; /*contenido interno*/ ... } MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx
  • 6. Principios de programación. Licenciatura en Ciencias Genómicas FUNCIONES DE BIBLIOTECA ANSI C Kernighan y Ritchie en su apéndice B muestra la biblioteca definida por el estándar ANSI C y el contenido de las funciones dentro de estas, se puede tener acceso a un header por medio de #include <header>. A continuación se da un resumen de lo que hace cada archivo de cabecera. <assert.h> Define la macro assert(), es muy adecuada en depuración. Se le da un argumento que es una expresión que se afirma que es verdadera. El preprocesador genera código que comprobara la afirmación. Si es falsa, el programa se detendrá después de dar un mensaje de error en el que se indique cual era la afirmación y que esta era errónea. <ctype.h> Definición de varios tipos de macros, permite el manejo de tipos en el lenguaje. <errno.h> Maneja errores de código para registrar razones de error. <float.h> Define implementaciones especificas de macros para el trato con números flotantes. <limits.h> Define implementaciones especificas de limites sobre tipos de valores. <locale.h> Declara las funciones, tipos y macros relacionados al formato de valores numéricos. <math.h> Declara funciones y macros matemáticas. <setjmp.h> Proporcionan una forma de evitar la secuencia normal de llamadas y regreso de funciones, típicamente para permitir un regreso inmediato de una llamada a una función profundamente anidada. <signal.h> Da facilidades para manejar condiciones excepcionales que aparecen durante la ejecución, tal como una señal de interrupción de una fuente externa o un error en la ejecución. <stdarg.h> Proporciona recursos para recorrer una lista de argumentos de función de tamaño y tipo desconocido. <stddef.h> Definición de tipos comunes NULL, errno, ptrdiff_f, size_t. <stdio.h> ENTRADA Y SALIDA DE FLUJOS. Las funciones, tipos y macros de entrada y salida con o sin formato están aquí, todo lo relacionado a archivos. <stdlib.h> Definiciones para tipos comunes, variables y funciones que se relacionan con dirección de memoria, ordenamiento, búsqueda, conversión de cadenas, aritmética entera. <string.h> Definiciones de memoria y funciones de cadena de caracteres. <time.h> Declaraciones de funciones y estructuras que relacionan al tiempo. TAREA: Hacer una tabla como la presentada al inicio para los tipos de datos y las combinaciones de tipos de datos. Que incluya en la primera columna el tipo/combinación, y el ancho en bit. Aplicado al servidor de la escuela de la Licenciatura en Ciencias Genómicas. TAREA OPCIONAL: Hacer una tabla como la presentada al inicio para los tipos de datos y las combinaciones de tipos de datos. Que incluya en la primera columna el tipo/combinación, el ancho en bit y el rango. Aplicado al servidor de la escuela de la Licenciatura en Ciencias Genómicas. MC Marco Antonio Crúz Chávez. mcruz@buzon.uaem.mx