Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
02 семестр / Лекции и семинары / Лекции по С++ / Лекции / Язык программирования C++.ppt
Источник:
Скачиваний:
103
Добавлен:
04.03.2014
Размер:
384 Кб
Скачать

Алгоритмические языки и программирование.

2 семестр

МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления

Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.

Иванова Галина Сергеевна

1

Структура курса

Лекции – Особенности программирования на С++ в среде разработки Microsoft Visual Studio 2008

Практики (17-19 – Delphi, 20-29 – C++ 2008):

ИУ6-21

– четверг

830-1150;

ИУ6-22

– суббота

830-1150;

ИУ6-23

– понедельник

1200-1525

РК1: динамические структуры данных (9 неделя); РК2: иерархии классов (14 неделя); ДЗ1: практики 17-23 с отчетами (8 неделя)

Зачет (кафедральный) по практикам. Экзамен (результат идет в диплом):

1 – С++;

2 – Сравнение возможностей С++ и Delphi;

3 – Задача (снимается по результатам рейтингов) 2

Литература

1.Подбельский В.В. Язык С++: Учеб. пособие. – М.: Финансы и статистика, 2006.

2.Иванова Г.С., Ничушкина Т.Н., Пугачев Е.К. Объектно- ориентированное программирование. Учеб. для вузов. – М.: Изд-во МГТУ им. Н.Э. Баумана, 2007.

3.Агабеков Л.Е., Иванова Г.С. Программирование на С++. Часть 1. Средства процедурного программирования. Учебное пособие. – М.: МГТУ, 1997. – В электронном виде.

4.Агабеков Л.Е., Иванова Г.С. Программирование на С++. Часть 2. Средства объектно-ориентированного программирования. Учебное пособие. – М.: МГТУ, 1996. – В электронном виде.

5.Иванова Г.С., Ничушкина Т.Н. Консольные приложения С++ в среде Microsoft Studio 2003 (Visual C++): Методические указания по выполнению лабораторных работ. – М.: МГТУ им. Н.Э. Баумана, 2008. – 13 с. – В электронном виде.

3

История создания С++

BCPL (1967)

Си - 1972 Денис Ритчи (1989 Стандарт ANSI, 1999 Новый стандарт)

С++ (начало работы:1979-й год

автор: Бьерн Страуструп)

Standard С++ (1998)

Java

 

C#

 

 

 

Первоначальное название - «С with Classes».

Основное достоинство – наличие большого количества специаль- ных средств и механизмов, упрощающих написание слож- ных системных программ.

Основной недостаток

незащищенный синтаксис, кото- рый часто не позволяет точно идентифицировать ошибку на этапе компиляции программы.

4

Глава 1 Скалярные типы данных. Основные операторы С++

МГТУ им. Н.Э. Баумана Факультет Информатика и системы управления

Кафедра Компьютерные системы и сети Лектор: д.т.н., проф.

Иванова Галина Сергеевна

5

1.1 Алфавит языка. Структура программы

Алфавит языка С++ включает:

1)латинские буквы;

2)арабские цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;

3)шестнадцатеричные цифры: 0..9, а..f или A..F;

4)специальные символы: + - * / = ; { } и т. д.;

5)служебные слова: do, while, for, if, else и т. д.

В отличие от Паскаля С++ различает строчные и прописные буквы.

6

Структура консольной программы

Консольная программа на С++ включает:

<Команды препроцессора> [<Объявление типов, переменных и констант>] [<Объявления (прототипы) функций>] <Описание функции main()>

[<Описания других функций>]

Нотация:

<...> – означает некоторую конструк- цию С++; [<...>] – означает, что

присутствие конструк- ции в операторе не обязательно

В С++ все программы/подпрограммы называются функциями. Функция main() – основная программа, всегда имеющая имя main,

принимающая управление от операционной системы и возвращаю- щая его ей. Присутствие этой функции (или функции WinMain() – для Windows) является обязательным.

Команды препроцессора – команды, выполняемые перед компиля- цией программы, могут использоваться для подключения необхо-

димых библиотек.

7

 

Описание функции

<Тип результата или void> <Имя функции> ([<Список параметров>]) {[ < Объявление локальных переменных и констант >]

<Операторы>

}

Если функция возвращает скалярное значение, то первое слово описания содержит его тип. Если функция не возвращает значения, т.е. фактически является процедурой, то указывают void – «пустой» тип.

Независимо от наличия или отсутствия параметров скобки после имени функции должны быть указаны обязательно. При отсутствии параметров в скобках может быть указано void

{...} – операторные скобки, ограничивающие тело функции – аналог begin ... end Паскаля

8

Сравнение программ, написанных на Паскале и С++

Turbo Delphi (консольный режим):

Program primer;

{$APPTYPE CONSOLE}

Uses SysUtils;

Var A:integer=18;

B:integer=24;

Var C:integer;

Function Nod(A,B:integer):integer;

Begin

while A<>B do

if A>B then A:=A-B

else B:=B-A;

Nod:=A;

End;

Begin

C:=Nod(A,B);

Writeln(‘Nod=‘, C);

End.

Microsoft Visual C++ - Пример Ex1_01:

Команда

#include <stdio.h> препроцессора - подключение

библиотек

int a=18, b=24, c;

int nod(int a,int b)

{

while (a!=b)

if (a>b) a=a-b; else b=b-a;

return a;

}

int main()

{

c=nod(a,b);

printf("nod=%d\n",

return 0;

9

}

Объявление

переменных

Описание

функции

Основная

функция

c);

1.2 Фундаментальные типы данных

1. Интегральные типы

Имя типа

char или _int[8] short или _int[16]

[int] или long или

_int[32]

long long или

_int[64] bool

Подтипы

Размер ,

Интервал

 

байт

значений

[signed] char

1

-128..127

unsigned char

 

0..255

[signed] short

2

-32768..32767

unsigned short

 

0..65535

[signed] [int]

4

-231.. 231-1

unsigned [int]

 

0.. 232-1

[signed] long

 

 

unsigned long

 

 

[signed] long long

8

-263.. 263-1

Unsigned long long

 

0.. 264-1

 

1

false (0), true(1)

Для совместимости с С по-прежнему считается: 0 – false;10 не 0 – true.