Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   С/С++, C#, Delphi, .NET, Asm (https://forum.antichat.xyz/forumdisplay.php?f=24)
-   -   C++ для новичков (https://forum.antichat.xyz/showthread.php?t=28533)

Micr0b 05.12.2006 15:31

C++ для новичков
 
C++ для новичка...

И так для тех кто хочет изучать c++, могу порекомендовать вот что:

1. Определитесь нужно ли ето вам.
2. Выберите язык программирования по-вебу(Php,Perl,C#,JavScript,VbScript...) (Assambler,C++,Pascal...)
3. Нужно скачать или купить несколько учебников.
4. Нанять учителя.
5. Выбрать себе компилятора
6. Ну а если вы хотите быстро понять что такое программирования/с++ то можно просто прочитать эту статью.

И так начнём

####1####
Нужно ли вам программирование.. мож у вас в жизни есть другие цели, чото вас больше интересует ..и так далее..
то в этом случае я вам скажу что изучать программирования не рекомендуется .. так как вы не будете получать удовольствия
от написания программ или скриптов. Если вас это реально заинтересовало и вы от 5 лет клацаете по клаве и пересмотрели
много софта и хотите делать чото свое то тогда вы на нужном пути.
####2####
И так вы все-таки решили программировать. Но не знаете с чего начать..
Тогда вам реально нужно определится что вы хотите. Хотите может создавать какие-то Интернет страницы(сайты), писать полезные
скрипты и чото в этом роде то тогда думаю вам нужно изучать язык и раздела веба (Php,Perl,С#,JavScript,VbScript...).
Ну а если вас больше интересует какой не будь софт, ОС то думаю тебя нужно тогда выбрать раздел с языками
(Assambler,C++,Pascal...)
####3####Вот несколько ссылок на буксы в электронной версии(но лучше, ну принайми для меня, пойти в магазин и купить нормальной учебник):
Books1
Books2

####4####
Можно нанять себе учителя 1час=от 5$...
Если уж у вас нет средств на это. то пожалуй придется самому изучать..(
####5####
Обязательно нужно выбрать себе компилятора.
Компилятора(COMPILES)-это программа которая перекодирует ваш набранной код в машиной).После удачной компиляции
будет уже готовая созданная вами программа.
На данной момент есть множество компиляторов. Я приведу 3 компи., и дам краткое объяснения к каждому.

1. MaGAr – это без никакого интерфейса компил., чтоб пользоватся им нужно создать просто нотепад с расширением cpp, вписать програму, сохранить, открыть cmd и написать
Код:

C:\>g++ nazva.cpp
если все пройдет удачно то в етой директории где лежыть исходник пори,создастся уже готовая програма.
2. Turbo – это компилятор с интерфейсом, стоит только написать программу и проверить, ну и конешно сохранить).

http://xss-xss.nm.ru/anti/TC.PNG

http://xss-xss.nm.ru/anti/Compile.PNG

http://xss-xss.nm.ru/anti/run.PNG

3. Visual C++ -это многофункциональный компилятор.
Лично я пользуюсь только 2 первыми.

####6####
И так вы выбрали язык программирования С++, на сегодняшней день его можно щитать элитным и много уважаемым.
Для начала нужно разобраться что такое С++.

С++ это много функциональной и оптимизированной язык программирования. Не буду говорить об нём целою историю но
скажу нечто кратко. С++ Походит от С, и в многом чему выше своего старшего братика(С).)))

Программа состоит с библиотек.
Библиотеке с/с++ - это набор стандартных функций для работы с основными возможностями ОС

Вот главное тело кода:

Код:

#include<iostream.h>//оглавление библиотеки 

int main()//начало тела программы
{
Объявление переменных
Инструкция_1
Инструкция_2
……………………………
Инструкция_N
return 0;// конец программы
}

Пример:

Код:

#include<iostream.h>
int main()
{
int a, c=5, d=3;
a=c+d;
cout<<”Результат”<<a;
return 0;
}

Где int - ето есть целой тип, их есть несколько но об них чуть поже
int a, c, d; - присваивание переменyым a, c, d тип int
a=c+d; - математика =)
cout<<”you text”; - выводит результат на экран
cout<<”Результат”<<a; - выводит результат на экран, притом ищо результат a=c+d;

Код:

#include<iostream.h>
int main()
{
 int a, c, d;
cout<<”Ведите число c, d”;
cin>>a;
cin>>d;
a=c+d;
cout<<”Результат”<<a;
return 0;
}

Где cin>>d; - оператор для ввода текста с клавиатуры и присваивания переменным конкретного значение.


Несколько операторов:

Оператор if - это оператор условного перехода
if (условие)
/* если условие верна то будет выполнятся все действия которые есть здесь */
else
/* если условие не верное то будет выполнятся все действия которые есть здесь */


Примечания!!!
Если в операторе if(или каком то другом операторе) есть ныполнение несколько операции (ну типа ввод/вывод, +,-,/,*...)
то нужно перед выполнениям и после поставить две {}.
Пример:
Код:

if (5>2)
{
  a=5+1;
  cout<<a;
}
Else
{
  a=5-1;
  cout<<a;
}

Оператор do-while - это оператор с перед условием

Код:

do {
cout<<"Привет";
/* ,,, */
} while (условие);

Пример:

Код:

char q;
do {
cout<<"Привет, введите x";
cin>>q;
}
while (q!='x');

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

Оператор while - это оператор с перед условием

Код:

While(условие)
{
cout<<"Привет";
}

Пример:
Код:

a=1
While(a>5) do {
cout<<"Привет";
a=a+1
}

сначала проверяется условие, а потом идут все действия..

Оператор for - это циклической оператор

Код:

for (a=1;a<10;a++){
cout<<"Универсальной оператор";
}

a++ ето тоже самое что a=a+1, думаю здесь все ясно.


И так мы уже выучили несколько операторов теперь перейдем к типам, я напишу 2 так как они есть много стандартами в программирование

int - целой
double – дробовой, целой

Думаю все для новичка хватит ...)), а теперь бегите в книжной магазин и берите большую книгу по С++,
или скачайте электронную версию.

Статья сугубо для новичков =)

Tikson 05.12.2006 16:28

#include<iostream.h> а почАму не написал, что это значит?
#include<iostream.h> - включение #include в программу фаил iostream.h
это позвоялет работать со стандартными средствами экранного ввода с++......содержимое включаемого фаила вставляется в исходный текст программы.

.Slip 05.12.2006 16:42

Цитата:

int - целой
double – дробовой, целой
У int разве нету ограничения в кол-ве знаков? Или это только в делфи?=)

_Pantera_ 05.12.2006 16:43

ИМХО содрал с какого то учебника!
Автор темы ИМХО сам ниче не понимает


Цитата:

#include<iostream.h>//оглавление библиотеки
а я думал подключение библтотеки...


Цитата:

int main()//начало тела программы
начало основной функции


Цитата:

While(умова)
Эта строка подтверждает что ты это откудото содрал


Цитата:

a=1
While(a>5) do {
cout<<"Привет";
a=a+1
}
Цикла While..do в природе не существует, к тому же тут регистр учитывается и While от while очень отличается.
Правильно будет так

a=0;
while (a<5)
{
cout<<"Привет";
a=a+1;
}



Цитата:

for (a=1;a<10;a++){
cout<<"Универсальной оператор"
}
тут кажец0 не хватает точки с запятой.


Цитата:

а теперь бегите в книжной магазин и берите большую книгу по С++
HakNet ты в первую очередь беги...

Ksander 05.12.2006 16:47

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

s1zeOff 05.12.2006 17:14

MaGAr и Turbo С это прошлый век, в настроящее время стоит выбор перед Borland C++ Builder и Microsoft Visual C++

KoTeG 05.12.2006 17:31

Цитата:

Сообщение от s1zeOff
MaGAr и Turbo С это прошлый век, в настроящее время стоит выбор перед Borland C++ Builder и Microsoft Visual C++

А как же Dev C++ ( довольно рульгая вешь ) !?

tclover 05.12.2006 17:44

Цитата:

2. Выберите язык программирования по-вебу(Php,Perl,C#,JavScript,VbScript...) (Assambler,C++,Pascal...)
:)
Второй раз ты уже пишешь слово assembler через assAmbler )
А что, ассемблер язык веб программирования? :)
Дай линк на какой нибудь сайт на ассме. Очень интересно посмотреть :)
Ну и тут тебе уже всё исправили )

.Slip 05.12.2006 17:53

Цитата:

А что, ассемблер язык веб программирования?
Да и не только ассемблер веб программинг из списка:)

bobob 05.12.2006 18:11

заклювали, вороны!

Micr0b 05.12.2006 19:55

Tikson - для етого и есть букс или ты хотел чтоб я целую книгу выложыл свою.

[sL1p] - впадляк было посмотреть в книгу.. написл быстро.)) кажысь правильно

Боец_Pantera_ - незнаеш не ****.

s1zeOff - у каждего всой выбор

tclover - ну а за assAmbler есть нескоько книг нужно на харде поискать правда шас вобше не смотрю туда.. мож лень мож просто нет нужды.))

c411k - зафтыкал букс влепить.))) у сестры день рождение.))) спешыл.. шас поставлю.))),

.Slip 05.12.2006 20:07

Я так и не узнал, есть в С++ что то наподобие longint'a?

freddi 05.12.2006 20:12

Цитата:

Сообщение от [sL1p]
Я так и не узнал, есть в С++ что то наподобие longint'a?


Есть:
long

например:
10L

.Slip 05.12.2006 20:12

Цитата:

Есть:
long
например:
10L
Диапазоны можешь написать?

Micr0b 05.12.2006 20:16

float- кажысь, но я все время использую просто int так как мне неприходилось..

freddi 05.12.2006 20:22

Цитата:

Сообщение от [sL1p]
Диапазоны можешь написать?


[-2147483648 ; 2147483647]

И что в них тебе не понравилось?

Размер: 4 байта.

Micr0b 05.12.2006 20:25

Простые типы данных
Простые типы делятся на целочисленные типы и типы с плавающей точкой. Для описания стандартных типов определены следующие ключевые слова:

int (целый);

char (символьный);

wchar_t (расширенный символьный);

bool (логический);

float (вещественный);

double (вещественный с двойной точностью).

Существует четыре спецификатора типа, уточняющих внутреннее представление и диапазон значений стандартных типов:

short (короткий);

long (длинный);

signed (со знаком);

unsigned (без знака).


http://ips.ifmo.ru/courses/cpp/topic1/l2/index.html

.Slip 05.12.2006 20:27

Цитата:

[-2147483648 ; 2147483647]

И что в них тебе не понравилось?

Размер: 4 байта.
Просто кто то не умеет на конале ирк давать нормальные ссылки:) У с++ такой же диапазон как и у делфи... Вопрос снятъ

nerezus 05.12.2006 21:14

Цитата:

#include<iostream.h>
int main()
{
int a, c=5, d=3;
a=c+d;
cout<<”Результат”<<a;
return 0;
}
кто найдет 2 ошибки - тому +10.

freddi 05.12.2006 21:41

Цитата:

Сообщение от nerezus
кто найдет 2 ошибки - тому +10.


Нашел только 1:

Если стоит return 0, то надо поставить

int main(int)

Вроде так.

s1zeOff 05.12.2006 21:42

Цитата:

Сообщение от nerezus
кто найдет 2 ошибки - тому +10.

ага, т.к. ошибка тут одна - кавычки другие, то репу не получит никто :D

Цитата:

Сообщение от freddi
Если стоит return 0, то надо поставить
int main(int)

имхо не обязательно, функциональность проги от этого не изменится

_Great_ 05.12.2006 22:03

не cout, а std::cout

_Great_ 05.12.2006 22:04

Цитата:

Если стоит return 0, то надо поставить

int main(int)

Вроде так.
бред

SMiX 05.12.2006 23:06

ппц ну не надоело вам пихать сюда все, что ни попадя? Дельфи, цпп, трояны. Перенесено.

Tikson 05.12.2006 23:11

Цитата:

cout<<”Результат”<<a;
нету точки с запятой и символа первода строки \n

Tikson 05.12.2006 23:13

в идеале должно быть имхо так
cout <<”Результат \n”;

s1zeOff 05.12.2006 23:14

Цитата:

Сообщение от Tikson
нету точки с запятой и символа первода строки \n

символ конца строки добавляется автоматически если выражение записывается в двойных кавычках

Tikson 05.12.2006 23:16

>>символ конца строки добавляется автоматически если выражение записывается в двойных кавычках
тебе видней, у меня в книжке по другому написано...

s1zeOff 05.12.2006 23:18

Цитата:

Сообщение от Tikson
в идеале должно быть имхо так
cout <<”Результат \n”;

а где переменная a?

Tikson 05.12.2006 23:20

s1zeOff
ну я просто недописал все тоже самое только + то что я дописал , так
cout <<”Результат \n”<<a;
не...=), нашол к чему придраться... значит я не нашол ошибку?

_Great_ 05.12.2006 23:36

s1zeOff
Цитата:

символ конца строки добавляется автоматически если выражение записывается в двойных кавычках
плачу... жжошь)

Ошибки:
1) cout - нет такого объекта в глобальном пространстве имен.
он есть только в простанстве имен std.
либо using namespace std, либо std::cout
2) #include <iostream.h>
имхо стоит написать
#include <iostream>

tclover 05.12.2006 23:48

:)
Пространства имён и заголовки типа <iostream> появились относительно недавно, поэтому не поддерживаются старыми компиляторами. Если пытаться откомпилировать например исходник типа
#include <iostream>
using namespace std;
... етц
то мой дмц, как один из старых компиляторов, будет против )
Потому cout прекрасно работает из iostream.h
http://img134.imageshack.us/img134/8964/capture1yt8.jpg

_Great_ 05.12.2006 23:54

Ну вообщем-то один хрен, совместимость)

nerezus 06.12.2006 00:17

Цитата:

Ошибки:
1) cout - нет такого объекта в глобальном пространстве имен.
он есть только в простанстве имен std.
либо using namespace std, либо std::cout
2) #include <iostream.h>
имхо стоит написать
#include <iostream>
ога, лови +10

nc.STRIEM 06.12.2006 19:29

ИМХО не есть хорошо когда ток начинаеш учить С++ пользоваться cin>> и cout<< (библиотека iostream.h ) ДО тех пока не будеш четко осознавать как они работают! начинать нужно с printf() scanf() и.т.д (библиотека stdio.h )

_Great_ 06.12.2006 19:53

Цитата:

ИМХО не есть хорошо когда ток начинаеш учить С++ пользоваться cin>> и cout<< (библиотека iostream.h ) ДО тех пока не будеш четко осознавать как они работают! начинать нужно с printf() scanf() и.т.д (библиотека stdio.h )
я тоже так считаю.
мало того, я против изучения ООП при знакомстве с С/С++.
Имхо сначала стоит познакомиться с функциями, структурами и прочим, а потом с ООП.

Gorn 06.12.2006 22:54

Цитата:

Ошибки:
1) cout - нет такого объекта в глобальном пространстве имен.
он есть только в простанстве имен std.
либо using namespace std, либо std::cout
2) #include <iostream.h>
имхо стоит написать
#include <iostream>
1) cout - это оператор, прототипы его содержатся в iostream.h в глобальном пространстве. Если юзать iostream просто, тогда действительно нада обьявлять using namespace std или std::cout
2) Из вопросов совместимости юзать iostream, а не iostraem.h не стоит. В старых компилерах iostream появился только в Visual C++ 6.0. iostream ИМХО нужно юзать только если в проге используются новые классы типа string.


Время: 11:30