Основы языка программирования C++ с применением объектно-ориентированного программирования. Чернышов М.К. - 34 стр.

UptoLike

Составители: 

stdauxɫɬɚɧɞɚɪɬɧɵɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɵɣ ɩɨɪɬ.
ɉɨɬɨɤɢ
stdin, stdout ɢ stderr ɨɛɵɱɧɨ ɫɜɹɡɵɜɚɸɬɫɹ ɫ ɤɨɧɫɨɥɶɸ, ɧɨ
ɦɨɝɭɬ ɛɵɬɶ ɩɟɪɟɧɚɡɧɚɱɟɧɵ ɧɚ ɞɪɭɝɢɟ ɭɫɬɪɨɣɫɬɜɚ. ɇɚɡɧɚɱɟɧɢɟ ɞɜɭɯ ɩɨɫɥɟɞ-
ɧɢɯ ɩɨɬɨɤɨɜ ɡɚɜɢɫɢɬ ɨɬ ɢɫɩɨɥɶɡɭɟɦɨɣ ɚɩɩɚɪɚɬɭɪɵ. ɋɬɚɧɞɚɪɬɧɵɟ ɩɨɬɨɤɢ
ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɨɬɤɪɵɜɚɸɬɫɹ ɩɪɢ ɡɚɩɭɫɤɟ ɋɢ-ɩɪɨɝɪɚɦɦɵ ɢ ɡɚɤɪɵɜɚɸɬɫɹ
ɩɪɢ ɟɟ ɡɚɜɟɪɲɟɧɢɢ. ɉɨɬɨɤɢ, ɫɨɡɞɚɜɚɟɦɵɟ ɩɪɨɝɪɚɦɦɢɫɬɨɦ, ɨɬɤɪɵɜɚɸɬɫɹ
ɮɭɧɤɰɢɟɣ
fopen ɢ ɡɚɤɪɵɜɚɸɬɫɹ ɮɭɧɤɰɢɟɣ fclose.
Ɏɭɧɤɰɢɢ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɢɡ stdio.h ɭɫɥɨɜɧɨ ɦɨɠɧɨ ɪɚɡɛɢɬɶ ɧɚ ɱɟɬɵɪɟ
ɝɪɭɩɩɵ: ɜɜɨɞ-ɜɵɜɨɞ ɛɚɣɬɨɜ, ɜɜɨɞ-ɜɵɜɨɞ ɫɬɪɨɤ, ɮɨɪɦɚɬɧɵɣ ɜɜɨɞ-ɜɵɜɨɞ ɢ
ɬɚɤ ɧɚɡɵɜɚɟɦɵɣ ɩɪɹɦɨɣ (ɛɟɫɮɨɪɦɚɬɧɵɣ) ɜɜɨɞ-ɜɵɜɨɞ. Ɂɞɟɫɶ ɨɬɦɟɬɢɦ ɬɨɥɶ-
ɤɨ ɨɬɞɟɥɶɧɵɯ ɩɪɟɞɫɬɚɜɢɬɟɥɟɣ ɩɟɪɜɵɯ ɬɪɟɯ ɝɪɭɩɩ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ ɞɥɹ
ɜɜɨɞɚ ɢɡ ɩɨɬɨɤɚ
stdin ɢ ɜɵɜɨɞɚ ɜ ɩɨɬɨɤ stdout.
Ɏɭɧɤɰɢɹ int getchar() ɫɥɭɠɢɬ ɞɥɹ ɜɜɨɞɚ ɨɞɧɨɝɨ ɫɢɦɜɨɥɚ ɫ ɤɥɚɜɢɚ-
ɬɭɪɵ ɢ ɜɨɡɜɪɚɳɚɟɬ ɤɨɞ ɫɢɦɜɨɥɚ, ɩɪɟɨɛɪɚɡɨɜɚɧɧɵɣ ɤ ɬɢɩɭ
int. Ɏɭɧɤɰɢɹ
int putchar(int c) ɜɵɜɨɞɢɬ ɫɢɦɜɨɥ c ɜ ɨɱɟɪɟɞɧɭɸ ɩɨɡɢɰɢɸ ɧɚ ɷɤɪɚɧɟ
ɦɨɧɢɬɨɪɚ.
Ⱦɥɹ ɜɜɨɞɚ ɫɬɪɨɤɢ ɫ ɤɥɚɜɢɚɬɭɪɵ ɫɥɭɠɢɬ ɮɭɧɤɰɢɹ
char* gets(char*
buf ), ɤɨɬɨɪɚɹ ɱɢɬɚɟɬ ɜɜɨɞ ɫ ɤɥɚɜɢɚɬɭɪɵ (ɞɨ ɫɢɦɜɨɥɚ ɧɨɜɨɣ ɫɬɪɨɤɢ ɢɥɢ
ɧɚɠɚɬɢɹ ɤɥɚɜɢɲɢ
Enter) ɢ ɩɨɦɟɳɚɟɬ ɤɨɞɵ ɩɪɨɱɢɬɚɧɧɵɯ ɫɢɦɜɨɥɨɜ ɜ ɛɭ-
ɮɟɪ, ɚɞɪɟɫ ɤɨɬɨɪɨɝɨ ɡɚɞɚɟɬɫɹ ɩɚɪɚɦɟɬɪɨɦ
buf, ɜ ɤɨɧɰɟ ɫɬɪɨɤɢ ɞɨɛɚɜɥɹɟɬɫɹ
ɧɭɥɟɜɨɣ ɛɚɣɬ. ȼɵɜɨɞ ɫɬɪɨɤɢ ɜɵɩɨɥɧɹɟɬ ɮɭɧɤɰɢɸ
int puts(char*
string), ɤɨɬɨɪɚɹ ɜɵɜɨɞɢɬ ɫɬɪɨɤɭ ɩɨ ɚɞɪɟɫɭ string ɧɚ ɷɤɪɚɧ, ɩɨɤɚ ɜ ɫɬɪɨ-
ɤɟ ɧɟ ɜɫɬɪɟɬɢɬɫɹ ɧɭɥɟɜɨɣ ɛɚɣɬ, ɢ ɜɨɡɜɪɚɳɚɟɬ ɤɨɞ ɩɨɫɥɟɞɧɟɝɨ ɜɵɜɟɞɟɧɧɨɝɨ
ɫɢɦɜɨɥɚ.
Ɏɭɧɤɰɢɢ ɮɨɪɦɚɬɧɨɝɨ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɩɪɢɧɢɦɚɸɬ ɜ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɨɜ
ɫɬɪɨɤɭ ɫ ɨɩɢɫɚɧɢɟɦ ɮɨɪɦɚɬɚ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɞɚɧɧɵɯ ɧɚ ɜɧɟɲɧɟɦ ɭɫɬɪɨɣɫɬ-
ɜɟ ɢ ɫɩɢɫɨɤ ɜɜɨɞɢɦɵɯ ɢɥɢ ɜɵɜɨɞɢɦɵɯ ɞɚɧɧɵɯ. ɋɬɪɨɤɚ ɨɩɢɫɚɧɢɹ ɮɨɪɦɚɬɚ
ɫɨɫɬɨɢɬ ɢɡ ɨɛɵɱɧɵɯ ɫɢɦɜɨɥɨɜ, ɭɩɪɚɜɥɹɸɳɢɯ ɫɢɦɜɨɥɨɜ ɬɢɩɚ ɧɨɜɨɣ ɫɬɪɨɤɢ,
ɜɨɡɜɪɚɬɚ ɤɚɪɟɬɤɢ ɢ ɬ.ɩ. ɢ ɫɩɟɰɢɮɢɤɚɰɢɣ ɩɨɥɟɣ ɜɜɨɞɚ ɢɥɢ ɜɵɜɨɞɚ. Ʉɚɠɞɚɹ
ɬɚɤɚɹ ɫɩɟɰɢɮɢɤɚɰɢɹ ɧɚɱɢɧɚɟɬɫɹ ɫɢɦɜɨɥɨɦ
«%» (ɩɪɨɰɟɧɬ), ɡɚ ɤɨɬɨɪɵɦ ɫɥɟ-
ɞɭɸɬ ɤɨɞɵ ɮɥɚɝɨɜ, ɪɚɡɦɟɪ ɩɨɥɹ ɜɜɨɞɚ ɢɥɢ ɜɵɜɨɞɚ, ɱɢɫɥɨ ɰɢɮɪ ɜ ɞɪɨɛɧɨɣ
ɱɚɫɬɢ ɱɢɫɥɚ, ɩɪɟɮɢɤɫɚ ɪɚɡɦɟɪɚ ɞɚɧɧɨɝɨ ɢ ɤɨɞɚ ɬɢɩɚ ɮɨɪɦɚɬɚ. Ɉɛɹɡɚɬɟɥɶɧɨ
ɭɤɚɡɵɜɚɬɶ ɬɨɥɶɤɨ ɬɢɩ ɮɨɪɦɚɬɚ, ɨɫɬɚɥɶɧɵɟ ɤɨɦɩɨɧɟɧɬɵ ɫɩɟɰɢɮɢɤɚɰɢɢ
ɮɨɪɦɚɬɚ ɡɚɞɚɸɬɫɹ ɩɨ ɧɟɨɛɯɨɞɢɦɨɫɬɢ. Ɉɬɦɟɬɢɦ ɧɟɤɨɬɨɪɵɟ ɤɨɞɵ ɬɢɩɚ ɮɨɪ-
ɦɚɬɚ:
dɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɰɟɥɨɝɨ ɫɨ ɡɧɚɤɨɦ ɜ ɞɟɫɹɬɢɱɧɨɣ ɫɢɫɬɟɦɟ ɫɱɢɫɥɟɧɢɹ,
iɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɰɟɥɨɝɨ ɛɟɡ ɡɧɚɤɚ ɜ ɞɟɫɹɬɢɱɧɨɣ ɫɢɫɬɟɦɟ ɫɱɢɫɥɟɧɢɹ,
fɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɜɟɳɟɫɬɜɟɧɧɨɝɨ ɱɢɫɥɚ ɫ ɮɢɤɫɢɪɨɜɚɧɧɨɣ ɬɨɱɤɨɣ,
e ɢɥɢ Eɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɱɢɫɥɚ ɫ ɩɥɚɜɚɸɳɟɣ ɬɨɱɤɨɣ,
sɜɜɨɞ-ɜɵɜɨɞ ɫɬɪɨɤɨɜɵɯ ɞɚɧɧɵɯ,
cɜɜɨɞ-ɜɵɜɨɞ ɫɢɦɜɨɥɨɜ.
Ⱦɥɹ ɮɨɪɦɚɬɧɨɝɨ ɜɵɜɨɞɚ ɫɥɭɠɢɬ ɮɭɧɤɰɢɹ
34
stdaux – ɫɬɚɧɞɚɪɬɧɵɣ ɩɨɫɥɟɞɨɜɚɬɟɥɶɧɵɣ ɩɨɪɬ.
    ɉɨɬɨɤɢ stdin, stdout ɢ stderr ɨɛɵɱɧɨ ɫɜɹɡɵɜɚɸɬɫɹ ɫ ɤɨɧɫɨɥɶɸ, ɧɨ
ɦɨɝɭɬ ɛɵɬɶ ɩɟɪɟɧɚɡɧɚɱɟɧɵ ɧɚ ɞɪɭɝɢɟ ɭɫɬɪɨɣɫɬɜɚ. ɇɚɡɧɚɱɟɧɢɟ ɞɜɭɯ ɩɨɫɥɟɞ-
ɧɢɯ ɩɨɬɨɤɨɜ ɡɚɜɢɫɢɬ ɨɬ ɢɫɩɨɥɶɡɭɟɦɨɣ ɚɩɩɚɪɚɬɭɪɵ. ɋɬɚɧɞɚɪɬɧɵɟ ɩɨɬɨɤɢ
ɚɜɬɨɦɚɬɢɱɟɫɤɢ ɨɬɤɪɵɜɚɸɬɫɹ ɩɪɢ ɡɚɩɭɫɤɟ ɋɢ-ɩɪɨɝɪɚɦɦɵ ɢ ɡɚɤɪɵɜɚɸɬɫɹ
ɩɪɢ ɟɟ ɡɚɜɟɪɲɟɧɢɢ. ɉɨɬɨɤɢ, ɫɨɡɞɚɜɚɟɦɵɟ ɩɪɨɝɪɚɦɦɢɫɬɨɦ, ɨɬɤɪɵɜɚɸɬɫɹ
ɮɭɧɤɰɢɟɣ fopen ɢ ɡɚɤɪɵɜɚɸɬɫɹ ɮɭɧɤɰɢɟɣ fclose.
     Ɏɭɧɤɰɢɢ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɢɡ stdio.h ɭɫɥɨɜɧɨ ɦɨɠɧɨ ɪɚɡɛɢɬɶ ɧɚ ɱɟɬɵɪɟ
ɝɪɭɩɩɵ: ɜɜɨɞ-ɜɵɜɨɞ ɛɚɣɬɨɜ, ɜɜɨɞ-ɜɵɜɨɞ ɫɬɪɨɤ, ɮɨɪɦɚɬɧɵɣ ɜɜɨɞ-ɜɵɜɨɞ ɢ
ɬɚɤ ɧɚɡɵɜɚɟɦɵɣ ɩɪɹɦɨɣ (ɛɟɫɮɨɪɦɚɬɧɵɣ) ɜɜɨɞ-ɜɵɜɨɞ. Ɂɞɟɫɶ ɨɬɦɟɬɢɦ ɬɨɥɶ-
ɤɨ ɨɬɞɟɥɶɧɵɯ ɩɪɟɞɫɬɚɜɢɬɟɥɟɣ ɩɟɪɜɵɯ ɬɪɟɯ ɝɪɭɩɩ, ɩɪɟɞɧɚɡɧɚɱɟɧɧɵɯ ɞɥɹ
ɜɜɨɞɚ ɢɡ ɩɨɬɨɤɚ stdin ɢ ɜɵɜɨɞɚ ɜ ɩɨɬɨɤ stdout.
     Ɏɭɧɤɰɢɹ int getchar() ɫɥɭɠɢɬ ɞɥɹ ɜɜɨɞɚ ɨɞɧɨɝɨ ɫɢɦɜɨɥɚ ɫ ɤɥɚɜɢɚ-
ɬɭɪɵ ɢ ɜɨɡɜɪɚɳɚɟɬ ɤɨɞ ɫɢɦɜɨɥɚ, ɩɪɟɨɛɪɚɡɨɜɚɧɧɵɣ ɤ ɬɢɩɭ int. Ɏɭɧɤɰɢɹ
int putchar(int c) ɜɵɜɨɞɢɬ ɫɢɦɜɨɥ c ɜ ɨɱɟɪɟɞɧɭɸ ɩɨɡɢɰɢɸ ɧɚ ɷɤɪɚɧɟ
ɦɨɧɢɬɨɪɚ.
     Ⱦɥɹ ɜɜɨɞɚ ɫɬɪɨɤɢ ɫ ɤɥɚɜɢɚɬɭɪɵ ɫɥɭɠɢɬ ɮɭɧɤɰɢɹ char* gets(char*
buf ), ɤɨɬɨɪɚɹ ɱɢɬɚɟɬ ɜɜɨɞ ɫ ɤɥɚɜɢɚɬɭɪɵ (ɞɨ ɫɢɦɜɨɥɚ ɧɨɜɨɣ ɫɬɪɨɤɢ ɢɥɢ
ɧɚɠɚɬɢɹ ɤɥɚɜɢɲɢ Enter) ɢ ɩɨɦɟɳɚɟɬ ɤɨɞɵ ɩɪɨɱɢɬɚɧɧɵɯ ɫɢɦɜɨɥɨɜ ɜ ɛɭ-
ɮɟɪ, ɚɞɪɟɫ ɤɨɬɨɪɨɝɨ ɡɚɞɚɟɬɫɹ ɩɚɪɚɦɟɬɪɨɦ buf, ɜ ɤɨɧɰɟ ɫɬɪɨɤɢ ɞɨɛɚɜɥɹɟɬɫɹ
ɧɭɥɟɜɨɣ ɛɚɣɬ. ȼɵɜɨɞ ɫɬɪɨɤɢ ɜɵɩɨɥɧɹɟɬ ɮɭɧɤɰɢɸ int puts(char*
string), ɤɨɬɨɪɚɹ ɜɵɜɨɞɢɬ ɫɬɪɨɤɭ ɩɨ ɚɞɪɟɫɭ string ɧɚ ɷɤɪɚɧ, ɩɨɤɚ ɜ ɫɬɪɨ-
ɤɟ ɧɟ ɜɫɬɪɟɬɢɬɫɹ ɧɭɥɟɜɨɣ ɛɚɣɬ, ɢ ɜɨɡɜɪɚɳɚɟɬ ɤɨɞ ɩɨɫɥɟɞɧɟɝɨ ɜɵɜɟɞɟɧɧɨɝɨ
ɫɢɦɜɨɥɚ.
     Ɏɭɧɤɰɢɢ ɮɨɪɦɚɬɧɨɝɨ ɜɜɨɞɚ-ɜɵɜɨɞɚ ɩɪɢɧɢɦɚɸɬ ɜ ɤɚɱɟɫɬɜɟ ɩɚɪɚɦɟɬɪɨɜ
ɫɬɪɨɤɭ ɫ ɨɩɢɫɚɧɢɟɦ ɮɨɪɦɚɬɚ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɞɚɧɧɵɯ ɧɚ ɜɧɟɲɧɟɦ ɭɫɬɪɨɣɫɬ-
ɜɟ ɢ ɫɩɢɫɨɤ ɜɜɨɞɢɦɵɯ ɢɥɢ ɜɵɜɨɞɢɦɵɯ ɞɚɧɧɵɯ. ɋɬɪɨɤɚ ɨɩɢɫɚɧɢɹ ɮɨɪɦɚɬɚ
ɫɨɫɬɨɢɬ ɢɡ ɨɛɵɱɧɵɯ ɫɢɦɜɨɥɨɜ, ɭɩɪɚɜɥɹɸɳɢɯ ɫɢɦɜɨɥɨɜ ɬɢɩɚ ɧɨɜɨɣ ɫɬɪɨɤɢ,
ɜɨɡɜɪɚɬɚ ɤɚɪɟɬɤɢ ɢ ɬ.ɩ. ɢ ɫɩɟɰɢɮɢɤɚɰɢɣ ɩɨɥɟɣ ɜɜɨɞɚ ɢɥɢ ɜɵɜɨɞɚ. Ʉɚɠɞɚɹ
ɬɚɤɚɹ ɫɩɟɰɢɮɢɤɚɰɢɹ ɧɚɱɢɧɚɟɬɫɹ ɫɢɦɜɨɥɨɦ «%» (ɩɪɨɰɟɧɬ), ɡɚ ɤɨɬɨɪɵɦ ɫɥɟ-
ɞɭɸɬ ɤɨɞɵ ɮɥɚɝɨɜ, ɪɚɡɦɟɪ ɩɨɥɹ ɜɜɨɞɚ ɢɥɢ ɜɵɜɨɞɚ, ɱɢɫɥɨ ɰɢɮɪ ɜ ɞɪɨɛɧɨɣ
ɱɚɫɬɢ ɱɢɫɥɚ, ɩɪɟɮɢɤɫɚ ɪɚɡɦɟɪɚ ɞɚɧɧɨɝɨ ɢ ɤɨɞɚ ɬɢɩɚ ɮɨɪɦɚɬɚ. Ɉɛɹɡɚɬɟɥɶɧɨ
ɭɤɚɡɵɜɚɬɶ ɬɨɥɶɤɨ ɬɢɩ ɮɨɪɦɚɬɚ, ɨɫɬɚɥɶɧɵɟ ɤɨɦɩɨɧɟɧɬɵ ɫɩɟɰɢɮɢɤɚɰɢɢ
ɮɨɪɦɚɬɚ ɡɚɞɚɸɬɫɹ ɩɨ ɧɟɨɛɯɨɞɢɦɨɫɬɢ. Ɉɬɦɟɬɢɦ ɧɟɤɨɬɨɪɵɟ ɤɨɞɵ ɬɢɩɚ ɮɨɪ-
ɦɚɬɚ:
d – ɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɰɟɥɨɝɨ ɫɨ ɡɧɚɤɨɦ ɜ ɞɟɫɹɬɢɱɧɨɣ ɫɢɫɬɟɦɟ ɫɱɢɫɥɟɧɢɹ,
i – ɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɰɟɥɨɝɨ ɛɟɡ ɡɧɚɤɚ ɜ ɞɟɫɹɬɢɱɧɨɣ ɫɢɫɬɟɦɟ ɫɱɢɫɥɟɧɢɹ,
f – ɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɜɟɳɟɫɬɜɟɧɧɨɝɨ ɱɢɫɥɚ ɫ ɮɢɤɫɢɪɨɜɚɧɧɨɣ ɬɨɱɤɨɣ,
e ɢɥɢ E – ɞɥɹ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɱɢɫɥɚ ɫ ɩɥɚɜɚɸɳɟɣ ɬɨɱɤɨɣ,
s – ɜɜɨɞ-ɜɵɜɨɞ ɫɬɪɨɤɨɜɵɯ ɞɚɧɧɵɯ,
c – ɜɜɨɞ-ɜɵɜɨɞ ɫɢɦɜɨɥɨɜ.
     Ⱦɥɹ ɮɨɪɦɚɬɧɨɝɨ ɜɵɜɨɞɚ ɫɥɭɠɢɬ ɮɭɧɤɰɢɹ

                                  34