Простенькая программка на Си

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

Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Простенькая программка на Си

Сообщение SANTA »

Вообщем начал изучать Си по книжке Б. Кергнигана, Д. Ритчи "Язык программирования Си"
Вроде расталковано все понятно, но вот в упражнении 1.7: Напишите программу, печатающаю значение EOF.
Что-то никак не воткну..... что нужно сделать. Помогите разобраться
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Простенькая программка на Си

Сообщение elide »

задание не совсем понятно... но мне видится это как-то так:

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

#include <stdio.h>
int main(){
        printf("signed: %d\nunsigned: %u\n", EOF, EOF);
        return 0;
}
слава роботам!
Спасибо сказали:
Аватара пользователя
SANTA
Сообщения: 181
ОС: GNU/Linux

Re: Простенькая программка на Си

Сообщение SANTA »

elide, нет, не то. Извиняюсь что сразу не пояснил точнее.
Вообщем есть пример программки ввода-вывода:

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

#include <stdio.h>
main ()
{
int A;
while ((A=getchar())!=EOF)
putchar(A);
}

Нужно сделать программку печатающую значение EOF. Я вот не догоню суть этого задания.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Простенькая программка на Си

Сообщение Zeus »

Да в общем-то elide тебе вроде правильно написал.
Ну если хочешь - оставь свой код и после цикла (он завершится когда А станет равным EOF) распечатай значение A.
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Простенькая программка на Си

Сообщение elide »

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

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

#include <stdio.h>
int main(void)
{
  printf("The value of EOF is %d\n\n", EOF);
  return 0;
}
слава роботам!
Спасибо сказали:
Аватара пользователя
russian_knight
Сообщения: 85

Re: Простенькая программка на Си

Сообщение russian_knight »

А можно ссылку на решения?
Спасибо сказали:
Аватара пользователя
Jan2ary
Бывший модератор
Сообщения: 630
Статус: Тщедушный очкарик

Re: Простенькая программка на Си

Сообщение Jan2ary »

Вот так вот.
А как же азарт решения? Как же романтика дебага? Куда это все денется, уйдет бесповоротно?! :unsure:
Не шалю, никого не трогаю, починяю примус...
Спасибо сказали:
Аватара пользователя
russian_knight
Сообщения: 85

Re: Простенькая программка на Си

Сообщение russian_knight »

Я 4 года назад многие прорешал уже. Не все, конечно.
Так что можете не бояться :)
Спасибо сказали:
Аватара пользователя
}{idrag
Сообщения: 140
ОС: это полосатый мух

Re: Простенькая программка на Си

Сообщение }{idrag »

еще одна простенькая програмка:

#include <stdio.h>
int main()
{
printf("Hello world");
return 0;
}

так вот... ввожу в консоле gcc hello.cpp - ошибка!
а если переименовать файл и сделать gcс hello.c то ошибки нет вроде бы компилица в общем создается новый файл a.out но вот как его запустить? )
Java Developer
Спасибо сказали:
Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Простенькая программка на Си

Сообщение t.t »

}{idrag писал(а):
12.01.2006 18:32
компилица в общем создается новый файл a.out но вот как его запустить? )
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:
Аватара пользователя
}{idrag
Сообщения: 140
ОС: это полосатый мух

Re: Простенькая программка на Си

Сообщение }{idrag »

ух ты!!! ) получилось! )
а почему через "./" нужно запускать? ) и почем когда проект назывался hello.cpp не скомпилилось? как исправить чтобы он ее за С++ принял?
Java Developer
Спасибо сказали:
Аватара пользователя
russian_knight
Сообщения: 85

Re: Простенькая программка на Си

Сообщение russian_knight »

g++ lala.cpp

Не запустилось, потому что текущей директории (.) нет в переменной окружения PATH по причине безопасности.
Спасибо сказали:
oakhead
Сообщения: 49

Re: Простенькая программка на Си

Сообщение oakhead »

}{idrag писал(а):
12.01.2006 19:26
ух ты!!! ) получилось! )
а почему через "./" нужно запускать? ) и почем когда проект назывался hello.cpp не скомпилилось? как исправить чтобы он ее за С++ принял?

И еще, по-моему, надо добавить -o hello. Тогда исполнимый файл будет иметь имя hello. Иначе, по умолчанию - a.out
Спасибо сказали:
Аватара пользователя
MABaranov
Сообщения: 18

Re: Простенькая программка на Си

Сообщение MABaranov »

}{idrag писал(а):
12.01.2006 19:26
как исправить чтобы он ее за С++ принял?


#include <iostream>
using namespace std;

int main(int argc, char** argv)
{
cout << "Hello world";
return 0;
}

Сборка: g++ -o hello hello.cpp
Спасибо сказали:
CAT.XP
Сообщения: 5

Re: Простенькая программка на Си

Сообщение CAT.XP »

чтобы не возникало никаких недоразумений, советую еще почитать такую книгу (с названием могу быть немного не точнен )
Робачевский "UNIX"

и вообще!, язык С лучше всего изучать в свзяке с операционной системой UNИX, т.к. в книге Кернигана, Ритчи ничего нету (или очень поверхостно) по поводу структуры файловой системы, понятия процесса, сиситемного вызова... там, насколько я помню, рассказывается в основном про синтаксис языка С, который, как я помню по своему опыту, учится за пару недель.
Спасибо сказали:
Аватара пользователя
StasikOS
Сообщения: 82
ОС: Ubuntu Lucid Lynx

Re: Простенькая программка на Си

Сообщение StasikOS »

Гм... щас как раз ковыряю эту книгу и не видел такого упражнения =). 1.7 - скопировать ввод на вывод, заменяя последовательности из нескольких пробелов на один пробел =). Тут-то мне и пришлось сказать "здравствуй, gdb".
Спасибо сказали: