Смекни!
smekni.com

Курс лекции по Информатике (стр. 9 из 11)

num=1;

printf(“Я простая”);

printf(“вычислительная машина.\n”);

printf(“Мое любимое число %d , потому что оно самое первое.\n”,num);

}

Результат работы программы на экране выглядит следующим образом:

Я простая вычислительная машина.

Мое любимое число 1, потому что оно самое первое.

Сделаем просмотр исходного текста программы.

#include<stdio.h> - включение текстового файла.

Эта строка указывает компилятору, что нужно включить информацию, содержащуюся в файле stdio.h

main() – имя функции.

Любая программа на Си состоит из одной или более функций, являющихся основными модулями из которых она собирается. Наша программа состоит из одной функции main, круглые скобки указывают на то, что main() – имя функции.

/* Простая программа*/ - комментарий.

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

{ - начало тела функции.

Открывающая фигурная скобка отмечает начало последователь-ности операторов, образующих тело ( или определение) функции.

intnum; - оператор описания.

С помощью такого оператора мы объявляем, что в программе будет использоваться переменная num , принимающая целые (int) значения.

num=1; - оператор присваивания.

Этот оператор присваивает переменной num значение 1.

printf(“Я простая”); - оператор вывода на дисплей.

С его помощью выводится на дисплей фраза , заключенная в кавычки – Я простая.

printf(“вычислительная машина.&bsol;n”); - оператор вывода на дисплей.

Этот оператор добавляет слова : вычислительная машина в конце предыдущего вывода. Комбинация символов &bsol;n указывает функции printf на начало новой строки.

printf(“Мое любимое число %d , потому что оно самое первое.&bsol;n”,num); - оператор вывода на дисплей.

Этот оператор выводит на дисплей значение переменной num

( равное 1), содержащееся во фразе в кавычках. Символы %d указывают функции printf где и в какой форме выводить значение этой переменной num.

} – конец определения (тела) функции.

Закрывающей фигурной скобкой заканчивается текст программы.

Основные элементы программирования

Целью большинства программ является обработка данных на ЭВМ по алгоритму, заданному программой. Таким образом для решения задачи (обработки данных) необходимо:

- ввести информацию (данные) в программу (ЭВМ);

- иметь (задать) место в основной памяти для хранения данных;

- задать инструкции (программу) по обработке данных;

- вывести обработанные данные (результат) из программы пользователя (ЭВМ) на внешние машинные носители.

Инструкции по обработке данных можно организовать таким образом, что :

- некоторые из них выполняются только тогда, когда какое-либо условие (набор условий) истинно;

- другие повторяются некоторое число раз;

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

Мы описали семь основных элементов программирования: ввод, типы данных , операторы, вывод, условное выполнение, циклы и подпрограммы.

Вывод - означает запись информации (данных) на экран дисплея, магнитный диск или в порт ввода-вывода.

Типы данных – это константы, переменные и структуры, которые содержат числа (целые и с плавающей точкой), текст (символы и строки), адреса (переменных и структур).

Операторы присваивания – присваивают значение переменной, путем вычисления (сложения, умножения, деления и т.д.) значения из других значений констант, переменных и функций, а также путем сравнения (равно, не равно и т.д.) переменных, выражений и т.д.

Ввод – означает чтение (ввод) данных с клавиатуры, магнитного диска или порта ввода-вывода.

Условное выполнение – выполнение определенного набора инструкций, если указаны условие (выражение) истинно, или пропуск данного набора инструкций, если условие ложно.

Циклы – выполнение набора инструкций определенное число раз или пока некоторое условие (выражение) истинно.

Процедура – отдельно именуемые наборы инструкций (отдельные алгоритмы обработки данных), которые могут выполняться в любом месте программы, вызываемые по имени.

Вывод

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

printf (<форматная строка>,<аргумент>,<аргумент>,…);

Форматная строка – это строка, которая начинается и заканчивается двойными кавычками (“вот так”). Целью функции printf является вывод этой строки на экран. До вывода аргументы функции преобразуются в соответствии со спецификаторами формата, указанными в форматной строке. Например,

printf(“Сумма равна %d &bsol;n”, sum);

Последовательность %d в форматной строке является спецификатором формата. Все спецификаторы формата начинаются со знака процента (%) за которым следует обычно одна буква, указывающая тип данных и способ форматирования этих данных.

