中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷_第1页
中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷_第2页
中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷_第3页
中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷_第4页
中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷_第5页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

装订线装订线PAGE2第1页,共3页中国音乐学院《面向对象C程序设计1》2024-2025学年第一学期期末试卷院(系)_______班级_______学号_______姓名_______题号一二三四总分得分一、单选题(本大题共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.2B.3C.4D.53、C语言中,若有定义

enumdays{MON,TUE,WED,THU,FRI,SAT,SUN};

,那么

enumdaystoday=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.以上都不对6、若有定义:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};,则((a+1)+1)的值是()A.6B.7C.8D.97、若有定义:inta[3][2]={{1},{2},{3}};则a[1][0]的值为()A.0B.1C.2D.38、若有定义:inta=10,b=20,c=30;以下语句执行后a、b、c的值是()if(a>b)c=a;a=b;b=c;A.10,20,30B.20,30,30C.20,30,20D.20,20,309、在C语言中,关于函数的参数传递,假设有函数

voidmodify(int*p){*p=100;}

,在主函数中有

intnum=5;modify(&num);

,那么

num

的值会变成多少?()A.5B.100C.不确定D.程序出错10、若有定义:inta[5]={1,2,3,4,5},*p=a;则以下不能表示数组a中元素a[3]的是()A.*(p+3)B.p[3]C.*(a+3)D.p+311、在C语言中,若要将一个整数转换为字符串,以下哪个函数是合适的?()A.itoa()B.sprintf()C.atoi()D.strtol()12、在C语言中,关于文件操作,若以只读方式打开一个文本文件,以下哪个函数调用是正确的?()A.

fp=fopen("file.txt","w");

B.

fp=fopen("file.txt","r");

C.

fp=fopen("file.txt","a");

D.

fp=fopen("file.txt","rb");

13、C语言中的字符处理函数丰富多样。假设要对一个字符串进行操作,以下关于字符处理函数的描述,哪一项是不准确的?()A.

strlen

函数用于计算字符串的长度,不包括结束符

'\0'

B.

strcat

函数用于连接两个字符串C.

strchr

函数用于在字符串中查找指定字符第一次出现的位置D.这些字符处理函数对字符串的操作都是安全的,不会导致缓冲区溢出14、在C语言中,若要打开一个文本文件进行读操作,以下哪个函数是正确的?()A.fopen("file.txt","r");B.fopen("file.txt","w");C.fopen("file.txt","a");D.fopen("file.txt","rb");15、以下C语言代码段的输出结果是什么?intarr[]={1,2,3,4,5};for(inti=0;i<5;i++)printf("%d",arr[i]);()A.12345B.54321C.01234D.程序报错二、判断题(本大题共15小题,每小题2分,共30分.有多个选项是符合题目要求的.)1、在C语言中,使用位运算符可以对布尔类型的数据进行操作。()2、C语言中的字符串处理函数strtok()可以将一个字符串分割成多个子字符串。()3、C语言中的

gmtime

函数用于将时间转换为协调世界时(UTC)的结构体表示。()4、在C语言中,使用strchr函数可以在字符串中查找指定的字符,并返回首次出现的位置指针。()5、C语言中的字符串处理函数strstr用于在一个字符串中查找另一个字符串首次出现的位置。()6、对于

intarr[5]={0};

,使用

for

循环和

sizeof

操作符可以正确计算数组的元素个数。()7、C语言中,定义了一个函数指针

void(*funcPtr)(int);

,然后将一个返回值为

void

,参数为

int

的函数地址赋给它,调用时可以传递任何类型的参数。()8、C语言中的文件可以以二进制模式和文本模式打开,对于文本文件,两种模式的读写操作没有任何区别。()9、在C语言中,函数指针是指向函数的指针变量,可以通过函数指针来调用不同的函数,从而实现函数的动态调用和回调机制。()10、在C语言中,函数的递归调用是指函数直接或间接地调用自身,在使用递归时需要确保有明确的递归结束条件,否则会导致栈溢出错误。()11、C语言中,getc函数和putc函数用于文件的字符读写。()12、在C语言中,变量的存储类型决定了变量的作用域和生存期。()13、在C语言中,使用#define定义的宏可以使用字符串连接符来连接字符串。()14、在C语言中,使用fwrite函数写入数据时,如果缓冲区满会自动写入文件。()15、在C语言中,使用递归函数计算斐波那契数列比使用循环效率更高。()三、编程题(本大题共5个小题,共25分)1、(本题5分)编写一个C语言程序,实现一个函数,接受一个字符串,将其中的数字转换为对应的罗马数字并返回。2、(本题5分)创建一个C语言程序,模拟实现一个简单的汽车租赁管理系统,支持车辆信息管理、租赁和归还操作。3、(本题5分)写一个C程序,实现快速排序算法对用户输入的一组字符串按照字典序进行排序。4、(本题5分)写一个C语言程序,实现一个简单的并查集,支持合并和查找操作。5、(本题5分)编写一个C语言程序,用户输入一个整数n,计算1到n之间

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论