
- •1. Информатика как наука.
- •2. Информация в материальном мире. Свойства информации.
- •3. Представление информации в эвм.
- •4. Системы счисления. Перевод чисел в различные системы счисления.
- •6. Представление целых положительных и отрицательных чисел
- •7. Истории развития вычислительной техники
- •8. Обшая структура и принцип работы эвм
- •9. Классификация эвм
- •10. Микропроцессор. Принцип работы.
- •11. Память. Виды памяти.
- •12. Устройства ввода-вывода данных.
- •13. Операционные системы. Общие понятия.
- •14. Классификация операционных систем.
- •15. Основы работы с операционной системой Windows.
- •16. Работа с файлами и папками в os Windows. Общие положения.
- •17. Операционная система Unix. Общие понятия.
- •Часть 1 Работа в среде
- •18. Текстовый редактор Word. Набор, редактирование и форматирование текста
- •19. Возможности и технология работы в табличном процессоре мs Ехсеl.
- •20. Виды информационно-вычислительных сетей.
- •21. Техническое обеспечение информационно-вычислительных сетей.
- •22. Интернет: теоретические основы.
- •23. Принципы работы службы www
- •24. Принципы работы службы dns.
- •25. Принципы работы службы fтр.
- •26. Принципы работы службы e-mail
- •27. Языки программирования.
- •28. Компилятор и интерпретатор.
- •29. Этапы создания программы на языке с.
- •30. Структура программы на языке с.
- •Дополнительный пример
- •31. Среда программирования и алгоритмы.
- •32. Создание блок-схемы алгоритма решения задачи.
- •34. Целочисленные типы данных языка с.
- •35. Вещественные типы данных языка с.
- •36. Математические функции
- •37. Ввод/Вывод в с. Стандартные потоки
- •38. Использование функции scanf(). Спецификаторы преобразования. Модификаторы.
- •39. Использование функции printf(). Спецификаторы преобразования. Модификаторы.
- •40. Печать с заданием ширины поля и точности представления.
- •41. Сокращенный оператор ветвления if... Составной оператор.
- •42. Полный оператор ветвления if... Else. Составной оператор.
- •43. Оператор выбора switch() Оператор bгеак.
- •44. Бинарные логические операции. Операции сдвига.
- •45. Бинарные логические операции. Применение, масок. Включение и отключение битов.
- •46. Операторы цикла while … Операторы break, continue.
- •47. Операторы цикла for … Операторы break, continue.
- •48. Операторы цикла do … while Операторы break, continue
- •49. Вложенные циклы.
- •50. Одномерные массивы. Объявление. Инициализация.
- •51. Ввод-вывод одномерных массивов.
- •52. Поиск наибольшего и наименьшего значения массива и их индексов в одномерном массиве.
- •53. Двумерные массивы. Объявление. Инициализация.
- •54. Ввод-вывод двумерных массивов.
- •60. Односимвольные функции ввода/вывода: getchar() и putchar(). Перенаправление ввода/вывода.
- •61. Символы. Библиотека символьных функций и ctype.H.
- •62. Строки. Предоставление строки в памяти.
- •63. Ввод-вывод строк с использованием функций puts(), fputs(), printf(), gets(), fgets(), scanf().
- •64. Обработка строк. Библиотека строковых функций string.H.
44. Бинарные логические операции. Операции сдвига.
а) &&,|| И, ИЛИ.
Логические бинарные операции объединяют выражения сравнения со значениями истина (!=0) и ложь (==0). Результат операций приведён в следующей таблице
Первый операнд |
Второй операнд |
&& |
|| |
Истина |
истина |
1 |
1 |
Истина |
ложь |
0 |
1 |
Ложь |
истина |
0 |
1 |
Ложь |
ложь |
0 |
0 |
б)Эти операции определены только для целочисленных операндов.
<< Операция левого сдвига.
Операндами могут быть выражения интегрального типа. Значением выражения является битовое представление левого операнда, сдвинутое влево на количество разрядов, равное значению правого операнда. При левом сдвиге на i разрядов первые i разрядов левого операнда теряются, последние i разрядов левого операнда заполняются нулями.
>> Операция правого сдвига.
Операндами могут быть выражения интегрального типа. Значением выражения является битовое представление левого операнда, сдвинутое вправо на количество разрядов, равное значению правого целочисленного операнда. При правом сдвиге на i разрядов первые i разрядов левого операнда заполняются нулями, если левый операнд имеет беззнаковый тип или имеет неотрицательное значение, в противном случае значение определяется реализацией. Последние i разрядов левого операнда теряются.
45. Бинарные логические операции. Применение, масок. Включение и отключение битов.
Биты которые нужно включить устанавливаем в маске в 1-цу, а остальные в 0. Применяем операцию побитового сложения(|).
Биты которые нужно выключить устанавливаем в маске в 0, а остальные в 1. Применяем операцию побитового умножения(&).
Биты которые нужно инвертировать устанавливаем в 1, а остальные в 0. Применяем операцию побитовое исключающее или(^).
49.Вложенные циклы.
Цикл – это управляющая конструкция предназначенная для организации многократного повторения оператора или блока.
Цикл с предусловием(while):
x=0;
While(условие){
Тело цикла
}
Цикл с постусловием (do….while):
do{
тело цикла
}while(условие);
Отличие while от do….while:
Т.к. условие в цикле while() происходит в начале он может не выполниться не разу.
А в цикле do….while() условие проверяется в конце и цикл выполняется гарантировано хотя бы один раз.
Цикл со счётчиком for():
For(инициализация; условие; приращение)
Тело цикла
Особенности:
Один раз в начале выполнения цикла выполняется секция инициализации.
Проверка условия выполняется каждой операцией цикла.
После выполнения каждой итерации цикла перед проверкой условия выполняется секция приращения упровляющей переменной.
46. Операторы цикла while … Операторы break, continue.
Цикл for выполняет последовательность действий определенное количество раз. В том случае, когда неизвестно, сколько раз понадобится выполнить эту последовательность действий используется цикл while (цикл с предусловием).
Ниже представлен листинг программы, производящей перевод километров в мили и выводящей результат в виде таблицы.
Листинг 3.2
#include <stdio.h>
#define SCALE 0.6214
int main(void){
double kilometres, miles;
printf("Таблица перевода километров в мили\n");
printf("Километры Мили\n");
printf("----------------------\n");
kilometres=1.0;
while (kilometres<=20){
miles=SCALE*kilometres;
printf("%7.1f %7.2f\n", kilometres, miles);
kilometres+=1.0;
}
return 0;
}
С помощью директивы препроцессора define вводится множитель для перевода SCALE. Сначала печатается шапка таблицы, а затем, в цикле while – и сама таблица. Цикл с предусловием напоминает цикл for. Он содержит условие продолжения цикла, но не содержит ни инициализирующих, ни инкрементирующих выражений. До тех пор, пока выполняется условие выполнения цикла (выражение в скобках справа от слова while), исполнение цикла продолжается. В данной программе цикл будет выполняться до тех пор, пока переменная kilometres будет меньше или равна 20.
Несмотря на отсутствие инициализирующего значения, нужно инициализировать переменную цикла до начала исполнения тела цикла. Тело цикла должно содержать оператор, изменяющий значение переменной цикла, иначе цикл будет бесконечным!!! Таким оператором является kilometres+=1.0; В языке С имеются дополнительные операции присваивания: *=, /=, +=, -=, %=. В записи каждой такой операции имя переменной стоит слева от знака, а выражение – справа. Переменной присваивается новое значение, равное ее старому значению, скорректированному на величину выражения, стоящего справа. Результат зависит от используемой операции, например:
alpha+=20 |
То же самое, что и alpha=alpha+20 |
betta-=2 |
То же самое, что и betta=betta-2 |
gamma*=3 |
То же самое, что и gamma=gamma*3 |
thetta/=3.67 |
То же самое, что и thetta=thetta/3.67 |
unique%=4 |
То же самое, что и unique=unique%4 |
В примерах таблицы использовались простые числа, но можно использовать и более сложные выражения:
y*=4*s+12*x
то же самое, что и
y=y*(4*s+12*x)
Дополнительные операции присваивания обладают таким же низким приоритетом, что и операция =, т. е. меньшим, чем * или –.
Этими формами пользоваться необязательно. Однако они компактнее и более наглядны.