База ответов ИНТУИТ

Основы программирования

<<- Назад к вопросам

Пусть в ОС Windows XP требуется открыть файл
    c:\Windows\system32\drivers\hosts
как текстовый для чтения и записи. Для этогоиспользуется следующий фрагмент программы:
    FILE *f;    . . .    f = fopen(        "c:\Windows\system32\drivers\hosts",        "rt+"    );
Содержит ли он ошибку?

(Отметьте один правильный вариант ответа.)

Варианты ответа
Нет, фрагмент кода корректный.
Да, фрагмент кода содержит ошибку. (Верный ответ)
Похожие вопросы
Что делает следующий фрагмент программы на Си?
    FILE *f;    . . .    f = fopen("tmp.dat", "wb+");
Что делает следующий фрагмент программы на Си?
    FILE *f;    . . .    f = fopen("tmp.dat", "rb+");
Пусть f(x) — целочисленная функция от целочисленногоаргумента. Определить,содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа корень функциицел a, b, c;. . .утверждение: a < b  и  f(a) * f(b) <= 0;// Значения функции на концах отрезка [a,b] разных знаковцикл пока b - a > 1| инвариант: f(a) * f(b) <= 0| // Делим отрезок [a, b] пополам| c := (a + b) / 2; // c -- целая часть (a+b)/2| если f(a) * f(c) < 0| | то    b := c;   // выбираем левую половину отрезка| | иначе a := c;   // выбираем правую половину отрезка| конец есликонец циклаутверждение: a == b - 1  и  f(a) * f(b) <= 0;
Пусть a — целочисленный массив размера n(индекс элементов меняется от 0 до n-1),элементы которого строго возрастают:a[0] < a[1] <... < a[n-1].Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа Поискдано: цел n;      цел a[n]; // a[0] < a[1] < ... < a[n-1]цел x;          // искомый элементцел b, e, c;. . .           // рассматриваются исключительные случаиутверждение: a[0] < x  и  x <= a[n-1];  // общий случайb := 0; e := n - 1;цикл пока e - b > 1| инвариант: a[b] < x  и  x <= a[e];| c := (b + e) / 2; // c -- целая часть (b+e)/2| если x < a[c]| | то    e := c;   // выбираем левую половину отрезка| | иначе b := c;   // выбираем правую половину отрезка| конец есликонец циклаутверждение: b == e - 1  и             a[b] < x  и  x <= a[e];
В операционной системе MS Windowsфайл "tmp.dat" создается в результате выполнения следующегофрагмента программы:
    int a[3]; int i;    FILE *f = fopen("tmp.dat", "wt");    a[0] = 1; a[1] = 10; a[2] = 100;    for (i = 0; i < 3; ++i) {        fprintf(f, "%d\n", a[i]);    }    fclose(f);
Чему равен размер файла "tmp.dat" в байтах?
В операционной системе MS Windowsфайл "tmp.dat" создается в результате выполнения следующегофрагмента программы:
    int a[4]; int i;    FILE *f = fopen("tmp.dat", "wb");    a[0] = 1; a[1] = 2; a[2] = 10; a[3] = 20;    for (i = 0; i < 4; ++i) {        fprintf(f, "%d\n", a[i]);    }    fclose(f);
Чему равен размер файла "tmp.dat" в байтах?
Пусть a — вещественный массив размера n(индекс элементов меняется от 0 до n-1).Определить, содержит ли следующий фрагмент программы ошибку(т.е. действительно ли тело цикла сохраняет инвариант):
// Программа Быстрая сортировкадано: цел n;      вещ a[n]; // вещественный массив размера nцел m;          // индекс медианыутверждение: n >= 2  и             0 <= m  и  m < n;надо: // разделить массив на три части:      // 1) слева элементы, меньшие медианы;      // 2) в центре медиана;      // 3) справа элементы, большие или равные медиане.цел i, j, k; вещ t;i := (-1); j := n;цикл пока i+1 < m  или  m < j-1| инвариант: a[0], a[1], ..., a[i] < a[m]  и|            a[m] <= a[j], a[j+1], ..., a[n-1]  и|            i < m  и  m < j|| если i+1 < m| | то| |   если a[i+1] < a[m]| |   | то i := i+1;    // расширяем левую часть| |   иначе если j-1 > m| |   | иначе| |   | утверждение: a[i+1] >= a[m];| |   | // меняем местами элементы a[i+1] и a[j-1]| |   | t := a[i+1]; a[i+1] := a[j-1]; a[j-1] := t;| |   | если j-1 == m| |   | | то m := i+1;  // новое положение медианы| |   | конец если| |   | j := j-1;       // расширяем правую часть| |   конец если| | иначе| |   утверждение: j-1 > m;| |   . . . // этот случай рассматривается аналогично| |   . . . // случаю i+1 < m| || конец есликонец циклаутверждение: 0 <= m  и  m < n  и             a[0], a[1], ..., a[m-1] < a[m]   и             a[m] <= a[m+1], a[m+2], ..., a[n-1]
Текстовый файл содержит последовательностьцелых чисел в десятичной записи, каждое число записанов отдельной строке. Какую функцию следует использоватьдля последовательного считывания чисел?
Рассмотрим следующий фрагмент программы на Си:
    static int *p = 0;    . . .    p = (int *) malloc(sizeof(int));    *p = 123;
Где хранится значение выражения "*p" (т.е.число 123)?
Указать, что вычисляет следующий фрагмент программы:
дано: цел n;цел s, k;s := 2; k := 0;цикл пока s <= n| инвариант: s = 2k+1| s := s * 2; k := k + 1;конец циклаответ := k;