Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
тест семестр.doc
Скачиваний:
74
Добавлен:
21.03.2016
Размер:
84.99 Кб
Скачать

Тест для проверки знаний «Элементы программирования на языке «Си»

  1. Какие основные вопросы разрешает описание переменной в программе на языке «Си»? Как связано с понятием описания переменной понятие «область действия»?

  2. Поясните на примерах отличие понятия «объявление данного» от понятия «определение данного».

  3. Для чего в программе на языке «Си» может быть использован литерал '013'?

  4. Какой результат будет иметь выражение, вычисляемое в следующем фрагменте программы, и какого типа будет значение этого выражения?

inti= 11;

i/ (float) 2.0 * 2

  1. Для предложенного массива напишите фрагмент программы, обеспечивающий печать в поток stdout всех ненулевых элементов этого массива. При обнаружении в массиве нулевого элемента продолжать печать последующих элементов с новой строчки. Используете цикл for.

int[100];

  1. Что будет напечатано в потоке stdout в результате исполнения приводимого здесь фрагмента программы?

int i = 3;

int j = 100, k = 7;

unsigned int m = 15;

char s[10] = "пример", ch ='a';

float r = 1.5el;

fprintf (stdout, "%3x %ls %-7.*f", m, s, i, r);

  1. Сколько итераций приведенного ниже цикла будет выполнено?

int к;

do { k++; if(к == 0) break; } while( !k );

  1. Какой результат будет иметь выражение, вычисляемое в следующем фрагменте программы?

inti= 5,j= 2;

i+= (i++) +j;

  1. Определите функцию языка «Си», которая из строки, передаваемой ей в качестве первого параметра, удаляет все символы с чётными номерами «Хвост» строки подтягивается влево. Например, строка "строка" будет преобразована к виду: "срк". Функции для работы со строками из стандартной библиотеки использовать не разрешается. Напишите прототип строками из стандартной библиотеки использовать не разрешается. Напишите прототип спроектированной функции и пример обращения к ней.

  2. Что будет напечатано в потоке stdout в результате исполнения приводимого здесь фрагмента программы?

int f(int);

int g(void);

int i = 2,;

void main(void)

{

int i = 0;

fprintf (stdout, “%d\n”, f(i));

fprintf (stdout, “%d\n”, f(i));

fprintf (stdout, “%d\n”, g( ));

}

int f (int j)

{

g( );

return i = ++j;

}

int g (void)

{

static int j = 5;

returnj+= (i++);

}

  1. Что будет напечатано в потоке stdout в результате исполнения приводимого здесь фрагмента программы?

intа[3][3] = { { 1, 2, 3},

{ 4, 5, 6},

{ 7, 8, 9} };

int*ра [3];

ра[0] = а[2]; ра[1] = а[0]; ра[2] = а[1];

for (int i = 0; i <= 2; i++)

{

fprintf (stdout, "%d %d\n", *pa[i] , a[i][i]);

}

  1. Напишите фрагмент программы удаления из памяти элементов списка, содержащих 0 в поле data. Список формируется из элементов, имеющих тип LIST_ITEM. На начало списка указывает переменная Start. Остальные необходимые переменные определите самостоятельно.

typedefstructLIST-ITEM

{

intdata;

struct LIST-ITEM *next;

} LIST-ITEM;

LIST-ITEM *Start;