DENVER – The only thing less exciting than a fourth preseason game is a fifth one, especially with the way the Cardinals played Thursday night.

One of coach Bruce Arians’ favorite sayings is young players either get exposure or get exposed when they receive opportunities. Guess which side most of the Cardinals came down on in their 30-2 loss to the Broncos?

“We had some exposed tonight,” Arians said. “It wasn’t what we were hoping for to finish the preseason.”

Thursday’s game was a job fair of sorts for players in the lower halves of the depth charts of both teams. NFL teams must cut to 53 by Saturday afternoon, and the Cardinals entered the game at Sports Authority Field at Mile High with only a handful of jobs open.

Most of the Cardinals did not impress. There were dropped passes, 12 penalties, multiple mental errors and an interception returned for a touchdown.

“Not a lot of good things, other than the preseason is over,” said Arians, whose team finished 2-3 in the preseason. “The guys that I thought would play well, played well. Disappointed in a couple others.”

Among the most contested spots in training camp was punter, but only because neither of the candidates, Matt Wile and Richie Leone, wowed anyone.

Wile did place his last three punts inside the 10-yard line and is believed to have an edge over Leone.

“One of them will get the job and we’ll go from there,” Arians said.

RELATED:3 takeaways from the Cardinals' final preseason game

That’s a condemnation, not an endorsement, and the job might well end up going to someone outside the organization.

Arians wasn’t in the mood Thursday night to praise many of his players. For instance, he was asked about outside linebacker Cap Capi, a reserve who has played well in recent weeks.

“Capi has done a good job against who he has played against,” Arians said.

Translation: He’s played against a lot of backups.

Arians did compliment a few of his players. Running back Elijaah Penny gained 77 yards on 17 carries. Rookie safety Rudy Ford had six tackles, a handful of them in the open field, and recovered a fumble. Receiver Chris Hubert continued to get open deep, although rookie quarterback Trevor Knight missed him for a sure touchdown.

Penny spent last season on the practice squad, but it appears he’s going to make the 53-man roster. He dropped 15 pounds in the offseason, but at 234 pounds “is still a load,” Arians said, and could play fullback if the Cardinals needed him to.

“I knew I was going to get a lot of carries,” Penny said. “I was just prepared for the moment.”

Losing weight has helped his endurance, Penny said.

“I can play longer than what I usually played, three or four plays and getting out," he said. "I can go for a whole series, 10 to 15 plays. I feel much better and my feet are lighter.”

One of the most intriguing decisions Arians and General Manager Steve Keim will make this weekend is at running back. No clues could be gleaned from Thursday night.

David Johnson, Chris Johnson, Kerwynn Williams and Andre Ellington didn’t play. Penny and James Summers did. David Johnson and Williams will fill two spots, with Chris Johnson, Penny and Ellington competing for possibly two more jobs.

Chris Johnson sitting out doesn’t mean he has a spot secured. As Arians has said many times, the Cardinals know what they have in Chris Johnson. The same could be said for Ellington, who is in his fifth year with the team.

The last safety spot also is open, and Ford made a push for it Thursday night.

He missed a significant part of training camp with a sore hamstring and is contending with Harlan Miller for the fifth safety spot.

A sixth-round pick, Ford has tried not to focus on his job security.

“I just don’t think about it,” he said. “Take one day at a time and keep building from there.”

Quarterback Blaine Gabbert started for the Cardinals and played about a quarter. He wasn’t as sharp as he had been in previous preseason games, but he didn’t get much help, either. Veteran receivers Jeremy Ross and Aaron Dobson, both fighting for a roster spot, dropped passes.

Gabbert completed 5 of 10 attempts for 51 yards. A third-string line provided him decent protection, and the Cardinals moved the ball at times. Most of those offensive linemen are contending for jobs on the 53-man roster or on the 10-man practice squad that will be formed

The Cardinals’ only points of the game came in the first quarter when outside linebacker Alex Bazzie sacked rookie quarterback Kyle Sloter in the end zone.

MORE:David Johnson makes Sports Illustrated cover

MORE:Chad Williams could be a rare 3rd-round WR not ready