Programmer’s Reference



страница1/19
Дата21.09.2016
Размер2.35 Mb.
  1   2   3   4   5   6   7   8   9   ...   19

Programmer’s Reference



Herbert Shildt

Osborne / McGraw – Hill

1997 , Berkeley CA

ISBN 0-07-882367-6

Превод и обработка – MesserSchmidt

gripen@abv.bg

Съдържание:

Увод …………………………………………………………………. 12




ГЛАВА 1 - Типове данни,променливи и константи…… 12



Основни типове……………………………………………………………. 12

Деклариране на променливи…………………………………………….. 14

Инициализиране на променливи………………………………………... 14

Идентификатори…………………………………………………………… 14

Класове……………………………………………………………………… 15


Наследяване………………………………………………………………… 17

Структури…………………………………………………………………… 18

Обединения…………………………………………………………………. 18

Изброявания………………………………………………………………… 20

C тагове……………………………………………………………………… 21

Спецификатори на класове за съхранение…………………………… 22

extern…………………………………………………………………. 22

auto…………………………………………………………………… 22

register……………………………………………………………….. 22

static………………………………………………………………….. 22

mutable………………………………………………………………. 23



Типови определители……………………………………………………… 23

const…………………………………………………………………… 23

volatile………………………………………………………………… 24

Масиви………………………………………………………………………. 24

Дефиниране на нови типове имена използвайки typedef…………. 25

Константи……………………………………………………………………. 25

Шестнайсетични и осмични константи……………………….. 26

Низови константи………………………………………………….. 26

Булеви константи………………………………………………….. 26

Константи след обратно наклонена черта……………………. 26



ГЛАВА 2 - Функции , интервали , именовани пространства и хедъри…………………………………………………………………. 27




Функции……………………………………………………………………… 27


Рекурсия……………………………………………………………………… 28

Предефиниране на функции…………………………………………….. 29

Подразбиращи се аргументи…………………………………………….. 29

Прототипи…………………………………………………………………… 30

Разбиране на интервалите и продължителността на съществуване

на променлива………………………………………………………………. 31

Именовани пространства………………………………………………….. 32

Функцията main ( )………………………………………………………… 32

Аргументи на функция…………………………………………………… 33

Подаване на указатели…………………………………………… 34

Параметри псевдоними…………………………………………… 35

Конструктори и деструктори……………………………………………. 35

Спецификатори на функция…………………………………………….. 36

Свързваща спецификация……………………………………………….. 36

Стандартните библиотеки на С и С++……………………………… 37



ГЛАВА 3 - Оператори …………………………………………….. 39



Аритметични оператори…………………………………………………… 39

Релационни и логически оператори……………………………………. 39

Побитови оператори……………………………………………………….. 40

Оператори & , | и ^………………………………………………… 41

Оператор за единствено допълнение ~…………………………. 41

Преместващите оператори >> и <<…………………………….. 41

Указателни оператори……………………………………………………… 42

Указателен оператор &…………………………………………….. 42

Указателен оператор *…………………………………………….. 43

Оператори за присвояване……………………………………………….. 43

Оператора ? …………………………………………………………………. 43

Оператори за членове…………………………………………………….. 44

Оператора запетайка………………………………………………………. 44

sizeof…………………………………………………………………………… 45

Преобразуване……………………………………………………………….. 45

Преобразувания в С++…………………………………………….. 45

Оператори за I / O………………………………………………………….. 46

. * и ->* указатели към член функции………………………………... 46

Оператор за определяне област на видимост :: ……………………. 47

new и delete………………………………………………………………….. 47

typeid…………………………………………………………………………… 47

Предефиниране на оператори…………………………………………….. 48

Таблица на приоритетите на операторите…………………………….. 48



ГЛАВА 4- Предпроцесор и коментари……………………… 49



#define………………………………………………………………………….. 49

#error…………………………………………………………………………… 50

#if , #ifdef , #ifndef , #else , #elif , и #endif…………………………………... 50

#include………………………………………………………………………… 51

#line…………………………………………………………………………….. 52

#pragma………………………………………………………………………… 52

#undef…………………………………………………………………………… 52

Предпроцесорните оператори # и ##…………………………………….. 53

Предефинирани имена на макроси………………………………………. 53

Коментари……………………………………………………………………. 54

ГЛАВА 5 – Справочник на ключовите думи…………… 54



