?

Log in

No account? Create an account

32

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

Стандартная функция “puts()”, в программе выглядит как puts(“ZZZ”), либо puts(NNN);, тут “ZZZ” в двойных кавычках означает строку (последовательность) символов, которая выводится на экран (дисплей, окно текстовой строки) или в файл, функция выводит только один аргумент (параметр) т.е. одну строку (последовательность) символов, обратите внимание, что используются двойные кавычки, а в случае NNN, т.е. без кавычек можно подставить только имя строковой константы или переменной, содержимое этой строковой константы или переменной и будет отображено. Повторяю ещё раз: данная функция выводит на дисплей просто последовательность символов, которая ничего не значит: ни число, ни слова, просто ряд символов друг за другом. Данная функция используется для вывода неких сообщений в виде заранее запрограммированной последовательности символов, типа: “Добро пожаловать”, “Введите символ”, “Вы точно уверены что вы делаете ?” и т.д.

Read more...Collapse )

31

number = + + qwerty;

здесь переменная “number” получит значение “qwerty” до того как значение “qwerty” увеличилось на 1, а уже после этого значение “qwerty” увеличится на 1

а вот тут:

number = qwerty + + ;

здесь вначале значение переменной “qwerty” увеличится на 1 а потом полученное значение будет присвоено переменной “number”, вот конкретные примеры:

int number, qwerty;

number = 2;

qwerty = 3;

number = + + qwerty; /* значение number равно 2, значение qwerty равно 4 */

number = qwerty + +;  /* значение number равно 5, значение qwerty равно 5 */

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

Что касается “оператора декремента”, который в тексте программы обозначается как “- -”, т.е. два идущих подряд минуса, то при его использовании происходит уменьшение значения “переменной” на 1, в остальном все, так же как и в случае с “оператором инкремента”.

Read more...Collapse )

30

купюр по “100” рублей, но это уже конкретные варианты, а основная логика программы идет через оператор “%”.

При использовании математических вычислений есть такой тонкий момент: что получится, если при вычислениях используются типы данных “float”, а результат присваивается “переменной” с типом данных “int”, ну или что получится, если в вычислениях используются типы данных “int”, и результат присваивается “переменной” с типом данных “int”, но результат получается дробный. Ответ тут простой: тип результата определяется типом данных “переменной” которой он присваивается, и если результат присваивается “переменной” с типом данных “int”, то дробная часть будет просто отброшена, например:

int qwerty ;

qwerty = 20 / 5 ; /* переменная qwerty получает значение 4 */

qwerty = 16 / 5 ; /* переменная qwerty получает значение 3 */

qwerty = 4 / 5 ; /* переменная qwerty получает значение 0 */

Read more...Collapse )

29

 очевидны, поэтому по этой теме можно пройтись достаточно поверхностно, проработав только некоторые тонкие моменты.

Список арифметических операторов:

+ сложение

- вычитание

* умножение

/ деление

% получение  остатка  от  деления  нацело

( и ) скобки для изменения приоритета математических вычислений

+ + оператор инкремента (увеличение значения переменной на “1”)

- - оператор декремента (уменьшает значения переменной на “1”)

Вроде бы все наглядно, но некоторые моменты следует дополнительно проработать: знак вычитания “–” минус, обычно отображает на дисплее недостаточно четко, так что, когда будете использовать этот оператор, обращайте на это внимание. Для умножения используется символ звездочки “*”, а не буква “x”, оператор деления обозначается косой чертой (слеш) ( / ) а не обратной косой чертой (обратный слеш) ( \ ), примеры использования арифметических операторов:

sales_tax = amount * tax_rate;

price = cost + shipping + insurance;

per_unit = total / count;

sales_tax = amount * 0.06;

price = 56.90 + shipping + 7.87;

per_unit = 156.65 / 12.50;

обратите внимание, что в языке программирования “С”, в тексте программы, когда нужно напечатать значение дробного числа, то целая часть разделятся от дробной, точкой, а не запятой, как это принято в России. 

Read more...Collapse )

28

компьютеры как бы пожирая их память на момент работы программы, при этом остается меньше объема ОЗУ для других программ и компьютеру придется чаще обращаться к т.н. “файлу подкачки на жестком диске”, который имитирует нужный объем ОЗУ на жестком диске, а это в тысячи раз медленнее, чем гонять информацию между процессором и ОЗУ.

Вообще, что значит “символьная переменная” и как это понимать, с числовой переменной все понятно – там просто меняется значение числа, а что значит символьная переменная. Символьная переменная означает область памяти заданного размера, этот размер задается программистом, при написании программы, в виде максимального количества символов, которое можно сохранить в данной конкретной символьной переменной, и в этой области можно сохранить разные символы, в разной последовательности, например слова, фразы, обозначения дат, и т.д., и эта “символьная переменная” может быть связана с определенной областью графического интерфейса, и таким образом эта область графического интерфейса, например, на дисплее, будет отображать разные слова, фразы, ну или использоваться для воспроизведения речи, музыки и т.д.

30.07.2018 15:52

Пояснение  относительно  использования  переменных

Read more...Collapse )

27

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

В языке программирования “С” символьные данные хранятся в типе данных “char”, этот тип данных может хранить любое количество символов, которые вы зарезервируете при создании соответствующей константы или переменной, однако, нужно учитывать, что тип данных “char”, это просто массив последовательных символов, и не стоит воспринимать его как некий “строковый” тип данных, как в других языках программирования, например ассемблере, с которым можно производить специфические “строковые” преобразования, характерные для других языков программирования. 

Символьные данные так же могут быть “константами” и “переменными”, константы символьных типов данных, определяются, в тексте программы, так же как и числовые константы, до функции “main()”, следующим образом:

Read more...Collapse )

26

при этом никак не нормируется и ограничивается исключительно здравым смыслом программиста, если таковой у него имеется. 

Обратите на такую особенность языка “С” – в нем т.н. “ключевые” (встроенные) слова компилятора, например int, float, и т.д., внешне, визуально, неотличимы от произвольных названий, даваемых пользователем, например, “константам” или “переменным”, и потому поначалу возникает впечатление путаницы и непонимания при просмотре текста программы, но со временем, когда вы привыкнете к этим самым “ключевым” словам и к тому, что после “ключевого” слова идет пробел, а уже затем произвольные названия “переменных”, “констант” и т.д., и то, что произвольные названия перечисляются через запятую, вам станет уже гораздо понятнее, кстати, обычно, после запятых идет пробел, для улучшения визуального разделения отдельных слов в тексте программы, хотя, если вы считаете себя крутым, брутальным, программистом, можете после запятых пробелы не ставить – так текст программы выглядит заумнее, непонятнее, мудренее, таинственнее. Повторяю, впечатление путаницы с названиями и ключевыми словами, при программировании на “С” будет только поначалу и быстро пройдет по мере наработки практики программирования на “С”.

Ключевые (встроенные) слова языка программирования “С”:

auto  break  case  char  const  continue default do double else enum  entry  extern float  for  goto  if  int  long  register return short  signed sizeof  static struct  switch typedef union  unsigned void  volatile while

Read more...Collapse )

25

Здесь, “#define” – директива определения константы, “qwerty” – имя этой константы, “XXX” – числовое значение этой константы. При определении константы вид числового значения указывать (определять, описывать) не надо – компилятор сам выберет вид, который требует наименьшего размера памяти для описания этого конкретного числа, так что если вы укажете значение константы “3”, то очевидно, компилятор выберет тип “short int”, а если выберете “100000”, то очевидно что компилятор выберет тип “long int”, если же в числе будет символ точки, например “3.”, “5.0”, то подразумевается что выбран вид вещественного числа, и компилятор подберет ему тот числовой вид, который требует для хранения меньше памяти. Константы – это заранее определенные числа, которые не будут меняться по ходу работы программы, и вид числового значения им вполне можно назначить автоматически, при компиляции программы, по принципу наименьшей занимаемой памяти.

Переменные числовые значения указываются в программе после функции “main()”, указываются они вот так:

ZZZ qwerty

Read more...Collapse )

Tags:

24

 появился и развивался язык программирования “С”, это, так сказать, его родовые последствия. Смысл буквы “E” в числах “с плавающей точкой”, полагаю все знают из школьного курса математики (кто не знает, воспринимайте букву “E” просто как некий знак препинания, типа точки или запятой, но вообще эта буква от слова “Exponent”, т.е. “Экспонента”, блин, так стало ещё непонятнее, в общем лучше не лезть в эти дебри), а вот некоторое количество следующих друг за другом, казалось бы бестолковых нулей, означает с какой точностью знаков после запятой представлена “мантисса” числа “с плавающей точкой”.  Что такое “мантисса”, большие или маленькие значения можно представлять как некое число, представляющее из себя некое число с дробной точкой (или запятой), например “2,5” или “0,345” умноженное на ту или иную степень числа “10”, например “100” это “10” в степени “2”, или “1000” это “10” в степени “3”, или “0,001”, это “10” в степени “-3” (числа величиной меньше единицы, т.е. от 0 до 1, дробные, образуются, формально обозначаются, отрицательной экспонентой, т.е. со знаком “-”, так вот буква “E”, если сказать более менее понятно, означает фразу “10 в степени”, а значение степени идет после буквы “E”, т.е. “1000” это “E3” или “E+3” (но обычно, знак “+”, в экспоненте, после буквы “E” явно не ставится а подразумевается, типа если нет никакого знака, значит “+”), а “0,01”, это “E-2”, так вот, “мантисса” – это то значение, которое стоит перед буквой “E”, в компьютере, “мантисса” и то, что стоит после буквы “E” составляют число, и количество хранимых символов, как мантиссы, так и числа после буквы “E” занимают определенное количество памяти, точность дробного числа, например “1/3” можно представить с разным количеством знаков, например “3,33” или “3,33333333”, само собой, что в вычислениях иногда далеко не все равно с какой точностью представлено число, но “3,33” и “3,33333333”, очевидно, занимают разное количество памяти в компьютере для своего хранения, и таким образом мы имеем разделение “вещественных чисел”, т.е. тех, которые “с плавающей точкой”, на несколько типов: “float” (длина 4 байт), “double” (длина 8 байт), “long double” (длина 10 байт), эти типы чисел занимают разное количество памяти: 4 байт, 8 байт, 10 байт, и могут хранить разное количество знаков “мантиссы” и степени, обозначенной буквой “E”, так вот эти самые бестолковые нули, в записи “мантиссы” вещественного числа, являются всего лишь технической спецификацией (формальным описанием) и показывают с какой точностью, ну или с каким количеством знаков сохраняется “мантисса”, при использовании данного вида числа “с плавающей точкой”. 

Read more...Collapse )

23

  некоторые и гигабайты, само собой, что ни о каком ручном вводе информации за разумный промежуток времени, тут речи идти не может, так что имеет большой практический смысл разделение типов данных на “короткие” и “длинные”. В общем к “коротким” типам данных относятся только такие типы данных как “число” и “символ”, все остальные типы данных: “строка”, “массив”, “структура” лучше считать “длинными” типами данных и рассматривать работу с ними отдельно, тем более, на начальном этапе изучения программирования. 

Итак, к “коротким” типам данных относятся: “число” и “символ”. Эти типы данных могут быть как “переменными”, так и “константами”, рассмотрим, как они задаются в программе на “С”.

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

Read more...Collapse )

Profile

nexator
nexator

Latest Month

January 2019
S M T W T F S
  12345
6789101112
13141516171819
20212223242526
2728293031  

Syndicate

RSS Atom
Powered by LiveJournal.com
Designed by yoksel