Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Расширенные символы wchar_t




Функции ввода одиночных символов

 

Для ввода одиночных символов часто используются функции getchar() из <stdio.h > - ввод с эхом и нажатием Enter или getch() из <conio.h > - ввод без эха и нажатия Enter (например для приостановки работы приложения).

 

// Пример 3.2.12

// Функции для ввода символов с клавиатуры

#include <iostream>

#include <stdio.h>

#include <conio.h>

using namespace std;

void main() {

setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста

unsigned char ch='Б';

cout << "Символ: " << ch << "\t\tНомер: " << (int) ch << '\n';

//Ввод ASCII-символа с эхом

cout << "Введите символ\n";

//ch=getchar(); // C

ch=cin.get();// C++

cout << "Символ: " << ch << "\t\tНомер: " << (int) ch << '\n';

//Ввод символов без эха

cout << "Введите символ\n";

ch=getch();

cout << "Символ: " << ch << "\t\tНомер: " << (int) ch << '\n';

_getch();

}

 

 

 

В настоящее время получает распространение набор 2-х байтовых символов Unicode,
с помощью которого возможно кодировка 65535 символов, входящих в большинство языков мира. Для работы с символами Unicode в Standart C++ введен тип данных wchar_t.

 

// Пример 3.2.13

// Расширенные символы (Wide Char)

#include <iostream>

using namespace std;

int main() {

setlocale(LC_ALL, "Russian"); // для вывода на экран русского текста

wchar_t ch='A'; // англ.

cout << "Символ: " << ch << "\tКод символа: " << (unsigned)ch

<< "\tРазмер символа: " << sizeof(ch) << endl;

ch='А'; // русск.

cout << "Символ: " << (char)ch << "\tКод символа: " << (unsigned)ch

<< "\tРазмер символа: " << sizeof(ch) << endl;

wchar_t str[]= L"abcd";

cout << sizeof(str) << endl;

cout << str << endl;

cin.get();

}

 

 

Практические задания

1. Какого типа переменные подойдут для хранения следующей информации:

Возраст человека Население города Число звезд в галактике

Один байт ОЗУ Средняя зарплата за год Сведения курит или нет

Цвет фигуры Длина в мм. Длина в см.

Объявите и проинициализируйте эти переменные, дав имен смысловые имена. Выведите их на экран.

2. Какие имена правильные, а какие нет:

Age!ex R79J TotalInCome __Invalid enum
p Const Масса my Age vash_vozrast getch

3. Объявите переменные, необходимые для хранения следующих сведений о сотруднике: табельный номер, фамилия, пол, возраст, вес, курит или нет, тарифная ставка и проинициализируйте их. Распечатайте данные на экране. Введите новые значения с клавиатуры и снова распечатайте.

4. Измените программу 3. так, чтобы в ней обрабатывались сведения о двух сотрудниках.

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

6. Объявите константу p со значением 3.14159 двумя способами?

7. Объявите переменную с плавающей точкой и инициализируйте ее значением константы p

8. Назовите тип unsigned long int именем ULONG, а long double по своему усмотрению.

9. Объявите перечисления для месяцев года, названий дней недели, планет солнечной системы, названий валют, типов компьютерных документов, названий языков.

10. Какое значение BLUE в следующем перечислении:
enum COLOR{ WHITE, BLACK=100, RED, BLUE, GREEN=300};

11. Распечатайте на экране значения основных математических констант, объявленных в библиотеке math.h.

12. Выдайте на экран подсказку для ввода числа типа signed long int, используя константы из библиотеки limits.h

13. Выведите на экран все прописные русские буквы и их номера.

Контрольные вопросы

1. Какие два основных вида памяти необходимо различать в компьютере? В чем их различие?

2. В каких единицах измеряют память?

3. Что такое переменная?

4. Какие четыре основных параметра используются в информатике для характеристики переменных?

5. В какой памяти компьютера размещаются переменные при выполнении программы?

6. Что такое тип переменной?

7. Какие встроенные типы переменных существуют?

8. Какая функция используется для определения размера переменных?

9. Что такое диапазон значений типа? Почему существуют диапазоны?

10. Как давать имена переменным?

11. Что такое ключевое слово? Можно ли их использовать в качестве имен?

12. Можно ли объявить одновременно несколько переменных?

13. В чем разница между инициализацией и присваиванием?

14. В чем отличие между целой переменной и переменной вещественного типа?

15. В чем отличие между unsigned int и int?

16. Чем отличаются величины int и long?

17. В чем разница между float и double?

18. Объясните термин “переполнение(overflow) ”.

19. Как работает переполнение знакового и беззнакового целых?

20. Возможно ли переполнение вещественных типов?

21. Объясните термин “потеря дробной части(truncation)”.

22. Можно ли использовать целый тип для хранения символов или символы для хранения целых?

23. Как выполнить преобразование одного типа в другой?

24. Какие значения могут принимать величины типа bool.

25. Для чего в программе используются константы?

26. Почему использование именованных констант влияет на эффективность?

27. Что такое перечислимые константы? В чем преимущества их использования?

28. Почему использование const и enum лучше define?

29. Как называется заголовочных файл с константами для значений диапазонов?

30. Для чего применяется оператор typedef?

31. Объясните следующий прототип: UCHAR getChar(UINT, ULONG);

32. Сколько всего символов в стандартной таблице символов компьютера? Почему?

33. В чем отличие таблицы символов MS-DOS от Windows?

34. Почему для работы с русскими символами лучше использовать тип unsigned char?

35. Как вы понимаете термины “ввод с эхом” и “ввод без эха”? Как его реализовать?

36. Что такое символы Unicode?

 


 

Тема 4: Операции и выражения

 




Поделиться с друзьями:


Дата добавления: 2014-01-03; Просмотров: 1256; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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