Download Lenguaje C

Document related concepts
no text concepts found
Transcript
Programación I
MC José Andrés Vázquez Flores
Historia
 C es un lenguaje de programación de propósito
general, asociado a UNIX.
 Reúne características de programación intermedia
entre los lenguajes ensambladores y los lenguajes
de alto nivel; con gran poderío basado en sus
operaciones a nivel de bits y la mayoría de los
elementos de la programación estructurada de los
lenguajes de alto nivel.
 Las ideas principales de C provienen de BCPL, a
través del lenguaje B.
26
Historia
 En 1971 Dennis Ritchie, con base en el lenguaje B
desarrollo NB que luego cambio su nombre por C;
en un principio sirvió para mejorar el sistema
UNIX por lo que se le considera su lenguaje nativo.
 Su diseño incluyó una sintaxis simplificada, la
aritmética de direcciones de memoria (permite al
programador manipular bits, bytes y direcciones
de memoria) y el concepto de apuntador.
27
Identificadores
 Un identificador es una secuencia de letras y
dígitos, donde el primer carácter debe de ser una
letra o subguión.
 Letras mayúsculas son distintas de las minúsculas.
 Los identificadores pueden tener cualquier
longitud, pero solo los primeros 31 caracteres son
significativos.
28
Palabras Reservadas
auto
typedef
continue
while
else
break
for
default
long
enum
sizeof
goto
register
static
union
main
case
do
extern
double
if
float
return
int
struct
short
unsigned
switch
char
void
29
Primer programa en C
/* Un primer programa en C */
#include <stdio.h>
main()
{
printf(''Hola Puebla”);
}
Comentario
Archivo de cabecera
Función principal
Sentencia
30
Estructura de un programa en C
#include…
#define…
Tipo1 funcion1 (…)
Directivas del preprocesador
Declaración de macros
Declaraciones globales
de variables y tipos de datos
Prototipos de funciones
Definiciones de otras funciones
{
…
}
main()
{
Función principal main
Declaraciones locales
Sentencias
}
31
Tipos de Datos
 Los tipos básicos del lenguaje son:
 Carácter: Se declara con la palabra reservada char,
ocupa un byte en memoria, que puede representar 256
símbolos posibles.
 Real: Se declara con la palabra reservada double o float,
ocupa 8 o 4 bytes de memoria, respectivamente.
 Entero: Se declara con la palabra reservada int y short, y
ocupa 2 bytes de memoria. En algunos compiladores
ocupa 4 bytes de memoria.
32
Combinaciones
char
8 caracteres ASCII -128 a 127
unsigned char
8 caracteres ascii 0 a 255
signed char
8 caracteres ascii -128 a 127
int
16 bits -32768 a 32767
unsigned int
16 bits 0 a 65535
signed int
16 bits -32768 a 32767
short int
16 bits -32768 a 32767
unsigned short int
8 bits 0 a 255
signed short int
16 bits -32768 a 32767
long int
32 bits -2147483648 a 2147483647
signed long int
32 bits -2147483648 a 2147483647
unsigned long int
32 bits 0 a 4294967295
float
32 bits 6 dígitos de precisión 3.4E-38 a 3.4E+38
double
64 bits 12 dígitos de precisión 1.7E-308 a 1.7E+308
long double
64 bits 12 dígitos de precisión 1.7E-308 a 1.7E+308
0 a 65535
33
Comentarios
 Los comentarios en C son cadenas arbitrarias de
símbolos colocados entre los delimitadores /* y */
 Ejemplo:
/* Comentarios */
/* Este es un comentario
muy largo ya que ocupa *
mas de un renglón
*/
34
Cadenas
 Una cadena es una secuencia de caracteres entre
comillas “”. Si el carácter (“) tiene que aparecer en
una cadena, se precede por el carácter \.
 Ejemplos:
“Una cadena de texto”
“z”
“Una cadena con \” comillas”
“”
“
”
“x-x-0-.1-basura”
“a+b=suma; x=cos(y)”
/* cadena nula */
35
Constantes
 Una constante (cualquier tipo de constante) en C
