Лекция основы си++ 7




НазваниеЛекция основы си++ 7
страница2/18
Дата публикации08.06.2014
Размер1.94 Mb.
ТипЛекция
literature-edu.ru > Курсовая работа > Лекция
1   2   3   4   5   6   7   8   9   ...   18
Часть "else (иначе)" в операторе if необязательна. Более того, если после "if ( условие )" стоит только один оператор, то можно опустить фигурные скобки и записать оператор так:

13

if ( условие ) Оператор1;

В программах условные операторы часто встречаются группами, например:

if (total_test_score < 50)

cout « "Вы не прошли тест. Выучите материал как следует.\n"; else if (total_test_score < 65)

cout « "Вы прошли тест со средним результатом.\n"; else if (total_test_score < 80)

cout « "Вы хорошо выполнили тест.\n"; else if (total_test_score < 95)

cout « "Вы показали отличный результат.\n"; else

{

cout « "Вы сдали тест нечестно!\n";

total_test_score = 0;

Приведенный фрагмент программы может показаться довольно сложным. Тем не менее, он соответствует правилам Си++. Это легко понять, если обратиться к син­таксической диаграмме оператора if (рис. 4).

В овальных или круговых рамках на синтаксических диаграммах указываются элементы языка, которые буквально так и воспроизводятся в исходном тексте про­грамм. В прямоугольных рамках приведены элементы, требующие дальнейшего оп­ределения, возможно, с помощью других синтаксических диаграмм. Набор таких диа­грамм служит формальным описанием синтаксиса языка программирования.

Обратите внимание, что на рис. 4 отсутствует символ ";" и разделители "{}". Эти элементы языка включены в определение (и синтаксическую диаграмму) для обобщенного понятия "оператор языка Си++".



Рис. 4. Синтаксическая диаграмма оператора if.

При обработке приведенного фрагмента программы компилятор Си++ трактует весь текст, выделенный ниже полужирным шрифтом, как один оператор после перво­го слова else.

if (total_test_score < 50)

cout « "Вы не прошли тест. Выучите материал как следует.\n"; else if (total_test_score < 65)

cout « "Вы прошли тест со средним результатом.\n"; else if (total_test_score < 80)

cout « "Вы хорошо выполнили тест.\n";

14

else if (total_test_score < 95)

cout « "Вы показали отличный результат.\n"; else

{

cout « "Вы сдали тест нечестно!\n";

total_test_score = 0;

8. Оформление исходного текста

Между текстом программы, приведенным в п.5 и текстом, который показан ниже, для компилятора Си++ нет никаких различий.

#include int main() { int year_now, age_now, another_year, another age; cout << "Введите текущий год и нажмите ENTER.\n"; cin » year_now; cout « "Введите свой возраст (в годах).\n"; cin » age_now; cout « "Введите год, для которого вы хотите узнать свой возраст.\n"; cin » another_year; another_age = another_year - (year_now - age_now); if (another_age >= 0) { cout « "B " « another_year « " году вам будет "; cout « another_age « "\n"; } else { cout « "В " « another_year « " вы еще не родились!\n"; } return 0; }

Отсутствие комментариев, пробелов, пустых строк и отступов делают эту программу практически непригодной для чтения человеком. Для выработки хорошего стиля программирования, конечно, требуется знать не только правила оформления текста программы, но их следует соблюдать с самого начала. При оформлении собст­венных программ будьте последовательны и делайте так, чтобы отступы и пробелы отражали логическую структуру ваших программ.

Для переменных следует выбирать осмысленные имена: имена "year_now",

"age_now", "another_year" и "another age" лучше, чем "y_n", "a_n", "a_y" и

"a_a" и намного лучше, чем "w", "x", "y" и "z". Это особенно важно, если в будущем ваши программы могут потребовать изменения с помощью других программистов.

9. Сводка результатов

В данной лекции кратко и неформально были рассмотрены несколько важных вопросов: переменные и типы данных, ввод и вывод, оператор присваивания и услов­ный оператор ("оператор if"). Более строго и подробно эти вопросы будут рассмот­рены в последующих лекциях.

10. Упражнения

Для выполнения этих упражнений требуется некоторый опыт работы с ПК под управлением операционной системы Windows 95/NT.

Упражнение 1

Изучите краткое руководство по Visual C++ в Приложении. Создайте проект с именем "AgeCalculator". Создайте исходный файл с именем AgeCalculator.cpp

15

и наберите в нем исходный текст программы 5.1. Сохраните файл на диске и добавьте его в проект. Соберите проект и запустите программу на выполнение.

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

1) В окне программы вместо русских букв выводятся какие-то странные символы.

Эта проблема объясняется различием таблиц кодировок Windows и DOS. В этих таблицах русские буквы расположены в разных местах. Консольные программы при работе исполь­зуют кодировку DOS, а текстовый редактор Visual C++ - кодировку Windows. Поэтому вам придется добавить преобразование строк с русскими буквами из кодировки Windows в кодировку DOS.

Для этого включите в программу, после файла iostream.h, файл windows .h с описа­нием функций операционной системы Windows:

#include

Перед функцией main () создайте новую функцию с именем rus_str (), которая будет вы­полнять необходимое преобразование с помощью специальной функции Windows:

char* rus_str( char* str )

{

CharToOem( str, str ); return str; }

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

cout << rus str( "Введите текущий год и нажмите ENTER.\n" );

2) После завершения работы окно программы закрывается и не удается увидеть ре­
зультаты.