Для каждого спецификатора формата должен быть указан только один аргумент. Аргументами могут быть переменная , константы, выражения или вызовы функций. Спецификатор %d означает , что аргумент является целым. Ниже приведены наиболее часто используемые спецификаторы форматов:

%u – беззнаковое целое

%p – значение указателя

%f – с плавающей точкой

%e – с плавающей точкой в экспоненциальной форме

%c - символ

%s - строка

%x – целое в шестнадцатиричном формате.

Ширина поля может быть указаны цифрой, помещенной между знаком % и буквой. Например, десятичное поле шириной 4 символа будет указано так: %4d. Значение будет напечатано выровненным вправо. Итак, между знаком % и буквой можно поместить модификаторы спецификации преобразования. Если одновременно используются несколько модификаторов, то они должны быть указаны в порядке приведенным ниже:

Модификатор Значение

_ Аргумент будет печататься с левой позиции

(%_10d)

строка цифр Задает минимальную ширину поля (%4d).

Большее поле используется если число не помещается в исходном поле

строка цифр Определяет точность для данных с плаваю

щей точкой, т.е. число цифр справа от десятичной точки (%4.2f)

l Соответствующий элемент данных имеет

тип long, а не int (%ld).

Последовательность &bsol;n не является спецификатором формата, а представляет собой символ перехода на новую строку, поэтому после вывода строки на экран маркер переходит в начало следующей строки.

Для вывода на экран строковых данных используется функция puts , имеющая формат:

puts (“Здравствуй, мир”);

Эта функция выводит на экран строку, оканчивающуюся символом перехода на новую строку. Обратите внимание, что символ &bsol;n в конце выводимой строки отсутствует, так как он добавляется самой функцией.

Функция putchar выводит на экран один символ и не добавляет символ &bsol;n. Функция имеет формат:

putchar (‘символ’);

Charx;

putchar (x); эквивалентна printf (“%c”, x);

Лекция 12

Типы данных

Данные, обрабатываемые в ЭВМ, могут быть числами и символами. Некоторые данные устанавливаются равными определенным значениям еще до того, как программа начнет выполняться, а после ее запуска сохраняют эти значения неизменными на всем протяжении работы программы – это константы. Другие данные могут изменяться, или же им могут быть присвоены значения во время выполнения программы – это переменные. Тип константы компилятор распознает по виду ее присутствия в программе, а тип переменной должен быть объявлен в программе с помощью оператора описания.

Данные в Си могут быть четырех основных типов: целые числа, числа с плавающей точкой, текст и указатели:

- целые числа – это числа, используемые для счета (1,-21,752)

- числа с плавающей точкой имеют дробную часть (3.14159) или экспоненту (2.579Е+24)

- текст состоит из символов (‘a’,’H’,’s’) и строк (“Привет”)

- указатели не содержат информации, указатель содержит адрес ячейки памяти, в которой находится информация.

В языке Си переменные целого типа описываются ключевым

словом int, а также shortint и longint. В Турбо-Си эти типы данных занимают 16 бит (short), 16 бит (int), 32 бита (long). Переменную целого типа можно объявить беззнаковой с помощью модификатора unsigned, например,

unsignedint х;

Данные с плавающей точкой в Си описываются типом float (32 бита) или double (64 бита).

Тип данных char (8 бит) определяет целые числа без знака в диапазоне от 0 до 255. Обычно такое целое размещается в одном байте памяти. В ЭВМ используется код ASCIIдля перевода этих чисел в символы и обратно. Таблица кода ASCII позволяет представлять в памяти машины 256 различных символов (вводимых с клавиатуры или выводимых на печать). Для описания символьных переменных применяется ключевое слово char , например,

charx,y;

charz = ‘s’;

Символьные константы в программе пишутся в апострофах (z = ‘t’;).

Символьная строка – это последовательность из одного или более символов. Например,

“Строка символов”.

Язык Си не поддерживает отдельный строковый тип данных, но позволяет определять строки двумя способами.

В первом способе используется массив символов, например,

charmsg[30];

Число [30] в квадратных скобках после идентификатора msg указывает компилятору на необходимость зарезервировать место для 29 символов, т.е. организовать массив из 29 переменных типа char

(30-м символом будет нулевой символ &bsol;0, который называется нуль-символ и отмечает конец строки). Сама переменная msg не содержит символьного значения, в ней находится адрес ячейки памяти в которой хранится первая из 29 переменных типа char.

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

Во втором способе используется указатель или ссылка на символ. Например,