![]() |
0 Всего найдено: 14
Spectri4ek
Сообщение
13/12/2008 11:37
Копия темы
Урок С++ часть 1 . Очень много людей бродят по рунету в поисках уроков по с++, неповерите, но каждый день по несколько тысяч запросов! А нормальный уроков к несчастью нету, поэтому я хочу потихоньку выложить уроки. Всё предельно ясно и просто :) Коомпилятор лучше использовать Visual Studio 2008. И так. Что же такое с++? С++ — универсальный алгоритмический язык, применяемый для разработки системных и сложных прикладных программ. С++ в настоящее время не только самый распространенный язык программирования, но и язык общения программистов, поскольку большинство публикуемых алгоритмов записывается на С++.С++ предложил Бьярн Страуструп примерно в 1980 г. С тех пор язык интенсивно развивается. В настоящее время автором языка совместно с организациями ANSI и ISO разработан стандарт языка (Standard C++), которым должны руководствоваться все разработчики трансляторов.С++ включает язык С как подмножество, имеет строгую типизацию подобно Паскалю, модель объектно-ориентированного программирования и развитые средства расширения и адаптации языка посредством пользовательских типов данных. Литература которую я советую:· Описание современного состояния языка можно найти в книге Бьярна Страуструпа “Язык программирования C++, 3-е изд.”.— 1999 г.· Для тех, кто знаком с языком С, подойдет книга Герберта Шилдта "Самоучитель С++".- BHV, СПб. 1999 г.· Для начального изучения пригодна книга Подбельского "Язык Си++" (20 гр.) А также можно скачать очень хороший учебник www.litportal.kiev.ua/200.. (только с регистрацией) Также очень полезная вещь в Visual Studio – MSDN.Там отличный справочник, название функций и примеры кодов, поэтому я не всё буду давать, буду вас приучивать пользоваться им:)Поэтому когда буду давать задания, придётся вас подумать ;) Перед вами минимальная программа на С++.ß #include using namespace std; void main() {cout << ”Hеllo !”;} Замечание. Вместо двух строк (новый стиль)ß #include using namespace std; можно написать одну строку (старый стиль). #include <iostream.h> Все программы должны иметь функцию с именем main . Определение функции состоит из заголовка “void main()” и составного оператора. Слово void в заголовке говорит о том, что функция не должна вырабатывать и возвращать значение.Программа состоит из единственного оператора, который выводит в стандартный выводной поток cout (consol output) строковую константу. Директива компилятора #include вставляет в текст программы содержимое текстового файла iostream. Это заголовочный файл, в котором находится объявление средств ввода-вывода в потоки. В частности, там определены объект cout и оператор помещения в поток <<.Директива using namespace std расширяет пространство имен, доступных в нашей программе, подробнее о ней будет сказано позже.Большие и маленькие буквы в языках С и С++ различаются. Замечание. Чтобы окно вашей первой программы не закрылось автоматически после ее окончания, в среде C++ запускайте программу на трансляцию и выполнение клавишами F5. Консольные программы в Visual C++ Программы Win32, имитирующие текстовый режим работы компьютера, и не использующие GUI (графический интерфейс пользователя) называются консольными. Они как нельзя более подходят для начального освоения C++, т.к. не добавляют к сложности языка сложность программирования оконного интерфейса.Чтобы создать консольное приложение в Visual C++ , необходимо:1) выбрать пункт меню File / New. Запустится утилита AppWizard(Win32 Application).2) в диалоговом окне на вкладке Projects выбрать вид проекта Win32 Console Application.3) там же в поле Location ввести путь к каталога проекта, например “D:MyPrograms”4) там же в поле Project name ввести имя проекта, например “Hello” и нажать кнопку Ok.5) в появившемся окне выбрать разновидность проекта: A simple application и нажать кнопку Finish6) в следующем окне подтвердить выбранные опции, нажав кнопку Ok Для работы с проектом имеются следующие окнаWorkspace – показывает на двух вкладках состав классов и состав файловOutputWindow – показывает сообщения компилятора, сборщика и отладчикаCodeEditor – показывает содержание файлов В результате получится несколько файлов, основной из них Hello.cpp. – ваша программаß #include "stdafx.h"int main(int argc, char* argv[]){ return 0;} Переделайте ее так, как хотите, но не выбрасывайте первую строку!Возможно программа будет выполнятся и сразу закрываться.Попробуйте перед «return 0;» указать «cin.get(); cin.get();» Выполните полную компиляцию проекта (меню “Build Rbuild All” ).Запустите программу на выполнение (меню “Build Execute Hello.exe” или Ctrl-F5)Результаты вы увидите в отдельном DOS-окне. После внесения изменений в код программы только нажмите Ctrl-F5. Пример. Ввести два целых числа, сложить их и результат вывести.ß #include using namespace std;void main(){int x, y;cin >> x >> y;cout << "Сумма равна " << x + y << endl;} Строка “int x, y;” определяет две целые переменные. Она означает то же, что “int x, int y;” или “int x; int y;”. Определение говорит транслятору, что для переменных x и y надо выделить память. Другие числовые типы в Visual C++:char — целое 1 байт, long — целое 4 байта, float — вещественное 4 байта, double — вещественное 8 байт. Имя cin (console input) обозначает стандартный входной поток, а знак ">>" — операцию извлечения из потока.Каждая операция в С++ вырабатывает значение. Значением операции cin >> x является cin. Это позволяет вместо двух операторовcin >> x;cin >> y;записать один операторcin >> x >> y; который понимается как (cin >> x) >> y; Как и прочие бинарные операции, операция >> — левоассоциативна.Последняя строка программы cout << "Сумма равна " << x + y << endl;выводит в выходной поток слова "Сумма равна ", затем значение суммы, а затем перемещает курсор в начало следующей строки. Перемещение курсора происходит из-за вывода манипулятора endl.Тело функции представляет собой составной оператор. Составной оператор строится по схеме:{оператор ... оператор}.int x,ycin >> x >> ycout << “Сумма “ << x + y << endl — это все выражения.Любое выражение становится оператором, если после него стоит точка с запятой. Организация повторений Формат оператора цикла следующий:while (выражение) оператор;Логические значения в С передаются числовыми: 0 — ложь, не 0 — истина. Пример. Вводить с клавиатуры целые числа и суммировать, пока не встретится число 0. Сумму вывести на экран. Вариант для начинающихß float sum = 0, x;cin >> x;while(x != 0){sum = sum + x;cin >> x;}cout << sum << 'n'; Вариант для опытных программистовß float sum = 0, x;cin >> x;while(x){sum += x;cin >> x;}cout << sum << 'n'; Определение переменных может сопровождаться их инициализацией, т.е. транслятор не только отводит память под переменную, но и заполняет ее указанными значениями. Глобальные переменные по умолчанию инициализируются нулем.В языке С++ есть оператор цикла с постусловием: do оператор while (выражение); В обоих циклах условием повторения является ненулевое значение выражения в круглых скобках. Условия x, x! = 0 и !(x == 0) эквивалентны.Операция присваивания А += В означает то же, что А = А + В, но выполняется быстрее, т.к. адресное выражение А вычисляется один раз, а не два. То же относится к операциям:*= /= %= += = <<= >>= &= ^= |= . Присваивание в С++ не оператор как в Паскале, а правоассоциативная операция. (Только присваивание правоассоциативно, остальные бинарные операции левоассоциативны). Ее значение равно значению правого операнда, поэтому операторы a = b = c; a = (b = c); и {b = c; a = c;} равносильны. Условный оператор Схема условного оператора такова: if (выражение) оператор [else оператор] Пример. Вводить вещественные числа с клавиатуры. Отдельно суммировать положительные и отрицательные числа.ß float pozsum = 0, negsum = 0;float x = 1;while (x){ cin >> x; if (x > 0) pozsum += x; else negsum += x; } cout << "Положительные " << pozsum << 'n'; cout << "Отрицательные " << negsum << 'n'; В языке С++ имеются следующие логические операции:&& “и”, || “или”, ! “не”. Логические выражения вычисляются по краткой схеме, т.е. вычисление прекращается, как только его результат будет однозначно определен. Оператор цикла for В языке С++ имеется еще один оператор цикла. for ( оператор_инициализации [выражение1] ; [выражение2] ) оператор Семантика оператора for такова: оператор_инициализацииwhile (выражение1) { оператор выражение 2;} Пример. Вводить с клавиатуры веществ. числа и суммировать, пока не встретится число 0. Вывести на экран среднее арифметическое.ß float sum = 0, x = 1; for (int count = 0; x; count++) { cin >> x; sum += x; } cout << sum/count << 'n'; Переменная count определена прямо в операторе for (в С так делать нельзя!). Ею можно пользоваться и после завершения цикла. Задачи Задача 1. Ввести 10 чисел с клавиатуры.а) вывести на экран наибольшее число;б) вывести два нибольших числа;в) вывести три нибольших числа. Задача 2. Найти сумму ряда:а) 1 + 1/2 + 1/3 + … + 1/Nб) 1 + 2 + 3 + … + Nв) sqr ( 2 + sqr ( 2 + sqr ( 2 + … + sqr ( 2 )…))) N раз. Задача 3. Дано десятичное целое число. а) сосчитать сумму всех его цифра) сосчитать знакопеременную сумму его цифр, но так, чтобы цифра в старшем разряде всегда имела знак "+", например, для 1953 сумма равна + 1 9 + 5 3. Задача 4. Дано целое число. Напечатать его в двоичной форме.Сделать то же для вещественного числа. Задача 5. Дано уравнение 2 cos(x) x*x = 0. Известно, что на отрезке [0.5, 2.5] имеется ровно один корень. Найти его с точностью 0.0001.
pankixoi2113
Сообщение
13/12/2008 11:47
Копия темы
. уууу.. я лучше буду читать ненормальные уроки, чем эту неразобранную кашу букв... на торрентс.ру даже видео уроки лежат... так что не факт что этот будет лучше.. а читать не могу...
Benya
Сообщение
13/12/2008 11:59
Копия темы
. Создай своё сообщество. " Уроки C++". Не засоряй эфир.
type
Сообщение
13/12/2008 12:03
Копия темы
ре с++ . есть и видео курсы С++ letitbit.net/download/aef.. Java letitbit.net/download/c6d.. еще удобнее, правда качать такие учебники нужно с безлим локал.инет r-t-one.narod.ru/013/in.h.. тут еще полно чего. не реклама (админам) ссылку нашел в яндексе! просто учебников завались! может кому то будет полезна ссылка!
Result
Сообщение
13/12/2008 12:22
Копия темы
. C+- А больше всего понравилось: Дано целое число. С этого надо начинать.
hom3chuk
Сообщение
13/12/2008 12:56
Копия темы
. > #include using namespace std; using это же Си-Шарп, вроде, не? Создайте простенький бложик, назовите уроки "MSVS для начинающих", оформите текст как следует весьма неплохо может выйти.
informatic
Сообщение
13/12/2008 13:07
Копия темы
. только C# пахнет в некоторых местах. А задачи и посложнее можно =)) В общем + за идею и воплащение.
Benya
Сообщение
13/12/2008 21:54
Копия темы
. Я б сказал накой, да нецензурно получитцо, поэтому бла бла бла. P.S Зри в корень.
Spectri4ek
Сообщение
08/01/2009 15:30
Копия темы
0
. боюсь что си шарпом воняет везде и всегда :D спасибо за отзывы, незнаю чего такая каша получилось, всё было аккуратно(( |
Выразить восторг, поругаться или предложить что-нибудь можно на форуме |
Для обсуждения этого сервиса так же есть темы на фрилансе по поиску , флудотопу ,и по удалённым сообщениям ,и по Актуальным/популярным темам , и по топу "кто кому больше наотвечал" |