аsm…………………………………………………………………………….. 55

auto…………………………………………………………………………….. 55

bool…………………………………………………………………………….. 55

break…………………………………………………………………………… 55

case…………………………………………………………………………….. 55

catch……………………………………………………………………………. 56

char…………………………………………………………………………….. 56

class…………………………………………………………………………….. 56

const…………………………………………………………………………….. 56

const_cast………………………………………………………………………. 56

continue………………………………………………………………………… 57

default…………………………………………………………………………… 57

delete……………………………………………………………………………. 57

do………………………………………………………………………………... 57

double…………………………………………………………………………… 57

dynamic_cast…………………………………………………………………… 58

else………………………………………………………………………………. 58

enum…………………………………………………………………………….. 58

explicit…………………………………………………………………………... 58

extern …………………………………………………………………………… 59

false……………………………………………………………………………… 59

float……………………………………………………………………………… 59

for……………………………………………………………………………….. 59

friend……………………………………………………………………………. 60

goto……………………………………………………………………………… 60

if…………………………………………………………………………………. 61

inline…………………………………………………………………………….. 62

int………………………………………………………………………………... 62

long……………………………………………………………………………… 62

mutable…………………………………………………………………………. 62

namespace……………………………………………………………………… 62

new……………………………………………………………………………… 63

operator………………………………………………………………………… 64

private………………………………………………………………………….. 65

protected……………………………………………………………………….. 65

public…………………………………………………………………………… 66

register…………………………………………………………………………. 66

reinterpret_cast………………………………………………………………… 67

return…………………………………………………………………………… 67

short…………………………………………………………………………….. 67

signed…………………………………………………………………………… 67

sizeof……………………………………………………………………………. 67

static……………………………………………………………………………. 68

static_cast……………………………………………………………………… 68

struct…………………………………………………………………………… 68

switch…………………………………………………………………………… 69

template………………………………………………………………………… 70

this……………………………………………………………………………… 73

throw…………………………………………………………………………… 73

true…………………………………………………………………………….. 74

try……………………………………………………………………………… 75

typedef…………………………………………………………………………. 75

typeid………………………………………………………………………….. 75

typename……………………………………………………………………… 75

union…………………………………………………………………………… 75

unsigned………………………………………………………………………. 76

using…………………………………………………………………………… 76

virtual…………………………………………………………………………. 76

void…………………………………………………………………………….. 76

volatile…………………………………………………………………………. 77

wchar_t………………………………………………………………………… 77

while……………………………………………………………………………. 77



ГЛАВА 6 – Стандартни C I/O функции................................…. 77



clearerr………………………………………………………………………… 78

fclose…………………………………………………………………………… 78

feof …………………………………………………………………………….. 79

ferror…………………………………………………………………………… 79

fflush……………………………………………………………………………. 79

fgetc…………………………………………………………………………….. 79

fgetpos…………………………………………………………………………. 80

fgets……………………………………………………………………………. 80

fopen……………………………………………………………………………. 80

fprintf…………………………………………………………………………… 82

fputc…………………………………………………………………………….. 82

fputs…………………………………………………………………………….. 82

fread…………………………………………………………………………….. 83

freopen…………………………………………………………………………. 83

fscanf…………………………………………………………………………… 83

fseek……………………………………………………………………………. 83

fsetpos…………………………………………………………………………. 84

ftell……………………………………………………………………………… 84

fwrite…………………………………………………………………………… 84

getc…………………………………………………………………………….. 85

getchar………………………………………………………………………… 85

gets…………………………………………………………………………….. 85

perror…………………………………………………………………………. 86

printf…………………………………………………………………………… 86

putc…………………………………………………………………………….. 88

putchar………………………………………………………………………… 89

puts…………………………………………………………………………….. 89

remove…………………………………………………………………………. 89

rename…………………………………………………………………………. 89

rewind………………………………………………………………………….. 89

scanf……………………………………………………………………………. 90

setbuf…………………………………………………………………………… 92

setvbuf…………………………………………………………………………. 92

sprintf…………………………………………………………………………. 92

sscanf………………………………………………………………………….. 93

tmpfile………………………………………………………………………… 93

tmpnam……………………………………………………………………….. 93

ungetc…………………………………………………………………………. 93

vprintf ( ) , vfprintf ( ) и vsprintf ( ) ………………………………………. 94



ГЛАВА 7 – С - низови и символни функции……………. 94



