C_2 (1115135)
Текст из файла
- 39 - 2. ����, ����樨 � ��ࠦ����. ��६���� � ����⠭�� ����� �᭮��묨 ��ꥪ⠬�, � ����묨 ������� �ணࠬ��. ���ᠭ�� �������� ��६��- ��, ����� ���� �ᯮ�짮������, 㪠�뢠�� �� ⨯ �, ���- �����, �� ��砫�� ���祭��. ����樨 ��।�����, �� � ��- �� �㤥� ᤥ����. ��ࠦ���� ��ꥤ����� ��६���� � ����⠭- �� ��� ����祭�� ����� ���祭��. �� �� - ⥬� �����饩 �����. 2.1. ����� ��६�����. ���� �� �⮣� �ࠧ� ��אַ �� ᪠����, �������� �����- �� ��࠭�祭�� �� ����� ��६����� � ᨬ�����᪨� ����- ⠭�. ����� ��⠢������ �� �㪢 � ���; ���� ᨬ��� ���- ��� ���� �㪢��. ����ન����� "_" ⮦� ��⠥��� �㪢��; �� ������� ��� 㤮���⠥���� ������� ���� ��६�����. �ய��� � ����� �㪢� ࠧ�������; �ࠤ�樮���� �ࠪ�- �� � "�" - �ᯮ�짮���� ����� �㪢� ��� ���� ��६�����, � �ய��� - ��� ᨬ�����᪨� ����⠭�. ����� � ⮫쪮 ���� ��ᥬ� ᨬ����� ����७���� �����, ��� �ᯮ�짮���� ����� � �����. ��� ���譨� ����, ⠪�� ��� ����� �㭪権 � ���譨� ��६�����, �� � ��- ��� ��������� ����� ���쬨, ⠪ ��� ���譨� ����� �ᯮ���- ���� ࠧ���묨 ��ᥬ���ࠬ� � �����稪���. ��⠫� �ਢ�- ����� � �ਫ������ �. �� ⮣�, ⠪�� ���祢� �� ��� IF, ELSE, INT, FLOAT � �.�., ��१�ࢨ���: �� �� ����� �ᯮ�짮���� �� � ����⢥ ���� ��६�����. (��� ������� ����묨 �㪢���). ����筮, ࠧ㬭� �롨��� ����� ��६����� ⠪�� ���- ���, �⮡� ��� ����砫� ����, �⭮��饥�� � �����祭�� ��- ६�����, � �⮡� �뫮 ����� ����⭮ ����� �� �� �����- ���. 2.2. ���� � ࠧ���� ������. ��몥 "C" ������� ⮫쪮 ���쪮 �᭮���� ⨯�� ���- ���: CHAR ���� ����, � ��� ����� ��室����� ���� ᨬ��� �� ����७���� ����� ᨬ�����. INT �����, ���筮 ᮮ⢥�����饥 ����⢥����� ࠧ���� �- ��� � �ᯮ��㥬�� ��設�. FLOAT � ������饩 �窮� �����୮� �筮��. DOUBLE � ������饩 �窮� ������� �筮��. �� ⮣� ������� �� �����䨪��, ����� ����� ��- ���짮���� � ⨯�� INT: SHORT (���⪮�), LONG (�������) � UNSIGNED (��� �����). �����䨪���� SHORT � LONG 㪠�뢠�� �� ࠧ���� ࠧ���� 楫��. �� ��� ����� ���稭����� ��- ����� ��䬥⨪� �� ����� 2 � �⥯��� N, ��� N - � ��- ⮢ � INT; � ��� ������ �ᥣ�� ������⥫��. ���ᠭ�� � �����䨪��ࠬ� ����� ���: SHORT INT X; LONG INT Y; UNSIGNED INT Z; - 40 - C���� INT � ⠪�� ������ ����� ���� ���饭�, �� ���筮 � ��������. ������⢮ ��⮢, �⢮����� ��� �� ��ꥪ�� ������ �� ����饩�� ��設�; � ⠡��� ���� �ਢ����� ������� �ࠪ- ��� ���祭��. ������ 1 --------------------------------------------------------- ! DEC PDP-11 HONEYWELL IBM 370 INTERDATA ! 6000 8/32 ! ! ASCII ASCII EBCDIC ASCII ! ! CHAR 8-BITS 9-BITS 8-BITS 8-BITS ! INT 16 36 32 32 ! SHORT 16 36 16 16 ! LONG 32 36 32 32 ! FLOAT 32 36 32 32 ! DOUBLE 64 72 64 64 ! ! --------------------------------------------------------- ���� ��⮨� � ⮬, �⮡� SHORT � LONG ������ ������- ����� � ����ᨬ��� �� �ࠪ��᪨� �㦤 �ᯮ�짮���� ࠧ- ���� ����� 楫��; ⨯ INT ��ࠦ��� �������� "����⢥���" ࠧ��� �����⭮� ��設�. ��� �� �����, ����� ��������� ����� ��������� SHORT � LONG � ᮮ⢥��⢨� � �- �� ������묨 �।�⢠��. ��, �� �� �� ����� ⢥म ��- ��������, �� �, �� SHORT �� �������, 祬 LONG. 2.3. ����⠭��. ����⠭�� ⨯� INT � FLOAT �� 㦥 ��ᬮ�५�. �⬥⨬ �� ⮫쪮, �� ��� ���筠� 123.456�-7, ⠪ � "���筠�" ������ 0.12�3 ��� FLOAT ���� ��������. ������ ����⠭� � ������饩 �窮� ��⠥��� ����饩 ⨯ DOUBLE, ⠪ �� ������祭�� "E" �㦨� ��� ��� FLOAT, ⠪ � ��� DOUBLE. ������ ����⠭�� �����뢠���� � ���� 123L. ���筠� �- ��� ����⠭�, ����� 誮� ������ ��� ⨯� INT, ��ᬠ�- ਢ����� ��� LONG. - 41 - ������� ��⥬� ������祭�� ��� ���쬥���� � ���- ��������� ����⠭�: �������騩 0(���) � ����⠭� ⨯� INT 㪠�뢠�� �� ���쬥���� ����⠭��, � ���騥 ���।� 0X ᮮ⢥������ ��⭠����筮� ����⠭�. ���ਬ��, ��- ���筮� � 31 ����� ������� ��� 037 � ���쬥�筮� ��- �� � ��� 0X1F � ��⭠����筮�. ���⭠������ � ����- ����� ����⠭�� ����� ⠪�� �����稢����� �㪢�� L, �� ������ �� �⭮��騬��� � ⨯� LONG. 2.3.1. ������쭠� ����⠭�. ������쭠� ����⠭� - �� ���� ᨬ���, �����祭�� � ������� ����窨, ���, ���ਬ��, '�'. ���祭��� ᨬ���쭮� ����⠭�� ���� ����� ���祭�� �⮣� ᨬ���� �� ����- ७��� ��設��� ����� ᨬ�����. ���ਬ��, � ����� ᨬ����� ASCII ᨬ����� ���, ��� '0', ����� ���祭�� 48, � � ���� EBCDIC - 240, � ��� �� ���祭�� ᮢ��襭�� �⫨�� �� � 0. ����ᠭ�� '0' ����� ������ ���祭��, ⠪��� ��� 48 ��� 240, ������ �ணࠬ�� �� ������饩 �� �����⭮�� ��- ������� �।�⠢����� �⮣� ᨬ���� � ������ ��設�. ���- ����� ����⠭�� �筮 ⠪ �� ������� � ����� ����- ���, ��� � ��� ��㣨� �, ��� �������� ��� ��� ��- ��������� � �ࠢ����� � ��㣨�� ᨬ������. �ࠢ��� �८��- ������� ���� �������� �������. ������� ������᪨� ᨬ���� ����� ���� �।�⠢���� ��� ᨬ����� ����⠭�� � ������� ����� ������⥫�- ���⥩, ���, ���ਬ��, \N (����� ��ப�), \T (⠡����), \0 (�㫥��� ᨬ���), \\ (���⭠� ���� ���), \' (�����ୠ� ����窠) � �.�. ���� ��� �룫��� ��� ��� ᨬ����, �� ᠬ�� ���� ����� �����. �� ⮣�, ����� ᣥ������ �ந�- ������ ������⥫쭮��� ������� ������ ࠧ�� � ����, � ������� '\DDD' ��� DDD - �� ����� �� ��� ���쬥���� ���, ��� � #DEFINE FORMFEED '\014' /* FORM FEED */ ������쭠� ����⠭� '\0', ����ࠦ���� ᨬ��� � ����- ���� 0, ��� �����뢠���� ����� 楫�� ����⠭�� 0 , �⮡� ����ભ��� ᨬ������ ��த� �����ண� ��ࠦ����. 2.3.2. ����⠭⭮� ��ࠦ���� ����⠭⭮� ��ࠦ���� - �� ��ࠦ����, ����饥 �� ��- ��� ����⠭�. ����� ��ࠦ���� ��ࠡ��뢠���� �� �६� �����- ��樨, � �� �� �ண��� �ணࠬ��, � ᮮ⢥��⢥��� ����� ���� �ᯮ�짮���� � �� ����, ��� ����� �ᯮ�짮���� ���- �⠭��, ���, ���ਬ�� � - 42 - #DEFINE MAXLINE 1000 CHAR LINE[MAXLINE+1]; ��� SECONDS = 60 * 60 * HOURS; 2.3.3. ���筠� ����⠭� ���筠� ����⠭� - �� ������⥫쭮���, ������ �� ��� ��� ����� ᨬ�����, �����祭��� � ������ ����窨, ���, ���ਬ��, "I AM A STRING" /* � - ��ப� */ ��� "" /* NULL STRING */ /* ���-��ப� */ ����窨 �� ����� ����� ��ப�, � �㦠� ⮫쪮 ��� �� ��࠭�祭��. � �� ᠬ� ���� ������⥫쭮��, ��- ��� �ᯮ�짮������ � ᨬ������ ����⠭��, �ਬ������� � � ��ப��; ᨬ��� ������� ����窨 ����ࠦ����� ��� \". � �孨�� �窨 �७�� ��ப� �।�⠢��� ᮡ�� ���ᨢ, ���⠬� ���ண� ����� �⤥��� ᨬ����. ��- �� �ணࠬ��� �뫮 㤮��� ��।����� ����� ��ப�, �������- �� ��⮬���᪨ ����頥� � ����� ������ ��ப� ���-ᨬ��� \0. ����� �।�⠢����� ����砥�, �� �� ������뢠���� ����- �⭮�� ��࠭�祭�� �� �, ����� ����� ����� ����� ��ப�, � �⮡� ��।����� ��� �����, �ணࠬ�� ������ ��ᬠ�ਢ��� ��ப� ���������. �� �⮬ ��� 䨧���� �࠭���� ��ப� �ॡ���� �� ���� �祩�� ����� �����, 祬 � �����祭- ��� � ����窨 ᨬ�����. �������� �㭪�� STRLEN(S) �����- �� ����� ᨬ���쭮� ��ப� S �� ���� ������ ᨬ��� \0. STRLEN(S) /* RETURN LENGTH OF S */ CHAR S[]; { INT I; I = 0; WHILE (S[I] != '\0') ++I; RETURN(I); } ���� �����⥫�� � �� ��⠩� ᨬ������ ����⠭�� � ��ப��, ᮤ�ঠ饩 ���� ᨬ���: 'X' - �� �� � �� ᠬ��, �� "X". ��ࢮ� - �� �⤥��� ᨬ���, �ᯮ�짮����� � 楫�� ����祭�� ������ ���祭��, ᮮ⢥�����饣� �㪢� � � ��設��� ����� ᨬ�����. �� - ᨬ���쭠� ��ப�, ������ �� ������ ᨬ���� (�㪢� �) � \0. - 43 - 2.4. ���ᠭ�� �� ��६���� ������ ���� ���ᠭ� �� �� �ᯮ�짮�����, ��� ������� ���ᠭ�� �������� ���, �� ���⥪���. ���- ᠭ�� ��⮨� �� ᯥ�䨪��� ⨯� � ���饣� �� ��� ᯨ᪠ ��६�����, ������ ��� ⨯, ���, ���ਬ��, INT LOWER, UPPER, STEP; CHAR C, LINE[1000]; ��६���� ����� ��।����� �� ���ᠭ�� ��� ���- ���; �ਢ������ ��� ᯨ᪨ ����� � ⥬ �� �ᯥ宬 ������� � ���� INT LOWER; INT UPPER; INT STEP; CHAR C; CHAR LINE[1000]; ����� �ଠ �������� ����� ����, �� ��� 㤮��� ��� ��- �������� ��������� � ������� ���ᠭ�� � ��� ������� ����䨪�権. ��६���� ����� ���� ����� ��砫�� ���祭�� ����- � �� ���ᠭ��, ��� ����� ������� ������� ��࠭�祭��. � �� ������ ��६����� ���� ���� ࠢ���⢠ � ����⠭- �, � �� ����⠭� �㦨� � ����⢥ ���樠������, ���, ���ਬ��, � CHAR BACKSLASH = '\\'; INT I = 0; FLOAT EPS = 1.0E-5; � ��ᬠ�ਢ����� ��६����� ���� ���譥� ��� �����, � ���樠������ ������� ⮫쪮 ���� ࠧ, ᮣ��᭮ ���楯樨 �� ��砫� �믮������ �ணࠬ��. ���樠��- ���㥬� � ��⮬���᪨� ��६���� ��砫�� ���祭�� ��ᢠ������� �� ������ ���饭�� � �㭪樨, � ���ன ��� ���ᠭ�. ��⮬���᪨� ��६����, �� ���樠�����㥬� �- ��, ����� ����।������ ���祭��, (�.�. ����). ���譨� � ����᪨� ��६���� �� 㬮�砭�� ���樠���������� �㫥�, ��, ⥬ �� �����, �� �� ���樠������ ���� �ਧ����� ��襣� �⨫�. �� �த����� ���㦤���� ����ᮢ ���樠����樨, ����� �㤥� ����뢠�� ���� ⨯� ������. 2.5. ��䬥��᪨� ����樨. �����묨 ��䬥��᪨�� �����ﬨ ����� +, -, *, / � ������ ������� �� ����� %. ������� 㭠ୠ� ������ -, �� �� ������� 㭠୮� ����樨 +. - 44 - �� ������� 楫�� ���� ���� ����뢠����. ��ࠦ���� X % Y ���� ���⮪ �� ������� X �� Y �, ����⥫쭮, ࠢ�� ���, ����� � ������� �� Y �筮. ���ਬ��, ��� ���� ��᮪��- ��, � �� ������� �� 4, �� �� ������� �� 100, �᪫��� �, �� ����騥�� �� 400 ���� ⮦� ����� ��᮪��묨. ��- �⮬� IF(YEAR % 4 == 0 && YEAR % 100 != 0 \!\! YEAR % 400 == 0) ��� ��᮪��� ELSE ��� ����᮪��� ������ % ����� �ᯮ�짮���� � ⨯��� FLOAT ��� DOUBLE. ����樨 + � - ����� ���������� ���設�⢮, ��� ����� ����������� ��� ���設�⢠ ����権 *, / � %, ��- ��� � � ��।� ����� 㭠୮�� �����. ��䬥��᪨� ����樨 ��㯯������� �� ���ࠢ�. (�������� � ���設�⢥ � ���樠⨢���� ��� ����権 ᮡ࠭� � ⠡��� � ���� �⮩ �����). ���冷� �믮������ ���樠⨢��� � ������⨢- ��� ����権 ⨯� + � - �� 䨪������; ��������� ����� ��- ॣ�㯯�뢠�� ���� �����祭�� � ��㣫� ��� ��ࠦ�- ���, �易��� ⠪��� �����ﬨ. ⠪�� ��ࠧ��, �+(B+C) ��- ��� ���� ����� ��� (A+B)+C. �� ।�� �ਢ���� � ����- ��-���� ��宦�����, �� � ����室��� ���ᯥ��� ��ண� ��।������ ���冷�, � �㦭� �ᯮ�짮���� � ����- ��� ��६����. ����⢨�, �।�ਭ������ �� ��९������� � ��⨯��- �������� (�.�. �� ����祭�� 誮� �����쪮�� �� ��᮫��- ��� ����稭� �), ������� �� �ᯮ��㥬�� ��設�. 2.6. ����樨 �⭮襭�� � �����᪨� ����樨 �����ﬨ �⭮襭�� ����� => > =< < �� ��� ����� ���������� ���設�⢮. �����।�⢥��� �� ��- �� �� ��� ���設�⢠ ���� ����樨 ࠢ���⢠ � ���- ����⢠: == != ����� ⮦� ����� ���������� ���設�⢮. ����樨 �⭮�- ��� ����� ��䬥��᪨� ����権, ⠪ �� ��ࠦ���� ⨯� I<LIM-1 ���������� ��� I<(LIM-1), ��� � �।����������. �����᪨� �離� && � \!\! ����� ������. ��ࠦ����, �易��� �����ﬨ && � \!\!, ��������� �� ���ࠢ�, ��祬 �� ��ᬮ�७�� �४�頥��� �ࠧ� �� ��� ⮫쪮 ��- ������� �᭮, �㤥� �� १���� ��⨭�� ��� �����. ��� ��� ��� �祭� ����⢥��� ��� ����ᠭ�� �ࠢ��쭮 ࠡ�- ���� �ணࠬ�. ���ᬮ�ਬ, ���ਬ��, ������ 横�� � ��- �뢠�饩 ��ப� �㭪樨 GETLINE, ������ �� ����ᠫ� � ����� 1. - 45 - FOR(I=0;I<LIM-1 && (C=GETCHAR()) != '\N' && C != EOF; ++I) S[I]=C; �᭮, �� ��। ���뢠���� ������ ᨬ���� ����室��� �����, ������� �� �� ���� � ���ᨢ� S, ⠪ �� ���� I<LIM-1 ������ �������� ����. � � �� ���� �� ��- ��������, �� �� ������ ���뢠�� ���騩 ᨬ���. ��� �� ��㤠�� �뫮 �� �ࠢ����� 'C' � EOF �� ����- ��� � �㭪樨 GETCHAR : �०�� 祬 ������ ᨬ���, ��� �㦭� �����. ���設�⢮ ����樨 && ���, 祬 � \!\!, � ��� ��� ����� ����権 �⭮襭�� � ࠢ���⢠. ���⮬� ⠪�� ��ࠦ�- ���, ��� I<LIM-1 && (C = GETCHAR()) != '\N' && C != EOF �� �㦤����� � �������⥫��� ��㣫�� ����. �� ⠪ ��� ������ != ���� ����樨 ��ᢠ������, � ��� ���⨦���� �ࠢ��쭮�� १���� � ��ࠦ���� (C = GETCHAR()) != '\N' ����� ����室���. ���ୠ� ������ ���栭�� ! �८�ࠧ�� ���㫥��� ��� ��⨭�� ���࠭� � 0, � �㫥��� ��� ����� ���࠭� � 1. ���筮� �ᯮ�짮����� ����樨 ! �����砥��� � ����� IF( ! INWORD ) ����� IF( INWORD == 0 ) T�㤭� ᪠����, ����� �ଠ ����. �������樨 ⨯� ! INWORD ������� �����쭮 㤮��� ("� �� � ��"). �� � ����� ���� ����� ��� ����� ��������� ��㤭묨 ��� ���������. ��ࠦ����� 2-1. --------------- ������ ������ 横��, �������� �ਢ�������� ��� ������� FOR, �� �ᯮ���� ����樨 &&. 2.7. �८�ࠧ������ ⨯�� � � ��ࠦ����� ��������� ���࠭�� ࠧ����� ⨯��, � ��� �८�ࠧ����� � ��饬� ⨯� � ᮮ⢥��⢨� � ������- 訬 ���� �ࠢ��. � ��饬, ��⮬���᪨ �ந�������� ⮫쪮 �८�ࠧ������, ����騥 ���, ⠪�� ���, ���ਬ��, �८�ࠧ������ 楫��� � ������饥 � ��ࠦ����� ⨯� F+I. ��- ࠦ���� ��, ��襭�� ��, ⠪�� ��� �ᯮ�짮����� ���- ������ ⨯� FLOAT � ����⢥ ������, ����饭�. ��-�����, ⨯� CHAR � INT ����� ����� ᬥ訢����� � ��䬥��᪨� ��ࠦ�����: ������ ��६����� ⨯� CHAR ���- ����᪨ �८�ࠧ���� � INT. �� ���ᯥ稢��� ����⥫��� �������� �� ������� ��।������� �८�ࠧ������ ᨬ��- ���. �ਬ� ����� �㦨�� �㭪�� ATOI, ����� �⠢�� � ᮮ⢥��⢨� ��ப� ��� �� ���� �������. - 46 - ATOI(S) /* CONVERT S TO INTEGER */ CHAR S[]; { INT I, N; N = 0; FOR ( I = 0; S[I]>='0' && S[I]<='9'; ++I) N = 10 * N + S[I] - '0'; RETURN(N); } KAK ��� ���㦤����� � ����� 1, ��ࠦ���� S[I] - '0' ����� ����� ���祭�� ��室�饣��� � S[I] ᨬ����, ��⮬� �� ���祭�� ᨬ����� '0', '1' � �.�. ��ࠧ��� ���������� ������⥫쭮��� �ᯮ�������� ����� 楫�� ������⥫��� �ᥫ. ��㣮� �ਬ�� �८�ࠧ������ CHAR � INT ���� �㭪�� LOWER, �८�ࠧ���� ������ �ய���� �㪢� � ������. � ����㯠�騩 � ����⢥ ��㬥�� ᨬ��� �� ���� �ய��- ��� �㪢��, � LOWER �����頥� ��� ���������. �ਢ������ ���� �ணࠬ�� �ࠢ������ ⮫쪮 ��� ����� ᨬ����� ASCII. LOWER(C) /* CONVERT C TO LOWER CASE; ASCII ONLY */ INT C; { IF ( C >= 'A' && C <= 'Z' ) RETURN( C + '@' - 'A'); ELSE /*@ ����ᠭ� ����� 'A' ���筮��*/ RETURN(C); } �� �㭪�� �ࠢ��쭮 ࠡ�⠥� �� ���� ASCII, ��⮬� �� ���� ���祭��, ᮮ⢥�����騥 � �⮬ ���� �ய��� � ����� �㪢��, �⫨����� �� ����ﭭ�� ����稭�, � ����� ��䠢�� ���� ᯫ��� - ����� � � Z ��� ��祣�, �� �㪢. �� ������ ����砭�� ��� ����� ᨬ����� EBCDIC ��⥬ IBM 360/370 ����뢠���� ���ࠢ������, � ᨫ� 祣� �� �ணࠬ�� �� ⠪�� ��⥬�� ࠡ�⠥� ���ࠢ��쭮 - ��� �८�ࠧ�� �� ⮫쪮 �㪢�. �� �८�ࠧ������ ᨬ������ ��६����� � 楫� �����- ���� ���� ⮭��� ������. ���� � ⮬, �� ᠬ �� �� 㪠��- ����, ������ �� ��६���� ⨯� CHAR ᮮ⢥��⢮���� ��- �� ���祭�� � ������ ��� ��� �����. ����� �� �� �८��- ������� CHAR � INT ��������� ����⥫쭮� 楫��? � ᮦ���- ���, �⢥� �� ��� ����� ������� �� ��設� � ��設�, ���- ��� ��宦����� � �� ���⥪���. �� �������� ��設�� (PDP-11, ���ਬ��) ��६����� ⨯� CHAR, �ࠩ��� ���� ��� ���ன ᮤ�ন� 1, �८�ࠧ���� � ����⥫쭮� 楫�� ("�������� ���७��"). �� ��㣨� ��設�� ⠪�� �८�ࠧ�- ����� ᮯ�������� ����������� �㫥� � ������ ���, � �- ����� 祣� �ᥣ�� ����砥��� ������⥫쭮� �. - 47 - ��।������ �몠 "C" ��࠭����, �� �� ᨬ��� �� �⠭���⭮�� ����� ᨬ����� ��設� ������� �� ���� ����- ⥫쭮�� �, ⠪ �� �� ᨬ���� ����� ����� �ᯮ�짮- ���� � ��ࠦ����� ��� ������⥫�� ����稭�. �� �ந�����- �� �������樨 ������� ������, �࠭�騥�� ��� ᨬ����� ��६���� �� �������� ��設��, ����� ���� ����⥫�� ���祭��, � �� ��㣨� ������⥫��. �������� ⨯��� �ਬ� ������������� ⠪�� ���樨 ���� ��砩, ����� ���祭�� 1 �ᯮ������ � ����⢥ EOF. ���ᬮ�ਬ �ணࠬ�� CHAR C; C = GETCHAR(); IF ( C == EOF ) ... �� ��設�, ����� �� �����⢫�� ��������� ���७��, ��६����� '�' �ᥣ�� ������⥫쭠, ����� ��� ���ᠭ� ��� CHAR, � ⠪ ��� EOF ����⥫쭮, � ���� ������� �� �믮������. �⮡� �������� ⠪�� ���樨, �� �ᥣ�� ��- ��ᬮ��⥫쭮 �ᯮ�짮���� INT ����� CHAR ��� �� ���- ������, ������饩 ���祭�� �� GETCHAR. �᭮���� �� ��稭� �ᯮ�짮����� INT ����� CHAR �� �易�� � �����-���� ����ᮬ � ��������� �������� ����- ���. ���� �㭪�� GETCHAR ������ ��।����� �� �������� ᨬ���� (�⮡� �� ����� �뫮 �ᯮ�짮���� ��� �ந����쭮�� �����) �, �� ⮣�, �⫨��饥�� ���祭�� EOF. �������- ⥫쭮 ���祭�� EOF �� ����� ���� �।�⠢���� ��� CHAR, � ������ �࠭����� ��� INT. ��㣮� �������� �ମ� ��⮬����� �८�ࠧ������ ⨯�� ���� �, �� ��ࠦ���� �⭮襭��, ������� I>J, � �����᪨� ��ࠦ����, �易��� �����ﬨ && � \!\!, �� ��- ।������ ����� ���祭�� 1, � ��� ��⨭��, � 0, � ��� �����. ����� ��ࠧ��, ��ᢠ������ ISDIGIT = C >= '0' && C <= '9'; �������� ISDIGIT ࠢ�� 1, � � - ���, � ࠢ�� 0 � ��- ⨢��� ��砥. (� ���筮� ��� ����� IF, WHILE, FOR � �.�. "��⨭��" ���� ����砥� "�� ���"). ��� ��䬥��᪨� �८�ࠧ������ ࠡ���� � �᭮�- ���, ��� � ���������. � ���� ����, � ������ ⨯� + ��� *, ����� ��뢠�� ��� ���࠭�� (����ୠ� ������), ����� ���࠭�� ࠧ��� ⨯��, � ��। �믮������� ����樨 "���訩" ⨯ �८�ࠧ���� � "���襬�" � ����砥��� १��- �� "���襣�" ⨯�. ����� �筮, � ������ ��䬥��� ����樨 �ਬ������ ����� ������⥫쭮��� �ࠢ�� �८�ࠧ������. - ���� CHAR � SHORT �८�ࠧ����� � INT, � FLOAT � DOUBLE. - 48 - - ��⥬, � ���� �� ���࠭��� ����� ⨯ DOUBLE, � ��㣮� �८�ࠧ���� � DOUBLE, � १���� ����� ⨯ DOUBLE. - � ��⨢��� ��砥, � ���� �� ���࠭��� ����� ⨯ LONG, � ��㣮� �८�ࠧ���� � LONG, � १���� ����� ⨯ LONG. - � ��⨢��� ��砥, � ���� �� ���࠭��� ����� ⨯ UNSIGNED, � ��㣮� �८�ࠧ���� � UNSIGNED � १���� ����� ⨯ UNSIGNED. - � ��⨢��� ��砥 ���࠭�� ������ ���� ⨯� INT, � १���� ����� ⨯ INT. ����ભ��, �� �� ��६���� ⨯� FLOAT � ��ࠦ����� ��- ��ࠧ����� � DOUBLE; � "C" ��� �������� ��䬥⨪� �믮���- ���� � ������� �筮����. �८�ࠧ������ ��������� � �� ��ᢠ�������; ���祭�� �ࠢ�� ��� �८�ࠧ���� � ⨯� �����, ����� � ���� ⨯�� १����. �������� ��६���� �८�ࠧ����� � �- �� ���� � ������� ���७��� ,���� ��� ����, ��� ���ᠭ� ���. ���⭮� �८�ࠧ������ INT � CHAR ����� ᥡ� ��� - ��譨� ���� ��᮪��� ���浪� ���� ����뢠����. ����� ��- ࠧ�� INT I; CHAR C; I = C; C = I; ���祭�� '�' �� ���������. �� ��୮ ������ᨬ� �� ⮣�, ����������� �� �������� ���७�� ��� ���. � � ⨯� FLOAT, � I ⨯� INT, � ��� � = I; ⠪ � I = �; �ਢ���� � �८�ࠧ������; �� �⮬ FLOAT �८�ࠧ���� � INT ����뢠���� ���� ���. ��� DOUBLE �८�ࠧ���� �� FLOAT ���㣫�����. ������ 楫� �८�ࠧ����� � ����� ��- �⪨� 楫� � � ��६���� ⨯� CHAR ���।�⢮� ����뢠- ��� ��譨� ��⮢ ��᮪��� ���浪�. ��� ��� ��㬥�� �㭪樨 ���� ��ࠦ�����, � �� ��- ।�� �㭪�� ��㬥�⮢ ⠪�� �ந�室�� �८�ࠧ������ ⨯��: � ��⭮��, CHAR � SHORT �⠭������ INT, � FLOAT �⠭������ DOUBLE. ������ ���⮬� �� ����뢠�� ��㬥��� �㭪権 ��� INT � DOUBLE ���� ⮣��, ����� ���頫��� � ��� � ��६���묨 ⨯� CHAR � FLOAT. �������, � �� ��ࠦ���� ����� ���� �����⢫��� ("�ਭ㦤���") �� �८�ࠧ������ ⨯� � ������� �������- 樨, ���뢠���� ��ॢ�� (CAST). � �⮩ �������樨, ����饩 ��� (��� ⨯�) ��ࠦ���� - 49 - ��ࠦ���� �८�ࠧ���� � 㪠������� ⨯� �� �ࠢ���� �८�ࠧ������, ��������� ���. �����᪨ ��� ��� ����樨 ��ॢ��� ����� ������ ���騬 ��ࠧ��: ��ࠦ���� ��� �� ��ᢠ������� �����ன ��६����� 㪠������� ⨯�, ����� ��⥬ �ᯮ������ ����� �ᥩ �������樨. ����- ���, �������筠� ��楤�� SQRT ������� ��㬥�� ⨯� DOUBLE � �뤠�� �������� �⢥�, � � ��� �� ���०- ���� �������� � 祬-����� ���. ⠪�� ��ࠧ��, � N - 楫��, � ��ࠦ���� SQRT((DOUBLE) N) �� ��।�� ��㬥�� �㭪樨 SQRT �८�ࠧ�� N � ⨯� DOUBLE. (�⬥⨬, �� ������ ��ॢ�� �८�ࠧ�� ���祭�� N � �������騩 ⨯; 䠪��� ᮤ�ঠ��� ��६����� N �� �⮬ �� ���������). ������ ��ॢ��� ����� ��ॢ��� ���- �� �� �� ���� ���設�⢠, �� � ��㣨� 㭠�� ����- 樨, ��� 㪠�뢠���� � ⠡��� � ���� �⮩ �����. ��ࠦ����� 2-2. --------------- ���⠢�� �ணࠬ�� ��� �㭪樨 HTOI(S), ����� �८�- ࠧ�� ��ப� ��⭠������� ��� � ������⭮� �� �- ��� ���祭��. �� �⮬ �����⨬묨 ��ࠬ� ����� ���� �� 1 �� 9 � �㪢� �� � �� F. 2.8. ����樨 㢥��祭�� � 㬥��襭�� � �몥 "C" �।�ᬮ�७� ��� ������� ����樨 ��� 㢥��祭�� � 㬥��襭�� ���祭�� ��६�����. ������ 㢥��- 祭�� ++ �������� 1 � ��� ���࠭��, � ������ 㬥���- ��� -- ���⠥� 1. �� ��� �ᯮ�짮���� ������ ++ ��� 㢥��祭�� ��६�����, ���, ���ਬ��, � IF(C == '\N') ++I; ������� �ᯥ�� �����砥��� � ⮬, �� ++ � -- ����� �ᯮ�짮���� ���� ��� ��䨪�� ����樨 (��। ��६�����, ��� � ++N), ���� ��� ����䨪�� (�� ��६�����: N++). ��䥪� � ����� ����� ��⮨� � 㢥��祭�� N. �� ��ࠦ���� ++N 㢥��稢��� ��६����� N �� �ᯮ�짮����� �� ���祭��, � � �६� ��� N++ 㢥��稢��� ��६����� N �� ⮣�, ��� �� ���祭�� �뫮 �ᯮ�짮����. �� ����砥�, �� � ���⥪��, ��� �ᯮ������ ���祭�� ��६�����, � �� ⮫쪮 ��䥪� 㢥��祭��, �ᯮ�짮����� ++N � N++ �ਢ���� � ࠧ�� �- ����⠬. � N = 5, � � = N++; ��⠭�������� � ࠢ�� 5, � � = ++N; - 50 - �������� � ࠢ�� 6. � ����� ����� N �⠭������ ࠢ�� 6. ����樨 㢥��祭�� � 㬥��襭�� ����� �ਬ����� ⮫쪮 � ��६����; ��ࠦ���� ⨯� �=(I+J)++ ����� ��������묨. � �����, ��� �㦥� ⮫쪮 ��䥪� 㢥��祭��, � ᠬ� ���祭�� �� �ᯮ������, ���, ���ਬ��, � IF ( C == '\N' ) NL++; �롮� ��䨪᭮� ��� ����䨪᭮� ����樨 ���� ����� ����. �� ��������� ���樨, ��� �㦭� �ᯮ�짮���� ����- �� �� ��� ����� ������. ���ᬮ�ਬ, ���ਬ��, �㭪�� SQUEEZE(S,C), ����� 㤠��� ᨬ��� '�' �� ��ப� S, ����� ࠧ, ��� �� ����砥���. SQUEEZE(S,C) /* DELETE ALL C FROM S */ CHAR S[]; INT C; { INT I, J; FOR ( I = J = 0; S[I] != '\0'; I++) IF ( S[I] != C ) S[J++] = S[I]; S[J] = '\0'; } ����� ࠧ, ��� ���砥��� ᨬ���, �⫨�� �� '�', �� ����- ����� � ⥪���� ������ J, � ⮫쪮 �� �⮣� J 㢥���- ������ �� 1, �⮡� ���� ��⮢� ��� ����㯫���� ���饣� ᨬ����. �� � �筮�� ������⭮ ����� IF ( S[I] != C ) { S[J] = S[I]; J++; } ��㣮� �ਬ�� �������� �������樨 ���� �㭪�� GETLINE, ������ �� ���ணࠬ����� � ����� 1, ��� ����� �������� IF ( C == '\N' ) { S[I] = C; ++I; } ����� ������⭮� ������� IF ( C == '\N' ) S[I++] = C; - 51 - � ����⢥ ���쥣� �ਬ�� ��ᬮ�ਬ �㭪�� STRCAT(S,T), ����� �ਯ��뢠�� ��ப� � � ����� ��ப� S, ��ࠧ�� �����⥭��� ��ப S � �. �� �⮬ �।����������, �� � S �����筮 ���� ��� �࠭���� ����祭��� �������樨. STRCAT(S,T) /* CONCATENATE T TO END OF S */ CHAR S[], T[]; /* S MUST BE BIG ENOUGH */ { INT I, J; I = J = 0; WHILE (S[I] != '\0') / *FIND END OF S */ I++; WHILE((S[I++] = T[J++]) != '\0') /*COPY T*/ ; } T�� ��� �� T � S ��������� ����� ᨬ���, � ��� �����⮢�� � ���饬� ��宦����� 横�� ����䨪᭠� ������ ++ ��- ������� � ����� ��६���� I � J. ��ࠦ����� 2-3. --------------- ������ ��㣮� ��ਠ�� �㭪樨 SQUEEZE(S1,S2), ����� 㤠��� �� ��ப� S1 ����� ᨬ���, ᮢ�����騩 � �����-���� ᨬ����� ��ப� S2. ��ࠦ����� 2-4. --------------- ������ �ணࠬ�� ��� �㭪樨 ANY(S1,S2), ����� ���- ��� ���� ��ࢮ�� ������ � ��ப� S1 ������-���� ᨬ���� �� ��ப� S2 �, � ��ப� S1 �� ᮤ�ন� ᨬ����� ��ப� S2, �����頥� ���祭�� -1. 2.9. ����⮢� �����᪨� ����樨 � �몥 �।�ᬮ�७ �� ����権 ��� ࠡ��� � ��⠬�; �� ����樨 ����� �ਬ����� � ��६���� ⨯� FLOAT ��� DOUBLE. & ����⮢�� AND \! ����⮢�� ������饥 OR ^ ����⮢�� �᪫���饥 OR << ᤢ�� ����� >> ᤢ�� ��ࠢ� \^ ���������� (㭠ୠ� ������) "\" �������� ���⨪����� ����. ����⮢�� ������ AND ��� �ᯮ������ ��� ��᪨���� �����ண� ������⢠ ��⮢; ���ਬ��, ������ C = N & 0177 - 52 - ��।��� � '�' ᥬ� ������ ��⮢ N , ������� ��⠫�� ࠢ- �묨 ���. ������ '�' ����⮢��� OR �ᯮ������ ��� ����- 祭�� ��⮢: C = X � MASK ��⠭�������� �� ������� � ���� � � , ����� ࠢ�� ������ � MASK. ������ ���� �����⥫�� � �⫨��� ����⮢� ����樨 & � '�' �� �����᪨� �燐� && � \!\! , ����� ���ࠧ㬥- ���� ������ ���祭�� ��⨭���� �� ���ࠢ�. ���ਬ��, � �=1, � Y=2, � ���祭�� �&Y ࠢ�� ��� , � � �६� ��� ���祭�� X&&Y ࠢ�� ������./��祬�?/ ����樨 ᤢ��� << � >> �����⢫��� ᮮ⢥��⢥��� ᤢ�� ����� � ��ࠢ� ��� ������ ���࠭�� �� � ��⮢�� ����権, ���������� �ࠢ� ���࠭���. ����� ��ࠧ�� , �<<2 ᤢ����� � ����� �� ��� ����樨, �������� �������騥�� ���� ��ﬨ, �� ������⭮ 㬭������ �� 4. ����� ��ࠢ� ����稭� ��� ����� �������� �������騥�� ���� �� �����- ��� ��設��, ⠪�� ��� PDP-11, ����������� ᮤ�ঠ���� ���- ������ ��� /"��䬥��᪨� ᤢ��"/, � �� ��㣨� - �㫥� /"�����᪨� ᤢ��"/. ���ୠ� ������ \^ ���� ���������� � 楫���; �� ����- 砥� , �� ����� ��� � ���祭��� 1 ����砥� ���祭�� 0 � �������. �� ������ ���筮 ����뢠���� �������� � ��ࠦ�- ���� ⨯� X & \^077 ��� ������ ���� ��⮢ � ��᪨������ �㫥�. ����ભ��, �� ��ࠦ���� X&\^077 �� ������ �� ����� �� � ���⮬� �।����⥫쭥�, 祬, ���ਬ��, X&0177700, ��� �।������- ����, �� � �������� 16 ��⮢. ����� ��७�ᨬ�� �ଠ �� �ॡ�� ������� �������⥫��� �����, ����� \^077 �- ���� ����⠭�� ��ࠦ����� �, ����⥫쭮, ��ࠡ��뢠���� �� �६� �������樨. �⮡� �ந��������� �ᯮ�짮����� �������� ����権 � ��⠬�, ��ᬮ�ਬ �㭪�� GETBITS(X,P,N), ����� �����- 頥� /ᤢ����묨 � �ࠢ��� ���/ ��稭��騥�� � ����樨 � ���� ��६����� � ������ N ��⮢. �� �।�������� , �� �ࠩ��� �ࠢ� ��� ����� ����� 0, � �� N � � - ࠧ㬭� ��- ����� ������⥫�� �. ���ਬ��, GETBITS(�,4,3) �����- 頥� ᤢ����묨 � �ࠢ��� ��� ����, �������騥 ����樨 4,3 � 2. GETBITS(X,P,N) /* GET N BITS FROM POSITION P */ UNSIGNED X, P, N; { RETURN((X >> (P+1-N)) & \^(\^0 << N)); } - 53 - ������ X >> (P+1-N) ᤢ����� �������� ���� � �ࠢ� ����� ��. ���ᠭ�� ��㬥�� X ��� UNSIGNED ��࠭����, �� �� ᤢ��� ��ࠢ� �������騥�� ���� ���� ����������� ��- �ﬨ, � �� ᮤ�ন�� ��������� ���, ������ᨬ� �� ⮣�, �� ����� ��設� �ய�᪠���� �ணࠬ��. �� ���� ����⠭⭮�� ��ࠦ���� \^0 ࠢ�� 1; ᤢ�� ��� �� N ����権 ����� � ��- ����� ����樨 \^0<<N ᮧ���� ���� � ��ﬨ � N �ࠩ��� �ࠢ�� ���� � �����栬� � ��⠫���; ���������� \^ ᮧ���� ���� � �����栬� � N �ࠩ��� �ࠢ�� ����. ��ࠦ����� 2-5. --------------- ��।����� GETBITS ⠪�� ��ࠧ��, �⮡� ���� �����뢠- ���� �� ���ࠢ�. ��ࠦ����� 2-6. --------------- ������ �ணࠬ�� ��� �㭪樨 WORDLENGTH(), ������饩 ����� �� �ᯮ��㥬�� ��設�, �.�. �� ��⮢ � ��६��- ��� ⨯� INT. �㭪�� ������ ���� ��७�ᨬ��, �.�. ���� � � �� ��室��� �ணࠬ�� ������ �ࠢ��쭮 ࠡ���� �� �� ��設�. ��ࠦ����� 2-7. --------------- ������ �ணࠬ�� ��� �㭪樨 RIGHTROT(N,B), ᤢ����饩 横���᪨ 楫�� N ��ࠢ� �� B ��⮢�� ����権. ��ࠦ����� 2-8. --------------- ������ �ணࠬ�� ��� �㭪樨 INVERT(X,P,N), ����� ��������� (�.�. ������� 1 �� 0 � �������) N ��⮢ X, ��- 稭������ � ����樨 P, ��⠢��� ��㣨� ���� ����������묨. 2.10. ����樨 � ��ࠦ���� ��ᢠ������. ����� ��ࠦ����, ��� I = I + 2 � ������ ����� ���� ��������� � �ࠢ�� ��� ����� ���� ����ᠭ� � ᦠ⮩ �ଥ I += 2 �ᯮ���� ������ ��ᢠ������ ���� +=. ����設��� ������� ����権 (����権 �������� +, ��- ��� ����� ���� � �ࠢ� ���࠭�) ᮮ⢥����� ������ ��ᢠ������ ���� ��=, ��� �� - ���� �� ����権 + - * / % << >> & \^ \! � �1 � �2 - ��ࠦ����, � - 54 - �1 ��= �2 ������⭮ �1 = (�1) �� (�2) �� �᪫�祭��� ⮣�, �� ��ࠦ���� �1 �������� ⮫쪮 ���� ࠧ. ����� �������� �� ��㣫� ��� ����� �2: X *= Y + 1 � X = X * (Y + 1) �� X = X * Y + 1 � ����⢥ �ਬ�� �ਢ���� �㭪�� BITCOUNT, ����� ������뢠�� � ࠢ��� 1 ��⮢ � 楫��� ��㬥��. BITCOUNT(N) /* COUNT 1 BITS IN N */ UNSIGNED N; ( INT B; FOR (B = 0; N != 0; N >>= 1) IF (N & 01) B++; RETURN(B); ) �� ������ 㦥 � ��⪮��, ⠪�� ������� �ਢ������� ����� � �२����⢮, �� ��� ���� ᮮ⢥������ ��ࠧ� 祫������ ��諥���. �� ����ਬ: "�ਡ����� 2 � I" ��� "㢥����� I �� 2", �� �� "����� I, �ਡ����� 2 � �������� १���� ����� � I". �⠪, I += 2. �� ⮣�, � ������� ��ࠦ�����, �������� YYVAL[YYPV[P3+P4] + YYPV[P1+P2]] += 2 T���� ������ ��ᢠ������ �����砥� ��������� �ணࠬ��, ⠪ ��� ��⥫� �� ������ ���㫥��� ������, ����� �� ��� ������� ��ࠦ���� ����⢨⥫쭮 ��������묨, ��� ��- ��뢠����, ��祬� ��� �� ᮢ������. ����� ������ ��ᢠ�- ����� ����� ���� ������ ���������� ������� ����� ��䥪⨢- ��� �ணࠬ��. �� 㦥 �ᯮ�짮���� �� 䠪�, �� ������ ��ᢠ������ ����� ����� ���祭�� � ����� �室��� � ��ࠦ����; ᠬ� ⨯��� �ਬ�� - 55 - WHILE ((C = GETCHAR()) != EOF) ��ᢠ������, �ᯮ����騥 ��㣨� ����樨 ��ᢠ������ (+=, -= � �.�.) ⠪�� ����� �室��� � ��ࠦ����, ��� �� ���- ���� ०�. ����� ��ࠦ���� ��ᢠ������ ���� ⨯ ��� ������ ���࠭��. ��ࠦ����� 2-9. --------------- � ����筮� ��⥬� ����� ������ X&(X-1) ������ ᠬ� �ࠢ� ࠢ�� 1 ��� ��६����� X.(��祬�?) �ᯮ���� �� ����砭�� ��� ����ᠭ�� ����� ����ன ���ᨨ �㭪樨 BITCOUNT. 2.11. ���� ��ࠦ����. ������� IF (A > B) Z = A; ELSE Z = B; ����筮 ������� � Z ���ᨬ� �� � � �. ����� ��ࠦ����, ����ᠭ��� � ������� �ୠ୮� ����樨 "?:", �।��⠢��� ����� ����������� ��� ����� �⮩ � ���������� �������- 権. � ��ࠦ���� �1 ? �2 : �3 ᭠砫� �������� ��ࠦ���� �1. � ��� �⫨筮 �� ��� (��⨭��), � �������� ��ࠦ���� �2, ��� � �⠭������ ���祭��� ������ ��ࠦ����. � ��⨢��� ��砥 ������- �� �3, � ��� �⠭������ ���祭��� ������ ��ࠦ����. ���- �� ࠧ �������� ⮫쪮 ���� �� ��ࠦ���� �2 � �3. ����� ��ࠧ��, �⮡� �������� Z ࠢ�� ���ᨬ�� �� � � �, ����� ������� Z = (A > B) ? A : B; /* Z = MAX(A,B) */ ������ ����ભ���, �� ����� ��ࠦ���� ����⢨⥫�- �� ���� ��ࠦ����� � ����� �ᯮ�짮������ �筮 ⠪ ��, ��� �� ��㣮� ��ࠦ����. � �2 � �3 ����� ࠧ�� ⨯�, � ⨯ १���� ��।������ �� �ࠢ���� �८�ࠧ������, ��ᬮ�७�� ࠭�� � �⮩ �����. ���ਬ��, � F ����� ⨯ FLOAT, � N - ⨯ INT, � ��ࠦ���� (N > 0) ? F : N ����� ⨯ DOUBLE ������ᨬ� �� ⮣�, ������⥫쭮 �� N ��� ���. - 56 - ��� ��� ���� ���設�⢠ ����樨 ?: �祭� �����, ��אַ ��� ��ᢠ�������, � ��ࢮ� ��ࠦ���� � ����� ��- ࠦ���� ����� �� �������� � ��㣫� ���. ������, �� �� �� ४�����㥬 �� ������, ⠪ ��� ��� ������ ����� ���� ��ࠦ���� ����� ����⭮�. �ᯮ�짮����� ����� ��ࠦ���� ��� �ਢ���� � ����- ��� �ணࠬ���. ���ਬ��, ���騩 ���� ������ 横�� ��- �⠥� N ���⮢ ���ᨢ�, �� 10 � ��ப�, ࠧ����� ����� �⮫��� ����� ����� � �����稢�� ������ ��ப� (������ ������) ����� ᨬ����� ��ॢ��� ��ப�. OR (I = 0; I < N; I++) PRINTF("%6D%C",A[I],(I%10==9 \!\! I==N-1) ? '\N' : ' ') ������ ��ॢ��� ��ப� �����뢠���� �� ������� ����⮣� ���� � �� N-�� ����. �� �ᥬ� ��⠫�묨 ���- ⠬� ��� ���� ���. ����, ��������, �� �룫廊� ��- ७�, �뫮 �� ����⥫�� ��������� ������� ��, �� ��- ������ ������ ��ࠦ����. ��ࠦ����� 2-10. --------------- ��९��� �ணࠬ�� ��� �㭪樨 LOWER, ����� ��ॢ���� �ய��� �㪢� � �����, �ᯮ���� ����� �������樨 IF-ELSE ����� ��ࠦ����. 2.12. ���設�⢮ � ���冷� ������. � �ਢ������ ���� ⠡��� ᢥ���� �ࠢ��� ���設�⢠ � ��- �樠⨢���� ��� ����権, ������ � �, ����� �� �� �� ���㦤���. ����樨, �ᯮ������� � ����� ��ப�, ����� ���� � �� �� ���� ���設�⢠; ��ப� �ᯮ������ � ��- �浪� �뢠��� ���設�⢠. ���, ���ਬ��, ����樨 *, / � % ����� ��������� ���� ���設�⢠, ����� ���, 祬 ��- ���� ����権 + � -. OPERATOR ASSOCIATIVITY () [] -> . LEFT TO RIGHT ! \^ ++ -- - (TYPE) * & SIZEOF RIGHT TO LEFT * / % LEFT TO RIGHT + - LEFT TO RIGHT << >> LEFT TO RIGHT < <= > >= LEFT TO RIGHT - 57 - == != LEFT TO RIGHT & LEFT TO RIGHT ^ LEFT TO RIGHT \! LEFT TO RIGHT && LEFT TO RIGHT \!\! LEFT TO RIGHT ?: RIGHT TO LEFT = += -= ETC. RIGHT TO LEFT , (CHAPTER 3) LEFT TO RIGHT ����樨 -> � . �ᯮ������� ��� ����㯠 � ���⠬ ����- ���; ��� ���� ���ᠭ� � ����� 6 ����� � SIZEOF (ࠧ��� ��ꥪ�). � ����� 5 ���㦤����� ����樨 * (��ᢥ���� ���- ���) � & (����). �⬥⨬, �� ���� ���設�⢠ ����⮢�� �����᪨� ����- 権 &, ^ � � ���� ��� ����権 == � !=. �� �ਢ���� � ⮬�, �� �����⢫��騥 ����⮢�� ���� ��ࠦ����, ��- ����� IF ((X & MASK) == 0) ... ��� ����祭�� �ࠢ����� १���⮢ ������ ���������� � ��㣫� ���. ��� 㦥 �⬥砫��� ࠭��, ��ࠦ����, � ����� �室�� ���� �� ���樠⨢��� � ������⨢��� ����権 (*, +, &, ^, �), ����� ��ॣ�㯯�뢠����, ���� � ��� �����祭� � ��㣫� ���. � ����設�⢥ ��砥� �� �� �ਢ���� � ��- ��� �� � �� �뫮 ��宦�����; � ������, ��� ⠪�� ��- 宦����� �� �� ��������, ��� ���ᯥ祭�� �㦭��� ���浪� ������ ����� �ᯮ�짮���� � ������� ��६��- ��. � �몥 "C", ��� � � ����設�⢥ �몮�, �� 䨪������ ���冷� ������ ���࠭��� � ������. ���ਬ�� � ����- �� ���� X = F() + G(); ᭠砫� ����� ���� ����� F, � ��⮬ G, � �������; ���- ⮬�, � ���� F, ���� G �������� ������ ��६�����, �� ���ன ������ ��㣮� ���࠭�, � ���祭�� X ����� ������� �� ���浪� ������. ��� ���ᯥ祭�� �㦭�� ������⥫�- ���� ������� १����� ����� ����� ���������� �� �६����� ��६�����. ������� �� ��ࠧ�� �� 䨪������ ���冷� ������ ��㬥�⮢ �㭪樨, ⠪ �� ������ PRINTF("%D %D\N",++N,POWER(2,N)); - 58 - ����� ������ (� ����⢨⥫쭮 ����) �� ࠧ��� ��設�� ࠧ�� १����� � ����ᨬ��� �� ⮣�, 㢥��稢����� �� N �� ��� �� ���饭�� � �㭪樨 POWER. �ࠢ���� �襭���, �����- ��, ���� ������ ++N; PRINTF("%D %D\N",N,POWER(2,N)); ���饭�� � �㭪��, �������� ����樨 ��ᢠ������, ����樨 㢥��祭�� � 㬥��襭�� �ਢ���� � ⠪ ���뢠��� "������ ��䥪⠬" - ������� ��६���� ���������� ��� ������ १���� ������ ��ࠦ����. � �� ��ࠦ����, � ��� ��������� ������ ��䥪��, ����� ����⢮���� �祭� ⮭��� ����ᨬ��� �� ���浪�, � ��� ��।������� �室�騥 � ���� ��६����. �ਬ� ⨯�筮� ��㤠筮� �- ��樨 ���� ������ A[I] = I++; ��������� �����, �� ��� ����� ���祭�� I �㦨� � ��- ��⢥ ������. ��������� ����� ����㯠�� ࠧ�묨 ᯮᮡ��� � � ����ᨬ��� �� �� ������樨 �뤠���� ࠧ�� �- ������. ��� ��砩, ����� �ந�室�� ������ ��䥪�� (��ᢠ������ 䠪��᪨� ��६����), - ��⠢����� �� ��- ���७�� ���������, ⠪ ��� ������訩 ���冷� ᨫ쭮 ����- �� �� ���⥪���� ��設�. �� ��� ���㦤���� ��⥪��� ⠪�� ��ࠫ�: ����ᠭ�� �ணࠬ�, �������� �� ���浪� ������, ���� ���娬 ��⮤�� �ணࠬ������ �� �� �몥. ����筮, ����室��� �����, 祣� ��� ��������, �� � �� �� � ����, ��� ��- ����� ��� ॠ�������� �� ࠧ��� ��設��, �� ��������� ����� �।��࠭��� ��� �� �����⭮�⥩. (�⫠��筠� �ண- ࠬ�� LINT 㪠��� ����設�⢮ ����, �������� �� ���浪� ��- ����.
Характеристики
Тип файла документ
Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.
Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.
Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.