Pascal a C ++
Introducir
El 1 de noviembre de 2016, la Sociedad de Computación de China lanzó el "Anuncio CCF sobre el cambio del lenguaje de programación de la serie NOI", que dice lo siguiente:
根据国际信息学奥林匹克竞赛(IOI)的相关决议并考虑到我国目前程序设计语言的具体情况,CCF决定:
1.2020年开始,除NOIP以外的NOI系列其他赛事(包括冬令营、CTSC、APIO、NOI)将不再支持Pascal语言和C语言;
2.从2022年开始,NOIP竞赛也将不再支持Pascal语言。即从NOIP2022开始,NOI系列的所有赛事将全部取消Pascal语言。
在无新增程序设计语言的情况下,NOI系列赛事自NOIP2022开始将仅支持C++语言。
此通知。
中国计算机学会
2016年11月1日
Muchos jugadores de Pascal comenzaron a cambiar a C ++.
Prepara y compara
1. C ++ es más complicado y más difícil de aprender, pero más poderoso.
2. Después de haber aprendido Pascal, aprender C ++ es relativamente simple. (C a C ++ es más fácil)
3. La diferencia entre las versiones de C ++ es muy grande y es fácil compilar errores.
Se recomienda que use Dev-cpp 5.6.1, que es gcc / g ++ 4.8.1.
La versión más cercana al juego.
La versión del juego es 4.8.4 ( detalles de la versión del juego ).
Nunca use Dev-cpp 5.9.xo 5.11.x (muchos tipos grandes explotan a cero).
4. El nombre del sufijo del código
C ++. Cpp cpp = C Plus Plus = C ++
Conversión simple
1. C ++ está compuesto de funciones.
2. Las llaves C ++ {y} reemplazan begin y end.
3. Los tipos de funciones y variables se escriben en el frente, int es un tipo longint.
4. Cada oración termina con un punto y coma. Si encuentra ciertos corchetes (llaves, paréntesis en la tabla de parámetros de función, etc.), el punto y coma se omite.
5. La última oración del programa principal es
return 0;
Lo mejor es agregar , hay ciertos beneficios.
Archivo de encabezado
En general, se recomienda que los principiantes usen archivos de encabezado universal C ++
#include <bits/stdc++.h>
El archivo de encabezado universal C ++ contiene casi todos los archivos de encabezado.
Entrada y salida
Frase de entrada
输入语句 cin>>变量1>>变量2>>变量3;
Declaración de salida
cout<<变量1<<变量2<<...;
cout<<"hello world" << endl;
//endl是换行
cin y cout están en el <iostream>
archivo de encabezado, y también se requiere el espacio de nombres estándarusing namespace std;
Ancho de campo:
cout<<setw(5)<<a;
Mantenga algunos decimales:
cout<<fixed<<setprecision(3)<<a;
La función está en el <iomanip>
archivo de encabezado.
Otras oraciones de entrada y salida son scanf()
suma, printf()
etc. En general, no se recomienda que los principiantes aprendan, y debe dominarlo cuando sea competente .
código a + b:
#include <bits/stdc++.h>
using namespace std;
int main() {
int a,b;
cin >> a >> b;
cout << a+b << endl;
return 0;
}
Comentario
Comentarios
En el código C ++, hay dos formas de escribir comentarios:
1 Comentarios en línea
Comience con //, y todo el contenido después de la línea son comentarios.
//这里添加注释
2 El bloque de comentarios
comienza con / * y termina con * /. Los contenidos en el medio son todos comentarios y pueden abarcar líneas.
/*
这里添加注释1
这里添加注释2
*/
Los comentarios no tienen ningún efecto sobre el funcionamiento del programa y pueden usarse para explicar el significado del programa.
En el desarrollo del proyecto, otras personas pueden usar las notas para futuros mantenimientos y lecturas.
En OI, pocas personas escriben muchos comentarios, pero los comentarios pueden hacer que sea más fácil aclarar ideas al escribir código o revisarlas más tarde. Además, si desea escribir una solución, un tutorial, la cantidad adecuada de comentarios puede facilitar al lector leer y comprender la intención del código.
Variable
Tipos de variables.
: :
Int (longint / int32)
long long (int64)
unsigned int (dword)
unsigned long long (qword)
小数 :
flotante (real)
doble (doble)
Carácter:
char (char)
Tipo booleano:
bool (booleano)
Cadena:
cadena (cadena)
Ningún tipo de
vacío (?)
Definición de variables
int a,b;
char ch='c';
double f;
int a[100];
char mat[50][50];
Matriz:
int a [100];
// indica que a [0] -a [99] son todos los tipos int.
Matriz bidimensional int a [100] [100];
// define a [0] [0] - a [99] [99]
Inicializar:
int a[5]={1,2,3,4,5};
Variables globales y locales.
Dentro de la función hay variables locales, y fuera de la función hay variables globales.
La función incluye la función principal main ().
Alcance
Los ámbitos son bloques de código donde las variables pueden desempeñar un papel.
Las variables se dividen en variables globales y variables locales, el significado se ha explicado anteriormente.
El alcance de la variable global es el archivo completo. Una vez que se declara la variable global, está disponible en todo el programa.
C ++ puede definir variables en cualquier lugar, y el alcance de las variables solo está debajo de él.
Constante
Las constantes son valores fijos y no cambiarán durante la ejecución del programa.
El valor de la constante no se puede modificar después de que se define. Simplemente agregue una palabra clave const cuando declare.
int const N=105;
O
const int N=105;
Declaración de cesión
a = b; (a: = b)
i ++ 或 ++ i (inc (i))
i + = a (inc (i, a))
i-- 或 i-- (dec (i))
i- = a (inc (i, a))
si la declaración de juicio de condición
Formato 1:
if (条件) 语句;
if (条件) {
语句1
语句2
......
}
Formato 2:
if (条件) 语句1;
else 语句2;
if (条件) {
......
} else {
......
}
Operador booleano:
and
Es &&
or
que se ||
not
está!
Operadores de comparación:
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
Declaración de bucle
para bucle
Formato:
for (初始操作; 循环的条件; 变化) {
语句1;
语句2;
}
Pasos:
Ejemplo:
Encuentra 1 + 2 + …… + 100
int s=0;
for(int i=1; i<=100; i++) s+=i;
mientras bucle
mientras:
while(条件) {
语句1;
语句2;
}
hacer mientras :
do {
语句1;
语句2;
} while(条件)
Función
Funciones matemáticas (funciones propias)
abs () valor absoluto de
fabs enteros () valor absoluto de
techo decimal () redondeado hacia arriba
floor () redondeado hacia abajo
Están en <cmath>
o <math.h>
archivos de encabezado.
Función de clasificación
Ordenar un [1] a un [n] de pequeño a grande
sort(a+1,a+n+1);
a + 1 es la dirección de memoria de a [1], y el final debe ser 1 más.
Si se ordena un [0] -a [n-1]:
sort(a,a+n);
sort () es una ordenación rápida, en el <algorithm>
archivo de encabezado.
Función personalizada
Los principiantes generalmente recomiendan escribir sobre la función principal.
类型 函数名(参数表) {
...
return 答案;
}
Ejemplos:
int plus(int a,int b) {
int ans;
ans=a+b;
return ans;
}
Funciones sin tipo:
void 函数名(参数表) { //void就是空,无类型=
.....
不需要return
}
Preguntas sobre caracteres y códigos ASCII
Tabla de códigos ASCII: https://blog.csdn.net/Ljnoit/article/details/102649314
int a;
char x='A';
a=x; //a就是65了
x=66; //x就是'B'
C ++ puede ser forzado a convertir:
(类型)变量
cout<<(int)x<<endl;
Cadena
Matriz de caracteres
Una matriz de caracteres unidimensional puede considerarse como una cadena, por
ejemplo: char s [105];
Leer una cadena cin >> s;
Nota: cuando se lee cin, se lee de un carácter visible a otro carácter visible
Los espacios y retornos de carro no se leen
Si lees una línea completa con gets (s)
Carácter de salida
cout<<s;
puts(s); //他会换行
El carácter es una cadena entre comillas simples y entre comillas dobles
La cadena tiene un terminador:
si s lee abc,
entonces s [0] = 'a'
s [1] = 'b'
s [2] = 'c'
s [3] = '\ 0';
'\ 0' significa carácter vacío (no espacio)
1. Encuentra la longitud strlen
int x=strlen(s);
//只计算从s[0]到\0有几个字母
2. Asignación
strcpy(s1,s2);
//把s2 赋值给s1
3. Operación de conexión
strcat(s1,s2);
//把s2接到s1的后面
4. Comparar tamaños
strcmp(s1,s2)
El valor de retorno es mayor que 0, lo que indica que el orden del diccionario s1> s2
es igual a 0, lo que indica que el
resultado de s1 = s2 es menor que 0, lo que indica que el orden del diccionario s1 <s2
Otras funciones son escritas por usted mismo.
tipo de cadena
(Generalmente no se usa porque es demasiado lento)
Misceláneo
En C ++, 0 es falso y no cero es verdadero.
¡Felicitaciones por su exitosa transformación y actualización!
Hable acerca de Pascal a C ++: https://blog.csdn.net/Ljnoit/article/details/104960875