isalnum………………………………………………………………………… 94

isalpha…………………………………………………………………………. 94

iscntrl………………………………………………………………………….. 95

isdigit………………………………………………………………………….. 95

isgraph………………………………………………………………………… 95

islower…………………………………………………………………………. 95

isprint…………………………………………………………………………. 95

ispunct…………………………………………………………………………. 95

isspace…………………………………………………………………………. 96

isupper…………………………………………………………………………. 96

isxdigit…………………………………………………………………………. 96

memchr………………………………………………………………………… 96

memcmp……………………………………………………………………….. 96

memcpy………………………………………………………………………... 96

memmove……………………………………………………………………… 97

memset………………………………………………………………………… 97

strcat…………………………………………………………………………… 97

strchr………………………………………………………………………….. 97

strcmp…………………………………………………………………………. 97

strcoll………………………………………………………………………….. 98

strcpy………………………………………………………………………….. 98

strcspn…………………………………………………………………………. 98

strerror………………………………………………………………………… 98

strlen…………………………………………………………………………… 98

strncat…………………………………………………………………………. 99

strncmp………………………………………………………………………… 99

strncpy…………………………………………………………………………. 99

strpbrk………………………………………………………………………… 99

strrchr…………………………………………………………………………. 100

strspn………………………………………………………………………….. 100

strstr…………………………………………………………………………… 100

strtok…………………………………………………………………………… 100

strxfrm…………………………………………………………………………. 101

tolower…………………………………………………………………………. 101

toupper…………………………………………………………………………. 101

ГЛАВА 8 – Математични функции в С………………………. 101



acos…………………………………………………………………………….. 102

asin……………………………………………………………………………… 102

atan……………………………………………………………………………… 102

atan2…………………………………………………………………………….. 102

ceil………………………………………………………………………………. 102

cos………………………………………………………………………………. 103

cosh……………………………………………………………………………… 103

exp………………………………………………………………………………. 103

fabs……………………………………………………………………………… 103

floor…………………………………………………………………………….. 103

fmod……………………………………………………………………………. 103

frexp……………………………………………………………………………. 103

ldexp……………………………………………………………………………. 104

log………………………………………………………………………………. 104

log10…………………………………………………………………………….. 104

modf…………………………………………………………………………….. 104

pow……………………………………………………………………………… 104

sin………………………………………………………………………………. 104

sinh…………………………………………………………………………….. 104

sqrt…………………………………………………………………………….. 105

tan………………………………………………………………………………. 105

tanh…………………………………………………………………………….. 105

ГЛАВА 9 – Функции в С за време , дата и локализационни функции……………………………………………………………………. 105



asctime………………………………………………………………………… 106

clock…………………………………………………………………………… 106

ctime…………………………………………………………………………… 106

difftime………………………………………………………………………… 106

gmtime………………………………………………………………………… 107

localeconv……………………………………………………………………… 107

localtime………………………………………………………………………. 108

mktime………………………………………………………………………… 108

setlocale………………………………………………………………………… 109

srftime…………………………………………………………………………. 110

time…………………………………………………………………………….. 111

ГЛАВА 10 – Функции в С за динамично заделяне



calloc…………………………………………………………………………… 112

free…………………………………………………………………………….. 112

malloc………………………………………………………………………….. 112

realloc………………………………………………………………………….. 113



ГЛАВА 11 – Разнообразни функции на С…………………. 113



abort……………………………………………………………………………. 114

abs………………………………………………………………………………. 114

assert……………………………………………………………………………. 114

atexit…………………………………………………………………………….. 114

atof………………………………………………………………………………. 115

atoi………………………………………………………………………………. 115

atol………………………………………………………………………………. 115

bsearch………………………………………………………………………….. 115

div………………………………………………………………………………. 116

exit………………………………………………………………………………. 116

getenv…………………………………………………………………………… 116

labs……………………………………………………………………………… 116

ldiv……………………………………………………………………………… 117

longjmp………………………………………………………………………… 117

qsort…………………………………………………………………………….. 117

raise…………………………………………………………………………….. 118

rand…………………………………………………………………………….. 118

setjmp………………………………………………………………………….. 118

signal……………………………………………………………………………. 119

srand…………………………………………………………………………….. 119

strtod…………………………………………………………………………….. 119

strtol……………………………………………………………………………… 120

strtoul……………………………………………………………………………. 120