Для исправления этого недостатка проще всего предусмотреть в конце программы ввод произвольного символа. Пока пользователь не нажмет какую-нибудь символьную клави­шу и потом Enter, окно программы будет оставаться на экране. Для этого потребуется за­вести символьную переменную (строку с описанием этой переменной расположите после строки с описанием целочисленных переменных):

char wait_char;

Перед строкой с оператором возврата "return 0" добавьте оператор для ввода символа с клавиатуры:

cin » wait_char;

Сравните результаты работы своей программы с примером из лекции. Поэкс­периментируйте над улучшением или изменением формата вывода на экран.

Упражнение 2

Модифицируйте программу 5.1, чтобы при превышении переменной "another_age" значения 150 на экран выводилось сообщение:

Извините, но вы вряд ли доживете до [year] года! Проверьте работу своей программы для нескольких разных лет.

Упражнение 3

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

Введите текущий год и нажмите ENTER.

2000

Введите текущий месяц (число от 1 до 12).

10

16

Введите свой возраст (в годах).

25

Введите месяц своего рождения (число от 1 до 12).

5

Введите год, для которого вы хотите узнать свой возраст.

2006

Введите месяц этого года.

6

Ваш возраст в 6/2006: 31 год и 1 месяц.

Программа должна выдавать корректные сообщения для единственного и мно­жественного числа лет и месяцев, т.е. должна выводить на экран "25 лет и 1 ме­сяц", но "2 4 года и 2 месяца".

Подсказка: В программе вам потребуются дополнительные переменные. Обязатель­но добавьте их имена в оператор описания переменных. При вычислениях могут при­годиться некоторые стандартные операции Си++:

Символ

Операция

Пример

Значение

+

Сложение

3 + 5

8

-

Вычитание

43-25

18

*

Умножение

4*7

28

/

Деление

9/2

4

%

Остаток при деле­нии нацело

20 % 6

2

(Обратите внимание, что в приведенной таблице операция деления "/" применялась к двум целым числам, поэтому результат — тоже целое число.)

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

Символ

Операция

Пример

Значение

<

меньше, чем

3<5

TRUE (истина)

<=

меньше или равно

43 <= 25

FALSE (ложь)

>

больше, чем

4>7

FALSE

>=

больше или равно

9>=2

TRUE

=

равно

20 ==6

FALSE

!=

не равно

20!= 6

TRUE

&&

Логическое И

5 > 2 && 6 > 10

FALSE

II

Логическое ИЛИ

5>2||6>10

TRUE

17

ЛЕКЦИЯ 2. Переменные, типы данных и выражения

1. Идентификаторы

В исходном тексте программ на Си++ используется довольно много англий­ских слов и их сокращений. Все слова (идентификаторы), встречающиеся в програм­мах, можно разделить на три категории:

1) Служебные слова языка. Например, это слова if, int и else. Назначение
этих слов предопределено и его нельзя изменить. Ниже приведен более
полный список служебных слов:

new

signed

try

operator

sizeof

typedef

private

static

union

protected

struct

unsigned

public

switch

virtual

register

template

void

return

this

volatile

short

throw

while

asm

continue

auto

default

break

delete

case

do

catch

double

char

else

class

enum

const

extern

float

for

friend

goto

if

inline

int

long

По назначению эти слова можно разбить на отдельные группы (прил. 8.1).
1   2   3   4   5   6   7   8   9   ...   18

Похожие:

Лекция основы си++ 7 iconЛекция основы Си++ 9
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция I и проблема языка и сознания лекция II 31 слово и его семантическое...
Монография представляет собой изложение курса лекций, про* читанных автором на факультете психологии Московского государственного...

Лекция основы си++ 7 iconЛекция психосексуальное развитие. Возрастная динамика взаимоотношения полов 15
Основы семейной психопедагогики (курс лекций) / В. И. Короткий. — Архангельск: М'арт, 2003. — 178 с

Лекция основы си++ 7 iconЛекция Архитектура 32-разрядных ос windows 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция Основные понятия ооп 7
Б73 Основы программирования на языке Си++: Для студентов физико-математических факультетов педагогических институтов. – Коломна:...

Лекция основы си++ 7 iconЛекция №1. Введение. Элементы дифференциальной геометрии. 2
Лекция №5. Множества Жюлиа, множество Мандельброта и их компьютерное представление. 18

Лекция основы си++ 7 iconЛекция на тему: «Современные подходы к содержанию дополнительного образования детей»
...

Лекция основы си++ 7 iconЛекция в Дорнахе 22 мая 1920 года
Канта и протестантизма. Эта лекция вызвала негодование среди членов Лиги, культивировавших и признававших под названием монизма вообще...

Лекция основы си++ 7 iconКурс лекций Лекция Введение в философскую суицидологию. Лекция Общая...
Открыть, в чём состоит суть суицида, наука не в состоянии (по собственной ограниченной природе) и потому должна обращаться за объяснениями...

Лекция основы си++ 7 iconЛекция для слушателей курса «Основы религий»
Я не могу всего этого понять, потому что некоторые пытливые учителя, помню, меня просто одолевали вопросами, где найти, например,...

Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции