
- •1.Моделированьепроцесса решения.
- •2. Формализация процесса решения задачи.
- •1) Поиск решения эквивалентной задачи.
- •3.Интуитивное понятие алгоритма.
- •4.Основные свойства алгоритма.
- •5.Взаимосвязь между набором элементарных операций и исполнителем алгоритма.
- •6. Способы изображения алгоритма.
- •7.Введение в язык Си: истоки, парадигма программирования (отношение между набором алгоритмов и набором данных в программах).
- •8.Структура программ на языке Си. Директива процессора, комментарии.
- •11. Описание переменной: имя переменной; строчные и прописные буквы в идентификаторах, задание начального значения (инициализация).
- •15.Преобразование операндов в арифметических выражениях.
- •16.Сложние объявления и элементы объявления.
- •17.Указатели (2 категории).
- •19. Оператор постфиксного увеличения/ уменьшения.
- •20. Оператор префиксного увеличения/ уменьшения.
- •21. Простой оператор присваивания.
- •22. Составные операторы присвоения.
- •23. Условный оператор if.
- •24. Оператор выбора switch.
- •25. Понятие массива, описание массива, размерность массива, размещение в памяти.
- •26. Описание массива имеет вид:
- •27. Массивы символов и литеральные строки.
- •28. Операторы цикла (for, while и do-while) для работы с массивами.
- •29. Многомерные массивы: описание, размещение в памяти, инициализация, обращение к элементам.
- •30. Взаимосвязь массивов и указателей. Описание указателя.
- •32. Указатель типа void*. Преобразование указателя операцией приведения типа.
- •33. Доступ к переменным через указатели: операция & и операция *.
- •37.Синтаксис объявления (--заголовка, --прототипа ) функции. Оператор return
- •38. Понятие формальных параметров и фактических аргументов (при вызове ф-ции). Переменное число аргументов или аргументы с изменяющимися типами (многоточие).
- •39. Указатель на функцию
- •40. Перегрузка функций
- •41. Итерпритация сложных описаний изнутри наружу.
8.Структура программ на языке Си. Директива процессора, комментарии.
Программа на языке Си – это текстовый файл с расширением «.c».
Текст программы имеет определенную структуру:
1. директивы процессора
2. объявление глобальных переменных и/или констант
3. объявление и определение функций
4. функция main
Это не жесткий порядок, а ориентировочный.
Иногда используются прототипы функций, а сами функции описываются полностью после функции main. Функция - имеет { "тело" } в фигурных скобках. Тело - это код на Си определяющий то, что делает функция. Знак «;» после функции не ставится.
Программа на Си всегда начинает работу с функции main().
Директива – это указание компилятору языка С++ выполнить то или иное действие в момент компиляции программы. Существует строго определенный набор возможных директив, который включает в себя следующие определения: #define, #elif, #else, #endif, #if, #ifdef, #ifndef, #include, #undef.
Символ ‘;’ после директив не ставится.
Директива #define используется для задания констант, ключевых слов, операторов и выражений, используемых в программе. Общий синтаксис данной директивы имеет следующий вид:
#define <идентификатор> [(<список параметров>)] <текст>
Директива #include позволяет добавлять в программу ранее написанные программы сохраненные в виде файлов.
Есть две разновидности директивы #include:
#include < stdio.h > - имя файла в угловых кобках, скобки сообщают препроцессору о том, что необходимо искать файл (в данном случае stdio.h) в одном или нескольких стандартных системных каталогах.
#include «mylib.h» - имя файла в кавычках, свидетельствуют о том, что препроцессору необходимо сначала выполнить поиск файла в текущем каталоге, т.е. в том, где находится файл создаваемой программы, а уже затем – искать в стандартных каталогах.
Комментарии
Текст, заключённый в служебные символы /* и */ (в этом порядке), полностью игнорируется компилятором. Вложение комментариев не допускается. Компиляторы также позволяют использовать комментарии, начинающиеся с символов // и заканчивающиеся переводом строки.
9. Основные (стандартные) типы данных в С++.
char (1 байт) – хранит либо небольшие целые числа, либо коды символов (трактовка зависит от операции).
unsigned char – 0..255
signed char – -128..+127
ASCII-код
wchar_t – расширенный (2 байта)
int, занимает 2 (Borland) или 4 (Visual) байта, в зависимости от среды
unsigned int – 0..65 535
short int – -32 768..+32 767
int (≡signed int) – -32 768..+32 767
long (4 байта)
unsigned long – 0..4 294 967 295
long (=signed long) – -2147483648..+2147483647
Данные с плавающей точкой (вещественные)
float (4 байта) – 3,4*10-38..3,4*10+38 (точность десятичных чисел: 7)
double (8 байт) – 1,7*10-308..1,7*10+308 (точность десятичных чисел: 15)
long double (8 байт) – 3,4*10-4 932..3,4*10+4 932 (точность десятичных чисел: 19)
С поддерживает стандарт iEE хранения вещественных чисел: представляются в виде 2-х компонент: C=M*2P (М – мантисса)
S (знак) |
P (порядок) |
|
* - implicit one (неявная единица)
float
31 30 23 22 0
Double
63 62 52 51 0
long double
79 78 64 63 0
10. Переменные и константы в С++. Модификатор const.
Переменная – это именованная область памяти, в которой хранятся данные определенного типа. У каждой переменной должно быть имя и значение. Имя служит для обращения к области памяти, в которой хранится значение. Имя переменной – это любая последовательность из прописных или строчных букв, цифр и знака подчеркивания. Имя начинается с буквы или знака подчеркивания, и оно не должно совпадать с ключевыми словами. Имя становится видимым с момента его описания и до конца модуля(для глобальных переменных) или блока(для локальных переменных).
· Глобальные переменные размещаются на этапе компиляции в сегменте данных, и инициализируются автоматически с нулевым значением.
· Локальными переменными называют переменные, описанные внутри блока , они размещаются в стеке, не имеют значений по умолчанию, и разрушаются при выходе из блока.
С переменной связано два значения: её значение R-значение(Read Value) и значение адреса области памяти, l-значение(location-value). Константами называют неизменяемые величины. Различают целые, вещественные, символьные и строковые константы. Модификатор const показывает, что значение переменной изменять нельзя. Такую переменную называют именованной константой, или просто константой. Константа должна быть инициализирована при объявлении. # include <math.h> int x; //х - глобальная переменная. void main(void) {int x=1;//локальная переменная. Она “прячет” глобальную переменную. Локальный х=1; {int x; //второй локальный х, перекрывает первый локальный х; x=3;//Второй локальный х =3 } x=x++; //Первый локальный х=2; } int *p=&x; //Взяли адрес глобального х; int y=x++; //y=1 :: -- операция разрешения, только для глобальных переменных. int x; void main(void); {int x=10; //Локальный х. ::x=-7;//Глобальный х=-7. }