Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1 - Лекция1_ОсновыЯзыкаСи.docx
Скачиваний:
6
Добавлен:
23.11.2019
Размер:
335.52 Кб
Скачать

Вариации функции main()

Существует несколько разновидностей функции main(). Первый вариант – это то, что предлагает нам Visual Studio по умолчанию. В скобках указываются параметры, которые передаются в программу, если соответствующий ей исполняемый exe-файл вызывается через командную строку. Аргумент argc – это число параметров, а массив argv[] – это список параметров.

int _tmain(int argc, _TCHAR* argv[]) {

return 0;

}

Стандартный вид функции main() следующий:

int main(int argc, _TCHAR* argv[]) {

return 0;

}

Для многих программ передаваемые параметры не требуются, поэтому их можно опустить:

int main() {

return 0;

}

Некоторые компиляторы, в частности, тот, который задан по умолчанию в Microsoft Visual Studio, поддерживают функцию main() без указания кода возврата:

void main() {

}

Данный способ удобен, поскольку здесь нет ничего лишнего, однако некоторые компиляторы, например, тот, который по умолчанию встроен в Code::Blocks, не поддерживают такой вид функции main().

При разработке программ из данного курса можно использовать любой из рассмотренных вариантов.

Переменные и типы данных

Любая компьютерная программа – это набор команд, оперирующих с переменными и производящих какие-то вычисления; даже слово «computer» (компьютер) переводится на русский язык как «вычислитель».

В математике мы сталкиваемся с переменными, значениями которых являются числа. Числа бывают натуральными, целыми, рациональными, вещественными, комплексными и т.д. Существуют также булевы (логические) переменные, которые могут принимать два значения: истина или ложь, хотя и этим значениям часто ставятся в соответствие числа 0 и 1. Таким образом, каждая переменная имеет свой тип, определяющий диапазон возможных значений этой переменной.

Переменные, с которыми работает компьютерная программа, также имеют свои типы. При разработке программ выбирать тип переменной следует, руководствуясь смыслом решаемой задачи. Например, переменная, предназначенная для хранения информации о количестве жителей города, должна иметь тип, соответствующий натуральным числам. Переменную, хранящую фамилию человека, разумно сделать строкой, а переменной, предназначенной для вычисления среднего веса членов футбольной команды, лучше всего задать вещественный тип.

Строго говоря, переменная – это именованный участок памяти, размер которого определяется типом этой переменной. Узнать размер типа можно при помощи функции sizeof(). Ниже будет рассмотрен пример ее использования, а сейчас перечислим основные типы данных языка Си.

Тип

Описание

Размер типа (байт)

Диапазон значений

char

Символ или целое число со знаком

1

-128..127

unsigned char

Символ или целое число без знака

1

0..255

short

Целое число

со знаком

2

-32768..32767

unsigned short

Целое число

без знака

2

0..65535

int

Целое число

со знаком

4

-2147483647..2147483647

unsigned int

Целое число

без знака

4

0..4294967295

float

Вещественное

Число

4

6 знаков после запятой

double

Вещественное

Число

8

10 знаков после запятой

bool

Логический

Тип

1

true и false (0 и 1)

void

Пустой тип

-

-

Перед работой с переменной ее необходимо объявить; объявление переменной – это указание ее имени и типа. Переменные могут быть объявлены по одной или сразу несколько, при этом указываются тип переменной и ее имя через пробел, а завершается объявление точкой с запятой. Если сразу объявляется несколько переменных, то они перечисляются через запятую:

int number, age, weight;

float length, width;

bool isEven;

char symbol;

Присвоение значения объявленной переменной – это занесение значения в выделенную под переменную ячейку памяти. Осуществляется присвоение при помощи оператора =. Указывается имя переменной и ее новое значение, а между ними ставится оператор присваивания:

number = 10;

length = 2.5;

isEven = true;

symbol = 'A';

Присвоить значение переменной также можно при ее объявлении, в этом случае говорят, что происходит инициализация переменной или переменная инициализируется:

int number = 10, x=7;

float length = 2.5;

bool isEven = true;

char symbol = '*', letter = 'A';

Имя переменной нужно выбирать так, чтобы оно отражало назначение этой переменной. Конечно, можно добавить комментарий:

//Возраст студента

int x;

однако предпочтительнее использовать следующее имя:

int student_age;

В таком случае комментарий вообще не понадобится.

Язык Си, как и большинство современных языков программирования, допускает объявление переменной в любом месте программы. В отличие, например, от языка Паскаль, в котором все переменные объявляются в специальном блоке под названием Var. Более того, существует рекомендация объявлять переменную максимально близко к тому месту, где она используется. Например, если переменная используется только внутри некоторой функции, то объявлять ее нужно внутри функции, а если переменная используется только внутри тела цикла, то объявлять ее нужно внутри тела цикла.