PDA

Просмотр полной версии : C++ для новичков


Micr0b
05.12.2006, 15:31
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 (http://forum.antichat.ru/thread20391.html)
Books2 (http://www.google.com.ua/search?hl=uk&q=%D1%81%D0%BA%D0%B0%D1%87%D0%B0%D1%82%D1%8C+%D1%8 3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA+C%2B%2B&btnG=%D0%9F%D0%BE%D1%88%D1%83%D0%BA&meta=)

####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
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
']Я так и не узнал, есть в С++ что то наподобие 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
']Диапазоны можешь написать?


[-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
кто найдет 2 ошибки - тому +10.


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

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

int main(int)

Вроде так.

s1zeOff
05.12.2006, 21:42
кто найдет 2 ошибки - тому +10.
ага, т.к. ошибка тут одна - кавычки другие, то репу не получит никто :D


Если стоит 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
нету точки с запятой и символа первода строки \n
символ конца строки добавляется автоматически если выражение записывается в двойных кавычках

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

s1zeOff
05.12.2006, 23:18
в идеале должно быть имхо так
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.