C语言上机考试.docx

上传人:b****1 文档编号:1867205 上传时间:2023-05-02 格式:DOCX 页数:106 大小:33.72KB
下载 相关 举报
C语言上机考试.docx_第1页
第1页 / 共106页
C语言上机考试.docx_第2页
第2页 / 共106页
C语言上机考试.docx_第3页
第3页 / 共106页
C语言上机考试.docx_第4页
第4页 / 共106页
C语言上机考试.docx_第5页
第5页 / 共106页
C语言上机考试.docx_第6页
第6页 / 共106页
C语言上机考试.docx_第7页
第7页 / 共106页
C语言上机考试.docx_第8页
第8页 / 共106页
C语言上机考试.docx_第9页
第9页 / 共106页
C语言上机考试.docx_第10页
第10页 / 共106页
C语言上机考试.docx_第11页
第11页 / 共106页
C语言上机考试.docx_第12页
第12页 / 共106页
C语言上机考试.docx_第13页
第13页 / 共106页
C语言上机考试.docx_第14页
第14页 / 共106页
C语言上机考试.docx_第15页
第15页 / 共106页
C语言上机考试.docx_第16页
第16页 / 共106页
C语言上机考试.docx_第17页
第17页 / 共106页
C语言上机考试.docx_第18页
第18页 / 共106页
C语言上机考试.docx_第19页
第19页 / 共106页
C语言上机考试.docx_第20页
第20页 / 共106页
亲,该文档总共106页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C语言上机考试.docx

《C语言上机考试.docx》由会员分享,可在线阅读,更多相关《C语言上机考试.docx(106页珍藏版)》请在冰点文库上搜索。

C语言上机考试.docx

C语言上机考试

.

 

一、单项选择

 

1.题号:

4889

 

以下函数调用语句中,实参的个数是().

 

exce((v1,v2),(v3,v4,v5),v6);

 

A、3

 

B、4

 

C、5

 

D、6

 

//(v1,v2)是一个逗号表达式,(v3,v4,v5)也是一个逗号表达式答案:

A

 

2.题号:

4093

 

关于return语句,下列正确的说法是().

 

A、可以在同一个函数中,出现多次

 

B、在主函数和其他函数中,均可出现

 

C、必须在每个函数中,出现

 

D、只能在除主函数之外的函数中,出现一次

 

//只能执行其中的一个的return语句。

并且函数遇到return语句,结束函数的执行。

答案:

A

 

3.题号:

4535

 

数组名作为实参数传递给函数时,数组名被处理为().

 

A、该数组的首地址

 

B、该数组的元素个数

 

C、该数组中各元素的值

 

Word资料

.

 

D、该数组的长度答案:

A

 

4.题号:

4525

 

在C语言的函数中,下列正确的说法是().

 

A、数组名不能作形参

 

B、可以有也可以没有形参

 

C、形参必须是变量名

 

D、必须有形参

 

答案:

B

 

5.题号:

4083

 

以下正确的函数定义形式是().

 

A、doublefun(intx,inty)

 

B、doublefun(intx;inty)//错在分号

 

C、doublefun(intx,y);//错在形参y没有类型

 

D、doublefun(intx,inty);//错在函数头后没有分号

 

答案:

A

 

6.题号:

4232

 

C语言程序中,必须有的函数是().

 

A、main()

 

B、#include"stdio.h"

 

C、scanf

 

D、printf

 

答案:

A

 

Word资料

.

7.题号:

4048

 

下面对函数的叙述,正确的是().

 

A、函数中无论是否有return语句,都能返回正确值

 

B、函数中没有return语句,说明不带回值

 

C、函数不能嵌套定义

 

D、函数的返回值是通过return语句获得的答案:

C

 

8.题号:

4073

 

在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().

 

A、传递方式由用户指定

 

B、由实参传给形参,再由形参传回实参

 

C、地址传递

 

