北京邮电大学《C高级语言程序设计》2023-2024学年第一学期期末试卷_第1页
北京邮电大学《C高级语言程序设计》2023-2024学年第一学期期末试卷_第2页
北京邮电大学《C高级语言程序设计》2023-2024学年第一学期期末试卷_第3页
北京邮电大学《C高级语言程序设计》2023-2024学年第一学期期末试卷_第4页
北京邮电大学《C高级语言程序设计》2023-2024学年第一学期期末试卷_第5页
全文预览已结束

下载本文档

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

文档简介

学校________________班级____________姓名____________考场____________准考证号学校________________班级____________姓名____________考场____________准考证号…………密…………封…………线…………内…………不…………要…………答…………题…………第2页,共2页北京邮电大学《C高级语言程序设计》

2023-2024学年第一学期期末试卷题号一二三四总分得分批阅人一、单选题(本大题共15个小题,每小题1分,共15分.在每小题给出的四个选项中,只有一项是符合题目要求的.)1、C语言中的字符串处理是常见的操作。假设定义了两个字符串

charstr1[]="Hello";

char*str2="World";

,以下关于字符串操作的描述,哪一项是错误的?()A.可以使用

strcpy

函数将一个字符串复制到另一个字符串B.可以使用

strcmp

函数比较两个字符串的大小C.字符串以

'\0'

作为结束标志D.对字符串指针进行加减运算,可以直接操作字符串的内容2、在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

会导致程序运行错误,因为指针的使用不正确3、C语言中的

typedef

关键字常用于为数据类型定义新的名称。假设我们有

typedefintINTEGER;

,以下关于

INTEGER

的使用,哪一个是正确的?()A.

INTEGERa=5;

等价于

inta=5;

B.

INTEGER

不能用于声明数组C.

INTEGER

不能作为函数的返回类型D.以上都不对4、以下C语言代码段的输出结果是什么?intnum=5;int*ptr=#*ptr=10;printf("%d",num);()A.5B.10C.0D.程序报错5、设有以下语句:charstr1[]="string",str2[8],*str3,*str4="string";则()是对库函数strcpy的不正确调用。A.strcpy(str2,"hello");B.strcpy(str3,"hello");C.strcpy(str1,"hello");D.strcpy(str4,"hello");6、在C语言中,关于字符串的比较,假设有

charstr1[]="hello";charstr2[]="hello";

,使用

strcmp(str1,str2)

比较的结果是什么?()A.0B.1C.-1D.不确定7、在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");

8、若有定义:floata[3]={1.2,2.3,3.4};则a[1]的值是()A.1.2B.2.3C.3.4D.09、C语言中的类型转换需要注意数据的精度和范围。假设有以下代码:

floatf=3.14;inti=(int)f;

,以下关于变量

i

的值,正确的是:()A.

i

的值为3B.

i

的值为3.14C.

i

的值为4D.程序会产生运行时错误,因为类型转换不正确10、在C语言中,关于字符数组和字符串的初始化,以下代码:

charstr1[10]="Hello";charstr2[]="World";

,哪个数组的长度是不确定的?()A.

str1

B.

str2

C.两者长度都不确定D.两者长度都确定11、C语言中的类型转换需要小心处理。假设有

floatf=3.14;inti=(int)f;

,那么

i

的值是多少?()A.3B.3.14C.4D.不确定12、若有定义:structstudent{intnum;charname[20];}s;则以下对成员num的正确引用是()A.student.numB.s.numC.s->numD.(*s).num13、在C语言的函数指针使用中,假设我们定义了一个函数指针

int(*func_ptr)(int,int);

,并且有两个函数

intadd(inta,intb){returna+b;}

intsubtract(inta,intb){returna-b;}

,如何通过函数指针调用这两个函数?()A.直接使用函数名调用B.将函数名赋值给函数指针,然后通过函数指针调用C.无法通过函数指针调用D.以上都不对14、对于C语言中的宏定义,假设有

#defineSQUARE(x)x*x

,然后在代码中使用

intresult=SQUARE(2+3);

result

的值会是多少?()A.25B.11C.10D.不确定15、在C语言的预处理器指令中,

#define

用于定义常量和宏。假设定义了

#definePI3.14

#defineSQUARE(x)(x*x)

,以下关于预处理器指令的描述,哪一项是不正确的?()A.在程序中使用

PI

就相当于使用3.14B.宏

SQUARE(x)

在展开时会进行参数的替换和表达式的计算C.预处理器指令在编译前进行处理,会改变源代码的结构D.宏定义中的参数不需要指定数据类型二、判断题(本大题共15小题,每小题2分,共30分.有多个选项是符合题目要求的.)1、在C语言中,不同文件中的全局变量可以重名,只要它们不在同一个作用域内。()2、在C语言中,

memset

函数用于将一段内存区域设置为指定的值。()3、C语言中,typedef定义的新类型名可以省略类型名。()4、C语言中的位域可以将一个结构体中的成员按照位进行存储,从而节省存储空间。()5、C语言中,字符串常量在内存中存储时会自动加上'\0'结束符。()6、在C语言中,联合体的大小等于其最大成员的大小。()7、在C语言中,一个函数可以没有形式参数,例如

voidmyFunction(){//函数体}

。()8、在C语言中,函数的形参和实参在类型、数量和顺序上必须一致。()9、在C语言中,静态变量在函数调用结束后其值会被保留。()10、C语言中的函数可以没有返回值,如果没有返回值则默认返回值类型为void。()11、C语言里,若有函数声明

intcalculate(inta,intb);

,在主函数中调用此函数时,参数的传递顺序和声明中的参数顺序可以不一致。()12、在C语言中,函数的递归调用会占用大量的内存空间,可能会导致栈溢出。()13、C语言中,fscanf函数用于从文件读取格式化的数据。()14、C语言中的宏定义在编译时会被展开,不会进行语法检查。()15、C语言中的

const

关键字用于修饰变量时,该变量的值就不能被修改,但如果是通过指针间接访问,仍然可以修改其值。()三、编程题(本大题共5个小题,共25分)1、(本题5分)编写一个C语言程序,输入一个整数数组,找出其中所有相邻元素乘积最大的对,并输出乘积。2、(本题5分)写一个C程序,计算用户输入的整数数组中所有奇数元素的平方和。3、(本题5分)设计一个C程序,输入一个字符串,将其中的数字和字母分别提取出来,组成两个新的字符串并输出。4、(本题5分)编写一个C语言程序,实现两个有序链表的合并,合并后的链表依然有序,并输出合并后的链表。5、(本题5分)设计一个C程序,输入一个字符串,将其中的

温馨提示

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

评论

0/150

提交评论