PDF de programación - Fundamentos básicos de programación en C++

Imágen de pdf Fundamentos básicos de programación en C++

Fundamentos básicos de programación en C++gráfica de visualizaciones

Publicado el 24 de Marzo del 2018
929 visualizaciones desde el 24 de Marzo del 2018
1,2 MB
185 paginas
Creado hace 8a (17/09/2015)
UNIVERSIDAD DE JA ÉN

Departamento de Informática

FUNDAMENTOS B ÁSICOS DE PROGRAMACI ÓN EN

C++

Francisco Martínez del Río

2

Copyright c 2015 Francisco Martínez del Río
Licensed under the Creative Commons Attribution-NonCommercial 3.0 Unported License
(the “License”). You may not use this file except in compliance with the License. You may
obtain a copy of the License at http://creativecommons.org/ licenses/by-nc/3.0. Unless
required by applicable law or agreed to in writing, software distributed under the License is
distributed on an “as is” basis, without warranties or conditions of any kind, either express
or implied. See the License for the specific language governing permissions and limitations
under the License.

En la asignatura “Fundamentos de Programación”, del Grado en Informática de la Uni-
versidad de Jaén, se estudian una serie de conceptos y mecanismos básicos de programación
comunes a cualquier lenguaje de programación. El objetivo de estos apuntes es aprender a
utilizar estos conceptos y mecanismos en un lenguaje de programación concreto: el lenguaje
C++. Estos apuntes constituyen un punto de partida para el estudio de C++, limitándose
al análisis de estos conceptos básicos. Concretamente, no se analizarán las características
orientadas a objetos de C++, éstas se estudiarán en la asignatura “Programación orientada
a objetos”.

C++ deriva del lenguaje C. El lenguaje C ha sido, y sigue siendo, uno de los lenguajes
de programación más utilizados. Al existir una gran cantidad de código escrito en C se
consideró interesante que C++ fuera compatible con C, en el sentido de que se pudiera
utilizar cualquier código C previo en un programa escrito en C++. Esta compatibilidad se
ha conseguido casi al cien por cien. Sin embargo, C++ es más moderno y mejor que C,
permitiendo un estilo de programación más sencillo y seguro que el estilo de C. En aquellos
aspectos en los que C++ ofrece alternativas más elegantes que C—como en la entrada y
salida, en los flujos o en las cadenas de caracteres—se ha preferido estudiar únicamente la
interfaz de programación de C++. Si el lector necesita trabajar y entender código escrito en C,
entonces necesitará estudiar todas las características de programación de C. Mientras tanto
le recomendamos que estudie sólamente las características de C++, pues son más sencillas
y seguras.

A lo largo de estos apuntes se estudia cómo expresar en C++ una serie de características
comunes a cualquier lenguaje de programación: los tipos de datos básicos y estructurados,
las variables, la entrada y salida, las expresiones aritméticas y lógicas, las sentencias condi-
cionales e iterativas, las funciones, la recursividad y los flujos de tipo texto. La sintaxis de
C++ sigue el estándar C++98.

El código C++ que aparece en estos apuntes está resaltado sintáctimente. El resaltado
de sintaxis es una característica visual que se aplica al código para facilitar su lectura, por
ejemplo, visualizando en negrita las palabras reservadas del lenguaje. Cuando usted escriba
el código en un editor de texto es posible que estas palabras reservadas no se visualicen en
negrita en su editor, no se preocupe, dependerá de la configuración del editor de texto.

Índice general

1. Introducción y entrada/salida

1.1. Primer programa en C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Tipos de datos básicos de C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3. Definición de variables y operador de asignación . . . . . . . . . . . . . .
. . .
1.4. Salida de datos y comentarios . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5. Lectura o entrada de datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

.

.

.

2. Expresiones

2.1. Expresiones aritméticas y precedencia . . . . . . . . . . . . . . . . . . . . . . .
2.2. Conversiones de tipos
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3. Expresiones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4. El operador de asignación y de incremento . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5. Literales
.
.
2.6. Constantes .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.7. Llamadas a funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.8. Ejercicios .

.
.

.
.

.
.

.
.

.
.

.
.

.

.

.

.

.

.

.

.

3. Estructuras condicionales

.

