Tutorial básico de C++ (1)

Tutorial elemental de C++

1. Introducción a C++

C++ (c plus plus) es un lenguaje de programación de computadora de alto nivel, que es producido por la extensión y actualización del lenguaje C. Fue desarrollado por primera vez en 1979 por Benjani Stroustrupp en AT&T Bell Studios.

C++ no solo puede llevar a cabo la programación procedimental del lenguaje C , sino también llevar a cabo la programación basada en objetos caracterizada por tipos de datos abstractos, y también puede llevar a cabo la programación orientada a objetos caracterizada por la herencia y el polimorfismo. Si bien C ++ es bueno en la programación orientada a objetos, también puede realizar programación basada en procesos. C++ puede crear casi cualquier tipo de programa: juegos, controladores de dispositivos , HPC , nube , escritorio , aplicaciones integradas y móviles , etc. Incluso las bibliotecas y compiladores para otros lenguajes de programación están escritos en C++.

C ++ tiene las características prácticas de la operación de la computadora y también está comprometido a mejorar la calidad de programación de los programas a gran escala y la capacidad de descripción de problemas de los lenguajes de programación.

2. Uso de C++

El lenguaje C ++ se usa ampliamente en muchas industrias y campos, que incluyen:

  • Desarrollo de juegos: C ++ es uno de los lenguajes de programación más utilizados en el campo del desarrollo de juegos debido a su rendimiento eficiente y su capacidad para controlar directamente el hardware. Muchos motores de juegos importantes, como Unreal Engine y Unity, están escritos en C++.
  • Desarrollo de sistemas integrados: C++ puede desempeñar un papel importante en sistemas integrados como teléfonos inteligentes, automóviles, robots y electrodomésticos. Debido a que los sistemas embebidos a menudo tienen restricciones de recursos estrictas y requisitos de tiempo real, las funciones de control de memoria y rendimiento eficiente de C++ son muy útiles.
  • Campo financiero: C ++ se usa ampliamente en el campo financiero, como el comercio de alta frecuencia, el comercio algorítmico y la gestión de riesgos. Dado que estas aplicaciones requieren un rendimiento eficiente y un control directo del hardware, el lenguaje C++ es una opción adecuada.
  • Procesamiento de imágenes y gráficos: C++ se puede utilizar para desarrollar aplicaciones de procesamiento de imágenes y gráficos, como visión por computadora, gráficos por computadora e inteligencia artificial. Dado que estas aplicaciones requieren un poder de cómputo eficiente y control sobre el hardware, C++ es una buena opción.
  • Computación científica y análisis numérico: C++ se puede utilizar para desarrollar aplicaciones de computación científica y análisis numérico, como simulación numérica y computación de alto rendimiento. Dado que estas aplicaciones requieren un poder de cómputo eficiente y un control directo del hardware, el lenguaje C++ es una buena opción.

3. Salida Hola mundo

Todos los códigos de este tutorial están hechos en Dev C++ .

1. Crear un nuevo proyecto

Esquina superior izquierda: Archivo---->>Nuevo---->>Proyecto, seleccione Proyecto vacío , Proyecto C++ , establezca el nombre del proyecto en día01 y haga clic en Aceptar.
inserte la descripción de la imagen aquí

2. Escribir código

Escriba el siguiente código en el archivo creado:

#include<iostream>//引入头文件
using namespace std;//命名空间

int main()//主函数
{
    
    
	cout<<"Hello world";//cout用于输出内容到控制台
	return 0;//返回值
}

Después de escribir el código, haga clic en Guardar y configure el nombre del archivo. Compile y ejecute el código (F11) para obtener el siguiente resultado:

Hello world

En los programas de la familia del lenguaje C, los archivos de encabezado se usan mucho. En general, cada programa C++/C suele constar de un archivo de encabezado y un archivo de definición . Como archivo portador que contiene funciones de función y declaraciones de interfaz de datos, el archivo de encabezado se usa principalmente para guardar la declaración del programa, mientras que el archivo de definición se usa para guardar la implementación del programa.

El archivo de encabezado contiene algunas funciones y métodos de uso común, por lo que al usar algunas funciones o métodos específicos, debe importar el archivo de encabezado correspondiente.

