Array M. УЭИТ - Язык Си - руководство для начинающих

Тут можно читать онлайн Array M. УЭИТ - Язык Си - руководство для начинающих - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Мир, год 1988. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Язык Си - руководство для начинающих
  • Автор:
  • Жанр:
  • Издательство:
    Мир
  • Год:
    1988
  • Город:
    Москва
  • ISBN:
    5-03-001309-1 /русск./
  • Рейтинг:
    3/5. Голосов: 11
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Array M. УЭИТ - Язык Си - руководство для начинающих краткое содержание

Язык Си - руководство для начинающих - описание и краткое содержание, автор Array M. УЭИТ, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru
M. УЭИТ   С. ПРАТА    Д. МАРТИН
Язык Си — руководство для начинающих

Язык Си - руководство для начинающих - читать онлайн бесплатно полную версию (весь текст целиком)

Язык Си - руководство для начинающих - читать книгу онлайн бесплатно, автор Array M. УЭИТ
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Строка 3: нужно использовать {, а не (

Строка 4: gи hдолжны разделяться запятой, а не точкой с запятой

Строка 5: правильная

Строка 6: (пустая) правильная

Строка 7: перед едолжна стоять по крайней мере одна цифра: например, 1е21или 1 0е21

Строка 8: правильная

Строка 9: нужно использовать }, а не )

Недостающие строки:

первая - переменной rateнигде не присваивается значеиие.

вторая - переменная hнигде не используется.

4. Символьные строки директива #define, функции printf( ) и scanf( )

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

/* непринужденный разговор */

# define DENSITY 62 4 /* плотность тела человека в фунтах на кубический фут */

main( ) /* любопытствующая программа*/

{

float weight, volume;

int size, letters;

char name [40]; /* или попробуйте "static char name [40], */

printf(" Привет! Как вас зовут?\n" );

scanf(" %s" , name);

printf("%s, Каков ваш вес в фунтах?\n", name);

scani("%f", &weight);

size = sizeof name;

letters = strlen (name);

volume = weight/DENSITY;

printf(" Прекрасно, %s, ваш объем %2 2f кубических фута.\n", name, volume);

printf(" Кроме того, ваше имя состоит из %d букв,\n", letters);

printf(" и для его размещения в памяти у нас есть %d байт.\n", size);

}

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

Привет ! Как вас зовут?

Анжелика

Анжелика Каков ваш вес в фунтах?

102,5

Прекрасно, AНЖЕЛИКА ваш объем 1,64 кубических фута

Кроме того, ваше имя состоит из 8 букв

и для его размещения в памяти у нас есть 40 байт

Перечислим основные новые черты этой программы:

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

2. При вводе и выводе строки была использована "спецификация преобразования" %s.

3. Для определения символической константы DENSITYбыл использован препроцессор языка Си.

4. Для нахождения длины строки была использована функция strlen( ).

СИМВОЛЬНЫЕ СТРОКИ - ВВЕДЕНИЕ

"Символьная строка" - это последовательность, состоящая из одного или более символов В качестве примера рассмотрим следующую строку:

"Строки изливались прямо из сердца!"

Кавычки не являются частью строки. Они вводятся только для того, чтобы отметить ее начало и конец, т.е. играют ту же роль, что и апострофы в случае одиночного символа.

В языке Си нет специального типа, который можно было бы использовать для описания строк Вместо этого строки представля ются в виде "массива" элементов типа char. Это означает, что символы в строке можно представить себе расположенными в со седних ячейках памяти - по одному символу в ячейке (рис. 41).

РИС 4 1 Строка как массив ячеек Необходимо отметить что на рисунке - фото 20

РИС. 4. 1. Строка как массив ячеек

Необходимо отметить, что на рисунке последним элементом массива является символ \0. Это "нуль-символ", и в языке Си он используется для того, чтобы отмечать конец строки Нуль-символ - не цифра 0; он не выводится на печать и в таблице кода ASCII имеет номер 0. Наличие нуль-символа означает, что количество ячеек массива должно быть по крайней мере на одну больше, чем число символов, которые необходимо размещать в памяти.

Ну, а теперь спросим, что такое массив? Массив можно пред ставить себе как совокупность нескольких ячеек памяти, объединен ных в одну строку Если вы предпочитаете более формальные и строгие определения, то массив - это упорядоченная последова тельность элементов данных одного типа В нашем примере мы создали массив из 40 ячеек памяти, в каждую из которых можно по местить один элемент типа char. Мы осуществили это с помощью оператора описания

char name [40];

Квадратные скобки указывают, что переменная name- массив, 40 - число его элементов, a charзадает тип каждого элемента. (В комментариях к программе было отмечено, что при желании вы можете воспользоваться более сложным оператором описания):

static char name [40],

Ввиду некоторой специфики, связанной с реализацией функции scanf( )в нашей системе, мы вынуждены использовать эту вторую

РИС42 Описание имени массива типа char форму но весьма вероятно что вы - фото 21

РИС.4.2. Описание имени массива типа char

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

На первый взгляд все это выглядит довольно сложным: вы должны создать массив, расположить символы в виде строки и не забыть добавить в конце \0. К счастью, о большинстве деталей компилятор может "позаботиться" сам.

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

/* похвала 1*/

#define PRAISE " Вот эта да, какое великолепное имя"

main( )

{

char name [50];

printf(" Как вас зовут? \n" );

scanf(" %s", name);

printf(" Привет, %s %s\n" , name, PRAISE);

}

Символ %sслужит указанием функции printf( )напечатать строку. Результат выполнения программы похвала 1может выглядeть, например, так:

Как вас зовут ?

Элмо Бланк Привет, Элмо, Вот эта да, какое великолепное имя !

Как видите, нам не пришлось самим помещать нуль символ в конец массива. Эта задача была выполнена за нас функцией scanf( )при чтении вводимой строки. PRAISE- "символическая строковая константа". Ниже мы рассмотрим директиву #defineболее подробно, а пока вы должны знать, что кавычки, в которые заключена фраза, следующая за строковой константой PRAISE, идентифицируют эту фразу как строку, и поэтому в ее конец будет помещен нуль-символ.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Array M. УЭИТ читать все книги автора по порядку

Array M. УЭИТ - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Язык Си - руководство для начинающих отзывы


Отзывы читателей о книге Язык Си - руководство для начинающих, автор: Array M. УЭИТ. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x