D、单向值传递答案:

D

 

9.题号:

5119

 

下列关于函数的叙述中正确的是().

 

A、每个函数都可以单独运行

 

//主函数可以单独运行。

其它的函数都需要被调用才能被执行。

 

B、在一个函数内部可以定义另一个函数//不可以嵌套定义

 

C、每个函数都可以被单独编译

 

D、每个函数都可以被其他函数调用(包括main()函数)//不包括主函数答案:

C

 

10.题号:

4787

 

Word资料

.

设函数的调用形式如下:

f((x1,x2),(y1,y2,y3)),则函数有()个形参.

 

A、5

 

B、3

 

C、2

 

D、4

 

答案:

C

 

11.题号:

4901

 

在C语言中,形参的缺省存储类是().

 

A、static

 

B、registerC、autoD、extern

 

答案:

C

 

12.题号:

4507

 

C语言规定,在一个源程序中,main()函数的位置.

 

A、必须在最开始

 

B、必须在系统调用的库函数的后面

 

C、可以任意

 

D、必须在最后答案:

C

 

13.题号:

4847

 

以下叙述中,正确的是().

 

A、main()可作为用户标识符,用以命名任意一个函数作为主函数

 

Word资料

.

B、C语言程序将从源程序中,第一个函数开始执行

 

C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行

 

D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束

 

答案:

D

 

14.题号:

5137

 

以下函数的类型是

 

fff(floatx)

 

{

 

printf("%d\n",x);

 

}

 

//函数返回值省略。

默认为int型。

 

A、void类型

 

B、int类型

 

C、与参数x的类型相同

 

D、无法确定答案:

B

 

15.题号:

4403

 

C语言规定,在一个C程序中,main()函数的位置().

 

A、可以在任意位置

 

B、必须在程序的最后

 

C、必须在程序的开始

 

D、必须在系统调用的库函数之后

 

Word资料

.

答案:

A

 

16.题号:

4112

 

C语言规定,函数返回值的类型是().

 

A、由return语句中的表达式类型所决定

 

B、由调用该函数时的主调函数类型所决定

 

C、由调用该函数时系统临时决定

 

D、由定义该函数时所指定的数值类型决定答案:

D

 

17.题号:

4804

 

以下所列的函数"首部"中,正确的是().()

 

A、voidplay(inta,b)

 

B、voidplay(inta,intb)

 

C、voidplay(a:

int,b:

int)

 

D、voidplay(aasint,basint)

 

答案:

B

 

18.题号:

4432

 

有以下函数定义:

 

intfun(doublea,doubleb)

 

{returna*b;}

 

若以下选项中,所用变量都已正确定义并赋值,错误的函数调用是().

 

A、z=fun(fun(x,y),fun(x,y));B、z=fun(fun(x,y)x,y);

 

C、if(fun(x,y)){⋯⋯}

 

Word资料

.

D、fun(x,y);

 

答案:

B

 

19.题号:

5050

 

对于void类型函数,调用时不可作为().

 

A、if语句的成分语句

 

B、表达式

 

C、循环体里的语句

 

D、自定义函数体中的语句

 

//无返回值函数只能以语句形式调用。

不可以作为表达式或实参答案:

B

 

20.题号:

4269

 

若使用一维数组名作函数实参,则以下正确的说法是().

 

A、必须在主调函数中,说明此数组的大小

 

B、实参数组类型与形参数组类型可以不匹配

 

C、实参数组名与形参数组名必须一致

 

D、在被调用函数中,不需要考虑形参数组的大小答案:

A

 

21.题号:

4696

 

在C语言中,调用函数除函数名外,还必须有().

 

A、实际参数

 

B、()

 

C、函数预说明

 

D、函数返回值

 

Word资料

.

答案:

B

 

22.题号:

4892

 

以下错误的描述是:

函数调用可以().

 

A、做为一个函数的实参

 

B、做为一个函数的形参

 

