Егорова ЕВ. Программирование на языке высокого уровня
.pdf#include <stdio.h> main()
{char ch;
char str[20]="0101"; int i, num0=0, num1=0; for(i=0;ch=str[i];i++)
switch(ch) {
case '0': num0++; case '1': num1++;
}
printf("Всего цифр %d\n",num0+num1);
}
Варианты ответов
1.Всего цифр 0.
2.Всего цифр 3.
3.Всего цифр 4.
4.Всего цифр 5.
5.Всего цифр 6. Правильный ответ: 5
6 Пример теста по модулю 6 "Функции"
Вопрос Сколько раз будет напечатано слово "Привет" во время работы приведенной ниже
программы ?
#include <stdio.h> void hello(void); main()
{int i; for(i=0;i<3;i++)
hello();
}
void hello() {int i=0;
while(i++<2) printf("Привет\n");
}
Варианты ответов
1.2 раза.
2.3 раза.
3.4 раза.
4.5 раз.
5.6 раз.
Правильный ответ: 5
7 Пример теста по модулю 7 "Определения и описания - общая форма"
Вопрос Сколько классов памяти выделено в языке Си?
Варианты ответов
1.2 класса.
2.3 класса.
3.4 класса.
4.5 классов.
161
5. В языке Си можно работать с любым количеством классов памяти. Правильный ответ: 4
8 Пример теста по модулю 8 "Файлы"
Вопрос Есть ли ошибки в приведенном ниже фрагменте программы для работы с файлом ?
M
FILE *ved;
M
ved = fopen("ved.dat", "r"); if (ved = NULL)
{ printf ("/n Ошибка при открытии файла ved.dat"); exit(1); /* Завершение программы с кодом 1 */
}
<обработка файла> fclose(ved);
M
Варианты ответов
1.Данный фрагмент программы не содержит ошибок.
2.Есть ошибка при определении потокового указателя. Вместо оператора
"FILE *ved;" следует писать "file *ved;".
3.Есть ошибка при открытии файла. Вместо оператора "ved=fopen("ved.dat","r");"
следует писать "*ved = fopen("ved.dat", "r");".
4.Есть ошибка при открытии файла. Вместо оператора "ved=fopen("ved.dat","r");"
следует писать "ved = fopen('ved.dat', 'r');".
5.Есть ошибка при закрытии файла. Вместо оператора "fclose(ved);" следует писать "fclose(*ved);".
Правильный ответ: 1
162
Содержание |
|
Введение ........................................................................................................................................ |
3 |
1 ОСНОВЫ ПРОГРАММИРОВАНИЯ НА ЯЗЫКЕ СИ............................................................ |
4 |
1.1 НАЧАЛЬНЫЕ СВЕДЕНИЯ О ЯЗЫКЕ ПРОГРАММИРОВАНИЯ СИ.......................... |
6 |
1.1.1 Алфавит.......................................................................................................................... |
6 |
1.1.2 Идентификаторы.......................................................................................................... |
6 |
1.1.3 Функции. Структура программы на языке Си........................................................... |
6 |
1.1.4 Описание переменных.................................................................................................... |
7 |
1.1.5 Определение констант ................................................................................................. |
8 |
1.1.6 Операторы..................................................................................................................... |
8 |
1.1.7 Точка с запятой ............................................................................................................. |
8 |
1.1.8 Комментарии................................................................................................................. |
8 |
1.1.9 Препроцессор языка Си................................................................................................. |
8 |
1.1.10 Основные математические подпрограммы Турбо-Си ............................................ |
9 |
1.2 КОНСТАНТЫ..................................................................................................................... |
10 |
1.2.1 Целочисленные константы........................................................................................ |
10 |
1.2.2 Символьные константы ............................................................................................. |
11 |
1.2.3 Константы с плавающей точкой.............................................................................. |
12 |
1.2.4 Константы перечисляемого типа............................................................................. |
13 |
1.2.5 Строковые константы............................................................................................... |
13 |
1.3 ТИПЫ И ПЕРЕМЕННЫЕ.................................................................................................. |
14 |
1.3.1 Знаки.............................................................................................................................. |
14 |
1.3.2 Целые переменные....................................................................................................... |
14 |
1.3.3 Плавающая точка........................................................................................................ |
15 |
1.3.4 Перечисляемые типы.................................................................................................. |
15 |
1.3.5 Тип void (пустой) ......................................................................................................... |
16 |
1.3.6 Логические значения.................................................................................................... |
16 |
1.4 ПРЕОБРАЗОВАНИЕ ТИПОВ........................................................................................... |
17 |
1.4.1 Неявные преобразования типов................................................................................. |
17 |
1.4.2 Арифметические преобразования.............................................................................. |
17 |
1.4.3 Явные преобразования типов..................................................................................... |
17 |
1.5 ВВОД И ВЫВОД В СИ..................................................................................................... |
18 |
1.5.1 Стандартные потоки ввода/вывода......................................................................... |
18 |
1.5.2 Вывод............................................................................................................................. |
18 |
1.5.3 Ввод............................................................................................................................... |
21 |
1.5.4 Очистка потока .......................................................................................................... |
25 |
1.6 ЛАБОРАТОРНАЯ РАБОТА №1 "ЛИНЕЙНЫЙ ВЫЧИСЛИТЕЛЬНЫЙ ПРОЦЕСС"26 |
|
1.6.1 Линейный вычислительный процесс. Вычисление заданной величины................... |
27 |
1.7 КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 1.............................................................. |
30 |
2 ОПЕРАЦИИ И ОПЕРАТОРЫ................................................................................................. |
31 |
2.1 ОПЕРАЦИИ В СИ.............................................................................................................. |
31 |
2.1.1 Арифметические операции......................................................................................... |
31 |
2.1.2 Увеличение и уменьшение............................................................................................ |
31 |
2.1.3 Операция присваивания............................................................................................... |
32 |
2.1.4 Логические операции и операции отношения........................................................... |
33 |
2.1.5 Поразрядные (побитовые) операции......................................................................... |
33 |
2.1.6 Операции: приоритет и порядок вычислений........................................................... |
34 |
2.2 ОПЕРАТОРЫ УПРАВЛЕНИЯ......................................................................................... |
35 |
2.2.1 Выражения и операторы............................................................................................ |
35 |
2.2.2 Построение условий .................................................................................................... |
36 |
2.2.3 Разветвление................................................................................................................ |
36 |
2.2.4 Циклы............................................................................................................................ |
41 |
2.2.5 Оператор break............................................................................................................ |
45 |
2.2.6 Оператор continue ...................................................................................................... |
46 |
163
2.2.7 Оператор goto и метки операторов......................................................................... |
46 |
|
2.3 |
ЛАБОРАТОРНАЯ РАБОТА №2 "ОПЕРАТОРЫ УПРАВЛЕНИЯ"........................... |
47 |
2.3.1 Разветвляющийся вычислительный процесс. Неформализованные задачи.......... |
47 |
|
2.3.2 Циклический вычислительный процесс. Неформализованные задачи.................... |
51 |
|
2.4 |
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 2.............................................................. |
54 |
3 ПРОИЗВОДНЫЕ ТИПЫ (МАССИВЫ, СТРУКТУРЫ, ОБЪЕДИНЕНИЯ) ....................... |
55 |
|
3.1 |
МАССИВЫ......................................................................................................................... |
55 |
3.2 |
СТРУКТУРЫ...................................................................................................................... |
57 |
3.2.1 Определение структуры............................................................................................. |
57 |
|
3.2.2 Доступ к компонентам структуры.......................................................................... |
58 |
|
3.2.3 Пример работы со структурой................................................................................. |
59 |
|
3.4 |
ПЕРЕМЕННЫЕ СТРУКТУРЫ......................................................................................... |
60 |
3.5 |
ИНИЦИАЛИЗАЦИЯ.......................................................................................................... |
61 |
3.6 |
ЛАБОРАТОРНАЯ РАБОТА №3 "МАССИВЫ И СТРУКТУРЫ"................................. |
62 |
3.6.1 Массивы........................................................................................................................ |
62 |
|
3.6.2 Массив структур......................................................................................................... |
66 |
|
3.6.3 Массив переменных структур.................................................................................... |
70 |
|
3.7 |
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 3.............................................................. |
73 |
4 УКАЗАТЕЛИ ............................................................................................................................ |
74 |
|
4.1 |
ПОНЯТИЕ УКАЗАТЕЛЯ.................................................................................................. |
74 |
4.2 |
АДРЕСНЫЕ ОПЕРАЦИИ................................................................................................. |
74 |
4.3 |
АДРЕСНАЯ АРИФМЕТИКА ........................................................................................... |
76 |
4.4 |
ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ....................................................... |
76 |
4.4.1 Динамические переменные.......................................................................................... |
76 |
|
4.4.2 Создание динамических переменных ......................................................................... |
76 |
|
4.4.3 Доступ к динамическим переменным........................................................................ |
78 |
|
4.4.4 Освобождение выделенной памяти........................................................................... |
79 |
|
4.5 |
УКАЗАНИЕ НА СТАТИЧЕСКИЕ ПЕРЕМЕННЫЕ....................................................... |
79 |
4.6 |
УКАЗАНИЕ НА ПРОИЗВОЛЬНУЮ ЯЧЕЙКУ ПАМЯТИ............................................ |
79 |
4.7 |
УКАЗАТЕЛИ И СТРУКТУРЫ......................................................................................... |
80 |
4.8 |
УКАЗАТЕЛЬ НА ПУСТОЙ ТИП void............................................................................. |
80 |
4.9 |
ЛАБОРАТОРНАЯ РАБОТ №4 "ДИНАМИЧЕСКОЕ РАСПРЕДЕЛЕНИЕ ПАМЯТИ" |
|
.................................................................................................................................................... |
|
81 |
4.9.1 Динамическое распределение памяти и указатели.................................................. |
82 |
|
4.10 КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 4............................................................ |
85 |
|
5 МАССИВЫ, СТРОКИ И УКАЗАТЕЛИ................................................................................. |
86 |
|
5.1 |
СВЯЗЬ МЕЖУ УКАЗАТЕЛЯМИ И МАССИВАМИ...................................................... |
86 |
5.2 |
МАССИВЫ, СТРОКИ, УКАЗАТЕЛИ ............................................................................. |
88 |
5.2.9 Массивы указателей. Массивы символьных строк.................................................. |
99 |
|
5.3 |
МНОГОМЕРНЫЕ МАССИВЫ И УКАЗАТЕЛИ.......................................................... |
100 |
5.3.1 Одномерные массивы и указатели........................................................................... |
100 |
|
5.3.2 Двумерные массивы и указатели ............................................................................. |
100 |
|
5.3.3 Многомерные массивы и указатели......................................................................... |
101 |
|
5.4 |
ЛАБОРАТОРНАЯ РАБОТА № 5 "РАБОТА СО СТРОКАМИ".................................. |
102 |
5.4.1 Обработка текстовой информации. Работа со строками................................. |
102 |
|
5.5 |
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 5............................................................ |
106 |
6 ФУНКЦИИ.............................................................................................................................. |
107 |
|
6.1 |
ОПРЕДЕЛЕНИЕ И ОПИСАНИЕ ФУНКЦИИ.............................................................. |
107 |
6.1.1 Определение функции................................................................................................ |
107 |
|
6.1.2 Описание функции...................................................................................................... |
108 |
|
6.2 |
УПРАВЛЕНИЕ ВИДИМОСТЬЮ ФУНКЦИЙ.............................................................. |
109 |
6.3 |
ВЫЗОВ ФУНКЦИЙ......................................................................................................... |
110 |
6.4 |
ПЕРЕДАЧА ПАРАМЕТРОВ........................................................................................... |
110 |
6.5 |
ПЕРЕДАЧА МАССИВОВ В КАЧЕСТВЕ ПАРАМЕТРОВ......................................... |
111 |
164
6.6 |
УКАЗАТЕЛЬ НА ФУНКЦИЮ. ПЕРЕДАЧА ФУНКЦИЙ В КАЧЕСТВЕ |
|
ПАРАМЕТРОВ....................................................................................................................... |
115 |
|
6.7 |
СВЯЗЬ ФУНКЦИЙ ИЗ РАЗНЫХ ФАЙЛОВ................................................................. |
117 |
6.8 |
ЛОКАЛЬНЫЕ И ГЛОБАЛЬНЫЕ ДАННЫЕ................................................................. |
117 |
6.9 |
ЛАБОРАТОРНАЯ РАБОТА №6 "ПОДПРОГРАММЫ В СИ" ................................... |
117 |
6.9.1 Организация функций................................................................................................ |
118 |
|
6.9.2 Передача массивов в качестве параметров........................................................... |
121 |
|
6.10 КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 6.......................................................... |
125 |
|
7 ОПРЕДЕЛЕНИЯ И ОПИСАНИЯ - ОБЩАЯ ФОРМА........................................................ |
126 |
|
7.1 |
ТИПЫ ДАННЫХ............................................................................................................. |
126 |
7.1.1 Тип unsigned char ...................................................................................................... |
126 |
|
7.1.2 Директива typedef ...................................................................................................... |
127 |
|
7.2 |
ОПИСАТЕЛИ В ОПРЕДЕЛЕНИЯХ И ОПИСАНИЯХ................................................ |
127 |
7.3 |
КЛАССЫ ПАМЯТИ ........................................................................................................ |
128 |
7.3.1 Автоматические переменные................................................................................... |
129 |
|
7.3.2 Регистровые переменные ......................................................................................... |
129 |
|
7.3.3 Статические переменные (локальные) ................................................................... |
130 |
|
7.3.4 Глобальные переменные............................................................................................ |
130 |
|
7.3.5 Выбор класса памяти................................................................................................ |
132 |
|
7.4 |
СИНТАКСИЧЕСКИЕ ОТЛИЧИЯ ОПРЕДЕЛЕНИЙ И ОПИСАНИЙ........................ |
133 |
7.5 |
ИНИЦИАЛИЗАТОРЫ..................................................................................................... |
133 |
8 ФАЙЛЫ................................................................................................................................... |
141 |
|
8.1 |
ПОТОКИ (stream)............................................................................................................. |
141 |
8.2 |
ОПРЕДЕЛЕНИЕ ПОТОКА............................................................................................. |
142 |
8.3 |
СТАНДАРТНЫЕ ПОТОКИ............................................................................................ |
142 |
8.4 |
НЕСТАНДАРТНЫЕ ПОТОКИ....................................................................................... |
143 |
8.4.1 Открытие файла (потока) ...................................................................................... |
143 |
|
8.4.2 Закрытие потока....................................................................................................... |
146 |
|
8.4.3 Очистка потока ........................................................................................................ |
146 |
|
8.4.4 Обработка (чтение и запись) нестандартных текстовых файлов.................... |
146 |
|
8.5 |
ЛАБОРАТОРНАЯ РАБОТА №8 "ФАЙЛЫ" ................................................................. |
154 |
8.5.1 Файлы. Список заданий............................................................................................. |
154 |
|
8.6 |
КОНТРОЛЬНЫЕ ВОПРОСЫ ПО МОДУЛЮ 8............................................................ |
157 |
Список использованных источников ...................................................................................... |
158 |
|
Приложение................................................................................................................................ |
159 |
|
Примеры тестов контроля знаний по модулям....................................................................... |
159 |
165