Всем доброго времени суток! У меня вопросы по программированию на си) Что означает запись fscanf(In, "%lf", &a)<=0. 
Разве эта функция может принимать какие-либо значения?
 Все основные функции ввода/вывода в C возвращают значение типа 
int. В частности, 
fscanf() возвращает количество успешно прочитанных форматных полей, поэтому данное условие будет выполнено, если чтение почему-то не удалось (файл кончился и т.д.). 
Ещё один вопрос: правильно ли я понимаю, что In в данном случае указатель на файл?
 Правильно. 
 Как понять запись In=fopen("адрес файла", "r") вроде все понятно, но как одна переменная может служить указателем на целый файл? 
 А почему бы и нет? То, что номер дома на улице является идентификатором целого дома со всем, что в нем находится, Вас не удивляет?  
 Только новичёк, пытаюсь разобрать со структурой программ)
 Только в дальнейшем, пожалуйста, однострочные участки кода заключайте по крайней мере в теги 
[tt], а для многострочных (или нетривиальных однострочных) используйте "подсветку синтаксиса", выбрав там соответствующий язык.
Будет ли функция task считывать данные из файла, если я не открываю файл в этой функции, а открываю только в мейне, но перед вызовом функции?
 Нет. Переменные, объявленные внутри одной функции, не видны из другой. Поэтому, если подобное требуется, вынесите 
FILE *In; из функции 
main().