se define de la siguiente manera (utilizando la
palabra reservada define y anteponiéndole el
símbolo # :
#define
#define
#define
#define
ENTERO 10
REAL 1.09982
CAD
“Se define una constante cad “
CAR
‘a’
36
Variables
 Las variables y las constantes son los objetos que
manipulan un programa.
 En general se deben de declarar las variables antes
de poderlas usar.
 Por ejemplo:
int i, j, k=0;
float largo, ancho;
char c;
37
Expresiones
 Las expresiones
son combinaciones de
constantes, variables, operandos y llamados a
funciones. Algunos ejemplos de expresiones son:
a+b*3.0*x-9.3242
3.77+sen(3.14*98.7)
tan(1.8)
38
Expresiones
 El signo de igualdad
(=) es el operador básico de
asignación en C.
 Un ejemplo de una “expresión” de asignación es:
i=7;
 A la variable i se le asigna el valor de 7 y la expresión como
un todo toma ese valor. Cuando la expresión va seguida de
un punto y coma (;) se convierte en una proposición.
39
Expresiones
 Se tienen operadores:
 Aritméticos (-(unario), *, /, %, +, -)
 Relacionales (>, >=, <, <=, ==, !=)
 Lógicos(!, &&, ||)
 De incremento y decremento (++, --)
 A nivel de bits (~, &, |, ^, <<, >>)
 Asignación (=, +=, -=, *=, /=,%=,<<=, >>=, &=, |=, ^=)
 Cada operador guarda una precedencia.
40
Entrada y Salida básica
 printf, scanf, getchar, puts, putc, fprintf, fscanf
 Ejemplo:
printf(“cadena de control”, lista de argumentos);
printf("hola puebla son las %d\n", tiempo);
% tipo_de_dato (c, d, i, o, x, f, s)
41
Estructura de Secuencia
 En C se tienen proposiciones:
 Una proposición simple es una única instrucción.
 Una
proposición compuesta son dos o más
instrucciones, en este caso es necesario que éstas se
encuentren entre corchetes «{ … }»
 Cada instrucción será ejecutada una después de la
otra, a menos que se tenga una instrucción de
decisión o iteración.
 Cada instrucción termina con ‹;›.
42
Estructuras de Decisión
 Condicional simple
if (condición)
Proposición
 Condición doble
if (condición)
Proposición verdadera
else
Proposición falsa
43
Estructuras de Decisión
 Expresión condicional ‹?›:
Expresión1 ? Expresión2 : Expresión3
 Expresión1 es evaluada primero. Si es verdadero,
entonces la Expresión2 es evaluada. De otra forma
Expresión3 se evalúa.
 Ejemplo:
z = (a > b) ? a : b; /* z = max (a, b) */
 En C, una condición verdadera, es distinta de
cero, una condición falsa es igual a cero.
44
Estructuras de Decisión
 Else – if
if (condición)
proposición
else if (condición)
proposición
else if (condición)
proposición
…
else
proposición
45
Estructuras de Decisión
 Decisión múltiple
switch (expresión)
{
case exp_const1: proposición1
break;
case exp_const2: proposición2
break;
…
[default : proposiciónn]
}
46
Estructuras de Iteración
 Ciclo for
for (expresión1; expresión2; expresión3)
for (inicialización; cond_paro; dec/inc)
 Que es equivalente a:
expresión1
while (expresión2)
{
proposición
expresión3
}
47
Estructuras de Iteración
 Ciclo while
while (condición)
proposición
 Alguna de las instrucciones dentro de la
proposición debe de modificar la condición, de
otra forma se tendría un ciclo infinito.
48
Estructuras de Iteración
 Ciclo do – while
do
proposición
while (condición);
 Alguna de las instrucciones dentro de la
proposición debe de modificar la condición, de
otra forma se tendría un ciclo infinito.
49