the car stops whenever i stop pushing the up button?

using UnityEngine;
using System.Collections;

public class newCar : MonoBehaviour {

public float speed=0f;
public float rotateSpeed=10f;
private float maxspeed=35f;
public float rspeed=0;
private float rmaxspeed=8f;
private Rigidbody rb;
void start()
{

}

void Update()
{  

	if(Input.GetKey(KeyCode.UpArrow))
	{
		Debug.Log ("check forward");
		if(speed<maxspeed)
		{
		speed=speed+1;
		transform.Translate(Vector3.back*speed*Time.deltaTime);
		}
		else
		{
			speed=maxspeed;
			transform.Translate(Vector3.back*maxspeed*Time.deltaTime);
		}

	}
	 if(Input.GetKey(KeyCode.LeftArrow))
	{
		Debug.Log ("Check left");
		transform.Rotate(Vector3.down*rotateSpeed*Time.deltaTime);
	}

	 if(Input.GetKey(KeyCode.RightArrow))
	{
		Debug.Log ("Check right");
		transform.Rotate(Vector3.up*rotateSpeed*Time.deltaTime);
	}
	if (Input.GetKey(KeyCode.DownArrow)) 
	{
		Debug.Log ("check reverse");
		if(rspeed<rmaxspeed)
		{
		rspeed=rspeed+1;
		transform.Translate(Vector3.forward*rspeed*Time.deltaTime);
		}
		else
		{
			rspeed=rmaxspeed;
			transform.Translate(Vector3.forward*rmaxspeed*Time.deltaTime);
		}
	}
	if (Input.GetKey (KeyCode.Space)) {
		if (speed > 0 && speed <= maxspeed)
			speed = speed - 1;

	} else 
	{
		speed=speed;
	}
}

}

Using transform.Translate only changes the position of the object without any physics. You can either use an alternative variable to simulate physics for example

float VerticalSmoothed = 0;

void FixedUpdate()
{
VerticalSmoothed =  Mathf.SmoothDamp(VerticalSmoothed , Input.GetAxis("Vertical"), ref somefloatvariable, 50f * Time.deltaTime) * maxspeed;
        
transform.Translate(Vector3.back * VerticalSmoothed * Time.deltaTime);
}

Or, you can attach a rigidbody to the object and apply force, which is what I personally recommend.