Дается формальное изложение всех конструкций языка программирования C. Материал проиллюстрирован примерами и задачами.
Список вопросов:
- # Чем обеспечивается надежность программ, написанных на языке Си?
- # Где, когда и кем был создан язык Си?
- # Можно ли на языке Си написать компилятор с языка Си при условии, что в наличии уже имеется другой компилятор с языка Си?
- # Какого типа язык Си?
- # Есть ли у языка Си собственный редактор?
- # Чем определяется мобильность языка Си?
- # Укажите ошибки и несоответствия стандартам ANSI C в следующем фрагменте: include studio.h void main ()
- # Что было бы напечатано, если бы данные операторы являлись частью полной программы? int n; n=5; printf(«%d+%d=%d», n, n, n+n);
- # Что будет напечатано? printf(«Что ?n мешает/n вам работать n»);
- # Будет ли работать программа и если нет — в чем ошибки? #include int main()
- # Укажите строки, не содержащие ошибок синтаксиса:
- # Каким символом должен заканчиваться оператор?
- # Какие символы могут использоваться для комментариев?
- # Какие имена правильно написаны на языке Си?
- # Какие имена переменных правильно написаны на языке Си?
- # Какие классы памяти бывают?
- # Для чего используется регистровая память?
- # К каким переменным неприменима операция получения адреса . Какой вариант макроопределения приведет к ответу 9 в результате вызова x = NEW(j
- # В чем опасность применения макрофункций?
- # Как определить символьную константу DOG директивой #define?
- # Где может появиться директива #define?
- # Что лучше использовать: макроопределение или функцию?
- # Каково назначение препроцессора?
- # Где имеет силу даваемое определение директивы #define?
- # Где может находиться программная строка #include?
- # Из каких стадий состоит препроцессорная обработка?
- # Какие утверждения верны?
- # Как задается пустая директива?
- # Каковы действия обработки директив препроцессора?
- # Какие массивы можно инициализировать?
- # Как получить адрес переменной?
- # Какие операции можно применять для переменных типа указатель?
- # Какие способы инициализации массива внутри функции правильны?
- # Как получить значение, ссылаясь на указатель?
- # Какие операции нельзя применять для переменных типа указатель?
- # Какие способы инициализации неправильны?
- # Пусть описан массив int a[ ]. Можно ли обращаться к массиву только по имени, без указания индекса?
- # Пусть есть двумерный массив. Какой адрес записан верно?
- # Могут ли быть элементы массива функциями?
- # Что возвращает оператор sizeof?
- # Какого типа могут быть элементы массива?
- # Что означает функция malloc?
- # Какая связь существует между указателями и массивами?
- # Какое утверждение относительно указателя верно?
- # Функция calloc:
- # Что понимают в языке Си под строками?
- # Как создать строковую константу?
- # Какой функцией можно прочитать строку из входного потока?
- # Какая функция возвращает длину строки?
- # Как инициализировать внутри блока массив «Nina»?
- # Какой функцией можно записать строку в стандартный поток вывода stdout?
- # Какой файл нужно включить в программу для обработки строк?
- # Какая функция может сцепить две строки?
- # Какой функцией можно прочитать строку из стандартного файла stdin?
- # Как можно скопировать строку s2 в строку s1?
- # Как сохраняются в памяти строковые константы?
- # Как сообщить компилятору размер массива символьных строк?
- # Как можно найти в строке первое вхождение определенного символа?
- # В какой памяти хранится строковая константа?
- # Какой заголовочный файл содержит данные о строках?
- # Как можно найти в строке последнее вхождение определенного символа?
- # Что является указателем на хранящуюся в памяти строковую константу?
- # Какую функцию нужно использовать чтобы присоединить к одной строке заданное количество символов от другой строки?
- # Какой функцией можно выделить из строки лексемы, разделенные любым из множества символов, входящих во вторую заданную строку?
- # Как обратиться к полям структуры student?
- # Как объявить указатель на структуру?
- # Как обратиться к элементу массива структур?
- # Как передать в функцию f указатель на структуру healt_record?
- # Как обратиться к элементу структуры при помощи указателя?
- # Какое служебное слово у объединения?
- # Для чего используется спецификатор typedef?
- # Какие данные объединяет структура?
- # Чем отличается typedef от #define?
- # Чем отличается структура от массива?
- # Для чего используются поля битов в структуре?
- # Что называется переменной структурой?
- # Может ли функция входить в структуру?
- # Каково назначение функции fseek( )?
- # Каково назначение потоковой функции fwrite( )?
- # Какие функции объявлены в ?
- # Какие функции объявляются в заголовке ?
- # Что понимается под буферизацией?
- # Какие функции объявляются в заголовке ?
- # При построении целочисленной матрицы А(15х15) из какого файла берется функция clrscr( )?
- # Как еще можно инициализировать целые n, x, y, k при построении матрицы А(15х15)?
- # Можно ли создать список, все поля которого являются указателями?
- # На что проверяется условие в цикле while(ch!=EOF)?
- # Может ли struct List при создании списка иметь поле int mas[15 ][15]?
- # Что понимается под модульным программированием?
- # Что называется меткой?
- # Что понимается под простым типом?
- # Что понимается под основным циклом?
- # Что понимают под термином «язык»?
- # Что понимаем под линейной программой?
- # Каким типом будете пользоваться для хранения и обработки данных о количестве жителей Новосибирска?
- # Какой вариант синтаксически правильный?
- # Каким типом будете пользоваться для хранения и обработки данных о количестве членов вашей семьи?
- # Укажите неправильные варианты
- # Какой тип наиболее подойдет для хранения и обработки данных о количестве жителей Москвы?
- # Если значение превышает наибольшее машинное целое со знаком, то оно представляется
- # Какие из значений констант написаны верно?
- # Слово является естественным элементом памяти ЭВМ, какие размеры слов могут использоваться в различных типах ЭВМ?
- # Как можно представить данные при вычислении с двойной точностью?
- # В какой поток помещается результат работы препроцессора?
- # Что понимают в языке Си под символьной строкой?
- # Директиву #define можно использовать для определения символьных и строковых констант, какое использование верно?
- # Какие управляющие символьные константы описаны верно?
- # Какой символ продолжает макроопределение на вторую строку?
- # Что такое операнд в языке Си?
- # Каковы значения целых x и y в выражении y=3+2*(x=7/2);?
- # Каково значение целой переменной x=(12+6)/2*3?
- # Каково значение int x после выполнения выражения x=(int)3.8+3.3;?
- # Какова последовательность выполнения операций: * (умножение), /,%?
- # Каково значение целых переменных x и y после выполнения y=x=(2+3)/4;?
- # Каково значение x после выполнения оператор-выражений x=0; x++;?
- # Какая из операций написана неверно?
- # Что будет выведено на печать в результате работы оператора printf(«%d»,100+65)?
- # Над какими типами возможна унарная операция ++?
- # Для чего используется унарная операция минус?
- # Как округляется результат деления целых чисел?
- # Над какими типами возможна унарная операция — ?
- # Что понимается под усечением в языке Си?
- # Каков порядок вычисления операндов операции сравнения?
- # Есть ли ошибка в записи printf(«%2.2e то же самое, что и %2.2fn», 1201.0, 1201.0)?
- # Что такое выражение в языке Си?
- # Как сформировать составной оператор?
- # Есть ли ошибка в фрагменте программы: char name[30] =»Интернет-Университет»; printf(«%c Информационных Технологийn», name);
- # Что такое операнд?
- # Как формируется оператор while?
- # Есть ли ошибки в фрагменте программы: int age; scanf(«%f», age);?
- # Как вычисляется значение выражения?
- # Как вычисляются выражения со смешанными типами данных?
- # Что называется простейшим выражением?
- # Для чего используется функция printf( )?
- # Как можно напечатать данные таблицей?
- # Что называется составным оператором?
- # В каких случаях используется составной оператор?
- # Что называется блоком в языке Си?
- # Входят ли функции printf() и scanf() в стандартную библиотеку языка Си?
- # Зачем применяют отступы от поля в строках?
- # Будут ли преобразованы операнды, и если — да, то к какому типу, во фрагменте программы:
- # Задан ряд имен типов: int, double, float, char, short, long. Как правильно составить последовательность имен типов, упорядоченных от высшего типа к низшему?
- # Какие типы могут быть явно преобразованы в тип void?
- # Дано описание int i;. Верен ли синтаксически фрагмент выражения (char)i, и что означает запись?
- # Что делает применение ключевого слова unsigned c рангом соответствующего типа данных со знаком?
- # Почему понижение типа может привести к затруднениям?
- # Зачем нужны преобразования типов?
- # Какой процесс называется повышением типа?
- # При вычислении выражения со смешанными типами данных с помощью автоматического преобразования и явного преобразования типов могут ли быть разные результаты?
- # В какой тип может быть неявно преобразован char?
- # К какому типу преобразуется операнд арифметического выражения, если хотя бы один из операндов имеет тип double?
- # Каким образом может быть преобразовано выражение E явно?
- # В какой тип может быть неявно преобразован int?
- # К какому типу преобразуется операнд арифметического выражения, если хотя бы один из операндов имеет тип long?
- # В какой тип можно преобразовать тип void ?
- # В какой тип может быть неявно преобразован double?
- # К какому типу преобразуется операнд арифметического выражения, если хотя бы один из операндов имеет тип unsigned?
- # Предположим , что даны следующие определения и описания int i; char *pc, *name; char *my_calloc( ), *my_strcpy( ); Какие явные преобразования будут верны?
- # Что делает функция getchar( )?
- # Какое из выражений правильное?
- # Какая из приведенных команд позволит направить данные из файла words программе get_put так, как будто они были введены в интерактивном режиме?
- # Что делает функция putchar(ch)?
- # Что произойдет в результате выполнения оператора putchar(‘