system……………………………………………………………………………. 120

va_arg ( ) , va_start ( ) и va_end ( ) …………………………………………. 121

ГЛАВА 12 – Системата на С++ за I/O в стар стил…… 122



Основни класове за потоци………………………………………………. 123

Предефинирани потоци в С++…………………………………………… 123


Форматни флагове……………………………………………………… …. 123

I/O Манипулатори………………………………………………………….. 124

Iostream функции в стар стил…………………………………………… 126

bad……………………………………………………………………………… 126

clear…………………………………………………………………………… 126

eatwhite………………………………………………………………………. 127

eof……………………………………………………………………………… 127

fail……………………………………………………………………………… 127

fill……………………………………………………………………………… 127

flags…………………………………………………………………………… 127

flush…………………………………………………………………………… 127

fstream ( ) , ifstream ( ) и ofstream ( ) ……………………………………. 128

gcount…………………………………………………………………………. 129

get……………………………………………………………………………… 129

getline…………………………………………………………………………. 129

good…………………………………………………………………………… 130

ignore…………………………………………………………………………. 130

open……………………………………………………………………………. 130

peek……………………………………………………………………………. 132

precision………………………………………………………………………. 132

put…………………………………………………………………………….. 132

putback…………………..…………………………………………………… 132

rdstate…………………………………………………………………………. 133

read……………………………………………………………………………. 133

seekg ( ) и seekp ( ) …………………………………………………………. 133

setf…………………………………………………………………………….. 134

setmode……………………………………………………………………….. 134

str……………………………………………………………………………… 135

strstream ( ) , istrstream ( ) и ostrstream ( ) ……………………………… 135

sync_with_stdio………………………………………………………………. 136

tellg ( ) и tellp ( ) ……………………………………………………………. 136

unsetf………………………………………………………………………….. 136

width…………………………………………………………………………… 136

write……………………………………………………………………………. 137

ГЛАВА 13 – Стандартната система на С++ за I/O……. 137



Използване на новата iostream библиотека ………………………….. 137

Базови класове за I/O……….…………………………………………….. 137

Предефинирани потоци в С++…………………………………………… 138

Типа streamsize………………………………………………………………. 138

Типа iostate……………………………….…………………………………… 139

Форматни флагове и типа fmtflags……………………………………… 139

I/O манипулатори…………………………………………………………… 140

Стандартни iostream функции……………………………………………. 142

bad……………………………………………………………………………… 142

clear……………………………………………………………………………. 142

eof………………………………………………………………………………. 142

fail………………………………………………………………………………. 142

fill……………………………………………………………………………….. 142

flags…………………………………………………………………………… 143

flush…………………………………………………………………………… 143

fstream ( ) , ifstream ( ) и ofstream ( ) …………….……………………… 143

gcount…………………………………………………………………………. 144

get…………………………………………………………………………….. 144

getline…………………………………………………………………………. 145

good……………………………………………………………………………. 145

ignore…………………………………………………………………………. 145

open…………………………………………………………………………… 145

peek……………………………………………………………………………. 146

precision……………………………………………………………………….. 146

put……………………………………………………………………………… 147

putback………………………………………………………………………… 147

rdstate…………………………………………………………………………. 147

read……………………………………………………………………………. 147

seekg ( ) и seekp ( )..…………………………………………………………. 148

setf……………………………………………………………………………… 148

sync_with_stdio……………………………………………………………….. 149

tellg ( ) и tellp ( ) …………………………………………………………….. 149

unsetf…………………………………………………………………………… 149

width……………………………………………………………………………. 149

write……………………………………………………………………………. 150



ГЛАВА 14 – Стандартната библиотека с шаблони ( STL)

на С++ ……………………………………………………………………… 150



Преглед на контейнери , алгоритми и итератори ……………………. 150

Контейнер…………………………………………………………….. 150

Алгоритми……………………………………………………………. 151

Итератори…………………………………………………………….. 151

Алокатори…………………………………………………………………….. 152

Предикати и сравнителни функции…………………………………….. 152

Инструменти и функционални хедъри…………………………………. 152

Контейнерни класове ………………………………………………………. 153

bitset……………………………………………………………………. 155

deque…………………………………………………………………… 156

list………………………………………………………………………. 158

map……………………………………………………………………… 160

multimap……………………………………………………………….. 162

multiset………………………………………………………………….. 163

queue……………………………………………………………………. 165

