Основы программирования на языке СИ

Страницы работы

Фрагмент текста работы

Первая программа primer1.c

#include<stdio.h>

void main()

{ printf("Это первая программа на Си:");

       }

Первая строка программы  - это включение в файл primer1.c содержимого файла stdio.h  (stdio.h - файл с информацией о вводе/выводе). В нем находится определение функции printf() и не только.

# - указывает, что директива обрабатывается спецпроцессором (предварительная обработка) перед компиляцией. Как видно из программы функции  управления выводом  вынесены  из языка Си. Это относится также и к  функциям ввода и манипулирования со строками. Здесь используются библиотеки, поставляемые фирмой-изготовителем программного обеспечения. Библиотеки могут быть созданы и самостоятельно.

    Директивы #include...(их может быть несколько) располагаются каждая на отдельной строке и не имеют ; . Если имя файла в  < > скобках, то поиск файла производится в специальном разделе подстановочных файлов INCLUDE, путь до которого, например D:\TC\INCLUDE. Здесь

main() - имя головной (главной) функции, имя зарезервировано.

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

Общая структура main():

main()    /* главная функция */

  { /* код, реализующий main() */

  }

После main()  не ставится точка с запятой, т.к. это конец заголовка, а не оператор. (После всех операторов ставится точка с запятой).

    void - пустой тип функции main(), это  о т с у т с т в и е типа. Тип void не имеет ни значений, ни действий.

    Если тип функции main() не указывается, то по умолчанию подразумевается целый тип.

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

    { ... } - начало и конец тела функции (последовательности операторов).

    printf(); - оператор вывода на печать.

    /*      */ - внутрь таких скобок помещаются комментарии в любом месте строки.

// - комментарий до конца строки.

#include <stdio.h>

#define PI  3.14159                 // связывание идентификатора PI со значением 3.14..

void main()

  { printf("\nВторая простая программа:");

    printf("\n\n Результат: пи = %f.",PI);            // %f - спецификация формата

  }

    В примере будет напечатано:

Вторая простая программа:

Результат: пи = 3.141590.

В директиве #define ...процессору указывается, чтобы он при любом появлении  в программе имени макро (имени символической переменной PI) заменял бы это имя на соответствующее значение макро, которое записано в директиве через пробел справа.

Функция printf

Ее целью является запись  информации на экран. Ее формат как прост, так и гибок:

          printf(<строка формата>, <объект>, <объект>, ...);

          Строка формата

Строка формата - это строка, которая начинается и заканчивается двойными кавычками;  цель  printf - запись  этой строки на экран.  Перед выводом printf заменяет все дополнительно объекты в строке в соответствии  со  спецификациями формата,  указанными в самой строке.  Например,

          printf("Сумма = %d \n", sum);

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

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

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

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

          - %u  целое число без знака

          - %ld длинное целое число

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

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

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

          - %c  cимвол

          - %s  строка

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

          Вы можете задать ширину поля,  помещая ее между %  и буквой, например,  десятичное поле шириной 4 задается,  как %4d. Значение  будет напечатано сдвинутым вправо (впереди пробелы),  так что общая ширина поля равна 4.

\n - символ "новая строка", в printf() он означает начало вывода новой строки с самой левой колонки.

\t - табуляция (сдвиг курсора или печатающей головки на фиксированное число позиций 5 или 8)

\b - забой (шаг назад)

\r - возврат каретки (возврат к началу строки)

\" - двойные кавычки ("), применяется в printf()

\' - апостроф ('), применяется в printf()

\\ - обратная косая черта, применяется в printf()

Другие функции вывода: puts и putchar

Имеются две другие функции вывода, которые могут вас заинтересовать:  puts и putchar. Функция puts выводит строку на экран и завершает вывод символом новой строки.

          Например:

          #include <stdio.h>

          main ()

          {

            puts("Hello, world");

          }

          Заметим, что в конце строки опущен \n; это не нужно, так как   puts сама добавляет этот символ. Наоборот, функция putchar записывает единственный символ  на  экран и не добавляет \n. Оператор putchar(ch) эквивалентен printf ("%c",ch).

          Зачем же  нужно  использовать  puts  и/или  putchar   вместо  printf? Одним

Похожие материалы

Информация о работе