ВУЗ:
Составители:
Рубрика:
ɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ ɜɵɩɨɥɧɹɟɬɫɹ ɩɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɟɟ ɨɩɟɪɚɧɞ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨ-
ɜɚɧ ɜ ɜɵɪɚɠɟɧɢɢ, ɧɚɩɪɢɦɟɪ ɜ ɪɟɡɭɥɶɬɚɬɟ ɜɵɱɢɫɥɟɧɢɹ ɜɵɪɚɠɟɧɢɹ
++x*2+y--*3;
ɩɟɪɟɦɟɧɧɚɹ x ɫɧɚɱɚɥɚ ɭɜɟɥɢɱɢɜɚɟɬɫɹ ɧɚ 1, ɚ ɡɚɬɟɦ ɭɦɧɨɠɚɟɬɫɹ ɧɚ 2, ɚɩɟɪɟ-
ɦɟɧɧɚɹ
y ɫɧɚɱɚɥɚ ɭɦɧɨɠɚɟɬɫɹ ɧɚ 3, ɡɚɬɟɦ ɭɦɟɧɶɲɚɟɬɫɹ ɧɚ 1. ȿɫɥɢ ɩɟɪɟɞ
ɜɵɱɢɫɥɟɧɢɟɦ ɷɬɨɝɨ ɜɵɪɚɠɟɧɢɹ
x ɢ y ɛɵɥɢ ɪɚɜɧɵ 1, ɬɨ ɪɟɡɭɥɶɬɚɬ ɜɵɪɚɠɟ-
ɧɢɹ ɛɭɞɟɬ ɪɚɜɟɧ 5. Ʉɪɨɦɟ ɬɨɝɨ, ɩɟɪɟɦɟɧɧɚɹ
x ɩɨɥɭɱɢɬ ɡɧɚɱɟɧɢɟ 2, ɚɩɟɪɟ-
ɦɟɧɧɚɹ
y - ɡɧɚɱɟɧɢɟ 0. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɨɩɟɪɚɰɢɢ ɚɜɬɨɭɜɟɥɢɱɟɧɢɹ ɢ ɚɜɬɨ-
ɭɦɟɧɶɲɟɧɢɹ ɜɫɟɝɞɚ ɞɚɸɬ ɩɨɛɨɱɧɵɣ ɷɮɮɟɤɬ, ɢɡɦɟɧɹɹ ɡɧɚɱɟɧɢɹ ɫɜɨɢɯ ɨɩɟ-
ɪɚɧɞɨɜ. Ɉɩɟɪɚɧɞɵ ɷɬɢɯ ɨɩɟɪɚɰɢɣ ɞɨɥɠɧɵ ɛɵɬɶ
L-ɡɧɚɱɟɧɢɹɦɢ.
Ɉɩɟɪɚɰɢɹ
«~» (ɬɢɥɶɞɚ) ɩɪɢɦɟɧɹɟɬɫɹ ɬɨɥɶɤɨ ɤ ɰɟɥɨɦɭ ɡɧɚɱɟɧɢɸ ɢ ɡɚ-
ɦɟɧɹɟɬ ɜɫɟ ɛɢɬɵ ɫɜɨɟɝɨ ɨɩɟɪɚɧɞɚ ɫɨ ɡɧɚɱɟɧɢɟɦ 0 ɧɚ 1
, ɚ ɛɢɬɵ ɫɨ ɡɧɚɱɟɧɢɟɦ
1 ɧɚ 0.
Ʌɨɝɢɱɟɫɤɨɟ ɨɬɪɢɰɚɧɢɟ (ɨɩɟɪɚɰɢɹ
«!») ɜɨɡɜɪɚɳɚɟɬ ɡɧɚɱɟɧɢɟ 0 ɰɟɥɨɝɨ
ɬɢɩɚ, ɟɫɥɢ ɨɩɟɪɚɧɞ ɧɟ ɪɚɜɟɧ ɧɭɥɸ, ɢɥɢ ɡɧɚɱɟɧɢɟ 1, ɟɫɥɢ ɨɩɟɪɚɧɞ ɪɚɜɟɧ ɧɭ-
ɥɸ.
Ɉɩɟɪɚɰɢɢ
«ɭɧɚɪɧɵɣ +» ɢ «ɭɧɚɪɧɵɣ –» ɢɦɟɸɬ ɨɛɵɱɧɵɣ ɦɚɬɟɦɚɬɢɱɟ-
ɫɤɢɣ ɫɦɵɫɥ, ɡɧɚɤ
«+» ɧɟ ɢɡɦɟɧɹɟɬ ɡɧɚɱɟɧɢɹ ɨɩɟɪɚɧɞɚ, ɡɧɚɤ «-» ɦɟɧɹɟɬ ɡɧɚɤ
ɨɩɟɪɚɧɞɚ ɧɚ ɩɪɨɬɢɜɨɩɨɥɨɠɧɵɣ.
Ⱦɥɹ ɩɨɥɭɱɟɧɢɹ ɚɞɪɟɫɚ ɨɩɟɪɚɧɞɚ, ɹɜɥɹɸɳɟɝɨɫɹ
L-ɡɧɚɱɟɧɢɟɦ, ɩɪɢɦɟ-
ɧɹɟɬɫɹ ɨɩɟɪɚɰɢɹ
«&» (ɚɦɩɟɪɫɚɧɞ). Ɋɟɡɭɥɶɬɚɬɨɦ ɞɟɣɫɬɜɢɹ ɷɬɨɣ ɨɩɟɪɚɰɢɢ ɹɜ-
ɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɬɢɩ ɞɚɧɧɵɯ. Ɋɚɡɵɦɟɧɨɜɚɧɢɟ ɭɤɚɡɚ-
ɬɟɥɹ, ɬɨ ɟɫɬɶ ɩɨɥɭɱɟɧɢɟ ɡɧɚɱɟɧɢɹ ɞɚɧɧɨɝɨ ɩɨ ɭɤɚɡɚɬɟɥɸ ɧɚ ɧɟɝɨ, ɨɛɟɫɩɟɱɢ-
ɜɚɟɬɫɹ ɨɩɟɪɚɰɢɟɣ
«*» (ɡɜɟɡɞɨɱɤɚ). Ɋɟɡɭɥɶɬɚɬ ɨɩɟɪɚɰɢɢ ɪɚɡɵɦɟɧɨɜɚɧɢɹ ɹɜ-
ɥɹɟɬɫɹ
L-ɡɧɚɱɟɧɢɟɦ.
ȼɋɢ++ ɨɩɪɟɞɟɥɟɧɵ ɨɩɟɪɚɰɢɢ ɪɚɡɦɟɳɟɧɢɹ ɞɚɧɧɵɯ ɜ ɞɢɧɚɦɢɱɟɫɤɨɣ
ɩɚɦɹɬɢ ɢ ɭɞɚɥɟɧɢɹ ɞɢɧɚɦɢɱɟɫɤɢɯ ɞɚɧɧɵɯ ɢɡ ɩɚɦɹɬɢ.
Ɉɩɟɪɚɰɢɹ
new ɬɪɟɛɭɟɬ ɜ ɤɚɱɟɫɬɜɟ ɨɩɟɪɚɧɞɚ ɢɦɹ ɬɢɩɚ ɢ ɩɪɟɞɧɚɡɧɚɱɟɧɚ
ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɞɚɧɧɵɯ ɭɤɚɡɚɧɧɨɝɨ ɬɢɩɚ ɜ ɞɢɧɚɦɢɱɟɫɤɨɣ ɩɚɦɹɬɢ. Ɋɟɡɭɥɶ-
ɬɚɬɨɦ ɨɩɟɪɚɰɢɢ ɹɜɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ɞɚɧɧɵɟ. ɉɪɢ ɧɟɜɨɡɦɨɠɧɨɫɬɢ ɜɵɞɟ-
ɥɢɬɶ ɩɚɦɹɬɶ ɨɩɟɪɚɰɢɹ
new ɜɨɡɜɪɚɳɚɟɬ ɡɧɚɱɟɧɢɟ NULL – ɩɪɟɞɨɩɪɟɞɟɥɟɧɧɭɸ
ɤɨɧɫɬɚɧɬɭ, ɢɦɟɸɳɭɸ ɧɭɥɟɜɨɟ ɡɧɚɱɟɧɢɟ ɩɪɚɤɬɢɱɟɫɤɢ ɜɨ ɜɫɟɯ ɤɨɦɩɢɥɹɬɨɪɚɯ
ɋɢ ɢ ɋɢ++. ɉɚɦɹɬɶ, ɜɵɞɟɥɹɟɦɭɸ ɨɩɟɪɚɰɢɟɣ
new, ɦɨɠɧɨ ɢɧɢɰɢɚɥɢɡɢɪɨ-
ɜɚɬɶ, ɭɤɚɡɚɜ ɡɚ ɢɦɟɧɟɦ ɬɢɩɚ ɫɤɚɥɹɪɧɵɯ ɞɚɧɧɵɯ ɧɚɱɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ ɜ ɤɪɭɝ-
ɥɵɯ ɫɤɨɛɤɚɯ, ɡɚɞɚɧɢɟ ɧɚɱɚɥɶɧɵɯ ɡɧɚɱɟɧɢɣ ɞɥɹ ɚɝɪɟɝɚɬɨɜ ɞɚɧɧɵɯ ɛɭɞɟɬ ɪɚɫ-
ɫɦɨɬɪɟɧɨ ɩɨɡɠɟ. ɉɪɢɦɟɪɵ ɩɪɢɦɟɧɟɧɢɹ ɨɩɟɪɚɰɢɢ
new:
int *ip = new int; // ɫɨɡɞɚɧɢɟ ɨɛɴɟɤɬɚ ɬɢɩɚ int ɢ
// ɩɨɥɭɱɟɧɢɟ ɭɤɚɡɚɬɟɥɹ ɧɚ ɧɟɝɨ
int *ip2 = new int(2); /* ɬɨ ɠɟ ɫ ɭɫɬɚɧɨɜɤɨɣ ɧɚɱɚɥɶɧɨɝɨ
ɡɧɚɱɟɧɢɹ, ɪɚɜɧɨɝɨ 2 */
inr *intArray = new int [10]; /* ɦɚɫɫɢɜ ɢɡ 10 ɷɥɟɦɟɧɬɨɜ
ɬɢɩɚ int */
double **matr = new double [m][n]; /* ɦɚɬɪɢɰɚ ɢɡ m ɫɬɪɨɤ
ɢ n ɫɬɨɥɛɰɨɜ */
23
ɮɢɤɫɧɚɹ ɨɩɟɪɚɰɢɹ ɜɵɩɨɥɧɹɟɬɫɹ ɩɨɫɥɟ ɬɨɝɨ, ɤɚɤ ɟɟ ɨɩɟɪɚɧɞ ɛɭɞɟɬ ɢɫɩɨɥɶɡɨ- ɜɚɧ ɜ ɜɵɪɚɠɟɧɢɢ, ɧɚɩɪɢɦɟɪ ɜ ɪɟɡɭɥɶɬɚɬɟ ɜɵɱɢɫɥɟɧɢɹ ɜɵɪɚɠɟɧɢɹ ++x*2+y--*3; ɩɟɪɟɦɟɧɧɚɹ x ɫɧɚɱɚɥɚ ɭɜɟɥɢɱɢɜɚɟɬɫɹ ɧɚ 1, ɚ ɡɚɬɟɦ ɭɦɧɨɠɚɟɬɫɹ ɧɚ 2, ɚ ɩɟɪɟ- ɦɟɧɧɚɹ y ɫɧɚɱɚɥɚ ɭɦɧɨɠɚɟɬɫɹ ɧɚ 3, ɡɚɬɟɦ ɭɦɟɧɶɲɚɟɬɫɹ ɧɚ 1. ȿɫɥɢ ɩɟɪɟɞ ɜɵɱɢɫɥɟɧɢɟɦ ɷɬɨɝɨ ɜɵɪɚɠɟɧɢɹ x ɢ y ɛɵɥɢ ɪɚɜɧɵ 1, ɬɨ ɪɟɡɭɥɶɬɚɬ ɜɵɪɚɠɟ- ɧɢɹ ɛɭɞɟɬ ɪɚɜɟɧ 5. Ʉɪɨɦɟ ɬɨɝɨ, ɩɟɪɟɦɟɧɧɚɹ x ɩɨɥɭɱɢɬ ɡɧɚɱɟɧɢɟ 2, ɚ ɩɟɪɟ- ɦɟɧɧɚɹ y - ɡɧɚɱɟɧɢɟ 0. Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɨɩɟɪɚɰɢɢ ɚɜɬɨɭɜɟɥɢɱɟɧɢɹ ɢ ɚɜɬɨ- ɭɦɟɧɶɲɟɧɢɹ ɜɫɟɝɞɚ ɞɚɸɬ ɩɨɛɨɱɧɵɣ ɷɮɮɟɤɬ, ɢɡɦɟɧɹɹ ɡɧɚɱɟɧɢɹ ɫɜɨɢɯ ɨɩɟ- ɪɚɧɞɨɜ. Ɉɩɟɪɚɧɞɵ ɷɬɢɯ ɨɩɟɪɚɰɢɣ ɞɨɥɠɧɵ ɛɵɬɶ L-ɡɧɚɱɟɧɢɹɦɢ. Ɉɩɟɪɚɰɢɹ «~» (ɬɢɥɶɞɚ) ɩɪɢɦɟɧɹɟɬɫɹ ɬɨɥɶɤɨ ɤ ɰɟɥɨɦɭ ɡɧɚɱɟɧɢɸ ɢ ɡɚ- ɦɟɧɹɟɬ ɜɫɟ ɛɢɬɵ ɫɜɨɟɝɨ ɨɩɟɪɚɧɞɚ ɫɨ ɡɧɚɱɟɧɢɟɦ 0 ɧɚ 1, ɚ ɛɢɬɵ ɫɨ ɡɧɚɱɟɧɢɟɦ 1 ɧɚ 0. Ʌɨɝɢɱɟɫɤɨɟ ɨɬɪɢɰɚɧɢɟ (ɨɩɟɪɚɰɢɹ «!») ɜɨɡɜɪɚɳɚɟɬ ɡɧɚɱɟɧɢɟ 0 ɰɟɥɨɝɨ ɬɢɩɚ, ɟɫɥɢ ɨɩɟɪɚɧɞ ɧɟ ɪɚɜɟɧ ɧɭɥɸ, ɢɥɢ ɡɧɚɱɟɧɢɟ 1, ɟɫɥɢ ɨɩɟɪɚɧɞ ɪɚɜɟɧ ɧɭ- ɥɸ. Ɉɩɟɪɚɰɢɢ «ɭɧɚɪɧɵɣ +» ɢ «ɭɧɚɪɧɵɣ –» ɢɦɟɸɬ ɨɛɵɱɧɵɣ ɦɚɬɟɦɚɬɢɱɟ- ɫɤɢɣ ɫɦɵɫɥ, ɡɧɚɤ «+» ɧɟ ɢɡɦɟɧɹɟɬ ɡɧɚɱɟɧɢɹ ɨɩɟɪɚɧɞɚ, ɡɧɚɤ «-» ɦɟɧɹɟɬ ɡɧɚɤ ɨɩɟɪɚɧɞɚ ɧɚ ɩɪɨɬɢɜɨɩɨɥɨɠɧɵɣ. Ⱦɥɹ ɩɨɥɭɱɟɧɢɹ ɚɞɪɟɫɚ ɨɩɟɪɚɧɞɚ, ɹɜɥɹɸɳɟɝɨɫɹ L-ɡɧɚɱɟɧɢɟɦ, ɩɪɢɦɟ- ɧɹɟɬɫɹ ɨɩɟɪɚɰɢɹ «&» (ɚɦɩɟɪɫɚɧɞ). Ɋɟɡɭɥɶɬɚɬɨɦ ɞɟɣɫɬɜɢɹ ɷɬɨɣ ɨɩɟɪɚɰɢɢ ɹɜ- ɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ɫɨɨɬɜɟɬɫɬɜɭɸɳɢɣ ɬɢɩ ɞɚɧɧɵɯ. Ɋɚɡɵɦɟɧɨɜɚɧɢɟ ɭɤɚɡɚ- ɬɟɥɹ, ɬɨ ɟɫɬɶ ɩɨɥɭɱɟɧɢɟ ɡɧɚɱɟɧɢɹ ɞɚɧɧɨɝɨ ɩɨ ɭɤɚɡɚɬɟɥɸ ɧɚ ɧɟɝɨ, ɨɛɟɫɩɟɱɢ- ɜɚɟɬɫɹ ɨɩɟɪɚɰɢɟɣ «*» (ɡɜɟɡɞɨɱɤɚ). Ɋɟɡɭɥɶɬɚɬ ɨɩɟɪɚɰɢɢ ɪɚɡɵɦɟɧɨɜɚɧɢɹ ɹɜ- ɥɹɟɬɫɹ L-ɡɧɚɱɟɧɢɟɦ. ȼ ɋɢ++ ɨɩɪɟɞɟɥɟɧɵ ɨɩɟɪɚɰɢɢ ɪɚɡɦɟɳɟɧɢɹ ɞɚɧɧɵɯ ɜ ɞɢɧɚɦɢɱɟɫɤɨɣ ɩɚɦɹɬɢ ɢ ɭɞɚɥɟɧɢɹ ɞɢɧɚɦɢɱɟɫɤɢɯ ɞɚɧɧɵɯ ɢɡ ɩɚɦɹɬɢ. Ɉɩɟɪɚɰɢɹ new ɬɪɟɛɭɟɬ ɜ ɤɚɱɟɫɬɜɟ ɨɩɟɪɚɧɞɚ ɢɦɹ ɬɢɩɚ ɢ ɩɪɟɞɧɚɡɧɚɱɟɧɚ ɞɥɹ ɪɚɡɦɟɳɟɧɢɹ ɞɚɧɧɵɯ ɭɤɚɡɚɧɧɨɝɨ ɬɢɩɚ ɜ ɞɢɧɚɦɢɱɟɫɤɨɣ ɩɚɦɹɬɢ. Ɋɟɡɭɥɶ- ɬɚɬɨɦ ɨɩɟɪɚɰɢɢ ɹɜɥɹɟɬɫɹ ɭɤɚɡɚɬɟɥɶ ɧɚ ɞɚɧɧɵɟ. ɉɪɢ ɧɟɜɨɡɦɨɠɧɨɫɬɢ ɜɵɞɟ- ɥɢɬɶ ɩɚɦɹɬɶ ɨɩɟɪɚɰɢɹ new ɜɨɡɜɪɚɳɚɟɬ ɡɧɚɱɟɧɢɟ NULL – ɩɪɟɞɨɩɪɟɞɟɥɟɧɧɭɸ ɤɨɧɫɬɚɧɬɭ, ɢɦɟɸɳɭɸ ɧɭɥɟɜɨɟ ɡɧɚɱɟɧɢɟ ɩɪɚɤɬɢɱɟɫɤɢ ɜɨ ɜɫɟɯ ɤɨɦɩɢɥɹɬɨɪɚɯ ɋɢ ɢ ɋɢ++. ɉɚɦɹɬɶ, ɜɵɞɟɥɹɟɦɭɸ ɨɩɟɪɚɰɢɟɣ new, ɦɨɠɧɨ ɢɧɢɰɢɚɥɢɡɢɪɨ- ɜɚɬɶ, ɭɤɚɡɚɜ ɡɚ ɢɦɟɧɟɦ ɬɢɩɚ ɫɤɚɥɹɪɧɵɯ ɞɚɧɧɵɯ ɧɚɱɚɥɶɧɨɟ ɡɧɚɱɟɧɢɟ ɜ ɤɪɭɝ- ɥɵɯ ɫɤɨɛɤɚɯ, ɡɚɞɚɧɢɟ ɧɚɱɚɥɶɧɵɯ ɡɧɚɱɟɧɢɣ ɞɥɹ ɚɝɪɟɝɚɬɨɜ ɞɚɧɧɵɯ ɛɭɞɟɬ ɪɚɫ- ɫɦɨɬɪɟɧɨ ɩɨɡɠɟ. ɉɪɢɦɟɪɵ ɩɪɢɦɟɧɟɧɢɹ ɨɩɟɪɚɰɢɢ new: int *ip = new int; // ɫɨɡɞɚɧɢɟ ɨɛɴɟɤɬɚ ɬɢɩɚ int ɢ // ɩɨɥɭɱɟɧɢɟ ɭɤɚɡɚɬɟɥɹ ɧɚ ɧɟɝɨ int *ip2 = new int(2); /* ɬɨ ɠɟ ɫ ɭɫɬɚɧɨɜɤɨɣ ɧɚɱɚɥɶɧɨɝɨ ɡɧɚɱɟɧɢɹ, ɪɚɜɧɨɝɨ 2 */ inr *intArray = new int [10]; /* ɦɚɫɫɢɜ ɢɡ 10 ɷɥɟɦɟɧɬɨɜ ɬɢɩɚ int */ double **matr = new double [m][n]; /* ɦɚɬɪɢɰɚ ɢɡ m ɫɬɪɨɤ ɢ n ɫɬɨɥɛɰɨɜ */ 23
Страницы
- « первая
- ‹ предыдущая
- …
- 21
- 22
- 23
- 24
- 25
- …
- следующая ›
- последняя »