priority_queue…………………………………………………………. 165

set………………………………………………………………………. 166

stack……………………………………………………………………. 167

vector…………………………………………………………………… 168

Алгоритми…………………………………………………………………… 170

adjacent_find…………………………………………………………. 170

binary_search………………………………………………………… 171

copy……………………………………………………………………. 171

copy_backward……………………………………………………….. 171

count…………………………………………………………………… 171

count_if………………………………………………………………… 171

equal…………………………………………………………………… 171

equal_range…………………………………………………………… 171

fill и fill_n……………………………………………………………. 172

find…………………………………………………………………….. 172

find_end………………………………………………………………. 172

find_first_of…………………………………………………………… 172

find_if………………………………………………………………….. 172

for_each……………………………………………………………….. 172

generate и generate_n…………………………………………….… 173

includes……………………………………………………………….. 173

inplace_merge………………………………………………………… 173

iter_swap……………………………………………………………… 173

lexicographical_compare……………………………………………. 173

lower_bound………………………………………………………….. 174

make_heap……………………………………………………………. 174

max……………………………………………………………………. 174

max_element………………………………………………………….. 174

merge………………………………………………………………….. 174

min…………………………………………………………………….. 174

min_element…………………………………………………………… 175

mismatch………………………………………………………………. 175

next_permutation…………………………………………………….. 175

nth_element…………………………………………………………… 175

partial_sort……………………………………………………………. 176

partial_sort_copy……………………………………………………… 176

partition……………………………………………………………….. 176

pop_heap………………………………………………………………. 176

prev_permutation…………………………………………………….. 176

push_heap……………………………………………………………… 177

random_shuffle……………………………………………………….. 177

remove , remove_if , remove_copy и remove_copy_if……………. 177

replace , replace_copy , replace_if и replace_copy_if……………. 178

reverse и reverse_copy……………………………………………… 178

rotate и rotate_copy…………………………………………………. 178

search………………………………………………………………….. 179

search_n……………………………………………………………….. 179

set_difference…………………………………………………………. 179

set_intersection……………………………………………………….. 179

set_symetric_difference………………………………………………. 180

set_union……………………………………………………………… 180

sort……………………………………………………………………. 180

sort_heap…………………………………………………………….. 180

stable_partition………………………………………………………. 181

stable_sort…………………………………………………………….. 181

swap…………………………………………………………………… 181

swap_ranges………………………………………………………….. 181

transform……………………………………………………………… 181

unique и unique_copy………………………………………………. 182

upper_bound………………………………………………………….. 183

ГЛАВА 15 – С++ Низове и изключения……………………. 183




Низове………………………………………………………………………… 183


Изключения………………………………………………………………….. 192

< exception >………………………………………………………….. 192

< stdexcept >………………………………………………………….. 193

УВОД

С и С++ са най - важните световни програмни езици . Всъщност, за да бъдете професионален програмист днес означава опитност в тези два езика.Те са основата, върху която е изградено модерното програмиране. С беше изобретен от Денис Ричи през 1970г. С е език от средно ниво.Той комбинира контролните структури на езиците от високо ниво със способността да манипулира битове, байтове и указатели (адреси) . Така С дава почти цялостен контрол на програмиста върху машината . С беше стандартизиран късно през 1989г.когато стандарта на Американския национален институт за стандарти /ANSI/ беше одобрен.Този стандарт беше одобрен и от ISO /Международната организация за стандарти/ през 1990г.Стандартът на С беше коригиран леко през 1996г.

С++ беше създаден от Bjarne Stroustrup през 1980г.Той започва като множество от обектно-ориентирани разширения на С, но скоро се разшири да съществува като отделен програмен език.Докато С++ е все още изграден върху основата на С, то неговите нови свойства увеличиха почти двойно размера на езика.Излишно е да казвам, че С++ е един от най-мощните компютърни езици създадени досега.Стандарта ANSI/ISO за С++ беше завършен и сега С++ е стандартизиран език.Материалът в тази книга описва ANSI стандарт С и ANSI/ISO стандарт С++.

Както вие несъмнено усещате С и С++ са обширни теми.Тук, разбира се не е възможно да покрием всички аспекти на тези важни езици.Вместо това този бърз справочник извлича техните най-забележителни качества в удобна и лесна за употреба форма.



  1   2   3   4   5   6   7   8   9   ...   19


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница