In this paper, we investigate the joint cooperative spectrum sensing and access design problem for multi-channel cognitive radio networks. A general heterogeneous setting is considered where the probabilities that different channels are available, SNRs of the signals received at secondary users (SUs) due to transmissions from primary users (PUs) for different users and channels can be different. We assume a cooperative sensing strategy with a general a-out-of-b aggregation rule and design a synchronized MAC protocol so that SUs can exploit available channels. We analyze the sensing performance and the throughput achieved by the joint sensing and access design. Based on this analysis, we develop algorithms to find optimal parameters for the sensing and access protocols and to determine channel assignment for SUs to maximize the system throughput. Finally, numerical results are presented to verify the effectiveness of our design and demonstrate the relative performance of our proposed algorithms and the optimal ones.