C、出现在一个表达式中

 

D、出现在执行语句中

 

//函数调用形式一共有三种:

独立语句形式。

表达式或函数的实参答案:

B

 

23.题号:

4256

 

当调用函数时,实参是一个数组名,则向函数传送的是().

 

A、数组每个元素中的值

 

B、数组的首地址

 

C、数组的长度

 

D、数组每一个元素的地址答案:

B

 

24.题号:

5014

 

若用数组名作为函数的实参,传递给形参的是().

 

A、数组的首地址

 

B、数组元素的个数

 

C、数组第一个元素的值

 

D、数组中,全部元素的值答案:

A

 

Word资料

.

25.题号:

4843

 

如果在一个函数中的复合语句中,定义了一个变量,以下正确的说法是().

 

A、该变量在本程序范围内均有效

 

B、该变量只在该复合语句中,有效

 

C、该变量在该函数中,有效

 

D、该变量在主函数中,有效

 

答案:

B

 

26.题号:

4319

 

C语言中,规定,程序中,各函数之间().

 

A、既允许直接递归调用也允许间接递归调用

 

B、允许直接递归调用不允许间接递归调用

 

C、不允许直接递归调用允许间接递归调用

 

D、不允许直接递归调用也不允许间接递归调用答案:

A

 

27.题号:

5062

 

凡是函数中,未指定存储类别的局部变量,其隐含的存储类别为().

 

A、自动(auto)

 

B、静态(static)

 

C、外部(extern)

 

D、寄存器(register)

 

答案:

A

 

28.题号:

4672

 

以下叙述中,正确的是().

 

Word资料

.

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

 

B、main()函数必须放在其它函数之前

 

C、所有被调用的函数一定要在调用之前进行定义

 

D、可以在一个函数中,定义另一个函数

 

答案:

A

 

29.题号:

4236

 

全局变量的定义不可能在().

 

A、最后一行

 

B、文件外面

 

C、函数内部

 

D、函数外面答案:

C

 

30.题号:

4754

 

以下对C语言函数的描述中正确的是().

 

A、C程序中有调用关系的所有函数必须放在同一个程序文件中

 

B、C函数既可以嵌套定义又可以递归调用//不可以嵌套定义

 

C、函数必须有返回值,否,则不能使用函数//函数返回值可以为void

 

D、C程序必须由一个或一个以上的函数组成答案:

D

 

31.题号:

4045

 

在C语言中,变量的隐含存储类别是().

 

A、staticB、auto

 

Word资料

.

 

C、无存储类别

 

D、extern

 

答案:

B

 

32.题号:

4578

 

若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的是().

 

A、函数调用可以作为一个函数的形参

 

B、函数调用可以作为独立的语句存在

 

C、函数调用可以作为一个函数的实参

 

D、函数调用可以出现在表达式中,

 

答案:

A

 

33.题号:

4537

 

以下正确的函数声明语句是().

 

A、intadd(inta,intb)//

少了分号。

不是语句。

B、doubleadd();

C、intadd(chara[][]);//

数组第二维长度不可省略

D、charadd(chara,b);//b

没有数据类型

答案:

B

34.题号:

4436

 

已知year为整型变量,不能使表达式(year%4==0&&year%100!

=0)

 

||year%400==0的值为"真"的数据是().

 

A、1990B、1996C、2000

 

Word资料

.

D、1992

 

答案:

A

 

35.题号:

5040

 

以下叙述中,不正确的是().

 

A、在一个函数内定义的变量只在本函数范围内有效

 

B、在一个函数内的复合语句中,定义的变量在本函数范围内有效//在复合语句内有效

 

C、函数中的形式参数是局部变量

 

D、在不同的函数中,可以使用相同的名字的变量答案:

B

 

36.题号:

3986

 

函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的是().

 

A、实参与形参是双向传递//单向传递。

由实参单向赋值给形参

 

B、形参和实参可以同名

 

C、实参类型一定要在调用时指定

 

//偷换概念。

形参类型一定要在定义时给定。

调用时,与函数名和实参变量名有关。

与类型无关。

 

D、形参可以是表达式//形参必须为变量

 

答案:

B

 

二、判断题

 

==================================================

 

1.题号:

4018

 

函数的嵌套调用中,被调用函数执行完成后,均返回主函数.

 

//返回上一级调用函数答案:

错误

 

Word资料

.

 

2.题号:

4872

 

函数在说明时,可以不定义函数的形参名,只指定函数相应位置上形参的类型.

 

函数说明语句的三种形式:

 

intmax(inta,intb);//与用户自定义函数中的形参变量名一样

 

intmax(int,int);//省略形参变量名

 

intmax(intaa,intbb);//与用户自定义函数中的形参变量名不一样

 

答案:

正确

 

3.题号:

4204

 

函数中的形式参数是局部变量.

 

答案:

正确

 

4.题号:

4577

 

静态局部变量是在编译时被初始化的,故它只被赋初值一次.

 

答案:

正确

 

5.题号:

4846

 

gets函数是用来输入一个字符的函数.

 

//gets函数是用来输入一个字符串的。

它以回车键结束。

可以读入带空格的字符串。

 

Word资料

.

 

答案:

错误

 

6.题号:

5028

 

静态局部变量在整个程序运行期间都不释放.

 

答案:

正确

 

7.题号:

4767

 

函数调用时,实参和形参在类型上应按位置与形参一一对应匹配;如果类型不匹配,通常编译器并不

 

给出出错信息.

 

答案:

正确

 

8.题号:

4984

 

一个C程序只能由一个主函数组成

 

//一个程序可以由一个或多个函数组成。

但只能有一个主函数答案:

错误

 

9.题号:

5013

 

C程序的基本组成单位是函数

 

答案:

正确

 

10.题号:

4587

 

Word资料

.

 

C语言的函数可以嵌套定义

 

//可以嵌套调用。

不可以嵌套定义。

答案:

错误

 

11.题号:

4288

 

函数定义当中的函数类型是return语句中表达式的类型.

 

//若return后的表达式的类型和函数返回值类型不一致时。

系统自动将return后的类型//转换为函

 

数返回值的类型。

 

答案:

正确

 

12.题号:

4442

 

C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的.

 

答案:

正确

 

13.题号:

4989

 

C语言中return语句可以返回函数值.如果return语句后表达式的值与函数说明的类型不一致,则以

 

return语句的表达式类型为准,系统将自行转换.

 

答案:

错误

 

14.题号:

4783

 

通过return语句,函数可以带回一个或一个以上的返回值.

 

Word资料

.

//return语句只能带回一个值。

不能带回2个或多个值。

但地址传递可以。

 

答案:

错误

 

15.题号:

5084

 

若一个函数的返回类型为void,则表示其没有返回值.

 

答案:

正确

 

16.题号:

4175

 

在C语言中,不允许函数嵌套定义,但函数可以嵌套调用.

 

答案:

正确

 

17.题号:

4689

 

return语句可以在同一个函数中出现多次.

 

//但只能执行其中一个。

且调用函数结束。

答案:

正确

 

18.题号:

4351

 

所有定义在主函数之前的函数无需进行声明.

 

答案:

正确

 

Word资料

.

19.题号:

4097

 

每次调用函数时,都要对静态局部变量重新进行初始化.

 

//静态变量可以由系统进行初始化。

也可以由用户进行初始化。

但只初始化一次。

生命//周期是程

 

序运行的整个时间。

局部变量每次调用时都要进行初始化。

 

答案:

错误

 

20.题号:

4092

 

在不同的函数中可以使用相同名字的变量.

 

答案:

正确

 

21.题号:

4584

 

函数调用时,要求实参与形参的个数必须一致,对应类型一致.

 

