Переменные си.

Модератор: Модераторы разделов

Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Переменные си.

Сообщение Babusha »

Я вообще не могу разобратся с переменными,
Переменная hello

Код: Выделить всё

int hello;
hello = Hello World;

Как через printf вывести ее значение?
Вообще понять не могу.
Я только второй день учу.
Спасибо сказали:
Obscurus
Сообщения: 174

Re: Переменные си.

Сообщение Obscurus »

Что-то не совсем понял, или это шутка такая? Вы пытаетесь присвоить числовой переменной строковое значение, да ещё и с синтаксическими ошибками. Не может быть, чтобы в учебники были такие примеры. А можно взглянуть на программу целиком?
Спасибо сказали:
hippi90
Сообщения: 83
ОС: Debian testing

Re: Переменные си.

Сообщение hippi90 »

Найдите нормальный учебник, можно Кернигана и Ритчи, и внимательно почитайте.
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

обьясните что я сделал не так?
В первом посте я просто опустил main() {
}
просто я с телефона пишу.
У меня учебник кернигана.
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Переменные си.

Сообщение serzh-z »

Babusha
printf(hello);
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

если я не правильно обьявил переменную, как мне ее правильно обьявить?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Переменные си.

Сообщение serzh-z »

Babusha писал(а):
19.08.2010 18:50
как мне ее правильно обьявить?
"char *hello;" или "char hello[12];"
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

а можно поточнее?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Переменные си.

Сообщение serzh-z »

Babusha писал(а):
19.08.2010 18:55
а можно поточнее?
Что точнее и куда ещё точнее?
Спасибо сказали:
Аватара пользователя
Voral
Сообщения: 1205
ОС: Debian Wheezy (amd64)

Re: Переменные си.

Сообщение Voral »

Babusha писал(а):
19.08.2010 18:55
а можно поточнее?

По точнее можно. Но придется перепечатать раздел переменные любого учебника. По этому возьмите все-же какой либо учебник. И изучайте по нему. Таких вопросов точно возникать не будет.
То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me © ?
Спасибо сказали:
hippi90
Сообщения: 83
ОС: Debian testing

Re: Переменные си.

Сообщение hippi90 »

Мне кажется, что раз трудности с такими азами, лучше начать не с С, а с чего-то попроще, например Питона.
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »


Не хочу пользоватся тормознутым говном.
Питон говно потомучто тормозит.
Особенно в связке с гтк.


iУведомление от модератора diesel

давайте как-то полегче на поворотах
Спасибо сказали:
frp
Сообщения: 1445
ОС: Debian Squeeze

Re: Переменные си.

Сообщение frp »

Babusha писал(а):
19.08.2010 19:19
Не хочу пользоватся тормознутым говном.
Питон говно потомучто тормозит.
Особенно в связке с гтк.

Я пока его не юзал, тоже так говорил. Но все же: во многих случаях он работает быстрее Java (особенно новый Python 3). И позволяет писать короткий, понятный код. А также имеет отличное сообщество и документацию. А связку Python+GTK вас юзать никто не обязывает. Единственное, что мне не понравилось в Python - динамическая типизация. После PHP и VB я испытываю недоверие к любым динамически типизированным языкам.
Спасибо сказали:
Аватара пользователя
deadhead
Сообщения: 1913
Статус: zzz..z

Re: Переменные си.

Сообщение deadhead »

Толстенный троль детектед :-)
[x] close
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

да нет, иногда подтролливать просто привычка, я полностю серьезен.
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: Переменные си.

Сообщение NickLion »

Babusha, если Вы совсем не ориентируетесь в C, то лучше не начинать со строковых переменных. Это "больная" тема.
Можно написать так:

Код: Выделить всё

char hello[256];
strcpy( hello, "Hello, World!" );
printf( "%s\n", hello );

или так:

Код: Выделить всё

char* hello;
hello = "Hello, World!";
printf( "%s\n", hello );

Разница между ними - пропасть. Хотя в данном случае результат одинаков.
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

А что значит %s ? Что это такое?
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Переменные си.

Сообщение serzh-z »

Babusha писал(а):
19.08.2010 19:48
А что значит %s ? Что это такое?
Это цветочки...

%s - шаблон для строки
Спасибо сказали:
hippi90
Сообщения: 83
ОС: Debian testing

Re: Переменные си.

Сообщение hippi90 »

Спасибо сказали:
Аватара пользователя
agentprog
Сообщения: 362
Статус: Ad Astra per aspera
ОС: openSUSE 11.4, Arch

Re: Переменные си.

Сообщение agentprog »

hippi90 писал(а):
19.08.2010 19:14
лучше начать не с С, а с чего-то попроще

кто-то конечно называет С++ сложным языком, но если сравнить

Код: Выделить всё

#include <iostream>
#include <string>

using std::cout;
using std::endl;
using std::string;
// Три строчки выше можно заменить на using namespace std;
// Или совсем не писать, но использовать std::cout или std::string

int main() {
        string hallo = "Hallo, World!";
        cout << hallo << endl;

        return 0;
}


и

Код: Выделить всё

#include <stdio.h>
#include <string.h>

int main() {
        char hallo[14];
        strcpy(hallo, "Hallo, World!");
        printf("%s\n", hallo);

        return 0;
}

причем, если принять во внимание, что в hallo может, например, храниться что-то отличное от "Hallo, World!", то в таких мелочах интуитивнее C++ (imho)
No problems - just solutions!
Спасибо сказали:
Аватара пользователя
newsrc
Сообщения: 314
ОС: Slackware

Re: Переменные си.

Сообщение newsrc »

Babusha писал(а):
19.08.2010 18:44
обьясните что я сделал не так?
В первом посте я просто опустил main() {
}
просто я с телефона пишу.
У меня учебник кернигана.

Как пользуясь книгой Кернигана и Ритчи можно задавать такие вопросы про переменные? Они огромные усилия приложили объясняя типизацию переменных!


И ещё:

Babusha писал(а):
19.08.2010 19:19
Не хочу пользоватся тормознутым говном.
Питон говно потомучто тормозит.
Особенно в связке с гтк.

Так же возникают сомнения об объективности вашего субъективного мнения! Задавать такие вопросы, пытаться присваивать массив символов целочисленной переменной и одновременно с этим так говорить о другом языке?!?!?! Уверен, что вы не сможете подтвердить свои доводы...




Система -- это совокупность элементов и связей, дающая новые свойства, не присущие ни одному из элементов и ни одной из связей.
Спасибо сказали:
Аватара пользователя
Nazyvaemykh
Сообщения: 438
Статус: Подопытный участник

Re: Переменные си.

Сообщение Nazyvaemykh »

Доводы про python подтвердить очень просто: достаточно установить любую графическую программу, каких в репозиториях Linux-дистрибутивов не мало, и посмотреть, насколько сильно они тормозят.
Я вот для этих целей привык же использовать deluge и sonata.

То, что использование таких сложных средств языка, как шаблоны, пространства имен и перегрузка операторов делает вывод “hello world” более интуитивным, вряд ли я смогу заставить себя в это поверить.
¡ Страсть к разрушению есть творческая страсть!
Спасибо сказали:
Аватара пользователя
newsrc
Сообщения: 314
ОС: Slackware

Re: Переменные си.

Сообщение newsrc »

Вот! Человек популярно и с доводами объяснил...
Система -- это совокупность элементов и связей, дающая новые свойства, не присущие ни одному из элементов и ни одной из связей.
Спасибо сказали:
kamre
Сообщения: 243
ОС: Win7/Ubuntu 11.10

Re: Переменные си.

Сообщение kamre »

frp писал(а):
19.08.2010 19:34
Но все же: во многих случаях он работает быстрее Java (особенно новый Python 3).

Быстро может работать код на C, который вызывается из Python, а сам по себе код на Python тормозной и до скорости Java уж точно не дотягивает.
Спасибо сказали:
Аватара пользователя
RasenHerz
Сообщения: 1341
ОС: Arch Linux amd64

Re: Переменные си.

Сообщение RasenHerz »

Babusha писал(а):
19.08.2010 18:13
Я вообще не могу разобратся с переменными,
Переменная hello

Код: Выделить всё

int hello;
hello = Hello World;

Как через printf вывести ее значение?
Вообще понять не могу.
Я только второй день учу.

Видимо без толку учите. Мой совет - начните с языка полегче, к примеру, Python. Больше времени потеряете "заучивая" С, лучше понять язык попроще, а потом остальные будут усваиватся на порядки легче. Я начинал с VB, потом перешел на С++, до этого были безуспешные попытки сразу освоить С++; теперь на изучение нового языка программирования уходит всего пара дней (имею в виду базовые навыки программирования на изучаемом языке)
Babusha писал(а):
19.08.2010 19:19
Не хочу пользоватся тормознутым говном.
Питон говно потомучто тормозит.
Особенно в связке с гтк.

1. Очень сомневаюсь что ваш код на С первое время будет быстрым.
2. См. пункт 1.
3. Причем здесь этот тулкит? И зачем вам GUI? Если вы надеетесь изучив основы С клепать по десятку GUI-программ в день, то придется вас разочаровать - это невозможно, создание GUI-приложений дело сложное и не терпящее спешки (не важно GTK, Qt, wxWidgets или FLTK вы будете использовать)
Спасибо сказали:
Аватара пользователя
Babusha
Сообщения: 203
ОС: Убунту

Re: Переменные си.

Сообщение Babusha »

Всем спасибо большое, я разобрался.
Я просто не знал что вообще переменные могут иметь тип,
Я из языков программирования, знаю только Bash,
Теперь я понимаю смысл главы одной книги "Переменные баш не имеют типа."
Просто когда я увидел в листинге книги как используются переменные, сразу начал экперементировать, а оно не получалось.
Всем спасибо, я разобрался!
Спасибо сказали:
Аватара пользователя
Denjs
Сообщения: 1685
ОС: SuSe 10.2

Re: Переменные си.

Сообщение Denjs »

use C++\QT4, dude )))
http://habrahabr.ru/blogs/qt_software/50765/

Код: Выделить всё

#include <QtCore>
#include <QtGui>

 int main(int argc, char* argv[])
{
     QApplication app(argc, argv);

     QDialog *dialog = new QDialog;
     QLabel *label = new QLabel(dialog);

     QString hello;
     hello = "<font color=red>Hello, World!</font>";

     label->setText(hello);
     dialog->show();
     return app.exec();
 }
QDroid - Среда исполнения и фреймворк для QtScript.
OTPD - Открытые драйвера промышленных принтеров чеков и этикеток (кроссплатформенная подсистема печати).
Спасибо сказали: