装订线中国音乐学院《面向对象 C 程序设计 1》2023-2024 学年第一学期期末试卷院(系)_______ 班级_______ 学号_______ 姓名_______题号一二三四总分得分一、单选题(本大题共 15 个小题,每小题 1 分,共 15 分.在每小题给出的四个选项中,只有一项是符合题目要求的.)1、在 C 语言中,关于指针数组和数组指针的概念,假设有 int *ptr1[5]; int (*ptr2)[5]; ,以下说法正确的是?( )A. ptr1 是指针数组, ptr2 是数组指针B. ptr1 是数组指针, ptr2 是指针数组C. ptr1 和 ptr2 都是指针数组D. ptr1 和 ptr2 都是数组指针2、若有以下函数调用语句:func((a1, a2), (a3, a4, a5)); 在此函数调用语句中,含有的实参个数是( )A. 2 B. 3 C. 4 D. 53、C 语言中,若有定义 enum days {MON, TUE, WED, THU, FRI, SAT, SUN}; ,那么enum days today = TUE; 之后,执行 today++; , today 的值会变成多少?( )A. WEDB. 不确定C. 运行时错误D. 以上都不对4、在 C 语言的指针函数中,以下关于返回指针的函数的描述,不正确的是( )A. 返回指针的函数可以返回静态分配的内存地址,也可以返回动态分配的内存地址B. 如果返回的是动态分配的内存地址,调用者需要使用 free 函数释放C. 返回的指针不能指向函数内部的局部变量,因为函数结束后局部变量的存储空间会被释放D. 返回指针的函数一定比返回值的函数效率高5、假设有以下 C 语言代码段: int *p1, *p2; p1 = (int *)malloc(sizeof(int)); p2= p1; free(p2); ,此时 p1 指向的内存是否已被释放?( )A. 是B. 否C. 不确定D. 以上都不对第 1 页,共 5 页装订线6、若有定义:int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}}; ,则 ((a+1)+1)的值是( )A. 6 B. 7 C. 8 D. 97、若有定义:int a[3][2] = {{1}, {2}, {3}}; 则 a[1][0]的值为( )A. 0 B. 1 C. 2 D. 38、若有定义:int a = 10, b = 20, c = 30; 以下语句执行后 a、b、c 的值是( )if (a > b)c = a;a = b;b = c;A. 10, 20, 30 B. 20, 30, 30 C. 20, 30, 20 D. 20, 20, 309、在 C 语言中,关于函数的参数传递,假设有函数 void modify(int *p) { *p = 100; } ,在主函数中有 int num = 5; modify(&num); ,那么 num 的值会变成多少?(...