Веб программирование

Переменные

 
 

Всем привет! В этом уроке мы поговорим о переменных. Переменная - поименнованая (не всегда) область памяти (ОЗУ). Поскольку память ОЗУ хранит данные временно (до перезгарзки компа), то и переменные хранят сови данные временно. У каждой переменной есть свой тип. Самые распространенные типы в СИ это:

Float - число с плавающей точкой

Double - аналогично float

Integer (int) - целочисленные значения.

Char - символьная переменная

Вы спросите где же тип String? Его нет! Это уже в C++ появился тип String и AnsiString, а в  консольных приложених его  как правило не используют (конечно, можно их использовать, но об этом в конце статьи). Вместо строкового типа беут массив символов.Например:

char a[1];

Здесь размер переменной a будет равен 1 символу.  Чтобы сделать больше надо изменить 1 на любое другое число.

Теперь поговорим об использовании типа String в консольных приложениях C++. Создайте новый проект (вы должны уметь это делать=) и напишите следующую прогу:

 #include //подключаем библиотеку для работы со строками
int main(int argc, char* argv[]) //Главная функция
{ //начало
String stroka; //Объявляем переменную строкового типа
stroka="Hello!" ; //Записываем в переменые строку
cout<  return 0; //Выходим из функции
} //Конец

Нажмите F9. Программа не скомпелбруется и выдаст следующую ошибку:

 Эта ошибка произошла из-за того, что функция cout не предназначена для вывода строковых переменных типа String и AnsiString. Как же заставить прогу работать? Легко! Надо использовать альтернативные функции ввода\вывода. printf() и scanf(). Для данных функций нужна  библиотека stdio.h. Фишка этих функций в том, что в них можно указать тип данных с которым они будут работать. Например:

printf ("%s","Hello!"); - выведет строку Hello

printf ("%i","Hello!"); - выведет астронамическое число=)

У функции printf два параметра формат данных и сами данные. Формат данных указывается так: "%+первая буква от типа данных".

Теперь напишем простую прогу.Она выводит строку Hello с помощью функции Printf:

#include //Библиотека для printf();
int main(int argc, char* argv[])
{
String stroka; //Строковая переменная
stroka="Hello" ; // Заносим в строковую переменную данные
printf ("%s",stroka); //Выводим их
return 0;
}

Пока все. И еще внизу приведен листинг программы консольный калькулятор, попробуйте разобрать его (хотябы частично). Если получится вы крутой прогер=) Вот листинг:

#include 
#include 
#include 
int main(int argc, char* argv[])
{
int a;
int b;
float mnoz;
cout<<"Input first operand\n";
cin>>a;
cout<<"Input second operand\n";
cin>>b;
mnoz=a*b;
printf("%f",mnoz);
getch();
}

Есть вопросы? Спроси на нашем форуме!!
Адрей [20.11.2011 13:21]

А можете выложить на сайте компилятор Borland C++. Найти очень сложно, особенно с моим интернетом.
На сайте есть компилятор, но почему-то другой

KILLO [20.11.2011 17:22]

Это не ко мне, это к Админу, хотя дистрибутив у меня есть

Padre [20.11.2011 20:02]

Хорошо! Выложим. Единственное моя версия как-то "не очень хорошо" работает в Windows 7.
Иногда вылетает, и ошибки сыпяться часто.

Killo, у тебя версия нормльно в семерке работает?

KILLO [20.11.2011 20:09]

Я не в семпеке, у меня два компа на одном Xp на другом 7. На 7 она не ставится, говорит не поддреживаемая ОС

Никола [20.11.2011 21:41]

Язык очень сложный, и не понятный. Но за ним будующее

Алекс [21.11.2011 16:06]

C++ Рулит!!

Serj [08.11.2012 21:24]

Serj
Библиотеки в коде пустые
Почему в коде

include //Библиотека для printf();

написано именно так...
Что за

include

include

include

И какие именно там библиотеки использовались?

Serj [08.11.2012 21:30]

int a; //ввод в прогу значений от а и б =)
int b;
float mnoz; //операнд мнодителя??
cout<<"Input first operandn"; //Вывести значение первого операнда от а
cin>>a; // и присвоить ему значение а?
cout<<"Input second operandn";
cin>>b; //Ввод второго операнда и присвоение ему значения б
mnoz=a*b; //само действие
printf("%f",mnoz); //Вывод (вывод чего?? и откуда + вывод присвоенного действия умножения
getch(); /возврат откуда и почему у меня в этом месте ошибка?

ПС
Только только начал "грызть" эту тему... Так что полный чайник, поясните пожалуйста...

Serj [08.11.2012 21:33]

ах да, последнее... А не мелькнет ли окно при этом,а затем закроется, команда стоп тут присутствует??? Как в первом уроке??

Edward [09.11.2012 02:12]

Serj,пишите #include <stdio.h> и #include <iostream> и #include <conio.h>

ReDoX [27.12.2012 05:05]

в чем отличие printf от cout?

Kулхацкер [27.12.2012 07:54]

ReDoX,

printf - достаточно сложная функция вывода на печать от си, cout - оператор вывода от C++.

Silver [07.05.2013 21:58]

В коде специально не указаны подключаемые библиотеки или это какой-то баг сайта?

Progers300 [07.05.2013 23:04]

Silver,Может и баг сайта,может автор просто не написал.

Trato [02.08.2013 12:20]

"include //Библиотека для printf();" так и надо писать? Где название библиотеки? У меня выдает ошибку "Bad file name format in include directive"

alex13sh300 [02.08.2013 14:08]

это потому что автор не знал и не уследил. на этом сайте знаки 60 и 62 удаляются

Progers300 [29.08.2013 14:08]

Там где пустой include нужно писать:

include

include


А именно для printf нужно подключать #include

Progers300 [29.08.2013 14:10]

Там где пустой include нужно писать:

include < iostream >

include < conio.h >

Progers300 [29.08.2013 14:11]

А для printf #include < stdio.h >



Оставлять комментарии можно только зарегистрированным




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