答案:

正确

 

22.题号:

4055

 

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

 

答案:

正确

 

23.题号:

4161

 

没有初始化的整型静态局部变量的初值系统均默认为0.

 

Word资料

.

 

答案:

正确

 

24.题号:

4349

 

在C语言的函数中,必须有形参.

 

答案:

错误

 

25.题号:

5108

 

在C语言中,函数可以嵌套定义,但不能嵌套调用.

 

答案:

错误

 

三、填空题

 

==================================================

 

1.题号:

4286

 

在函数中,需要返回一个结果时,可以使用_____语句.

 

答案:

空1:

return

 

2.题号:

4371

 

函数的_____调用是一个函数直接或间接地调用它自身.

 

答案:

空1:

递归

 

Word资料

.

 

3.题号:

4333

 

C语言中,格式输入操作是由库函数_____完成的,格式输出操作是由库函数_____完成的.

 

答案:

空1:

scanf

 

空2:

printf

 

4.题号:

4373

 

C源程序中的主函数的名称必须是_____。

 

答案:

空1:

main

 

5.题号:

4601

 

下述函数的功能是_____。

 

voidfunc(inta[],intn)

 

{inti,j;for(i=1;i

{for(j=i;j>0&&a[j]

a[j]=a[j-1];

 

a[j-1]=t;

 

}

 

}

 

}

 

Word资料

.

答案:

空1:

用冒泡法由小到大排序【或】冒泡法排序【或】排序【或】由小到大排序

 

6.题号:

4885

 

函数调用时的实参和形参之间的数据是单向的_____传递.

 

答案:

空1:

 

7.题号:

4690

 

如果函数不要求返回值,可用_____来定义函数为空类型.

 

答案:

空1:

void

 

四、程序设计

 

==================================================

 

1.题号:

7041

 

/*------------------------------------------------

 

【程序设计】

 

--------------------------------------------------

 

题目:

函数fact(x)的功能是求x!

编写main程序调用函数fact求解从m个元素选n个元素的组合数

 

的个数。

计算公式是:

组合数=m!

/(n!

.(m-n)!

)。

要求:

m不能小于n,

 

否则应有容错处理。

 

Word资料

.

--------------------------------------------------

 

注意:

部分源程序给出如下。

请勿改动主函数

 

main和其它函数中的任何内容,仅在函

 

数fun的花括号中填入所编写的若干语句。

 

*********Begin**********和**********End**********不可删除

 

------------------------------------------------*/

 

#include"stdio.h"

 

longfact(intx)

 

//函数返回值一定要定义为long。

因为阶乘值增长的很快。

很容易超出int的范围

 

{

 

longy;//y是存放阶乘值的变量。

所以要定义为长整型long.

 

inti;

 

y=1;

 

for(i=1;i<=x;i++)

 

y=y*i;

 

returny;

 

}

 

main()

 

{

 

intm,n;

 

longzhsgs;

 

Word资料

.

printf("请输入m和n:

\n");scanf("%d%d",&m,&n);

 

/**********Begin**********/

 

while(m

 

{

 

printf("m和n输入错!

请重新输入:

\n");

 

scanf("%d%d",&m,&n);

 

}

 

zhsgs=fact(m)/(fact(n)*fact(m-n));

 

/**********End**********/

 

printf("从%d个元素选%d个元素的组合数的个数是:

%d\n",m,n,zhsgs);

 

getch();

 

yzj();

 

}

 

yzj()

 

{

 

FILE*IN,*OUT;

 

intn;

 

inti;

 

longo;

 

IN=fopen("in.dat","r");

 

Word资料

.

if(IN==NULL)

 

{printf("ReadFileError");

 

}

 

OUT=fopen("out.dat","w");

 

if(OUT==NULL)

 

{printf("WriteFileError");

 

}

 

for(n=0;n<5;n++)

 

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2