.

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.1. La sentencia if .
.
3.2. Expresiones lógicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.1. Expresiones lógicas compuestas
. . . . . . . . . . . . . . . . . . . . . .
3.2.2. Un error muy com ún . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3. Un error algo menos com ún . . . . . . . . . . . . . .
. . . . . . . . . . .
3.2.4. El operador condicional
. . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.5. Cómo mostrar el valor de una expresión lógica . . . . . . . . . . . . . .

5
5
6
7
8
9
10

13
13
14
15
16
17
18
18
19

23
23
24
25
26
28
29
29

2

ÍNDICE GENERAL

3.3. La sentencia switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Selección m últiple con la sentencia if .
.
3.5. Otro error típico .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Ejercicios .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

.

.

.

4. Estructuras repetitivas

4.1. La sentencia while . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2. La sentencia do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.3. La sentencia for .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4. Las sentencias break y continue . . . . . . . . . . . . . . . . . . . . . . . . .
4.5. Lugar de definición y ámbito de las variables . . . . . . . . . . . . . . . . .
4.6. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.

.

.

.

5. Tipos de datos estructurados

.

.

.

. . . . . .

5.1. Los vectores .

. . . . . . . . . . . . . . . . . .

5.1.1.
5.1.2.
5.1.3. El tama ño de un vector

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Iniciación de un vector en su definición . . . . . . . . . . . . . .
. .
Implementación del tipo de dato vector . . . . . . . . . . . . . . . .
.
5.2. Los arrays multidimensionales . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3. Las cadenas de caracteres
5.3.1. Acceso a caracteres y comparaciones entre cadenas . . . . . . . . .
5.3.2. Lectura de cadenas con espacios en blanco . . . . . . . . . . . . . .
5.3.3. Un problema al leer cadenas con getline . . . . . . . . . . . . . . . .
5.3.4. El tama ño dinámico de los strings
. . . . . . . . . . . . . . . . . . .
.
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

5.4. Las estructuras .
.
5.5. Ejercicios .

.
.

.

.

.
.
.
.

.
.
.
.

.
.
. .
.
.
. .
.
.
.
.

.
.
.
.
.
.
.
.
.
.
. .
.
.
.
.
.
.
.
.
. .
. .

6. Funciones

6.1. Definición de funciones

. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
.
6.1.1. Tipos de datos que puede devolver una función . . . . . . . . . . .
.
6.2. Funciones void y funciones sin parámetros . . . . . . . . . . . . . . . . . .
.
6.3. La pila: almacenamiento de variables locales . . . . . . . . . . . . . . . . . .
6.4. Variables globales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.5. Paso por variable o referencia . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6.5.1. Referencias

.
.
.
.
.
. .
.
.

30
31
33
34

39
39
40
41
43
46
49

53
53
54
55
57
58
59
60
62
62
66
66
69

75
75
78
78
79
80
82
82

ÍNDICE GENERAL

3

82
6.5.2. Paso por referencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
85
6.5.3. Paso por referencia y por copia . . . . . . . . . . . . . . . . . . . . . . .
6.6. Parámetros de entrada y de salida de una función . . . . . . . . . . . . . . . .
88
6.7. Orden de definición de las funciones . . . . . . . . . . . . . . . . . . . . . . . .
88
90
6.8. Funciones recursivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.9. Paso de parámetros de tipo estructura y string . . . . . . . . . . . . . . . . . .
91
6.10. Paso de parámetros de tipo vector
93
.
96
.
99
6.11. Funciones sobrecargadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.12. Parámetros por defecto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
99
6.13. Especificación de la interfaz de una función . . . . . . . . . . . . . . . . . . . . 101
6.14. Ejercicios .
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

. . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . .

6.10.1. Paso de parámetros de tipo array multidimensional

.

.

.

.

.

.

.

7. Punteros

.

.

.

.

7.1. El tipo puntero .

111
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
7.1.1. Punteros a estructuras . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.1.2. Puntero nulo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2. Paso de parámetros por referencia mediante punteros . . . . . . . . . . . . . . 114
7.3. Aritmética de punteros y vectores . . . . . . . . . . . . . . . . . . . . . . . . . . 115
7.3.1. Resta de punteros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
  • Links de descarga
http://lwp-l.com/pdf9839

Comentarios de: Fundamentos básicos de programación en C++ (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad