Most autonomous mobile robots are often equipped with monocular cameras and 3D LiDARs to perform vital tasks such as localization and mapping. In this paper, we present a two-stage extrinsic calibration method as well as a hybrid-residual-based odometry approach for such camera-LiDAR systems. Our extrinsic calibration method can estimate the relative transformation between the camera and the LiDAR with high accuracy, allowing us to better register the image and the point cloud data. After the calibration, our hybrid-residual-based odometry can be used to provide real-time, accurate odometry estimates. Our approach exploits both direct and indirect image features. The sensor motions are estimated by jointly minimizing reprojection residuals and photometric residuals in a nonlinear optimization procedure. Experiments are conducted to show the accuracy and robustness of our extrinsic calibration and odometry algorithms using both public and self-owned real-world datasets. The results suggest that our calibration method can provide accurate extrinsic parameters estimation without using initial values, and our odometry approach can achieve competitive estimation accuracy and robustness.