Slow and Inaccurate DHT11

I am using a DHT11 (thermal & humidity sensor), and the code I found online is VERY slow, unresponsive and ultimately, incorrect.

As I am starting out with Arduino, I am unsure of how to solve these problems, so thought I should ask some more seasoned veterans.

The problem(s) I am having are that:

A) The temperature only reads in full degrees (the decimals are always zero)
B) The setup is very slow to respond (if I breathe on the sensor, it can take up to 4 seconds to get the response)
C) I think the temperature is actually wrong, it reads my room at 23 celsius, but I am certain it is at least a few below that.

As my Arduino IDE could not make a temp folder when I attempted to include the DHT library from Manage Libraries, I had to download the Adafruit DHT library and stick it in my project.

#import "DHT.h"

#define DHT11Pin 2

DHT dht(DHT11Pin, DHT11);

void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}

void loop() {
  // wait 2 seconds between readings
  delay(2000);
  // get humidity
  float humidity = dht.readHumidity();
  // get temperature as C
  float celsius = dht.readTemperature();
  // get temperature as F
  float fahrenheit = dht.readTemperature(true);
  
  // print results
  Serial.print("Humidity: "); Serial.print(humidity);
  Serial.print(" Celsius: "); Serial.print(celsius);
  Serial.print(" Fahrenheit: "); Serial.println(fahrenheit);
}

The DHT11 is very cheap and has +/- 2 degree accuracy and only 5% accuracy on humidity.

A) only whole positive numbers is according to datasheet, the DHT22 supports 1 decimal and negative temperatures.

B) yes it is slow,

C) See grooves answer

Go for the DS18B20, for temperature. One of the better price / performance temperature sensors

  // wait 2 seconds between readings
  delay(2000);

No wonder changes take up to 4 seconds to be noticed!

These humidity sensors typically operate on the principle of moisture from the air diffusing
into a plastic film between two capacitor plates - this takes time, suffers from inaccuracy
and hysteresis. Here’s a review article that might be of interest: