下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
装订线装订线PAGE2第2页,共2页兰州财经大学
《C语言程序设计实验》2023-2024学年第一学期期末试卷院(系)_______班级_______学号_______姓名_______题号一二三四总分得分一、单选题(本大题共15个小题,每小题1分,共15分.在每小题给出的四个选项中,只有一项是符合题目要求的.)1、在C语言的输入输出函数中,以下关于scanf函数的描述,不正确的是()A.scanf函数可以从标准输入读取各种数据类型的值,并将其存储到相应的变量中B.在使用scanf函数时,需要严格按照指定的格式输入数据,否则可能导致读取错误C.scanf函数在读取字符串时,不会自动添加字符串结束符'\0'D.scanf函数的返回值是成功读取的数据项的个数2、若有定义:inta[3][2]={{1},{2},{3}};则a[1][0]的值为()A.0B.1C.2D.33、在C语言的内存管理中,以下关于动态内存分配的描述,不正确的是()A.使用malloc函数分配的内存空间,如果不再使用,需要使用free函数释放,否则会造成内存泄漏B.calloc函数与malloc函数的功能相同,只是在分配内存时会将内存初始化为0C.realloc函数可以用于调整已分配内存的大小,但可能会导致数据丢失D.动态分配的内存位于代码段,其生命周期与程序的运行周期相同4、在C语言中,关于结构体的使用,假设有一个结构体定义
structStudent{intid;charname[20];floatscore;};
,然后创建了一个结构体变量
structStudentstu;
,要给
stu
的
id
成员赋值为10,以下哪种方式是正确的?()A.
stu.id=10;
B.
stu->id=10;
C.
*stu.id=10;
D.以上都不对5、在C语言中,关于字符数组和字符串的初始化,以下代码:
charstr1[10]="Hello";charstr2[]="World";
,哪个数组的长度是不确定的?()A.
str1
B.
str2
C.两者长度都不确定D.两者长度都确定6、若已定义:inta[9],*p=a;不能表示a[1]地址的是()A.p+1B.a+1C.&a[0]+1D.&a[1]7、在C语言的函数调用中,参数传递的方式有值传递和地址传递。假设有以下函数定义:
voidswap(int*a,int*b){inttemp=*a;*a=*b;*b=temp;}
,以及主函数中的调用
intx=3,y=5;swap(&x,&y);
。以下关于函数
swap
的作用,正确的是:()A.函数
swap
不能交换
x
和
y
的值,因为是值传递B.函数
swap
可以交换
x
和
y
的值,并且这种交换在主函数中是有效的C.函数
swap
可以交换
x
和
y
的值,但这种交换只在函数内部有效,主函数中的
x
和
y
值不变D.函数
swap
会导致程序运行错误,因为指针的使用不正确8、C语言中的函数递归是一种强大的编程技术。假设要使用递归计算阶乘,以下关于递归函数的描述,哪一项是不准确的?()A.递归函数在函数内部调用自身来解决问题B.递归函数必须有一个终止条件,否则会导致无限递归C.递归函数的执行效率通常比非递归函数高D.对于一些复杂问题,递归可以使代码更简洁和易于理解9、在以下C语言代码中:
intarr[]={5,3,1,7,2};int*p=arr;
,执行
qsort(arr,sizeof(arr)/sizeof(arr[0]),sizeof(int),compare);
(假设
compare
函数已正确定义),排序完成后,
*p
的值是多少?()A.1B.2C.3D.510、设有以下C语言函数:
intfun(intn){if(n<=0)return0;elsereturnn+fun(n-1);}
,调用
fun(5)
的返回值是多少?()A.5B.10C.15D.不确定11、在C语言的文件读写操作中,如果以追加模式
“a”
打开一个文件并进行写入操作,会发生什么?()A.新的数据会覆盖文件原有内容B.新的数据会添加到文件末尾C.会创建一个新的文件并写入数据D.以上都不对12、设有以下C语言代码:
charstr1[]="Hello";charstr2[]="Hello";
,使用
strcmp
函数比较这两个字符串,返回值是什么?()A.0B.1C.-1D.不确定13、对于C语言中的宏定义,假设有
#defineSQUARE(x)x*x
,然后在代码中使用
intresult=SQUARE(2+3);
,
result
的值会是多少?()A.25B.11C.10D.不确定14、C语言中的联合(
union
)是一种特殊的数据类型。假设我们有
unionData{intnum;floatfnum;};
,并且创建了一个
unionData
类型的变量,以下关于这个联合变量的使用,哪一个是正确的?()A.可以同时存储
int
和
float
类型的值B.在同一时间只能存储
int
或
float
类型的值C.可以存储多个不同类型的值D.以上都不对15、C语言中,对于文件操作,假设有以下代码:
FILE*fp;fp=fopen("data.txt","r");
,如果文件不存在,会出现什么情况?()A.程序会创建一个新的文件B.程序会继续执行,不做任何提示C.程序会报错并终止D.程序会自动打开一个默认文件二、判断题(本大题共15小题,每小题2分,共30分.有多个选项是符合题目要求的.)1、文件以二进制方式打开和以文本方式打开的读写操作是相同的。()2、在C语言中,
strcasecmp
函数用于不区分大小写地比较两个字符串。()3、C语言中的预处理器指令可以包含其他头文件,实现头文件的嵌套包含。()4、在C语言中,使用文件操作函数fflush()可以将缓冲区中的数据立即写入文件。()5、C语言中的无符号整型的取值范围一定比有符号整型的取值范围大。()6、C语言中的字符串处理函数strpbrk()可以在一个字符串中查找指定的一组字符中的任意一个字符,并返回该字符第一次出现的位置。()7、在C语言中,
atoi
函数用于将字符串转换为整数,如果字符串不是有效的数字表示,其行为是未定义的。()8、C语言中,rewind函数用于将文件读写位置指针重置到文件开头。()9、在C语言中,对于文件读写操作,如果以
r+
模式打开文件,既可以读取文件内容,也可以向文件写入数据,但写入数据时会覆盖原有数据。()10、
static
修饰的全局变量可以在其他文件中访问。()11、在C语言中,
continue
语句只能用于循环结构中,其作用是结束本次循环,直接进入下一次循环的条件判断。()12、在C语言中,不同文件中的全局变量可以重名,只要它们不在同一个作用域内。()13、在C语言中,函数的形参在函数调用时才分配内存空间,函数结束后释放。()14、在C语言中,使用strlwr函数可以将字符串转换为小写形式。()15、C语言中,结构体成员的访问可以使用点操作符和箭头操作符。()三、编程题(本大题共5个小题,共25分)1、(本题5分)设计一个C语言程序,将一个整数链表按照节点值的绝对值大小进行排序。2、(本题5分)编写一个C语言程序,用户输入一个整数数组和一个整数k,程序找出数组中出现次数超过n/k次的元素,并输出这些元素。3、(本题5分)编写一个C语言程序,实现一个函数,接受一个整数数组和一个整数k,在数组中查找所有长度为k的上升子序列。4、(本题5分)设计一个C语言程序,实现输入一个链表的头节点,输出链表中节点值的和。5、(本题5分)设计一个C语言程序,实现输入一个字符串,将其中的字符按照出现频率从高到低排序后输出。四、论述题(本大题共
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论