La función principal es el punto de entrada del programa C++, y todas las funciones y métodos deben ejecutarse a través de la función principal. La función principal también es única. Un programa solo puede tener una función principal. Si se definen varias funciones principales al mismo tiempo, se informará un error.

Un espacio de nombres es un área declarativa que proporciona un alcance para los identificadores (nombres de tipos, funciones, variables, etc.) dentro de él. Los espacios de nombres se utilizan para organizar el código en grupos lógicos y también para evitar conflictos de nombres, especialmente cuando el código base incluye varias bibliotecas. Todos los identificadores dentro del ámbito del espacio de nombres son visibles entre sí sin ninguna restricción. Los identificadores fuera de un espacio de nombres pueden std::vector<std::string> vec;acceder a los miembros usando el nombre completo de cada identificador (por ejemplo), una declaración de uso para un solo identificador o una directiva de uso ( ) para todos los identificadores en el espacio de nombres using namespace std;. El código de los archivos de encabezado siempre debe usar nombres de espacios de nombres completos.

4. Palabras clave de C++

Asm demás nuevo este
auto enumeración operador tirar
bool explícito privado verdadero
romper exportar protegido intentar
caso externo público definición de tipo
atrapar FALSO registro ID de tipo
carbonizarse flotar reinterpretar_cast escribe un nombre
clase para devolver Unión
constante amigo corto no firmado
const_cast ir a firmado usando
continuar si tamaño de virtual
por defecto en línea estático vacío
borrar En t transmisión estática volátil
hacer largo estructura wchar_t
doble mudable cambiar mientras
transmisión_dinámica espacio de nombres plantilla

5. Identificadores de C++

Un identificador de C++ es un nombre que se utiliza para identificar una variable, función, clase, módulo o cualquier otro elemento definido por el usuario. Un identificador comienza con las letras AZ o az o el guión bajo _ seguido de cero o más letras, guiones bajos y dígitos (0-9).

Nota: Los identificadores no pueden comenzar con números, no pueden contener otros símbolos especiales excepto guiones bajos (_) y las palabras reservadas ( palabras clave) no se pueden usar como nombres de constantes, nombres de variables u otros nombres de identificadores .

Los caracteres de puntuación como @, & y % no están permitidos en los identificadores de C++. C++ es un lenguaje de programación que distingue entre mayúsculas y minúsculas. Por lo tanto, en C++, Manp y manp son dos identificadores diferentes.

6. Notas de C++

Los comentarios del programa son declaraciones explicativas que se pueden incluir en el código C++ para mejorar la legibilidad del código fuente. Todos los lenguajes de programación permiten alguna forma de comentarios. Los comentarios no se ejecutan cuando el programa se está ejecutando y el compilador de C++ ignorará todos los caracteres de los comentarios.

C++ admite comentarios de una sola línea y comentarios de varias líneas. En general, hay dos tipos de comentarios de C++:

  • // : Generalmente se usa para comentarios de una sola línea.
  • /*** … */** : Generalmente se usa para comentarios de varias líneas.

Los comentarios comienzan con // y continúan hasta el final de la línea. Por ejemplo:

#include <iostream>
using namespace std;
 
int main() {
    
    
  	// 这是单行注释
    /*
    这是多行注释
    */
  cout << "Hello World!";
  return 0;
}

Siete, tipos de datos C++

C++ proporciona a los programadores una gran variedad de tipos de datos integrados y tipos de datos definidos por el usuario. La siguiente tabla enumera los siete tipos de datos básicos de C++:

tipo palabras clave
booleano bool
tipo de caracter carbonizarse
entero En t
punto flotante flotar
flotador doble doble

Las diferencias específicas entre cada tipo de datos se explicarán en el siguiente contenido.

8. Variables en C++

Una variable en realidad no es más que el nombre de un área de memoria que un programa puede manipular. Cada variable en C ++ tiene un tipo específico, que determina el tamaño y el diseño del almacenamiento de variables. Los valores dentro de este rango se pueden almacenar en la memoria y los operadores se pueden aplicar a las variables.

1. Reglas de nomenclatura de variables

Los nombres de las variables pueden constar de letras, números y el carácter de subrayado. Debe comenzar con una letra o guión bajo. Las letras mayúsculas y minúsculas son diferentes porque C++ distingue entre mayúsculas y minúsculas.

2. Definición de variables

Formato: nombre de variable de tipo de datos; por ejemplo:

int a;

También puede definir múltiples variables al mismo tiempo, simplemente use "," para separar los nombres de las variables, por ejemplo:

double a,b,c;
char c1,c2;

3. Inicialización

Inicialización, es decir, asignar valores a las variables.

La asignación usa "=", tenga en cuenta que este símbolo no es igual a, sino un carácter de asignación.

Por ejemplo:

//定义变量
int a,b,c;
//初始化变量
a = 1;
b = 2;
c = 3;

Al mismo tiempo, también puede asignar valores directamente al definir variables. Por ejemplo:

//定义变量并直接赋值
int a=1;
int b=2;
//一行中定义多个变量并赋值
double c=1.1,d=2.5,e=3.3;

Nota: Las variables deben inicializarse antes de que puedan participar en las operaciones .

9. Operadores en C++

1. Operadores aritméticos

operador describir
+ suma dos operandos
- Resta el segundo operando del primer operando
* multiplicar dos operandos
/ divide dos operandos
% Operador Modulo (resto), resto después de la división
++ Operador de incremento, incrementa un valor entero en 1
Operador de decremento, decrementa un valor entero en 1

Por ejemplo:

int a=2,b=3,c=4;
cout<<a+b;// 2+3=5
cout<<a-b;// 2-3=-1
cout<<a*b;// 2*3=6
cout<<a/b;// a/b=0
cout<<a%b;// a%b=2

Nota: en C++, cuando se dividen dos números enteros, el resultado también es un número entero ( el resultado se redondea y la atención no se redondea ).

El código existente es el siguiente:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=2,b=3;
	cout<<a++<<" "<<--b;
	return 0;
}

La salida es:

2 2

¿Por qué es esto?

En C++, la lógica de operación de los operadores de autoincremento y autodecremento está relacionada con la posición del operador, es decir, los resultados obtenidos por a++ y ++a son diferentes. ¿Cuál es la lógica operativa?

Cuando el operador está antes de la variable, primero se debe incrementar o decrementar la variable y luego se realizan otras operaciones; si el operador está después de la variable, primero se deben realizar otras operaciones y luego se incrementa o decrementa la variable. Esta es la razón por la que el resultado final de a++ es 2 .

Por ejemplo, hay los siguientes ejemplos:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=2,b=3,c=3,d=2;
	cout<<a++<<" "<<--b<<" "<<++c<<" "<<d--;
	return 0;
}

El resultado es:

2 2 4 2

Análisis: el operador a++ está detrás, opera primero y luego se incrementa, por lo que el resultado de salida es 2; Incremento automático, luego operación, por lo que el resultado de salida es 4; el operador d- está después, primera operación y luego autodecremento, por lo que el resultado de salida es 2.

Cuando los operadores de autoincremento y autodecremento participan en expresiones complejas, también se siguen los principios anteriores.

2. Operadores relacionales

operador describir
== Comprueba si los valores de los dos operandos son iguales, si son iguales entonces la condición se vuelve verdadera.
!= Comprueba si los valores de los dos operandos son iguales, si no la condición se vuelve verdadera.
> Comprueba si el valor del operando izquierdo es mayor que el valor del operando derecho, si es así, la condición se vuelve verdadera.
< Comprueba si el valor del operando izquierdo es menor que el valor del operando derecho, si es así, la condición se vuelve verdadera.
>= Comprueba si el valor del operando izquierdo es mayor o igual que el valor del operando derecho, si es así, la condición se vuelve verdadera.
<= Comprueba si el valor del operando izquierdo es menor o igual que el valor del operando derecho, si es así, la condición se vuelve verdadera.

Los operadores relacionales se utilizan para comparar la magnitud de variables o expresiones, y el resultado de la expresión es un valor booleano, es decir, verdadero o falso.

Por ejemplo:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=2,b=3;
	bool f1 = a>b;
	bool f2 = a<b;
	bool f3 = a==b;
	bool f4 = a!=b;
	bool f5 = a<=b;
	bool f6 = a>=b;
	cout<<f1<<" "<<f2<<" "<<f3<<" "<<f4<<" "<<f5<<" "<<f6;
	return 0;
}

El resultado es:

0 1 0 1 1 0 

0 es falso y 1 es verdadero.

3. Operadores lógicos

operador describir
&& Llamado el operador lógico AND. La condición es verdadera si ambos operandos son verdaderos.
|| 称为逻辑或运算符。如果两个操作数中有任意一个 true,则条件为 true。
! 称为逻辑非运算符。用来逆转操作数的逻辑状态,如果条件为 true 则逻辑非运算符将使其为 false。

有如下代码:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=0,b=1;
	bool f1 = a&&b;
	bool f2 = a||b;
	bool f3 = !a;
	cout<<f1<<" "<<f2<<" "<<f3;
	return 0;
}

结果为:

0 1 1

4、赋值运算符

运算符 描述 实例
= 简单的赋值运算符,把右边操作数的值赋给左边操作数 C = A + B 将把 A + B 的值赋给 C
+= 加且赋值运算符,把右边操作数加上左边操作数的结果赋值给左边操作数 C += A 相当于 C = C + A
-= 减且赋值运算符,把左边操作数减去右边操作数的结果赋值给左边操作数 C -= A 相当于 C = C - A
*= 乘且赋值运算符,把右边操作数乘以左边操作数的结果赋值给左边操作数 C *= A 相当于 C = C * A
/= 除且赋值运算符,把左边操作数除以右边操作数的结果赋值给左边操作数 C /= A 相当于 C = C / A
%= 求模且赋值运算符,求两个操作数的模赋值给左边操作数 C %= A 相当于 C = C % A

例如,有如下代码:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=2,b=3,c=4,d=5,e=6,f=7;
	a+=b; // a=a+b
	b-=c; // b=b-c
	c*=d; // c=c*d
	d/=e; // d=d/e
	e%=f; // e=e%f
	cout<<a<<" "<<b<<" "<<c<<" "<<d<<" "<<e<<" "<<f;
	return 0;
}

结果为:

5 -1 20 0 6 7

5、C++ 中的运算符优先级

运算符的优先级确定表达式中项的组合,这会影响到一个表达式如何计算。某些运算符比其他运算符有更高的优先级,例如,乘除运算符具有比加减运算符更高的优先级。

例如 x = 7 + 3 * 2,在这里,x 被赋值为 13,而不是 20,因为运算符 * 具有比 + 更高的优先级,所以首先计算乘法 3*2,然后再加上 7。

下表将按运算符优先级从高到低列出各个运算符,具有较高优先级的运算符出现在表格的上面,具有较低优先级的运算符出现在表格的下面。在表达式中,较高优先级的运算符会优先被计算。

类别 运算符 结合性
后缀 () [] -> . ++ - - 从左到右
一元 + - ! ~ ++ - - (type)* & sizeof 从右到左
乘除 * / % 从左到右
加减 + - 从左到右
移位 << >> 从左到右
关系 < <= > >= 从左到右
相等 == != 从左到右
位与 AND & 从左到右
位异或 XOR ^ 从左到右
位或 OR | 从左到右
逻辑与 AND && de izquierda a derecha
O lógico || de izquierda a derecha
condición ?: de derecha a izquierda
asignación = += -= *= /= %=>>= <<= &= ^= |= de derecha a izquierda
coma , de izquierda a derecha

En una expresión compleja, pueden estar involucrados múltiples operadores diferentes al mismo tiempo. En este momento, es necesario considerar la prioridad del operador y calcular el resultado final de acuerdo con la prioridad. Por ejemplo:

#include<iostream>
using namespace std;

int main()
{
    
    
	int a=2,b=3,c=4,d=5,e=6,f=7;
	int g=a*b+c%f+(++d>=e&&e<f)-f++;
	cout<<g;
	return 0;
}

El resultado es:

4

Supongo que te gusta

Origin blog.csdn.net/qq_43884946/article/details/129642329
Recomendado
Clasificación