BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Турбо С: руководство пользователя. Часть 1
Автор ""
Размер 993495 Байт
Страница 52 из 69
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

          - сдвиг влево (<<)                                                    
          - сдвиг вправо (>>)                                                   
          - И (&)                                                               
          - ИЛИ (|)                                                             
          - исключающее ИЛИ (^)                                                 
          - НЕ (~)                                                              
                                                                                
          Они позволяют вам производить операции очень низкого уровня.          
     Для того,  чтобы понять эффект этих операций, введите и выполните          
     следующую программу:                                                       
                                                                                
          #include                                                     
          main()                                                                
          {                                                                     
       int a, b, c;                                                             
       char *format1, *format2;                                                 
                                                                                
       format1 = " %04X %s %04X = %04X\n";                                      
       format2 = " %c%04X = %04X\n";                                            
       a = 0x0FF0; b = 0xFF00;                                                  
       c = a<<4;   printf(format1, a, "<<", 4, c);                              

                         - 427,428 -
                                                                                
       c = a>>4;   printf(format1, a, ">>", 4, c);                              
       c = a & b;  printf(format1, a, "& ", b, c);                              
       c = a | b;  printf(format1, a, "| ", b, c);                              
       c = a ^ b;  printf(format1, a, "^ ", b, c);                              
       c = ~a;     printf(format2, `~`, a,  c);                                 
       c = -a;     printf(format2, `-`, a, c);                                  
          }                                                                     
                                                                                
          Опять же,  попробуйте предугадать то, что будет выводить эта          
     программа, не запуская ее. Заметим, что спецификаторы ширины поля          
     выравнивают  выводимые  значения;  спецификатор %04X указывает на          
     использование нулей в начале числа,  на ширину поля вывода четыре          
     цифры и на шестнадцатиричное представление (основание 16).                 
                                                                                
                                                                                
          Комбинированные операции                                              
          ------------------------                                              
                                                                                
          Си позволяет использовать некоторые сокращения при написании          
     выражений,  содержащих многочисленные  операции,  описанные  выше          
     (одноместные,  двуместные,  приращение,  уменьшение и побитовые).          
     Так, любое выражение вида                                                  
                                                                                
                                                                                
          <переменная> = <переменная> <операция> <выражение>;                   
                                                                                
     может быть заменено на                                                     
                                                                                
          <переменная> <операция> = <выражение>;                                
                                                                                
          Ниже приводятся некоторые примеры таких  выражений и способы          
     их сокращения:                                                             
                                                                                
          a = a + b;  сокращается до  a += b;                                   
          a = a - b;  сокращается до  a -= b;                                   
          a = a * b;  сокращается до  a *= b;                                   
          a = a / b;  сокращается до  a /= b;                                   
          a = a % b;  сокращается до  a %= b;                                   
          a = a << b; сокращается до  a <<= b;                                  
          a = a >> b; сокращается до  a >>= b;                                  
          a = a & b;  сокращается до  a &= b;                                   
          a = a | b;  сокращается до  a |= b;                                   
          a = a ^ b;  сокращается до  a ^= b;                                   
                                                                                
                                                                                

                         - 429,430 -
                                                                                
          Адресные операции                                                     
          -----------------                                                     
                                                                                
          Си поддерживает две специальные  адресные операции: операцию          
     определения адреса (&) и операцию  обращения по адресу(*).                 
                                                                                
          Операция & возвращает адрес данной переменной;  если sum яв-          
     ляется переменной типа int,  то &sum является адресом (расположе-          
     ния в памяти) этой переменной. С другой стороны, если msg являет-          
     ся указателем на тип char,  то *msg является символом, на который          
     указывает msg.  Введите следующую программу и посмотрите, что по-          
     лучится.                                                                   
                                                                                
          #include                                                     
                                                                                
          main()                                                                
          {                                                                     
      int sum;                                                                  
      char *msg;                                                                
                                                                                
      sum = 5 + 3;                                                              
      msg = "Hello, thore\n";                                                   
                                                                                
                                                                                
      printf(" sum = %d &sum = %p \n", sum, &sum);                              





printf("*msg = %c msg = %p \n", *msg, msg); } В первой строке печатается два значения: значение sum (8) и адрес sum (назначаемый компилятором). Во второй строке также пе- чатается два значения: символ, на который указывает msg (H), и значение msg, которое является адресом этого символа (также наз- начен компилятором). - 431,432 - Ввод ----------------------------------------------------------------- В Си имеется несколько функций ввода; одни производят ввод из файла или из входного потока, другие - с клавиатуры. Если тре- буется детальная информация о функциях ввода Турбо Си, то читайте о функциях ...scanf, read, а также Главу 8. Функция scanf ------------- Для интерактивного режима ввода, вероятно, можно использо- вать в большинстве случаев функцию scanf. scanf это функция вво- да, по смыслу эквивалентная printf; ее формат выглядит так: scanf(<строка формата>,<адрес>,<адрес>,...) В scanf используются многие из тех же спецификаторов формата %<буква>, что и у функции printf: %d - для целых, %f - для чисел с плавающей точкой, %s - для строк и т.д. Однако scanf имеет одно очень важное отличие: объекты, сле- дующие за строкой формата, должны быть адресами, а не значениями. В программе SUM.C содержится следующий вызов: scanf("%d %d", &a, &b); Этот вызов сообщает программе, что она должна ожидать от вас ввода двух десятичных (целых) чисел, разделенных пробелом; первое будет присвоено а, а второе b. Заметим, что здесь используется операция адреса (&) для передачи адресов а и b функции scanf. Белое поле ---------- Промежуток между двумя командами формата %d фактически озна- чает больше, чем просто промежуток. Он означает, что вы можете иметь любое количество "белых полей" между значениями. Что такое белое поле? Это любая комбинация пробелов, табуля- ций и символов новой строки. В большинстве ситуаций компиляторы и программы Си обычно игнорируют белое поле. - 433,434 - Но что же надо делать, если вы хотите разделить числа запя- той вместо пробела? Необходимо лишь изменить строку ввода: scanf ("%d, %d", &a, &b); Это позволяет вам ввести значения, разделенные запятой. Передача адреса функции scanf ----------------------------- Что если вы хотите ввести строку? Наберите и выполните следующую программу: #include main () { char name[30]; printf("Как Вас зовут: "); scanf("%s", name); printf ("Привет, %s\n", name); } Поскольку name является массивом символов, значение name - это адрес самого массива. По этой же причине перед именем name не используется адресный оператор &, вы просто пишете scanf("%s", name);


Страницы : 1 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 57 58 59 60 61 62 63 64 65 66 67 68 69


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.