Поиск в библиотеке
BOOKS SHaring :

Книга "Хрестоматия по программированию на Си в Unix", Богатырев Андрей

Автор:
Название:
Жанр:
Здесь вы можете бесплатно скачать книгу "Хрестоматия по программированию на Си в Unix" текст которой написал автор Богатырев Андрей.
Электронная книга находится в разделе "Учеба"
Вы можете оставить свой отзыв и обсудить книгу с другими читателями.
С п и с о к   к н и г   п о   а в т о р у

С п и с о к   к н и г   п о   а л ф а в и т у

А
Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О
П
Р
С
Т
У
Ф
Х
Ц
Ч
Ш
Щ
Э
Ю
Я
А
Б
В
Г
Д
Е
Ж
З
И
К
Л
М
Н
О
П
Р
С
Т
У
Ф
Х
Ц
Ч
Ш
Щ
Э
Ю
Я

Библиотека
Главная Каталог Новые поступления Популярная литература Как качать Чем читать Администрация Авторам и правообладателям
Разделы хранилища
АнекдотыБиографияБоевикГаданиеДетективДетскаяДокументальнаяДомДрамаЖенский романЖурналЗакон и правоИсторияКлассикаКомпьютерный ликбезКриминалЛирикаМедицинаМемуарыНаукаНаучная фантастикаПесниПолитикаПриключенияПсихологияРелигияСекс-учебаСказкаСловарьАнтропология и социологияСпортСтихиТриллерУчебаФилософияФентезиЭзотерикаЭкономикаЭнциклопедияЭротические и порно рассказыЮморIT-приколы


Богатырев Андрей, Хрестоматия по программированию на Си в Unix


АвторБогатырев Андрей
НазваниеХрестоматия по программированию на Си в Unix
РазделУчеба
Размер1033368
Файлbook-c.rar
Дата добавления2002-04-06
Скачали545 раз
Скачать книгу в архиве RAR
Скачать книгу в архиве BZ2
Скачать книгу в архиве UCA
Читать книгу прямо на сайте открыв в браузере

Краткое описание/вступление:

операции || и && выполняются слева  направо;  как  только  какое-то
условие  в  ||  оказывается  истинным  (а в && ложным) - дальнейшие условия
просто не
вычисляются. В нашем случае условие *s==' ' сразу же верно, и операция s++ из
второго
условия не выполняется! Мы должны были написать хотя бы так:

    while(*s == ' ' || *s == '\t'){
            printf( "Пробел %d\n", ++i); s++;
    }

С другой стороны, это свойство || и && черезвычайно полезно, например:

    if( x != 0.0 && y/x < 1.0 ) ... ;

Если бы мы не вставили проверку на 0, мы могли бы получить деление на 0.  В
данном же
случае при x==0 деление просто не будет вычисляться.  Вот еще пример:

    int a[5], i;
    for(i=0; i < 5 && a[i] != 0; ++i) ...;

Если i выйдет за границу массива, то сравнение a[i] с нулем уже не будет
вычисляться,
т.е. попытки прочесть элемент не входящий в массив не произойдет.
     Это свойство && позволяет писать довольно неочевидные конструкции, вроде

    if((cond) && f());
        что оказывается эквивалентным
    if( cond ) f();

Вообще же

    if(C1 && C2 && C3) DO;
            эквивалентно
    if(C1) if(C2) if(C3) DO;

и для "или"

А. Богатырев, 1992-95                  - 26 -                               Си в
UNIX

    if(C1 || C2 || C3) DO;
            эквивалентно
         if(C1) goto ok;
    else if(C2) goto ok;
    else if(C3){ ok: DO; }

Вот еще пример, пользующийся этим свойством ||

    #include 
    main(argc, argv) int argc; char *argv[];
    {  FILE *fp;
       if(argc < 2 || (fp=fopen(argv[1], "r")) == NULL){
            fprintf(stderr, "Плохое имя файла\n");
            exit(1); /* завершить программу */
       }
       ...
    }

Если argc==1, то argv[1] не определено, однако в этом случае попытки открыть 
файл  с
именем argv[1] просто не будет предпринято!
     Ниже приведен еще один содержательный пример, представляющий собой одну из 
воз-
можных схем написания "двуязычных" программ, т.е. выдаю

Литература, написанная Богатырев Андрей:


• Вождение автомобиля
• Руководство полного идиота по программированию на C
• Хрестоматия по программированию на Си в Unix

Вместе с книгой "Хрестоматия по программированию на Си в Unix" читатели смотрели:


• Буйнов Сергей / Машина из Германии. Своими силами.
• Бургер Ральф / Большой справочник по компьютерным вирусам
• Бурьяк Александр / Искусство выживания
• Ван-дер-Флаас / Персональные компьютеры для женщин
• Владимирский Б. / Камни: тайны и таинства
• Водолазкий В. / Путь к Linux
• Волков В. / Электрик в доме
• Гармаев Анатолий / Нравственная психология и педагогика
• Гинзбург Михаил / Как победить избыточный вес
• Голденков М. / Осторожно HOT DOG! (современный английский)

Новые поступления в хранилище библиотеки:


• А. Гавльда / Я ее любила/Я его любила (отрывок) / 2008-01-12
• Ким Лоренс / Лоно Каридес / 2008-01-11
• Олег Смирнов / Эшелон / 2008-01-10
• Артур СПИНАКЕР / ТОРУС / 2008-01-10
• Гурин Артём / Я_выйду_рано_по_весне / 2008-01-10



BOOKS.SH - BOOKS SHaring @ 2009-2013, Книги в электронном виде.