说明:本章内容目录顺序主要参考《c与c++程序设计,戴波主编,北京大学出版社》,可以按照题目的章节顺序进行复习,题目涉及书本中的c++章节大部分主要知识点(可能会有遗漏)和一小部分拓展,题目难度较低,知识点比较基础,适用于知识巩固和期末备考。
一、指针
二、c++语言编程基础
(1)内存动态分配和释放
①填空:用new和delete动态分配和释放:100-109
#include<iostream> using namespace std; void test() { //在此填空 答案:int* arr = new int[10]; for (int i = 0; i < 10; i++) { arr[i] = i + 100; } for (int i = 0; i < 10; i++) { cout << arr[i] << endl; } //在此填空 答案:delete[]arr; } int main() { test(); }
(2)引用
1.基本语法与注意事项
①判断题:函数引用不需要进行初始化
答案:错误
知识点:引用的基本概念,函数引用时必须要初始化
②填空题:引用的本质是______?
答案:指针常量
知识点:引用的本质
2.引用做函数参数
①填空题:要求实现a与b值交换(a=20,b=10)
void mySwap(//在此输入 , //在此输入) 答案:int &a,int &b { //在此输入 答案:int temp = a; //在此输入 答案:a = b; //在此输入 答案:b = temp; } int main() { int a = 10; int b = 20; mySwap(a,b); cout << "a=" << a << endl; cout << "b=" << b << endl; }
知识点:函数引用的引用传递,形参会修饰实参,即值会发生改变
②填空题: 写出下列代码输出的值
#include<iostream> using namespace std; void func(int *pnum) { (*pnum)++; } int main() { int value = 5; func(&value); cout << value; system("pause"); return 0; }
答案:6
知识点:书本例题p195,7-2。函数引用的地址传递,形参会修饰实参,即值会发生改变
③填空题:写出下列代码输出的值
#include<iostream> using namespace std; void func(int num) { num++; } int main() { int value = 5; func(value); cout << value; system("pause"); return 0; }
答案:5
知识点:书本例题p194,7-1。函数引用的值传递,形参不会修饰实参,即值不会发生改变。
3.引用做函数返回值
①选择题:阅读以下