- •Максимов м.Н.
- •3. Скалярные типы и выражения 51
- •5. Адреса, указатели, массивы, память 96
- •6. Функции, указатели, ссылки 133
- •7 Структуры, объединения и классы 171
- •Введение
- •Модуль 1
- •1.2. Этапы подготовки исполняемой программы
- •1.3. Системы счисления
- •Представление чисел от 0 до 16 в разных системах счисления
- •2.1. Общие сведения о программах, лексемах и алфавите
- •2.2. Идентификаторы и служебные слова
- •2.3. Типы данных
- •2.4. Константы
- •Типы, выбираемые компилятором по умолчанию для целых констант
- •ZzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzТаблица 2.3 Данные вещественного типа
- •2.5. Операции
- •2.6. Разделители
- •3. Скалярные типы и выражения
- •3.1. Определение и описание переменных
- •3.2. Явное и неявное преобразование типа
- •Проектные задания
- •Тесты рубежного контроля
- •Квалиметрическая оценка
- •Список литературы
- •Модуль 2
- •4.1. Последовательно выполняемые операторы
- •4.2. Операторы выбора
- •If( выражение) оператор_1 else оператор_2
- •4.3. Операторы цикла
- •4.4. Операторы передачи управления
- •If (условие) break;
- •4.5. Примеры численного моделирования цепей первого порядка
- •5. Адреса, указатели, массивы, память
- •5.1. Указатели и адреса объектов
- •5.2. Адресная арифметика, типы указателей и операции над ними
- •5.3. Свойства указателя типа void*
- •5.4. Свойства объекта cout
- •5.5. Массивы и указатели
- •5.6. Многомерные массивы, массивы указателей, динамические массивы
- •Проектные задания к модулю
- •Тесты рубежного контроля
- •Квалиметрическая оценка
- •6.2. Функции с переменным количеством параметров
- •6.3. Рекурсивные функции
- •6.4. Подставляемые (инлайн-) функции
- •6.5. Функции и массивы
- •6.6. Указатели на функции
- •Void f3(float) (...) // Определение функции
- •Int* f4(char *){...} // Определение функции
- •Проектные задания
- •Тесты рубежного контроля
- •Квалиметрическая оценка
- •Модуль 4
- •7 Структуры, объединения и классы
- •7.1 Структура как тип и совокупность данных
- •7.3 Объединения разнотипных данных
- •7.4 Деревья
- •7.5 Битовые поля структур и объединений
- •7.6 Компонентные функции структурированных объектов
- •7.7 Расширение действия (перегрузка) стандартных операций
- •7.8 Доступ к компонентам структурированного объекта
- •7.9 Классы и шаблоны
- •Проектные задания
- •Тесты рубежного контроля
- •Квалиметрическая оценка
- •Список литературы
- •Приложение 1
- •Приложение 2 Стандартная библиотека функций языка Си
Проектные задания
Набрать и отладить прогграмму 1.1. Модифицировать программу так, чтобы по центру экрана выводилось Фамилия И.О. учащегося.
Переведите в двоичный и шестнадцатеричный вид год Вашего дня рождения. Для проверки полученного результата осуществите обратный перевод с двоичной и шестнадцатеричной системы в десятичную.
Запишите свою фамилию, используя управляющие символы ESC-последовательности и ASCII коды таблицы 1251 – MS Windows.
В выражении (3+4>5 && 3+5 > 4 && 4+5>3) содержится 8 операций. Пометьте цифрами, в какой последовательности будут выполняться эти 8 операций. Найдите вручную, чему равно значение выражения (3+4>(5 && 3)+5 > 4 && 4+5>3). Объясните почему
Приведите примеры явного и неявного преобразования типов данных при выполнении арифметических операций и операции присваивания.
Напишите функцию, вычисляющую модуль, и функцию, вычисляющую аргумент комплексного числа.
Набрать и отладить программу 2.7, выполнить её в пошаговом режиме. Выписать значения фактических параметров при вызове функций
Набрать и отладить программу 2.8. Модифицировать её так, чтобы найти значения sin(π/4), cos(π/4) и tg(π/4)
Набрать и отладить программу 3.1, выполнить её в пошаговом режиме. Рассказать какой тип, класс памяти, продолжительность существования, сфера действия имени, видимость и тип компоновки имеют все переменные в данной программе.
Набрать и отладить программу 3.2. Убедится в том, какие значения принимают глобальные переменные с внутренней и внешним типом компоновки.
Тесты рубежного контроля
Какие типы данных, из перечисленных ниже, являются вещественными?
double
Int
Long
Какие типы данных из перечисленных ниже являются целыми?
Long
Float
Long double
сколько байтов занимает тип long
1
4
8
В каком диапазоне могут изменяться значения типа char?
0…255
-128…127
Укажите, какая из предложенных констант является константой типа double
1
1.L
1.
Укажите, какая из предложенных констант, является константой типа int
2.
2L
2
Укажите, какая из предложенных констант, является строковой.
‘A’
“A”
Какой из управляющих символов является символом перевода каретки на новую строку
\t
\n
\r
После компиляции C программы компилятор создаёт файлы с расширением:
*.exe
*.lib
*.obj
Выберите, какой из идентификаторов записан неверно
1Array
temp
obj
Унарная операция – это операция с
двумя операндами
тремя операндами
одним операндом
Какой из предложенных ниже символов не является операцией в языке Си++
( )
,
#
Чему равно значение выражения 3&7
1
3
7
Чему равно значение выражения 3&&7
1
3
7
Чему равно значение выражения 3|7
1
3
7
Чему равно значение выражения 3||7
1
3
7
Чему равно значение выражения 15%8
1
3
7
Чему равно значение переменной k = 1; k*=3+4;
1
3
7
В какой последовательности выполняются операции в следующем выражении -1+2*3
- + *
- +
+ -
- * +
Что такое описание функции
тип имя_функции(список формальных параметров);
тип имя_функции(список формальных параметров){тело функции}
имя_функции(список фактических параметров );
Что такое определение функции
тип имя_функции(список формальных параметров);
тип имя_функции(список формальных параметров){тело функции}
имя_функции(список фактических параметров );
Что такое вызов функции
тип имя_функции(список формальных параметров);
тип имя_функции(список формальных параметров){тело функции}
имя_функции(список фактических параметров );
Сколько в вызове функции fun(fun1(3)+fun2(5), 2+fun4()); фактических параметров
2
3
4
Поясните, с помощью какого оператора функция возвращает значение в точку вызова.
Goto
Break
return
Какой тип возвращаемого в точку вызова значения функции int fun( double, long)?
int
double
long
Чем является запись extern int k;
определениеv переменной k
описанием переменной k
Функция с определением void fun(){static int k=0; k++;} вызывается три раза. Чему равно значение переменной k после третьего вызова
1
2
3
Функция с определением void fun(){int k(0); k++;} вызывается три раза. Чему равно значение переменной k после третьего вызова
1
2
3
Какие переменные называются локальными?
переменные, определённые в блоке или в списке формальных параметров функции.
переменные, определённые за пределами блока
, Какие переменные называются глобальными?
переменные, определённые в блоке или в списке формальных параметров функции.
переменные, определённые за пределами блока
Где содержатся описания библиотечных функций
в библиотеке
в заголовочном файле
в настройках проекта
Какое значение будет иметь переменная k после выполнения следующих двух строк программы float k = 3.14; long g = long(k);
3
3.14
Какое типу будет пренадлежать переменная k после выполнения следующих двух строк программы float k = 3.14; long g = long(k);
long
float
Чему равно значение переменной f после выполнения следующих трёх строк программы int a =1, b = 2; double f = 1; f = a/b*f+a*f/b;
1
0.5
2
Чему равно значение переменной f после выполнения следующей строк программы double f = 1/2 * 2;
0
1
2
Таблица правильных ответов
№ Вопроса |
Правильный ответ |
№ Вопроса |
Правильный ответ |
1 |
a |
19 |
d |
2 |
a |
20 |
a |
3 |
b |
21 |
b |
4 |
b |
22 |
c |
5 |
c |
23 |
a |
6 |
c |
24 |
c |
7 |
b |
25 |
a |
8 |
b |
26 |
b |
9 |
c |
27 |
c |
10 |
a |
28 |
a |
11 |
c |
29 |
a |
12 |
c |
30 |
b |
13 |
b |
31 |
b |
14 |
a |
32 |
b |
15 |
c |
33 |
b |
16 |
a |
34 |
b |
17 |
c |
35 |
a |
18 |
c |
|
|