русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Ввод и вывод русских символов


Дата добавления: 2013-12-23; просмотров: 4156; Нарушение авторских прав


Работа с символами и строками

Функция putchar() выводит на консоль один символ:

putchar('H'); putchar('e');

putchar('l'); putchar('l');

putchar('o'); putchar('!');

putchar('\n');

Функция getchar() считывает один символ с клавиатуры:

char letter;

letter = getchar();

putchar(letter);

 

Проблема пропуска символа.

Несколько символом, идущих подряд образуют строку. Более подробно строки будут изучены в соответствующей теме, а сейчас мы рассмотрим базовые сведения, касающиеся строк. Итак, для объявления строки необходимо указать ее имя и максимальный размер:

 

char str[100];

char book[50];

 

Задать значение строки можно при ее объявлении:

char str[] = "Математика – царица наук.";

 

Вывести строку на экран можно следующими способами:

 

printf("%s", str);

puts(str);

puts("Заседание продолжается!");

printf("Командовать парадом буду я!");

 

Обратите внимание на то, что строки заключаются в двойные кавычки, а символы – в апострофы. Это нужно учитывать при работе с ними. Ниже приведены примеры.

 

//Корректные записи

char str[] = "Кашу маслом не испортишь";

puts("Назвался груздем — полезай в кузов");

printf("%s", "Баба с возу — кобыле легче");

printf("Продукт класса %с", 'A');

putchar('С'); putchar('ы'); putchar('р');

 

//Некорректные записи

char str[] = 'Кашу маслом не испортишь';

puts('Назвался груздем — полезай в кузов');

printf("%s", 'Баба с возу — кобыле легче');

printf("Продукт класса %с", "A");

putchar("С"); putchar("ы"); putchar("р");

 

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



 

printf("Столовая наполнилась неприятным\n");

printf("синим сигарным дымом. Пес дремал,\n");

printf("уложив голову на передние лапы.\n");

 

 

Если текст на экране отобразился нормально, то дальше можно не читать, однако, если вы увидели нечто подобное:

 

 

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

 

#include <locale.h>

setlocale(LC_ALL, "Russian");

printf(…);

 

После этого текст должен отобразиться так, как требуется:

 

 

Однако это еще не все. Рассмотрим пример:

 

setlocale(LC_ALL, "Russian");

char name[20];

puts("Введите свое имя:");

gets(name);

puts("Ваше имя:");

puts(name);

 

Введенное имя выведется некорректно, поскольку кодировка для ввода неправильная:

 

Для устранения проблемы можно поступить так:

 

#include <windows.h>

SetConsoleCP(1251);

SetConsoleOutputCP(1251);

 

 

Возможно, понадобится также сменить шрифт консоли. Поэкспериментируйте.

 

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Как поместить комментарий в программу, написанную на языке Си?

2. Перечислите известные вам типы данных, которые есть в языке Си? Какой размер в памяти они занимают? Какие значения они могут принимать?

3. Объясните, чем отличаются ключевые слова от идентификаторов?

4. Какие правила нужно соблюдать при создании имен переменных? Приведите несколько корректных и некорректных имен; объясните, какие правила нарушают некорректные имена.

5. Объясните, как работает функция printf(). Что такое спецификаторы и модификаторы? Приведите примеры.

6. Что такое спецсимволы или управляющие последовательности? Приведите примеры.

7. Как задать количество знаков после запятой для выводимого вещественного числа?

8. Как используется модификатор * (звездочка) в функциях printf(), а не в scanf()? Приведите примеры.

9. Как используется функция scanf()? Объясните принцип ее работы.

10. Какие функции могут быть использованы для ввода с клавиатуры символов и строк? Приведите примеры.

 

ТРЕНИРОВОЧНЫЕ ЗАДАНИЯ

  1. Вывести на экран значения целой переменной x, вещественной переменной y и символьной переменной c.

2. Вывести на экран слово «программирование», используя только функцию putchar().

3. Ввести с клавиатуры три числа и вывести их сумму.

4. Вывести на экран размеры типов int, float, char, double и bool. Использовать функцию sizeof().

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



<== предыдущая лекция | следующая лекция ==>
Примеры вычислений | Множества


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.004 сек.