- •Вопрос1)Общая структура программы на языке Си.
- •1.Внутреннее представление данных в оперативной памяти;
- •2.Совокупность значений (диапазон), которые могут принимать данные этого типа;
- •3.Набор операций, которые допустимы над такими данными.
- •Вопрос2)Константы в программах
- •Вопрос3)Операции, выражения
- •Вопрос 4
- •Вопрос 5
- •Вопрос 6 Общая структура программы на языке Си.
- •Вопрос 7
- •Вопрос 8 Арифметические операции
- •Вопрос 9
- •Вопрос 10
- •If (выражение) оператор;
- •If (выражение) оператор 1 ;
- •If (выражение 1) оператор 1;
- •If (выражение 2) оператор 2;
- •If (выражение 3) оператор 3;
- •Вопрос 11
- •Вопрос 12
- •Вопрос 13
- •Вопрос 14
- •Вопрос 15
- •Вопрос 16
- •Вопрос 17
- •Вопрос 19 Операция sizeof
- •Вопрос 20
- •Вопрос 21
- •Вопрос 22 Связь указателей и массивов.
- •Вопрос 23
- •Вопрос 24
- •Вопрос 25 Массивы структур
- •Вопрос 26
- •Вопрос 27
- •Вопрос 28
- •Вопрос 29
- •Вопрос 30
- •Вопрос 31
- •Закрытие файла
- •Вопрос 32
- •Вопрос 33 Вложенные структуры
- •Вопрос 34 Массивы структур
- •Вопрос 35 Размещение структурных переменных в памяти
- •Вопрос 36
- •Вопрос 37
- •Вопрос 38
- •Вопрос 39
Вопрос1)Общая структура программы на языке Си.
Программа, написанная на языке Си, состоит из одной или нескольких функций, причем одна функция обязательно имеет идентификатор (имя) main() – основная, главная (в некоторых случаях вместо main употребляются имена: tmain, WinMain и т.п.). Ее назначение – управление всей работой программы (проекта).Общая структура программы на языке Си имеет вид:
<директивы препроцессора>
<определение типов пользователя – typedef>
<описание прототипов функций>
<определение глобальных переменных>
<функции>
В свою очередь, функции имеют такую структуру:
<класс памяти> <тип> <ID функции> (<объявление параметров>)
{
код (тело) функции
}
Подробное определение используемых здесь терминов будет дано ниже. А сейчас рассмотрим небольшой пример, позволяющий понять самые простейшие приемы программирования на языке Си:
#include <stdio.h> // Подключение стандартной библиотеки
void main(void)
{ // Начало функции main
printf(" Высшая оценка знаний - 10 !");
} // Окончание функции main
Отличительным признаком функции служат круглые скобки ( ) после идентификатора функции, в которые заключается список аргументов. Если аргументы отсутствуют, можно указать атрибут void - отсутствие значения. Перед ID функции обычно указывается тип возвращаемого ею результата, так как функция main() ничего не возвращает - в качестве результата указывается void.!Код функции представляет собой набор инструкций, каждая из которых оканчивается символом «;». В нашем примере одна инструкция - функция printf() выполняет форматный вывод данных на экран, в данном случае - указанную фразу.
Алфавит языка Си
Алфавит языка Си включает:
- прописные и строчные буквы латинского алфавита, а также знак подчеркивания (код ASCII 95);
- арабские цифры от 0 до 9;
- специальные символы:
+(плюс) –(минус) *(звездочка) /(дробная черта) =(равно) >(больше) <(меньше) ;(точка с запятой) &(амперсант) [ ](квадратные скобки) { }(фигурные скобки) ()(круглые скобки) _(знак подчеркивания) .(точка) ,(запятая) :(двоеточие) #("решетка") %(процент) ~(поразрядное отрицание) ?(знак вопроса) !(восклицательный знак) \(обратный слеш).
- пробельные (разделительные) символы: пробел, символы табуляции, перевода строки, возврата каретки.
Основные типы данных
Данные в языке Си разделяются на две категории: простые (скалярные), будем их называть базовыми, и сложные (составные) типы данных.
Тип данных определяет:
1.Внутреннее представление данных в оперативной памяти;
2.Совокупность значений (диапазон), которые могут принимать данные этого типа;
3.Набор операций, которые допустимы над такими данными.
Основные типы базовых данных: целый – int, вещественный с одинарной точностью – float и символьный – char.
В свою очередь, данные целого типа могут быть короткими – short, а также длинными – long . Кроме того, при любой длине данные целых и символьного типов могут быть знаковыми - signed либо беззнаковыми – unsigned (по умолчанию они считаются знаковыми, поэтому слово signed необязательно и обычно опускается). Вещественные же данные могут иметь удвоенную точность – double.
Сложные типы данных – массивы, структуры – struct, объединения или смеси – union.
Данные целых и вещественных типов находятся в определенных диапазонах, т.к. занимают разный объем оперативной памяти. Вещественные типы при этом обладают еще конечной точностью хранения данных, т.е. верно хранят лишь первые несколько цифр числа; для хранения остальных (чье количество бывает даже бесконечным - например, у числа π , или у числа ⅓ ) не хватает места. В Табл. 1. приведены свойства различных типов для системы программирования C++ Builder. В других системах программирования, поддерживающих язык Си, может отличаться размер того или иного конкретного типа, например int, и соответственно будет отличаться его допустимый диапазон значений (например, тип long int может превосходить по размеру тип int). Однако последовательность возрастания размеров и точности для каждой группы типов всегда одинакова:
char ≤ short int ≤ int ≤ long int ≤ long long int
float ≤ double ≤ long double