C_7 (1115140)
Текст из файла
- 152 - 7. ���� � �뢮� �।�⢠ �����/�뢮�� �� ����� ��⠢��� ����� �몠 "�", ⠪ �� �� �� �뤥� �� � ��襬 �।��饬 ���������. ������ ॠ��� �ணࠬ�� �������������� � �� ���㦠�- 饩 �।�� ��ࠧ�� ����� ��� ��ࠧ��, 祬 �� ������ �� �� ���. � �⮩ ����� �㤥� ���ᠭ� "�⠭���⭠� ������⥪� �����/�뢮��", � ���� ����� �㭪権, ࠧࠡ�⠭��� ��� ���ᯥ祭�� �⠭���⭮� ��⥬� �����/�뢮�� ��� "�"- �ண- ࠬ�. �� �㭪樨 �।�����祭� ��� 㤮��⢠ �ணࠬ����� ����䥩�, � �� �� ��ࠦ��� ⮫쪮 � ����樨, ����� ����� ���� ���ᯥ祭� �� ����設�⢥ ᮢ६����� ����樮�- ��� ��⥬. ��楤��� �����筮 ��䥪⨢�� ��� ⮣�, �⮡� ���짮��⥫� ।�� ���⢮���� ����室������ ����� �� "ࠤ� ��䥪⨢����", ��� �� �� �뫠 ����� �����⭠� �����. �, �������, �� ��楤��� ���㬠�� ���� "��७�ᨬ묨" � ⮬ ��, �� ��� ������ ����⢮���� � ᮢ���⨬�� ���� �� �� ��⥬�, ��� ������� �� "�", � �� �ணࠬ��, ���- �� ��࠭�稢��� � ����������⢨� � ��⥬�� �����������- ��, �।��⠢�塞묨 �⠭���⭮� ������⥪��, ����� �㤥� ��७���� � ����� ��⥬� �� ����� �� ������ ��� ������- ���. �� ����� �� �㤥� ������� ������ ��� ������⥪� ���- ��/�뢮��; �� ����� ������ᮢ��� � ⮬, �⮡� �த������- ���� ��魮��� ����ᠭ�� "�"-�ணࠬ�, ����� ���������- ����� � �� ����樮���� �।��. 7.1. ���饭�� � �⠭���⭮� ������⥪� ����� ��室�� 䠩�, ����� ���頥��� � �㭪樨 �� �⠭���⭮� ������⥪�, ������ ������ ��砫� ᮤ�ঠ�� ���- �� #INCLUDE <STDIO.H> � 䠩�� STDIO.H ��।������� ������� ������ � ��६����, �ᯮ��㥬� ������⥪�� �����/�뢮��. �ᯮ�짮����� 㣫���� ��� ����� ������ ������� ����祪 - 㪠����� ���������� �᪠�� ��� 䠩� � �ࠢ�筨��, ᮤ�ঠ饬 ��������� �⠭- ���⭮� ���ଠ樨 (�� ��⥬� UNIX ���筮 LUSRLINELUDE). �� ⮣�, �� ����㧪� �ணࠬ�� ����� ��������� ����- 室��� 㪠���� ������⥪� �; �� ��⥬� PDP-11 UNIX, ���ਬ��, ������� �������樨 �ணࠬ�� ����� �� ���: CC ��室�� 䠩�� � �.�. -LS ��� -LS 㪠�뢠�� �� ����㧪� �� �⠭���⭮� ������⥪�. 7.2. �⠭����� ���� � �뢮� - �㭪樨 GETCHAR � PUTCHAR ���� ���⮩ ��堭��� ����� �����砥��� � �⥭�� �� ��- ���� ᨬ���� �� ࠧ �� "�⠭���⭮�� �����", ���筮 � �ନ- ���� ���짮��⥫�, � ������� �㭪樨 GETCHAR. �㭪�� GETCHAR() �� ������ � ��� ���饭�� �����頥� ���騩 - 153 - ������� ᨬ���. � ����設�⢥ �।, ����� �����ন���� �� "�", �ନ��� ����� ���� ������� ������� 䠩��� � ��- ����� ������祭�� < : � ������� �ணࠬ�� PROG �ᯮ��- ��� �㭪�� GETCHAR � ��������� ��ப� PROG<INFILE �ਢ���� � ⮬�, �� PROG �㤥� ���� �� 䠩�� INFILE, � �� � �ନ����. ��४��祭�� ����� �������� ⠪�� ��ࠧ��, �� ᠬ� �ணࠬ�� PROG �� ����砥� ���������; � ��⭮�� ���- ��"<INFILE" �� ����砥��� � ��������� ��ப� ��㬥�⮢ � ARGV. ��४��祭�� ����� ����뢠���� �������� � � ⮬ ��- 砥, ����� �뢮� ����㯠�� �� ��㣮� �ணࠬ�� ���।�⢮� ���筮�� (PIPE) ��堭����; ��������� ��ப� OTHERPROG \! PROG �ண���� ��� �ணࠬ��, OTHERPROG � PROG, � �࣠����� ⠪, �� �⠭����� ������ ��� PROG �㦨� �⠭����� �뢮� OTHERPROG. �㭪�� GETCHAR �����頥� ���祭�� EOF, ����� ��� ����- ���� �� ����� 䠩��, ����� �� ���� ��� �� �⮬ �� ���뢠- ��. �⠭���⭠� ������⥪� �������� ᨬ�������� ����⠭�� EOF ࠢ��� -1 (���।�⢮� #DEFINE � 䠩�� STDIO.H), �� ��- ��ન ��� ����� � �ନ��� EOF, � �� -1, �⮡� �������� ����ᨬ��� �� �����⭮�� ���祭��. �뢮� ����� �����⢫��� � ������� �㭪樨 PUTCHAR(C), ������饩 ᨬ��� '�' � "�⠭����� ����", ����� �� 㬮�- 砭�� ���� �ନ�����. �뢮� ����� ���ࠢ��� � ������� 䠩� � ������� ������祭�� > : � PROG �ᯮ���� PUTCHAR, � ��������� ��ப� PROG>OUTFILE �ਢ���� � ����� �⠭���⭮�� �뢮�� � 䠩� OUTFILE, � �� �� �ନ���. �� ��⥬� UNIX ����� ⠪�� �ᯮ�짮���� ����- �� ��堭���. ��ப� PROG \! ANOTHERPROG ����頥� �⠭����� �뢮� PROG � �⠭����� ���� ANOTHERPROG. � ����� PROG �� �㤥� �ᢥ������� �� ��������� ���ࠢ�����. �뢮�, �����⢫塞� �㭪樥� PRINTF, ⠪�� ����㯠�� � �⠭����� �뢮�, � ���饭�� � PUTCHAR � PRINTF ����� ��- ६�������. ��ࠧ�⥫쭮� ������⢮ �ணࠬ� �⠥� ⮫쪮 �� ����- �� �室���� ��⮪� � ���� ⮫쪮 � ���� ��室��� ��⮪; ��� ⠪�� �ணࠬ� ���� � �뢮� � ������� �㭪権 GETCHAR, PUTCHAR � PRINTF ����� ��������� ������ �������� � ��� ��- 砫� ��।������ �������. �� �ᮡ���� �ࠢ������ ⮣- - 154 - ��, ����� ������� ����������� 㪠����� 䠩��� ��� ����� � �뢮�� � ����� ��堭��� ��� �裡 �뢮�� ����� �ணࠬ�� � ������ ��㣮�. ���ᬮ�ਬ, ���ਬ��, �ணࠬ�� LOWER, ��- ��� �८�ࠧ�� �ய��� �㪢� �� ��� ����� � ����- ��: #INCLUDE <STDIO.H> MAIN() /* CONVERT INPUT TO LOWER CASE */ \( INT C; WHILE ((C = GETCHAR()) != EOF) PUTCHAR(ISUPPER(C) ? TOLOWER(C) : C); \) "�㭪樨" ISUPPER � TOLOWER �� ᠬ�� ���� ����� �����- ��, ��।�����묨 � STDIO.H . ����� ISUPPER �����, �- ����� �� ��� ��㬥�� �㪢�� �� ���孥�� ॣ����, � ����- �頥� ���㫥��� ���祭��, � �� ⠪, � ��� � ��⨢��� ��砥. ����� TOLOWER �८�ࠧ�� �㪢� �� ���孥�� ॣ���- � � �� �� �㪢� ������� ॣ����. ������ᨬ� �� ⮣�, ��� �� �㭪樨 ॠ�������� �� �����⭮� ��設�, �� ���譥� ��- ������� ᮢ��襭�� ���������, ⠪ �� �ᯮ����騥 �� �ண- ࠬ�� ��������� �� ������ ᨬ���쭮�� �����. � �ॡ���� �८�ࠧ����� ���쪮 䠩���, � ����� ᮡ��� �� 䠩�� � ������� �ணࠬ��, �������� �⨫�� CAT ��⥬� UNIX, CAT FILE1 FILE2 ... \! LOWER>OUTPUT � �������� ⥬ ᠬ� ����� � ⮬, ��� �������� � �⨬ 䠩��� �� �ணࠬ��. (�ணࠬ�� CAT �ਢ������ ����� � �⮩ �����). �� ⮣� �⬥⨬, �� � �⠭���⭮� ������⥪� ���- ��/�뢮�� "�㭪樨" GETCHAR � PUTCHAR �� ᠬ�� ���� ����� ���� ����ᠬ�. �� �������� �������� ��������� ��室�� �� ���饭�� � �㭪樨 ��� ��ࠡ�⪨ ������� ᨬ����. � ����� 8 �� �த��������㥬, ��� �� ��������. 7.3. ��ଠ�� �뢮� - �㭪�� PRINTF ��� �㭪樨: PRINTF ��� �뢮�� � SCANF ��� ����� (��- �騩 ࠧ���) ��������� �८�ࠧ��뢠�� ���� ����稭� � ᨬ���쭮� �।�⠢�E��� � ���⭮. ��� ⠪�� ��������� ��- ������ � ��������� �ଠ�� ��ப�. �� 㦥 ���� � �।���� ������ ���ଠ�쭮 �ᯮ�짮���� �㭪�� PRINTF; ����� �ਢ������ ����� ������ � �筮� ���ᠭ��. �㭪�� PRINTF(CONTROL, ARG1, ARG2, ...) - 155 - �८�ࠧ��, ��।���� �ଠ� � ���⠥� � ��㬥��� � �⠭����� �뢮� ��� �ࠢ������ ��ப� CONTROL. ��ࠢ���- �� ��ப� ᮤ�ন� ��� ⨯� ��ꥪ⮢: ����� ᨬ����, ��- ��� ���� ���������� � ��室��� ��⮪, � ᯥ�䨪�樨 �८�ࠧ������, ������ �� ������ ��뢠�� �८�ࠧ������ � ����� ��।���� ��㬥�� PRINTF. ������ ᯥ�䨪��� �८�ࠧ������ ��稭����� � ᨬ���� % � �����稢����� ᨬ����� �८�ࠧ������. ����� % � ᨬ��- ��� �८�ࠧ������ ����� ��室�����: - ���� �����, ����� 㪠�뢠�� � ��ࠢ������� �८�ࠧ����- ���� ��㬥�� �� ������ ��� ��� ����. - ��ப� ���, ������� ���������� �ਭ� ����. �८�ࠧ�- ������ � �㤥� �����⠭� � ���� �� �ࠩ��� ��� �⮩ �ਭ�, � � ����室���, � � � ����� �ப��. � ��- ��ࠧ������ ��㬥�� ����� ����� ᨬ�����, 祬 㪠������ �ਭ� ����, � �� �㤥� �������� �� (��� �ࠢ�, � �뫮 㪠���� ��ࠢ������� �� ������ ���)��������騬� ᨬ- ������ �� �⮩ �ਭ�. ��������騬 ᨬ����� ���筮 ��- �� ���, � � �ਭ� ���� 㪠�뢠���� � �������騬 ��- ���, � �⨬ ᨬ����� �㤥� ��� (�������騩 ��� � ������ ��砥 �� ����砥� ���쬥�筮� �ਭ� ����). - ��窠, ����� �⤥��� �ਭ� ���� �� ���饩 ��ப� ���. - ��ப� ��� (�筮���), ����� 㪠�뢠�� ���ᨬ��쭮� � ᨬ����� ��ப�, ����� ������ ���� �����⠭�, ��� � ���⠥��� �ࠢ� �� �����筮� �窨 ��� ��� ���- ������ ⨯� FLOAT ��� DOUBLE. - ����䨪��� ����� L, ����� 㪠�뢠��, �� ᮮ⢥�����- 騩 ���� ������ ����� ⨯ LONG, � �� INT. ���� �ਢ������ ᨬ���� �८�ࠧ������ � �� ���: D - ��㬥�� �८�ࠧ���� � �����筮�� ����. O - ��㬥�� �८�ࠧ���� � ����������� ���쬥���� ��� (��� �������饣� ���). X - ��㬥�� �८�ࠧ���� � ����������� ��⭠������� ��� (��� ��������� 0X). U - ��㬥�� �८�ࠧ���� � ����������� �������� ���. C - ��㬥�� ��ᬠ�ਢ����� ��� �⤥��� ᨬ���. S - ��㬥�� ���� ��ப��: ᨬ���� ��ப� �������� �� �� ���, ���� �� �㤥� ���⨣��� �㫥��� ᨬ��� ��� �� ��- ��� �����⠭� ������⢮ ᨬ�����, 㪠������ � ᯥ�䨪�- 樨 �筮��. E - ��㬥��, ��ᬠ�ਢ���� ��� ��६����� ⨯� FLOAT ��� DOUBLE, �८�ࠧ���� � �������� ��� � ���� [-]M.NNNNNNE[+-]XX, ��� ����� ��ப� �� N ��।������ 㪠������ �筮����. ��筮��� �� 㬮�砭�� ࠢ�� 6. F - ��㬥��, ��ᬠ�ਢ���� ��� ��६����� ⨯� FLOAT ��� DOUBLE, �८�ࠧ���� � �������� ��� � ���� [-]MMM.NNNNN, ��� ����� ��ப� �� N ��।������ 㪠������ �筮����. ��筮��� �� 㬮�砭�� ࠢ�� 6. �⬥⨬, �� �� �筮��� �� ��।���� ������⢮ ���⠥��� � �ଠ� F ������ ���. - 156 - G - �ᯮ������ ��� �ଠ� %E ��� %F, ����� ����; �����- �騥 �㫨 �� ��������. � ���騩 �� % ᨬ��� �� ���� ᨬ����� �८�ࠧ������, � ���⠥��� ᠬ ��� ᨬ���; ����⥫쭮,ᨬ��� % ����� ��������, 㪠��� %%. ����設�⢮ �� �ଠ��� �८�ࠧ������ �祢���� � �뫮 �ந��������� � �।���� ������. �����⢥��� �᪫��- ���� ���� �, ��� �筮��� ������������� � ��ப���. �������� ⠡��� ����������� ���ﭨ� ������� ࠧ����� ᯥ�䨪�権 �� ����� "HELLO, WORLD" (12 ᨬ�����). �� ��- ���⨫� ������� ����� ������� ���� ��� ⮣�, �⮡� �� ����� ������ ��� ���殮������. :%10S: :HELLO, WORLD: :%10-S: :HELLO, WORLD: :%20S: : HELLO, WORLD: :%-20S: :HELLO, WORLD : :%20.10S: : HELLO, WOR: :%-20.10S: :HELLO, WOR : :%.10S: :HELLO, WOR: �।���०����: PRINTF �ᯮ���� � ���� ��㬥�� ��� ��।������ � ������� ��㬥�⮢ � �� ⨯��. ��- �� ������⢮ ��㬥�⮢ �������� ��������� ��� ��� ��- ��� ����� ��ᮮ⢥��⢥��� ⨯�, � ��������� ��⠭�� � �� ������ �������� १�����. ��ࠦ����� 7-1. -------------- ������ �ணࠬ��, ����� �㤥� ������ ࠧ㬭� ��- ࠧ�� �ந������ ����. ��� ������ ��� ������ ������ ������᪨� ᨬ���� � ���쬥�筮� ��� ��⭠����筮� ���� (� ᮮ⢥��⢨� � �ਭ��묨 � ��� ����ﬨ) � ᪫���- ���� ������ ��ப�. 7.4. ��ଠ�� ���� - �㭪�� SCANF �����⢫���� ���� �㭪�� SCANF ���� �������� PRINTF � �������� ������ � ���⭮� ���ࠢ����� ������ �� �� �� ᠬ�� �८�ࠧ������. �㭪�� SCANF(CONTROL, ARG1, ARG2, ...) �⠥� ᨬ���� �� �⠭���⭮�� �����, ��������� �� � ᮮ⢥��⢨� � �ଠ⮬, 㪠������ � ��㬥�� CONTROL, � ����頥� १����� � ��⠫�� ��㬥���. ��ࠢ���騩 ���- ���� ����뢠���� ����; ��㣨� ��㬥���, ����� �� ������ ������ ���� 㪠��⥫��, ��।�����, �㤠 ��� �������� ᮮ⢥�����騬 ��ࠧ�� �८�ࠧ������ ����. ��ࠢ����� ��ப� ���筮 ᮤ�ন� ᯥ�䨪�樨 �८��- �������, ����� �ᯮ������� ��� �����।�⢥���� �����- �樨 �室��� ������⥫쭮�⥩. ��ࠢ����� ��ப� ����� ᮤ�ঠ��: - ����, ⠡��樨 ��� ᨬ���� ����� ��ப� ("ᨬ���� ���- ��� ����⪮�"), ����� �����������. - 157 - - ����� ᨬ���� (�� %), ����� �।���������� ᮢ������- �� � ���騬� �⫨�묨 �� ᨬ����� ������ ����⪮� ᨬ������ �室���� ��⮪�. - ����䨪�樨 �८�ࠧ������, ����騥 �� ᨬ���� %, ���- �易⥫쭮�� ᨬ���� ���������� ��ᢠ������ *, ����易- ⥫쭮�� �, �����饣� ���ᨬ����� �ਭ� ���� � ᨬ- ���� �८�ࠧ������. ����䨪��� �८�ࠧ������ �ࠢ��� �८�ࠧ������� ���饣� ���� �����. ��ଠ�쭮 १���� ����頥��� � ��- ६�����, ����� 㪠�뢠���� ᮮ⢥�����騬 ��㬥�⮬. �, ������ , � ������� ᨬ���� * 㪠���� ���������� ���- ��������, � �� ���� ����� ���� �ய�᪠���� � �������� ��ᢠ������ �� �ந��������. ���� ����� ��।������ ��� ��ப� ᨬ�����, ����� �⫨�� �� ᨬ����� ������ ��- ��⪮�; ��� �த�������� ���� �� ���饣� ᨬ���� ���⮣� ����⪠, ���� ���� �� �㤥� ����� �ਭ� ����, � ��� 㪠����. ��� ���, �� �� ���᪥ �㦭��� �� ���- ��, �㭪�� SCANF �㤥� ���ᥪ��� �࠭��� ��ப, ����� ᨬ��� ����� ��ப� �室�� � � ������ ����⪮�. ������ �८�ࠧ������ ��।���� �������� ���� ���- ��; ᮣ��᭮ �ॡ������ �᭮������ �� �맮�� �� ���祭�� ᥬ��⨪� �몠 "�" ᮮ⢥�����騩 ��㬥�� ������ ���� 㪠��⥫��. ����᪠���� ���騥 ᨬ���� �८�ࠧ������: D - �� ����� ��������� �����筮� 楫��; ᮮ⢥�����騩 ��- �㬥�� ������ ���� 㪠��⥫�� �� 楫��. O - �� ����� ��������� ���쬥�筮� 楫�� (� �������騬 ��- ��� ��� ��� ����); ᮮ⢥�����騩 ��㬥�� ������ ���� 㪠��⥫�� �� 楫��. X - �� ����� ��������� ��⭠����筮� 楫�� (� ��������- �� 0X ��� ��� ���); ᮮ⢥�����騩 ��㬥�� ������ ���� 㪠��⥫�� �� 楫��. H - �� ����� ��������� 楫�� ⨯� SHORT; ᮮ⢥����騩 ��- �㬥�� ������ ���� 㪠��⥫�� �� 楫�� ⨯� SHORT. C - ��������� �⤥��� ᨬ���; ᮮ⢥�����騩 ��㬥�� ������ ���� 㪠��⥫�� �� ᨬ����; ���騩 ������� ᨬ��� ����頥��� � 㪠������ ����. ����� �ய�� ᨬ- ����� ������ ����⪮� � �⮬ ��砥 ����������; ��� �⥭�� ���饣� ᨬ����, ����� �� ���� ᨬ����� ���⮣� ����⪠, �������� ᯥ�䨪�樥� �८�ࠧ�- ����� %1S. S - ��������� ᨬ���쭠� ��ப�; ᮮ⢥�����騩 ��㬥�� ������ ���� 㪠��⥫�� ᨬ�����, ����� 㪠�뢠�� �� ���ᨢ ᨬ�����, ����� �����筮 ����� ��� �ਭ��� ��ப� � ������塞��� � ���� ᨬ���� \0. F - ��������� � � ������饩 �窮�; ᮮ⢥�����騩 ��- �㬥�� ������ ���� 㪠��⥫�� �� ��६����� ⨯� FLOAT. � - ᨬ��� �८�ࠧ������ E ���� ᨭ������ ��� F. ��ଠ� ����� ��६����� ⨯� FLOAT ����砥� ����易⥫�� ����, ��ப� ���, �������� ᮤ�ঠ��� �������� ��� � ���- �易⥫쭮� ���� �ᯮ�����, ����饥 �� �㪢� E, �� ��- �ன ��� 楫��, �������� ����饥 ����. - 158 - ��। ᨬ������ �८�ࠧ������ D, O � X ����� ����� L, ����� ����砥� , �� � ᯨ᪥ ��㬥�⮢ ������ ��室����� 㪠��⥫� �� ��६����� ⨯� LONG, � �� ⨯� INT. ��������- ��, �㪢� L ����� ����� ��। ᨬ������ �८�ࠧ������ E ��� F, ������ � ⮬, �� � ᯨ᪥ ��㬥�⮢ ������ ���- ������ 㪠��⥫� �� ��६����� ⨯� DOUBLE, � �� ⨯� FLOAT. ���ਬ��, ���饭�� INT I; FLOAT X; CHAR NAME[50]; SCANF("&D %F %S", &I, &X, NAME); � ��ப�� �� ����� 25 54.32E-1 THOMPSON �ਢ���� � ��ᢠ������ I ���祭�� 25,X - ���祭�� 5.432 � NAME - ��ப� "THOMPSON", �������騬 ��ࠧ�� �����祭��� ᨬ����� \ 0. �� �� ���� ����� ����� ࠧ������ �⮫쪨�� ������, ⠡���ﬨ � ᨬ������ ����� ��ப, �쪮 �� ��������. ���饭�� INT I; FLOAT X; CHAR NAME[50]; SCANF("%2D %F %*D %2S", &I, &X, NAME); � ������ 56789 0123 45A72 ���� I ���祭�� 56, X - 789.0, �ய���� 0123 � ������� � NAME ��ப� "45". �� ���饬 ���饭�� � �� ��楤�- � ����� ��ᬮ�७�� ��筥��� � �㪢� A. � ��� ���� �ਬ�- �� NAME ���� 㪠��⥫�� �, ����⥫쭮, ��। ��� �� �㦭� ������� ���� &. � ����⢥ ��㣮�� �ਬ�� ��९�襬 ⥯��� ������ �������� �� ����� 4, �ᯮ���� ��� �८�ࠧ������ ����� �㭪�� SCANF: #INCLUDE <STDIO.H> MAIN() /* RUDIMENTARY DESK CALCULATOR */ \( DOUBLE SUM, V; SUM =0; WHILE (SCANF("%LF", &V) !=EOF) PRINTF("\T%.2F\N", SUM += V); \) �믮������ �㭪樨 SCANF �����稢����� ���� ⮣��, ����� ��� ����뢠�� � �ࠢ������ ��ப�, ���� ����� ������� ���� ����� �� ᮢ������ � �ࠢ���饩 ᯥ�䨪�樥�. � ����⢥ ��� ���祭�� ��� �����頥� � �ࠢ��쭮 ᮢ- ������� � ������� ���⮢ �����. �� � ����� ���� - 159 - �ᯮ�짮���� ��� ��।������ ������⢠ ��������� ���⮢ �����. �� ��室� �� ����� 䠩�� �����頥��� EOF; �����- ���, �� �� ���祭�� �⫨筮 �� 0, �� ���騩 ������� ᨬ��� �� 㤮���⢮��� ��ࢮ� ᯥ�䨪�樨 � �ࠢ���饩 ��ப�. �� ���饬 ���饭�� � SCANF ���� ������������� �����।�⢥��� �� ������ �������� ᨬ�����. ������⥫쭮� �।���०����: ��㬥��� �㭪樨 SCANF ������ ���� 㪠��⥫ﬨ. ��ᮬ����� �������� �����࠭��- ��� �訡�� ��⮨� � ����ᠭ�� SCANF("%D", N); ����� SCANF("%D", &N); 7.5. ��ଠ⭮� �८�ࠧ������ � ����� �� �㭪樨 SCANF � PRINTF �ந�室�� �㭪樨 SSCANF � SPRINTF, ����� �����⢫��� ��������� �८�ࠧ������, �� �������� � ��ப��, � �� � 䠩���. ���饭�� � �⨬ �㭪- �� ����� ���: SPRINTF(STRING, CONTROL, ARG1, ARG2, ...) SSCANF(STRING, CONTROL, ARG1, ARG2, ...) ��� � ࠭�� , �㭪�� SPRINTF �८�ࠧ�� � ��㬥��� ARG1, ARG2 � �.�. � ᮮ⢥��⢨� � �ଠ⮬, 㪠����� � CONTROL, �� ����頥� १����� � STRING, � �� � �⠭����� �뢮�. K���筮, ��ப� STRING ������ ���� �����筮 ������, �⮡� �ਭ��� १����. ���ਬ��, � NAME - �� ᨬ����- �� ���ᨢ, � N - 楫��, � SPRINTF(NAME, "TEMP%D", N); ᮧ���� � NAME ��ப� ���� TEMPNNN, ��� NNN - ���祭�� N. �㭪�� SSCANF �믮���� ����� �८�ࠧ������ - ��� ��ᬠ�ਢ��� ��ப� STRING � ᮮ⢥��⢨� � �ଠ⮬ � ��- �㬥�� CONTROL � ����頥� १������騥 ���祭�� � ���- ����� ARG1, ARG2 � �.�.�� ��㬥��� ������ ���� 㪠��⥫�- ��. � १���� ���饭�� SSCANF(NAME, "TEMP%D", &N); ��६����� N ����砥� ���祭�� ��ப� ���, ����� �� TEMP � NAME. ��ࠦ����� 7-2. -------------- ��९��� ���⮫�� �������� �� ����� 4, �ᯮ���� ��� ����� � �८�ࠧ������ �ᥫ SCANF �/��� SSCANF. - 160 - 7.6. ����� � 䠩��� �� �� �� ��� ����ᠭ�� �ணࠬ�� �⠫� �� �⠭����- ���� ����� � ��ᠫ� � �⠭����� �뢮�, �⭮�⥫쭮 ���- ��� �� �।��������, �� ��� �����᪨� ��ࠧ�� �।��⠢��- �� �ணࠬ�� ���⭮� ����樮���� ��⥬��. ������騬 蠣�� � ����� �����-�뢮�� ���� �����- ��� �ணࠬ��, ࠡ���饩 � 䠩���, ����� �� �易� ���- ��� � �ணࠬ���. ����� �� �ணࠬ�, ����� � ��������- ��� ���ॡ����� � ⠪�� �������, ���� CAT, ����� ��ꥤ���� ����� �� ���쪨� ����������� 䠩��� � �⠭���- �� �뢮�. �ணࠬ�� CAT �ᯮ������ ��� �뢮�� 䠩��� �� �ନ��� � � ����⢥ 㭨���ᠫ쭮�� ᡮ�騪� ����� ��� �ணࠬ�, ����� �� ����� ���������� �������� � 䠩��� �� �����. ���ਬ��, ������� CAT X.C.Y.C ���⠥� ᮤ�ন��� 䠩��� X.C � Y.C � �⠭����� �뢮�. ����� ��⮨� � ⮬, ��� �࣠�������� �⥭�� �� �����- ������ 䠩���, �.�., ��� �易�� ���譨� �����, ����묨 ��� ���짮��⥫�, � 䠪��᪨ ���騬� ����� �����- ࠬ�. �� �ࠢ��� �����. �०�� 祬 ����� ���뢠�� �� ����- �ண� 䠩�� ��� �����뢠�� � ����, ��� 䠩� ������ ���� ����� � ������� �㭪樨 FOPEN �� �⠭���⭮� ������⥪�. �㭪�� FOPEN ���� ���譥� ��� (�������� X.C ��� Y.C), ��- ����� ������� ���㦨���騥 ����⢨� � ��ॣ����� � ����- 樮���� ��⥬�� (��⠫� ������ �� ������ ��� �������) � �����頥� ����७��� ���, ��� ������ �ᯮ�짮������ �� ������� �⥭��� �� 䠩�� ��� ������� � ����. �� ����७��� ���, ���뢠���� "㪠��⥫�� 䠩��", 䠪- ��᪨ ���� 㪠��⥫�� ��������, ����� ᮤ�ন� ��- �ଠ�� � 䠩��, ⠪�� ��� ���� ࠧ��饭�� ����, ⥪��� ������ ᨬ���� � ����, �ந�室�� �� �⥭�� �� 䠩�� ��� ������ � ���� � ⮬� ��������. ���짮��⥫� �� ��易�� ����� �� ��⠫�, ��⮬� �� �।� ��।������ ��� �⠭���⭮�� �����-�뢮��, ����砥��� �� 䠩�� STDIO.H, ᮤ�ন��� ���- ������� �������� � ������ FILE. �����⢥���� ����室���� ��� 㪠��⥫� 䠩�� ���ᠭ�� ������������� �ਬ�: FILE *FOPEN(), *FP; ����� ��������, �� FP ���� 㪠��⥫�� �� FILE � FOPEN �����頥� 㪠��⥫� �� FILE. O���� ��������, �� FILE ���� ������ ⨯�, ������� INT, � �� ���� ����- ����; �� ॠ�������� ��� TYPEDEF. (������� ⮣�, ��� �� �� ࠡ�⠥� �� ��⥬� UNIX, �ਢ����� � ����� 8). ������ ���饭�� � �㭪樨 FOPEN � �ணࠬ�� ����� ���: FP=FOPEN(NAME,MODE); - 161 - ���� ��㬥�⮬ �㭪樨 FOPEN ���� "���" 䠩��, ���- �������� � ���� ᨬ���쭮� ��ப�. ��ன ��㬥�� MODE ("०��") ⠪�� ���� ᨬ���쭮� ��ப��, ����� 㪠��- ����, ��� ��� 䠩� �㤥� �ᯮ�짮������. �����⨬묨 ०�- ���� �����: �⥭�� ("R"), ������ ("W") � ���������� ("A"). � �� ��� 䠩�, ����� �� �� ������, ��� ��- ��� ��� ����������, � ⠪�� 䠩� �㤥� ᮧ��� (� �� ��������). ����⨥ �������饣� 䠩�� �� ������ �ਢ���� � ����뢠��� ��� ��ண� ᮤ�ন����. ����⪠ �⥭�� ����- �����饣� 䠩�� ���� �騡���. �訡�� ����� ���� ����- ������� � ��㣨�� ��稭��� (���ਬ��, ����⪮� �⥭�� �� 䠩��, �� ���� �� � ࠧ�襭��). �� ����稨 �����-���� �訡�� �㭪�� �����頥� �㫥��� ���祭�� 㪠��⥫� NULL (��� ��� 㤮��⢠ ⠪�� ��।������ � 䠩�� STDIO.H). ��㣮� ����室���� ����� ���� ᯮᮡ �⥭�� ��� ��- ���, � 䠩� 㦥 �����. ����� ������� ���쪮 ������- ���⥩, �� ������ GETC � PUTC ����� ���⥩訬�.�㭪�� GETC �����頥� ���騩 ᨬ��� �� 䠩��; �� ����室�� 㪠- ��⥫� 䠩��, �⮡� �����, �� ������ 䠩�� ����. ����� ��- ࠧ��, C=GETC(FP) ����頥� � "C" ���騩 ᨬ��� �� 䠩��, 㪠������� ���।- �⢮� FP, � EOF, � ���⨣��� ����� 䠩��. �㭪�� PUTC, ������ ���饭��� � �㭪樨 GETC, PUTC(C,FP) ����頥� ᨬ��� "C" � 䠩� FP � �����頥� "C". ������� ��- ��� GETCHAR � PUTCHAR, GETC � PUTC ����� ���� ����ᠬ�, � �� �㭪�ﬨ. �� ����᪥ �ணࠬ�� ��⮬���᪨ ���뢠���� �� 䠩- ��, ����� ᭠����� ��।�����묨 㪠��⥫ﬨ 䠩���. �⨬� 䠩���� ����� �⠭����� ����, �⠭����� �뢮� � �⠭- ����� �뢮� �訡��; ᮮ⢥�����騥 㪠��⥫� 䠩��� ����- ������ STDIN, STDOUT � STDERR. ���筮 �� �� 㪠��⥫� ��- ���� � �ନ�����, �� STDIN � STDOUT ����� ���� ��७��ࠢ- ���� �� 䠩�� ��� � ��⮪ (PIPE), ��� ����뢠���� � ࠧ���� 7.2. �㭪樨 GETCHAR � PUTCHAR ����� ���� ��।����� � �ନ- ����� GETC, PUTC, STDIN � STDOUT ���騬 ��ࠧ��: #DEFINE GETCHAR() GETC(STDIN) #DEFINE PUTCHAR(C) PUTC(C, STDOUT) �� ࠡ�� � 䠩���� ��� �ଠ⭮�� ����� � �뢮�� ����� ��- ���짮���� �㭪樨 FSCANF � FPRINTF. ��� ������� �㭪�� SCANF � PRINTF, �� �᪫�祭��� ⮣�, �� ���� ��㬥�⮬ ���� 㪠��⥫� 䠩��, ��।����騩 �� 䠩�, ����� ��- ��� ������ ��� �㤠 �㤥� ������ ������; �ࠢ����� ��ப� �㤥� ���� ��㬥�⮬. - 162 - �����稢 � �।���⥫�묨 ����砭�ﬨ, �� ⥯��� � ���ﭨ� ������� �ணࠬ�� CAT ��� �����⥭�樨 䠩���. �ᯮ��㥬�� ����� �᭮���� �奬� ����뢠���� 㤮���� �� ������ �ணࠬ���: � ������� ��㬥��� � ��������� ���- ��, � ��� ��ࠡ��뢠���� ������⥫쭮. � ⠪�� ���- ����� ����������, � ��ࠡ��뢠���� �⠭����� ����. �� �������� �ᯮ�짮���� �ணࠬ�� ��� ᠬ����⥫쭮, ⠪ � ��� ���� ����襩 �����. #INCLUDE <STDIO.H> MAIN(ARGC, ARGV) /*CAT: CONCATENATE FILES*/ INT ARGC; CHAR *ARGV[]; \( FILE *FP, *FOPEN(); IF(ARGC==1) /*NO ARGS; COPY STANDARD INPUT*/ FILECOPY(STDIN); ELSE WHILE (--ARGC > 0) IF ((FP=FOPEN(*++ARGV,"R"))==NULL) \( PRINTF("CAT:CAN'T OPEN %\N",*ARGV); BREAK; \) ELSE \( FILECOPY(FP); FCLOSE(FP); \) \) FILECOPY(FP) /*COPY FILE FP TO STANDARD OUTPUT*/ FILE *FP; \( INT C; WHILE ((C=GETC(FP)) !=EOF) PUTC(C, STDOUT); \) �����⥫� 䠩��� STDIN � STDOUT ��࠭�� ��।����� � ������- ⥪� �����-�뢮�� ��� �⠭����� ���� � �⠭����� �뢮�; ��� ����� ���� �ᯮ�짮���� � �� ����, ��� ����� �ᯮ��- ������ ��ꥪ� ⨯� FILE*.��� ������ ����� ����⠭⠬�, � �� ��६���묨, ⠪ �� �� ��⠩��� �� ��-���� ��ᢠ�- ����. �㭪�� FCLOSE ���� ���⭮� �� �⭮襭�� � FOPEN; ��� ࠧ�뢠�� ��� ����� 㪠��⥫�� 䠩�� � ���譨� ������, ��⠭�������� �㭪樥� FOPEN, � ��������� 㪠��⥫� 䠩�� ��� ��㣮�� 䠩��.����設�⢮ ����樮���� ��⥬ ����� ��- ����� ��࠭�祭�� �� � �����६���� ������� 䠩���, ����묨 ����� �ᯮ�裂���� �ணࠬ��. ���⮬�, � ��� �� ����㯨�� � CAT, ������ �� �㦭� ��� ����� ��ꥪ��, �- ����� ��襩 �����. ������� � ��㣠� ��稭� ��� �ਬ���- ��� �㭪樨 FCLOSE � ��室���� 䠩�� - ��� ��뢠�� �뤠�� ���ଠ樨 �� ����, � ��� PUTC ᮡ�ࠥ� �뢮�. (�� ��ଠ�쭮� �����襭�� ࠡ��� �ணࠬ�� �㭪�� FCLOSE ���- ������ ��⮬���᪨ ��� ������� ����⮣� 䠩��). - 163 - 7.7. ��ࠡ�⪠ �訡�� - STDERR � EXIT ��ࠡ�⪠ �訡�� � CAT �������쭠. ��㤮��⢮ �����砥�- �� � ⮬, �� � ���� �� 䠩��� �� �����ன ��稭� ���- �뢠���� ������㯭�, ���������� ᮮ�饭�� �� �⮬ ��- �⠥��� � ���� ��ꥤ�������� �뢮��. �� �ਥ�����, � �뢮� ����㯠�� �� �ନ���, �� �� �������, � �뢮� ���- �㯠�� � ������� 䠩� ��� �१ ����� (PIPELINE) ���- ���� � ����� �ணࠬ��. �⮡� ���� ��ࠡ��뢠�� ⠪�� �����, � �ணࠬ�� �筮 ⠪�� �� ��ࠧ��, ��� STDIN � STDOUT, ��ᮥ������� ��ன ��室��� 䠩�, ���뢠��� STDERR. � �� ����� ��������, �뢮�, ����ᠭ�� � 䠩�� STDERR, ������ �� �ନ���� ���짮��⥫�, ���� � �⠭����� �뢮� ���ࠢ- ����� � ��㣮� ����. ������ ��।����� �ணࠬ�� CAT ⠪�� ��ࠧ��, �⮡� ᮮ�饭�� �� �訡��� ��ᠫ��� � �⠭����� 䠩� �訡��. "INCLUDE <STDIO.H> MAIN(ARGC,ARGV) /*CAT: CONCATENATE FILES*/ INT ARGC; CHAR *ARGV[]; \( FILE *FP, *FOPEN(); IF(ARGC==1) /*NO ARGS; COPY STANDARD INPUT*/ FILECOPY(STDIN); ELSE WHILE (--ARGC > 0) IF((FP=FOPEN(*++ARGV,"R#))==NULL) \( PRINTF(STDERR, "CAT: CAN'T OPEN,%S\N", ARGV); EXIT(1); \) ELSE \( FILECOPY(FP); \) EXIT(0); \) �ணࠬ�� ᮮ�頥� �� �訡��� ���� ᯮᮡ���. ����������- ��� ᮮ�饭��, �뤠������ �㭪樥� FPRINTF, ����㯠�� � STDERR �, ⠪�� ��ࠧ��, ����뢠���� �� �ନ���� ���짮��- ⥫�, � �� ��祧��� � ��⮪� (PIPELINE) ��� � ��室��� 䠩- ��. �ணࠬ�� ⠪�� �ᯮ���� �㭪�� EXIT �� �⠭���⭮� ������⥪�, ���饭�� � ���ன ��뢠�� �����襭�� �믮���- ��� �ணࠬ��. ��㬥�� �㭪樨 EXIT ����㯥� �� �ணࠬ- ��, �����饩�� � ������ �㭪樨, ⠪ �� �ᯥ譮� ��� ���- ��筮� �����襭�� ������ �ணࠬ�� ����� ���� ��७� ���- ��� �ணࠬ���, �ᯮ����饩 ��� � ����⢥ ��������. �� ᮣ��襭�� ����稭� 0 � ����ᢥ �����頥���� ���祭�� ᢨ- ��⥫����� � ⮬, �� �� � ���浪�, � ࠧ���� ���㫥�� ���祭�� ����� �ਧ������ ��ଠ���� ���権. - 164 - �㭪�� EXIT ��뢠�� �㭪�� FCLOSE ��� ������� ����- ⮣� ��室���� 䠩��, � ⥬ �⮡� �뢥�� ��� ����饭��� � ����� ��室��� ���ଠ��, � ��⥬ ��뢠�� �㭪�� _EXIT. �㭪�� _EXIT �ਢ���� � ������������ �����襭�� ��� ���⪨ �����-���� ���; ����筮, �� ������� � �⮩ �㭪樨 ���- �� �������� �����।�⢥���. 7.8. ���� � �뢮� ��ப �⠭���⭠� ������⥪� ᮤ�ন� �㭪�� FGETS, ᮢ��襭- �� ���������� �㭪樨 GETLINE, ������ �� �ᯮ�짮���� �� �ᥬ ���殮��� �����. � १���� ���饭�� FGETS(LINE, MAXLINE, FP) ����� ��ப� ����� (������ ᨬ��� ����� ��ப�) ����- ������ �� 䠩�� FP � ᨬ����� ���ᨢ LINE; ᠬ�� ����讥 MAXLINE_1 ᨬ��� �㤥� ���⠭. ����������� ��ப� ��- ���稢����� ᨬ����� \ 0. ��ଠ�쭮 �㭪�� FGETS �����頥� LINE; � ���� 䠩�� ��� �����頥� NULL. (��� �㭪�� GETLINE �����頥� ����� ��ப�, � �� ��室� �� ����� 䠩�� - ���). �।�����祭��� ��� �뢮�� �㭪�� FPUTS �����뢠�� ��ப� (����� �� ��易�� ᮤ�ঠ�� ᨬ��� ����� ��ப�) � 䠩�: FPUTS(LINE, FP) �⮡� ��������, �� � �㭪��� ⨯� FGETS � FPUTS ��� ��祣� ⠨��⢥�����, �� �ਢ���� �� ����, �����묨 �����।�⢥��� �� �⠭���⭮� ������⥪� �����-�뢮��: #INCLUDE <STDIO.H> CHAR *FGETS(S,N,IOP) /*GET AT MOST N CHARS FROM IOP*/ CHAR *S; INT N; REGISTER FILE *IOP; \( REGISTER INT C; REGISTER CHAR *CS; CS = S; WHILE(--N>0&&(C=GETC(IOP)) !=EOF) IF ((*CS++ = C)=='\N') BREAK; *CS = '\0'; RETURN((C==EOF && CS==S) 7 NULL : S); \) FPUTS(S,IOP) /*PUT STRING S ON FILS IOP*/ REGISTER CHAR *S; REGISTER FILE *IOP; \( REGISTER INT C; WHILE (C = *S++) PUTC(C,IOP); \) - 165 - ��ࠦ����� 7-3. --------------- ������ �ணࠬ�� �ࠢ����� ���� 䠩���, ����� �㤥� ������ ����� ��ப� � ������ ᨬ����, ��� ��� ࠧ�����- ��. ��ࠦ����� 7-4. --------------- ��।����� �ணࠬ�� ���᪠ �������� �������樨 ᨬ��- ��� �� ����� 5 ⠪�� ��ࠧ��, �⮡� � ����⢥ ����� �ᯮ��- ������� ����� ����������� 䠩��� ���, � ������� 䠩�� �� 㪠���� ��� ��㬥���, �⠭����� ����. ������ �� ������ ��� 䠩�� �� ��宦����� ���室�饩 ��ப�? ��ࠦ����� 7-5. -------------- ������ �ணࠬ�� ���� ����� 䠩���, ����� ��稭�- �� ����� ���� 䠩� � ����� ��࠭��� � ���⠥� ��� ������� 䠩�� ��������� � ���稪 ⥪��� ��࠭��. 7.9. ���쪮 ࠧ����ࠧ��� �㭪権 �⠭���⭠� ������⥪� �।��⠢��� ������⢮ ࠧ����- ࠧ��� �㭪権, ������� �� ������ ����뢠���� �ᮡ���� ������묨. �� 㦥 㯮������ �㭪樨 ��� ࠡ��� � ��ப���: STRLEN, STRCPY, STRCAT � STRCMP. ��� ������� ��㣨�. 7.9.1. ��ઠ ���� ᨬ����� � �८�ࠧ������ ������� ������ �믮����� ���� ᨬ����� � �८��- �������: SALPHA(C) �� 0, � "C" ��䠢��� ᨬ���, 0 - � ���. SUPPER(C) �� 0, � "C" �㪢� ���孥�� ॣ����, 0 - � ���. SLOWER(C) �� 0, � "C" �㪢� ������� ॣ����, 0 - � ���. SDIGIT(C) �� 0, � "C" ���, 0 - � ���. SSPACL(C) �� 0, � "C" ���, ⠡���� ��� ����� ��ப�, 0 - � ���. OUPPER(C) �८�ࠧ�� "C" � �㪢� ���孥�� ॣ����. OLOWER(C) �८�ࠧ�� "C" � �㪢� ������� ॣ����. 7.9.2. �㭪�� UNGETC �⠭���⭠� ������⥪� ᮤ�ন� �����쭮 ��࠭�祭��� ����� �㭪樨 UNGETCH, ����ᠭ��� ���� � ����� 4; ��� ����- ������ UNGETC. � १���� ���饭�� UNGETC(C,FP) ᨬ��� "C" �����頥��� � 䠩� FP. ���������� �������� � ����� 䠩� ⮫쪮 ���� ᨬ���. �㭪�� UNGETC ����� ���� �ᯮ�짮���� � �� �� �㭪権 ����� � � ����ᠬ� ⨯� SCANF, GETC ��� GETCHAR. - 166 - 7.9.3. ���饭�� � ��⥬� �㭪�� SYSTEM(S) �믮���� �������, ᮤ�ঠ����� � ᨬ- ���쭮� ��ப� S, � ��⥬ ����������� �믮������ ⥪�饩 �ணࠬ��. ����ন��� S ᨫ쭮 ������ �� �ᯮ��㥬�� ���- �樮���� ��⥬�. � ����⢥ �ਢ���쭮�� �ਬ��, 㪠���, �� �� ��⥬� UNIX ��ப� SYSTEM("DATE"); �ਢ���� � �믮������ �ணࠬ�� DATE, ����� ���⠥� ���� � �६� ���. 7.9.4. ��ࠢ����� ������� �㭪�� CALLOC ���쬠 �室�� � �㭪樥� ALLOC, �ᯮ�짮- ������ ���� � �।���� ������. � १���� ���饭�� CALLOC(N, SIZEOF(OBJCCT)) �����頥��� ���� 㪠��⥫� ����࠭�⢠, �����筮�� ��� ࠧ��饭�� N ��ꥪ⮢ 㪠������� ࠧ���, ���� NULL, � ����� �� ����� ���� 㤢���⢮७. �⢮����� ������ ���樠- ��������� �㫥�묨 ���祭�ﬨ. �����⥫� �������� �㦭� ��� ��ᬠ�ਢ����� ��ꥪ⮢ ��ࠢ��������, �� ��� ��� �ਯ��뢠�� ᮮ⢥�����騩 ⨯, ��� � CHAR *CALLOC(); INT *IP; IP=(INT*) CALLOC(N,SIZEOF(INT)); �㭪�� CFREE(P) �������� ����࠭�⢮, �� ��� 㪠�뢠�� "P", ��祬 㪠��⥫� "P" ������砫쭮 ������ ���� ����祭 � १���� ���饭�� � CALLOC. ����� ��� ������� ��࠭�祭�� �� ���冷� ��������� ����࠭�⢠, �� �㤥� �����⭥�襩 �訡��� ������� ��-�����, �� �� �뫮 ��- ��祭� ���饭��� � CALLOC. ��������� �ணࠬ�� ��।������ �����, �������� CALLOC, � ���ன ࠧ��饭�� ����� ����� ���������� � �ந����쭮� ���浪�, �த���������� � ����� 8.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.