- •Вопрос 5 Скалярные типы и выражения. Приведите пример простой программы.
- •Вопрос 6 Типы операций: операции присвоения и отношения. Примеры. Операция присваивания.
- •Вопрос7 Типы операций: логические, битовые и условные операции.
- •10) Условные операторы. Варианты условных операторов. Пример: Даны целые числа X, y. Вычислить max(X, y).
- •11) Условные конструкции. Оператор switch. Приведите примеры
- •12. Условные и циклические конструкции. Виды конструкций, что общего у них.
- •13.Циклические конструкции. Виды конструкций.
- •14Циклические констрккции.Цикл while
- •Вопрос15 Циклические конструкции. Цикл do...While. Приведите примеры.
- •Вопрос16 Циклические конструкции. Цикл for. Приведите примеры. Циклические конструкции. Цикл for
- •Вопрос17 Цикл for. Использование операции "запятая". Приведите примеры.
- •Вопрос18 Укажите особенности операторов go to, break, continue, return.
- •20Этапы решения задач на компьютере
- •21 Назначение препроцессора .Примеры использования директив препроцессора
- •1. Замена идентификаторов заранее подготовленными последовательностями символов;
- •2. Включение в программу текстов из указанных файлов;
- •3. Исключение из программы отдельных частей ее текста, условная компиляция;
- •4. Макроподстановка, то есть замена обозначения параметризованным текстом, формируемым препроцессором с учетом конкретных аргументов.
- •23Основные возможности функции scanf(). Приведите примеры
- •25Арифметические операции. Приведите примеры.
- •27 Указатели и адреса
- •28 Общие сведения о массивах
- •29Многомерные массивы. Работа с массивами с помощью указателей
- •30Общие сведения о функциях. Определение функции
- •31 Класс памяти (auto)
- •32Внешний класс памяти (extern)
- •33 Внешние глобальные объекты (extern)
- •33Внешние статические объекты (static).
- •34 Строки
- •35 Функция для работы со строками
23Основные возможности функции scanf(). Приведите примеры
Так же, как и для функции printf(), для функции scanf() указываются управляющая строка и следующий за ней список аргументов.
Обращение к этой функции имеет вид:
scanf (Управляющая_строка,&Имя1,&Имя2,...,&ИмяN);,
где: 1) Имя1,Имя2,...,ИмяN - это имена переменных, значения которых надо ввести. Смысл символа "&" перед именем будет раскрыт ниже; 2) Управляющая_строка - это строка символов, которая задает количество и типы вводимых переменных. Делается это так: в формате указывается символ %, за которым следует буква, определяющая тип вводимой переменной.
Сочетание %буква является спецификацией преобразования. При вводе мы будем пользоваться следующими спецификациями:
%d - ввести целое число;
%c - ввести один символ;
%s - ввести строку символов.
Спецификации преобразования должны соответствовать количеству и типу вводимых переменных.
при применении функции scanf() мы ничего не должны знать о смысле символа "&". Необходимо запомнить только два правила.
Если нужно ввести некоторое значение и присвоить его переменной одного из основных типов, то перед именем переменной требуется писать символ &.
Если требуется ввести значение строковой переменной, то использовать символ & не нужно.
Функция scanf() использует некоторые специальные знаки (пробелы, символы табуляции и символ "новая строка") для разбиения входных символов на отдельные поля. Она согласует последовательность спецификаций преобразования с последовательностью полей, опуская упомянутые специальные знаки между ними.
При обращении к функции scanf() выполнение программы приостанавливается, и нужно ввести значения для указанных переменных, после чего работа программы продолжается.
Пример 1.
#include<stdio.h>
main ()
{
int a,b,c,d,e;
/* При вводе каждое число должно */
/* отделяться от другого пробелом */
scanf ("\n %d%d%d%d%d",&a,&b,&c,&d,&e);
printf ("\n %d %d %d %d %d",a,b,c,d,e);
}
24 Операция sizeof
С помощью операции sizeof можно определить размер памяти которая соответствует идентификатору или типу. Операция sizeof имеет следующий формат:sizeof(выражение) .В качестве выражения может быть использован любой идентификатор, либо имя типа, заключенное в скобки. Отметим, что не может быть использовано имя типа void, а идентификатор не может относится к полю битов или быть именем функции.Если в качестве выражения указанно имя массива, то результатом является размер всего массива (т.е. произведение числа элементов на длину типа), а не размер указателя, соответствующего идентификатору массива. Когда sizeof применяются к имени типа структуры или объединения или к идентификатору имеющему тип структуры или объединения, то результатом является фактический размер структуры или объединения, который может включать участки памяти, используемые для выравнивания элементов структуры или объединения. Таким образом, этот результат может не соответствовать размеру, получаемому путем сложения размеров элементов структуры.
Пример:
struct { char h; int b; double f; } str; int a1; a1 = sizeof(str);Переменная а1 получит значение, равное 12, в то же время если сложить длины всех используемых в структуре типов, то получим, что длина структуры str равна 7.
