Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
111111111.docx
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
131.57 Кб
Скачать

Вопрос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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]