Programación en C: Tipos de datos y estructuras de control decisionales

Diapositivas de Universidad sobre Programación en C. El Pdf explica los conceptos fundamentales de la programación en C, incluyendo tipos de datos como enteros, reales, caracteres y void, así como las estructuras de control decisionales 'if-else' con ejemplos de sintaxis y diagramas de flujo para la asignatura de Informática.

Ver más

35 páginas

Programación en C
Tipos de datos

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Tipos de datos en C

En todo lenguaje de programación se trabaja con una gran variedad de datos que se diferencian entre ellos según su naturaleza, unos representan a valores numéricos, otros textos, etc. Los más representativos dentro del lenguaje C se clasifican en los siguientes tipos:

Tipos de datos básicos en C

ENTEROS Hacen referencia a los números enteros, es decir, a números sin parte decimal tanto positivos como negativos. Ejemplos: 5, 17, -3, 0. Declaración: int edad; short goles; long distancia;

REALES Hacen referencia a los números reales, es decir, a números que poseen parte entera y parte decimal tanto positivos como negativos. Ejemplos: 9.3, 17.0, -3.5 Declaración: float precio; double capacidad;

CARÁCTER Representan caracteres de la tabla ASCII, por tanto almacenan valores enteros entre 0 y 255 pero cuando se muestran no se visualiza su valor numérico sino el valor correspondiente de la tabla ASCII. Se pueden almacenar varios juntos entonces sería una cadena de caracteres. char letra = 'a'; char palabra[ ] = "Hola";

VACÍO Hace referencia a un dato vacío o que no tiene o no devuelve nada. Puede tener dos usos: - Indica que una función no devuelve nada si hacemos referencia a los datos que devuelve. void main(); - Indica un puntero genérico cuando se refiere a un puntero. (void *)

Modificadores numéricos en C

Los tipos básicos de datos numéricos pueden admitir modificadores del rango de valores que almacenan. En C existen cuatro modificadores que se pueden aplicar a los datos numéricos enteros, signed y unsigned al tipo carácter y solo long al tipo real double.

  • signed (con signo)
  • unsigned (sin signo)
  • short (corto)
  • long (largo)

Signed, indica que el valor numérico tiene signo, es decir, que puede ser positivo o negativo. Si no se indica nada los datos son normalmente signed y no sería necesario aplicar este modificador. Unsigned, indica que el valor numérico es solo positivo. Short, para reducir los valores máximo y mínimo a almacenar. Long, para aumentar los valores maximo y mínimo a almacenar en la variable. No siempre tiene efecto este modificador y depende mucho del compilador y de la plataforma que usemos en cada momento.

NOTA: Muchos de los valores asociados a estos modificadores aplicados a distintos tipos dependen de la plataforma (procesador y sistema operativo) y del compilador usado. Por ejemplo, es muy corriente que un tipo int y long int almacenen valores de datos iguales a pesar de que el long int parezca mayor.

Tipos de datos numéricos en C

Es muy importante tener una idea bastante aproximada del valor del dato que vamos a almacenar para elegir de forma correcta el tipo de variable a usar. Si intentamos almacenar un valor en una variable que no tenga capacidad para almacenarla podemos almacenar el dato de forma incorrecta o incluso sobrescribir, sin querer, el dato contiguo en memoria. Algunos rangos dependen del compilador usado.

Rango de valores estándar

Nombre completo unsigned char signed char unsigned short int signed short int unsigned int signed int unsigned long int signed long int unsigned long long int signed long long int float double long double

Nombre abreviado unsigned char char unsigned short short unsigned int int unsigned long long unsigned long long long long float double long double

Bytes 1 1 2 2 4 4 4 4 8 8 4 8 16

Bits 8 8 16 16 32 32 32 32 64 64 32 64 128

Descripción Entero sin signo y ASCII (positivo) Entero con signo y ASCII Entero corto sin signo (positivo) Entero corto con signo Entero sin signo (positivo) Entero con signo Entero largo sin signo (positivo) Entero largo con signo Entero largo largo sin signo (positivo) Entero largo largo con signo Real Real doble Real doble largo

Mínimo 0 -128 0 -32.768 0 -2.147.483.648 0 -2.147.483.648 0 -9.223.372.036.854.775.808 1,17549e-038 2,22507e-308 1,16542e-317

Máximo 255 127 65.535 32.767 4.294.967.295 2.147.483.647 4.294.967.295 2.147.483.647 18.446.744.073.709.551.615 9.223.372.036.854.775.808 3.40282e+038 1,79769e+308 1,16542e+317

Tipos carácter y cadena en C

Tipo carácter

Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII). Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable. Una constante tipo char se representa como un solo carácter encerrado entre comillas simples. Por ejemplo: char letra='a';

Tipo cadena de caracteres (string)

una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles. Para definir variables de tipo cadena, éstas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena (no es necesario que la cadena ocupe todo el tamaño definido). Por ejemplo: char mensaje[20] = "Hola mundo"; El primer elemento de la cadena se referencia mediante el nombre de la variable y el índice 0, es decir, en nuestro caso anterior: mensaje[0] vale H, el segundo mediante mensaje[1] que vale o, el tercero mediante mensaje[2] que vale I y así sucesivamente. Toda cadena de caracteres tiene como último elemento el indicador de fin de cadena que en C es '\0' y que le indica al programa que ahí termina la cadena aunque la variable tenga más capacidad disponible. El resto de elementos hasta el final de capacidad de la variable se rellenan también con '\0'.

Tabla ASCII

ASCII (American Standard Code for Information Exchange Código Estándar Estadounidense para el Intercambio de Información), es un código de caracteres basado en el alfabeto latino, tal como se usa en inglés moderno. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA, conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales, o ANSI) como una reordenación y evolución de los conjuntos de códigos utilizados entonces en telegrafía. Más tarde, en 1967, se incluyeron las minúsculas, y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII, que incluye los caracteres del 0 al 127 (7 bits). En 1981, la empresa IBM desarrolló una extensión de 8 bits del código ASCII, llamada "página de código 437", en esta versión se reemplazaron algunos caracteres de control obsoletos, por caracteres gráficos. Además se incorporaron 128 caracteres nuevos del 128 a 255.

Caracteres ASCII

Caracteres ASCII de control 00 NULL (carácter nulo) 01 SOH (inicio encabezado) 02 STX (inicio texto) 03 ETX (fin de texto) 04 EOT (fin transmisión) 05 ENQ (consulta) 06 ACK (reconocimiento) 07 BEL (timbre) 08 BS (retroceso) 09 HT (tab horizontal) 10 LF (nueva linea) 11 VT (tab vertical) 12 FF (nueva página) 13 CR (retorno de carro) 14 SO (desplaza afuera) 15 SI (desplaza adentro) 16 DLE (esc.vínculo datos) 17 DC1 (control disp. 1) 18 DC2 (control disp. 2) 19 DC3 (control disp. 3) 20 DC4 (control disp. 4) 21 NAK (conf. negativa) 22 SYN (inactividad sinc) 23 ETB (fin bloque trans) 24 CAN (cancelar) 25 EM (fin del medio) 26 SUB (sustitución) 27 ESC (escape) 28 FS (sep. archivos) 29 GS (sep. grupos) 30 RS (sep. registros) 31 US (sep. unidades)

Caracteres ASCII imprimibles 32 espacio 33 ! 34 - 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 44 , 45 - 46 . 47 / 48 0 49 1 50 2 51 3 52 4 53 5 54 6 55 7 56 8 57 9 58 : 59 ; 60 < 61 = 62 > 63 ?

64 @ 65 A 66 B 67 C 68 D 69 E 70 F 71 G 72 H 73 I 74 J 75 K 76 L 77 M 78 N 79 O 80 P 81 Q 82 R 83 S 84 T 85 U 86 V 87 W 88 X 89 Y 90 Z 91 [ 92 \ 93 ] 94 ^ 95 _

96 ` 97 a 98 b 99 c 100 d 101 e 102 f 103 g 104 h 105 i 106 j 107 k 108 l 109 m 110 n 111 o 112 p 113 q 114 r 115 s 116 t 117 u 118 v 119 w 120 x 121 y 122 z 123 { 124 | 125 } 126 ~ 127 DEL (suprimir)

ASCII extendido 128 Ç 129 ü 130 é 131 â 132 ä 133 à 134 å 135 ç 136 ê 137 ë 138 è 139 ï 140 î 141 ì 142 Ä 143 Å 144 É 145 æ 146 Æ 147 ô 148 ö 149 ò 150 û 151 ù 152 ÿ 153 Ö 154 Ü 155 ¢ 156 £ 157 ¥ 158 ₧ 159 ƒ

160 á 161 í 162 ó 163 ú 164 ñ 165 Ñ 166 ª 167 º 168 ¿ 169 ® 170 ¬ 171 ½ 172 ¼ 173 ¡ 174 « 175 » 176 ░ 177 ▒ 178 ▓ 179 │ 180 ┤ 181 Á 182 Â 183 À 184 © 185 ╣ 186 ║ 187 ╗ 188 ╝ 189 ¢ 190 ¥ 191 ┐

192 └ 193 ┴ 194 ┬ 195 ├ 196 ─ 197 ┼ 198 ã 199 Ã 200 ╚ 201 ╔ 202 ╩ 203 ╦ 204 ╠ 205 ═ 206 ╬ 207 ¤ 208 ð 209 Ð 210 Ê 211 Ë 212 È 213 ı 214 Í 215 Î 216 Ï 217 ┘ 218 ┌ 219 █ 220 ▄ 221 ¦ 222 Ì 223 ▀

224 Ó 225 ß 226 Ô 227 Ò 228 õ 229 Õ 230 µ 231 þ 232 Þ 233 Ú 234 Û 235 Ù 236 ý 237 Ý 238 ¯ 239 ´ 240 ≡ 241 ± 242 ‗ 243 ¾ 244 ¶ 245 § 246 ÷ 247 ¸ 248 ° 249 ¨ 250 · 251 ¹ 252 ³ 253 ² 254 ■ 255 nbsp

Operadores en C

Los operadores son símbolos que permiten conectar o relacionar los datos entre sí, con lo que se facilita la realización de las diferentes operaciones.

Lista de los operadores más comunes (por orden de preferencia)

Operadores Paréntesis ** , ^ * / div, \ %, mod + - + - == ,= != , <> < <= > >= !, NOT, no &&, AND, y ||, OR, o

Símbolos ()

Aritméticos

Alfanuméricos

Relacionales

Lógicos

Significados Paréntesis Potencia Producto División División entera Módulo (resto de la división entera) Suma o signo positivo Resta o símbolo negativo Concatenación Concatenación negativa Igual a Distinto de Menor que, menor o igual que Mayor que, mayor o igual que Negación Conjunción (producto lógico) Disyunción (suma lógica)

Estructura de un programa en C

  • El programador debe utilizar de forma precisa la notación que es capaz de entender el compilador: cada declaración o expresión se termina en ;

Declaraciones previas

  • #include, #define, etc. #include <stdio.h> #include <stdlib.h> #define N 4

Declaración de programa principal

  • main() { .... } main ()

Dentro de main()

  • Declaración de las variables con sus tipos. { int x1,x2,x3,x4; //Datos float m; /* Media */
  • Código para obtener datos de partida del exterior (teclado, archivo, sensor, ... ). printf ("Introduzca x1: ") ; scanf ("%d", &x1) ; printf ("Introduzca x2: "); scanf ("%d", &x2) ; printf ("Introduzca x3: "); scanf ("%d", &x3) ; printf ("Introduzca x4: "); scanf ("%d", &x4) ;
  • Código para procesar los datos. m=(x1+x2+x3+x4)/N;
  • Código para enviar datos resultado hacia el exterior (pantalla, archivo, accionador, ... ). printf ("La media es %f\n",m) ; }
  • Comentarios (el compilador no los tiene en cuenta): + Resto de línea: // texto informativo + Multi-línea: /* texto informativo */ 12

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.