
- •1.Структура пэвм. Размещение данных и программ в памяти пэвм. Биты, байты. Программа, машинная команда
- •2.Состав программного обеспечения технических средств. Среда программирования
- •6. Компоновка программных модулей и запись программной кодировки в целевое устройство.
- •10. Понятие алгоритмов и способы их описания
- •2.5. Графическое описание алгоритма
- •20. Вещественные типы данных (с плавающей точкой).
- •Int I; // целый тип
- •29. Оператор выбора альтернатив switch
- •33. Побитовые логические операции, операции над битами
- •34. Операции сравнения. Логические операции. Унарные операции Операции сравнения
- •39. Стандартная библиотека языка си. Вывод данных
- •41. Ввод-вывод потоками
- •42. Препроцессор. Директивы #include, #define, #if...
- •45. Структуры. Вложенные структуры
- •Int day, month, year;
- •52.Операции typedef и sizeof.
- •Void f1(int m[3][4]) {
- •70. Интерфейс программирования jtag
33. Побитовые логические операции, операции над битами
В СИ предусмотрен набор операций для работы с отдельными битами слов. Эти операции нельзя применять к переменным вещественного типа (float, double). Перечень операций над битами и их обозначения:
~ - дополнение (унарная операция); инвертирование (одноместная операция);
& - побитовое И - конъюнкция;
| - побитовое включающее ИЛИ - дизъюнкция;
^ - побитовое исключающее ИЛИ - сложение по модулю 2;
>> - сдвиг вправо;
<< - сдвиг влево.
Пары символов (>>,<<) разделять нельзя. Общий вид операции инвертирования:
~ <выражение>
Остальные операции над битами имеют вид:
<выражение1> <знак_операции> <выражение2>
Операндами операций над битами могут быть только выражения, приводимые к целому типу. Операции (~, &, |, ^) выполняются поразрядно над всеми битами операндов
34. Операции сравнения. Логические операции. Унарные операции Операции сравнения
== - равно или эквивалентно;
!= - не равно;
< - меньше;
<= - меньше либо равно;
> - больше;
>= - больше либо равно. Пары символов соответствующих операций разделять нельзя. Общий вид операций отношений:
<выражение1> <знак_операции> <выражение2> Общие правила: - операндами могут быть любые базовые (скалярные) типы; значения операндов после вычисления перед сравнением преобразуются к одному типу; - результат операции отношения - целое значение 1, если отношение истинно, или 0 в противном случае. Следовательно, операция отношения может использоваться в любых арифметических выражениях Перечень логических операций в порядке убывания относительного приоритета и их обозначения:
! - отрицание (логическое НЕТ);
&& - коньюнкция (логическое И);
|| - дизьюнкция (логическое ИЛИ).
Общий вид операции отрицания:
!<выражение>
Общий вид операций коньюнкции и дизьюнкции
<выражение1> <знак_операции> <выражение2>
35. Операция присваивания. Сокращенная запись операции присваивания Операция, обозначаемая знаком =, называется операцией присваивания. Данная операция является бинарной, имеет два операнда. Например, X=Y. Операнд слева от знака может быть только переменной, объектом. Операнд справа может быть выражением, т.е. записью в которой используются знаки других операций. Как правило, операция = является главной операцией, образующей оператор присваивания. Имеется интересная особенность этой операции. Она допускает цепочку присваиваний. Например, X=Y=Z=10;
In /= 33; // Краткая форма записи оператора присваивания
In = In/33; // Полная форма записи оператора присваивания
36. Стандартная библиотека языка Си. Математические функции В любой программе кроме операторов и операций используются средствабиблиотек, входящих в среду программирования,которые облегчают создание программ.
Часть библиотек - стандартизована и поставляетсяс компилятором. В стандартную библиотеку входят функции, макросы, глобальные константы. Это файлы с расширением *.h, хранящиеся в папке include.
sin(x) - синус (аргумент в радианах);
cos(x) - косинус (аргумент в радианах);
tan(x) - тангенс (аргумент в радианах);
asin(x) - арксинус (результат в радианах);
acos(x) - арккосинус (результат в радианах);
atan(x) - арктангенс (результат в радианах);
sinh(x) - гиперболический синус;
cosh(x) - гиперболический косинус;
tanh(x) - гиперболический тангенс;
log10(x) - десятичный логарифм;
pow10(x) - возведение числа 10 в степень x;
log(x) - натуральный логарифм;
exp(x) - экспонента;
sqrt(x) - квадратный корень;
pow(x,y) - возведение x в степень y;
fabs(x) - абсолютная величина для double;
abs(x) - абсолютная величина для int.
37. Строки в языке Си. Функции работы со строками. В языке C, в отличие от языка Pascal, отсутствует специальный строковый тип данных. Строка представляет собой последовательность (одномерный массив) из одного или более символов, последним из которых является нулевой символ таблицы ASCII '\0'. Это единственный вид строки, определенный в C.
Язык C поддерживает строковые константы, называемые строковыми литералами. Строковый литерал – это любая последовательность символов, заключенная в двойные кавычки ("…"). В конце литерала компилятор автоматически добавляет нулевой символ.
Не следует путать понятия строки и символа. Символьная константа заключается в одинарные кавычки, а строковая – в двойные.
Например, 'c' – символьная константа, а "c" – строковая константа.
Литерал можно задать с помощью директивы препроцессора define:
# define STR "…"
Строковая переменная может быть сформирована как одномерный массив типа char либо с помощью указателя на переменную типа char. Количество символов в массиве (объем выделяемой памяти) должно быть не меньше, чем количество символов в строке плюс один символ для хранения символа нуль.
38. Стандартная библиотека языка Си. Ввод данных. В любой программе кроме операторов и операций используются средствабиблиотек, входящих в среду программирования,которые облегчают создание программ.
Часть библиотек - стандартизована и поставляетсяс компилятором. В стандартную библиотеку входят функции, макросы, глобальные константы. Это файлы с расширением *.h, хранящиеся в папке include.
<fstream>
Реализует инструменты для файлового ввода и вывода. Смотри fstream.
<ios>
Реализует несколько типов и функций, составляющих основу операций с iostreams.
<iostream>
Реализует основы ввода и вывода языка C++. Смотри iostream.
<iosfwd>
Реализует предварительные объявления нескольких шаблонов классов, связанных с вводом-выводом.
<iomanip>
Реализует инструменты для работы с форматированием вывода, например базу, используемую при форматировании целых и точных значений чисел с плавающей запятой.
<istream>
Реализует шаблон класса std::istream и других необходимых классов для ввода.