C语言期末考试试卷附参考标准答案-2023修改整理_第1页
C语言期末考试试卷附参考标准答案-2023修改整理_第2页
C语言期末考试试卷附参考标准答案-2023修改整理_第3页
C语言期末考试试卷附参考标准答案-2023修改整理_第4页
C语言期末考试试卷附参考标准答案-2023修改整理_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

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

文档简介

千里之行,始于足下让知识带有温度。第第2页/共2页精品文档推荐C语言期末考试试卷附参考标准答案C语言期末考试试卷附参考答案

————————————————————————————————:————————————————————————————————日期:

一、单项挑选题(请将答案填在下面表格中20×1)

1.以下讲述中正确的是()。

A.C语言比其他语言高级

B.C语言可以不用编译就能被计算机识别执行

C.C语言以临近英语国家的自然语言和数学语言作为语言的表达形式

D.C语言浮现的最晚,具有其他语言的一切优点

2.以下讲述中正确的是()。

A.构成C程序的基本单位是函数

B.可在一个函数中定义另一个函数

C.main函数必需放在其他函数之前

D.全部被调用的函数一定要在调用之前举行定义3.以下讲述中正确的是()。

A.C语言程序总是从第一个函数开头执行

B.在C语言程序中,要调用函数必需在main()函数中定义

C.C语言程序总是从main()函数开头执行

D.C语言程序中的main()函数必需放在程序的开头部分

4.以下有关for循环的正确描述是()。

A.for循环只能用于循环次数已经确定的状况

B.for循环是先执行循环体语句,后推断表达式

C.在for循环中,不能用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必需用花括号括起来

5.对下面程序段的描述,正确的是()。

x=-1;

do

{x=x*x;}while(!x);

A.是死循环

B.循环执行一次

C.循环执行两次

D.有语法错误

6.以下有关C语言数组说法正确的是()。

A.数组元素的数据类型可以不全都

B.数组元素的个数可以不确定,允许随机变动

C.可以使用动态内存分配技术,定义元素个数可变的数组

D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数

7.以下数组定义正确的是()。

A.inta(20);

B.inta[]={1,2,5,7,0};

C.inta[n];

D.inta[2]={1,2,4,6};

8.在定义intb[2][10];之后,对b数组元素引用正确的是()。

A.b[0][9]

B.b[2,3]

C.b(1)(5)

D.b[10][0]

9.如有定义语句intc[]={1,5,3,4,6,7,0};,则数组c有()个元素。

A.0

B.不定

C.6

D.7

10.以下讲述中不正确的是()。

A.字符数组中可以存放字符串

B.可以对字符型数组举行整体输入、输出

C.可以对整型数组举行整体输入、输出

D.不能通过“=”对字符型

数组举行整体赋值

11.已知chard[]={”543210”};,则数组d的长度是()。

A.5

B.6

C.7

D.8

12.已知chars3[]=”China”;,则下列程序段的输出结果是()。

printf(“%d”,sizeof(s3));

A.5

B.6

C.7

D.8

13.已知chars1[10],s2[]={”China”};则在程序中能将字符串”China”赋给数组s1的是()。

A.s1={“China”};

B.strcpy(s1,s2);

C.s1=s2;

D.strcpy(s2,s1);

14.将字符串中大写字母换成小写字母的函数是()。

A.strlwr

B.strupr

C.string

D.strlen

15.下列()排序办法中,执行一轮比较后,只交换一次数据。

A.起泡法

B.挨次比较法

C.挑选法

D.插入法

16.在C语言程序中,有关函数的定义正确的是()。

A.函数定义不行以嵌套,但函数调用可以嵌套

B.函数定义可以嵌套,但函数调用不行以嵌套

C.函数定义和函数调用均不行以嵌套

D.函数定义和函数调用均可以嵌套

17.以下错误的说法是()。

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以为任何类型

D.形参应与其对应的实参类型全都

18.以下错误的描述是:函数调用可以()。

A.浮现在执行语句中

B.浮现在一个表达式中

C.作为一个函数调用的实参

D.作为一个函数的形参

19.函数调用时,若形参和实参都是变量名,则正确的说法是()。

A.形参不分配内存

B.形参分配内存

C.形参和实参占用相同的内存

D.实参不分配内存

20.以下函数值的类型是()。

fun(floatx)

{floaty;y=3*x-4;returny;}

A.int

B.float

C.void

D.不确定

二、推断题(正确的打√,错误的打×,10×1)

1.一个循环体内又包含另一个完整的循环结构称为循环的嵌套。()

2.break语句能提前终止循环。()

3.二维数组可被看作一种特别的一维数组:它的元素又是一个一维数组。()

4.对9个元素使用冒泡法排序时,需要排9轮,第一轮需要比较9次。()

5.strcat(字符数组1,字符数组2)的作用是将字符数组2接到字符数组1后面。()

6.strcmp(“Beijing”,”Korea”)的函数值是一个正整数。()

7.C语言中,数组元素的下标是从1开头的,下标不能越界。()

8.函数的形参在函数未调用时预分配了存储空间。()

9.如函数值的类型和return语句中表达式的值不全都,则以函数类型为准。()

10.调用函数时,实参是数组元素,则实现的是“值传递”。()

三、填空题(10×2)

1.定义二维数组的普通形式为:,引用一维数组元素的形式

为:

2.有一序列:21,-5,8,11,9,0,34,4,-17,6从小到大排序,用冒泡法经过二轮排序后,

序列中10个数的挨次为:,若使用挨次比较法,经过三轮排序后,这10个数的挨次为:。

3.调用字符串处理函数时,应在程序的开始添加预编译命令:#include,puts()函数将一个以结束的字符序列(字符串)输出到终端

4.C语言中,函数分为系统提供的和用户自定义函数两类,也可分为有参函数和两类。

5.函数的递归调用指在调用一个函数的过程中又。

6.函数值只能通过语句返回主调函数。

四、程序改错(求出两个非零正整数的最大公约数,并作为函数值返回。在错误下面划横线,在右边写出正确内容,5×2)

五、阅读程序写出运行结果(4×5)

#includeintfun(inta,b){intr,t;

if(a

#include

intmain()

{inti,j,n=0;

for(i=―5;i

intmain()

{voidfun(intx);fun(8);

printf("\n");}voidfun(intx)

{if(x/2>0)fun(x/2);printf("%d",x);}

运行结果为:2.

#includevoidmain()

{chars1[]=”Thisbook”;chars2[]=”THIShook”;inti;

for(i=0;s1[i]!=’\0’i++)if(s1[i]!=s2[i])printf(“%c”,s1[i]);}

运行结果为:

4.#includeintmain(){inti,j,x;inta[10]={12,3,14,5,26,97,38,9,0,―2};for(i=0;i=0&&x

六、程序填空题(结果按序号填在下方对应横线上,10×2分)

①______________________________⑥______________________________②______________________________⑦______________________________③______________________________⑧______________________________④______________________________⑨______________________________⑤______________________________⑩______________________________

附:参考答案一、单项挑选题

题号12345678910答案CACDBDBADC题号11121314151617181920答案

B

B

B

A

C

A

B

D

B

A

二、推断题

题号12345678910答案

×

×

×

×

三、填空题

1、编程实现将十进制整数n转换成十六进制数输出。

#includeintmain()

{intn,a[20],i=0,m=0;

charhex[16]

={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'};printf("请输入整数n:\n");scanf(___②____,while(n>0)

{a[i++]=n%16;n=____③___;}

printf("转化为十六进制的数为:");

for(i=i―1;____④___;i――)//倒序输出

{m=a[i];printf("__⑤___",hex[m]);}printf("\n");}2、编写推断是否为素数的函数,在主函数中输入一整数,输出是否为素数。#includeintpsushu(___⑥____){inti;

for(i=2;___⑦___;i++)if(m%i==0)return0;return___⑧___;}voidmain(){inta,s;

printf("请输入整数:\n");scanf(“%d”,__⑨__);s=psushu(a);

if(__⑩__)printf(“%d是素数\n”,a);elseprintf("%d不是素数\n",a);}

1.类型说明数组名[常量表达式][常量表达式]数组名[下标]

2.-5,8,9,0,11,4,-17,6,21,34-17,-5,0,21,11,9,34,8,4,6

3.string.h\0

4.库函数无参函数

5.直接或间接地调用该函数本身

6.return四、程序改错

五、阅读程序写出运行结果1.12482.

温馨提示

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

评论

0/150

提交评论