Турбо С: руководство пользователя. Часть 2

Турбо С: руководство пользователя. Часть 2 - Стр. 11

Печать PDF
Индекс материала
Турбо С: руководство пользователя. Часть 2
Стр. 2
Стр. 3
Стр. 4
Стр. 5
Стр. 6
Стр. 7
Стр. 8
Стр. 9
Стр. 10
Стр. 11
Стр. 12
Стр. 13
Стр. 14
Стр. 15
Стр. 16
Стр. 17
Стр. 18
Стр. 19
Стр. 20
Стр. 21
Стр. 22
Стр. 23
Стр. 24
Стр. 25
Стр. 26
Стр. 27
Стр. 28
Стр. 29
Стр. 30
Стр. 31
Стр. 32
Стр. 33
Стр. 34
Стр. 35
Стр. 36
Стр. 37
Стр. 38
Стр. 39
Стр. 40
Стр. 41
Стр. 42
Стр. 43
Стр. 44
Стр. 45
Стр. 46
Стр. 47
Стр. 48
Стр. 49
Стр. 50
Стр. 51
Стр. 52
Стр. 53
Стр. 54
Стр. 55
Стр. 56
Все страницы

         program My_Prog;
         var
           I,J,K : Integer;                int  i,j,к

     function Max(A,B:Integer):Integer;    int max (int a, int b)
     begin                                 {
         if A>B                             if (a>b) return (a);
            then Max:=A                     else return (b);
            else Max:=B                    }                                    
         end;                              /* конец max () */                   
         {конец функции Max}                                                    
                                                                                

                         - 85,86 -
                                                                                
     procedure Swap (var A,B: Integer);    void swap (int *a,int *b)            
     var   Temp : Integer;                                                      
     begin                                 { int temp;                          
            Temp:=A; A:=B; B:=Temp           temp= *a; *a=*b; *b=temp;          
     end;                                  }                                    
     {конец процедуры  swap}               /*конец swap () */                   
                                                                                
                                                                                
     begin    {глав. модуль программы      main ()                              
                               My_Prog}                                         
         I:=10; J:=15;                     {                                    
         K:=Max (I,J);                      i=10; j=15;                         
         Swap (I,K);                        k=max (i,j);                        
     Write ('I=',I:2, 'J=', J:2);           swap (&i, &k);                      
     Writeln  ('K=', K:2)                   printf("i=%2d j=%2d",i,j);          
     end                                    printf ("k=%2d\n",k);               
     {конец программы My_Prog}             }                                    
                                           /*конец main*/                       
     -----------------------------------------------------------------          
                                                                                
                                                                                
                                                                                
                                                                                
          Сравнение базовых элементов.                                          
     ----------------------------------------------------------------           
                                                                                
          Как и в главе 6,  рассмотрим семь базовых элементарных поня-          
     тий программирования - вывод, типы данных, операции, ввод, выпол-          
     нение по условию, выполнение в цикле и подпрограммы.                       
                                                                                
                                                                                
                                                                                
                                                                                
          В ы в о д.                                                            
     -----------------------------------------------------------------          
                                                                                
          Основные команды вывода Турбо Паскаля это - Write и Writeln.          
     Турбо Си, напротив, имеет множество команд, позволяющих выполнять          
     точно то,  что вы хотите.  Основной командой является printf. Она          
     имеет формат:                                                              
                                                                                
          printf(
     Writeln('"Hello," said John');     printf("\"Hello,\"said                  
                                                           John\n");            
                                                                                
     Writeln(A,' + ',B,' = ',C);        printf("%d + %d =                       
                                                        %d\n",a,b,c);           
     Writeln('You owe us S',Amt:6:2);   printf("You owe us                      
                                                      S%6.2f\n",amt);           
                                                                                
     Writeln('Your name is ',Name,'?'); printf("Your name is                    
                                                        %s?\n",name);           
     Writeln('The answer is ',Ans);     printf("The answer is                   
                                                          %c\n",ans);           

                         - 89,90 -
                                                                                
                                                                                
     Write(' A = ',A:4);                printf(" a = %4d",a);                   
     Writeln(' A*A = ',(A*A):6);        printf(" a*a = %6d\n",a*a);             
                                                                                
     ----------------------------------------------------------------           
                                                                                
          Другие два оператора вывода Си, которые бы вы вероятно хоте-          
     ли бы знать - это puts и putchar. puts получает строку в качестве          
     аргумента и выводит ее, автоматически добавляя символ перехода на          
     новую строку. Например, следующие команды эквивалентны:                    
                                                                                
     Writeln(Name);                     puts(Name);                             
     Writeln('Hi, there!');Writeln;     puts("Hi, there!\n");                   
                                                                                
          Команда  putсhar (вывести символ) значительно проще. Она вы-          
     водит всего один символ. Например:                                         
                                                                                
     write(Ch);                         putchar(ch);                            
                                                                                
                                                                                
                                                                                
                                                                                
                                                                                
          Т и п ы   д а н н ы х.                                                
     ----------------------------------------------------------------           
                                                                                
                                                                                
          Основные типы данных Турбо Паскаля имеют соответствующие эк-          
     виваленты в Турбо Си.  Однако Си имеет  как  значительно  большее          
     разнообразие типов   данных с широким выбором числовых диапазонов          
     для значений целых и с плавающей точкой,   так  и  спецификаторов          
     signed и unsigned (со знаком и без знака). Ниже приведена таблица          
     соответствия между типами данных на Паскале и Си.                          
                                                                                
        Турбо Паскаль (версия 3.х)              Турбо Си                        
     ----------------------------------------------------------------           
                                                                                
     char (1 байт) chr(0-255)        char     (1 байт)     -129 - 127           
                                                                                
     byte (1 байт)    0 - 255        unsigned char (1 байт)   0 - 255           
                                                                                
     integer (2 байт) -32763 - 32767 short    (2 байта) -32768 - 32767          
                                                                                
                                     int      (2 байта) -32769 - 32767          
                                                                                

                         - 91,92 -
                                                                                
                                     unsigned int (2 байта)  0 - 65535          
                                                                                
                                     long     (4 байта) -2^31 - 2^31-1          
                                                                                
                                     unsigned long (4 байта)                    
                                                          0 - (2^32-1)          
                                                                                
     real (6 байта)  1E-38 - 1E+38   float    (4 байта)     +-3.4E+308          
                                                                                
                                     double   (8 байт)      +-1.7E+308          
                                                                                
     boolean (1 байт) false, true    0 = false, не ноль = true                  
                                                                                
     ----------------------------------------------------------------           
                                                                                
          Обратите внимание на то, что в Си нет логического типа дан-           
     ных: выражения, в которых требуются логические значения,  интер-           
     претируют значения "ноль", как false (ложь),  а все другие,  как           
     "true" (истина).                                                           
                                                                                
          В дополнение к приведенным типам,  Турбо Си имеет enumerated          
     (перечислимый) тип  данных; однако, в отличие от Паскаля, это пе-          
                                                                                
                                                                                
     реназначаемые целые константы и они полностью совместимы со всеми          
     целыми типами.