C语言上机考试文档格式.docx
《C语言上机考试文档格式.docx》由会员分享,可在线阅读,更多相关《C语言上机考试文档格式.docx(50页珍藏版)》请在冰豆网上搜索。
A、函数中无论就是否有return语句,都能返回正确值
B、函数中没有return语句,说明不带回值
C、函数不能嵌套定义
D、函数的返回值就是通过return语句获得的
C
8.题号:
4073
在调用函数时,如果实参就是简单变量,它与对应形参之间的数据传递方式就是()、
A、传递方式由用户指定
B、由实参传给形参,再由形参传回实参
C、地址传递
D、单向值传递
D
9.题号:
5119
下列关于函数的叙述中正确的就是()、
A、每个函数都可以单独运行
//主函数可以单独运行。
其它的函数都需要被调用才能被执行。
B、在一个函数内部可以定义另一个函数//不可以嵌套定义
C、每个函数都可以被单独编译
D、每个函数都可以被其她函数调用(包括main()函数)//不包括主函数
10.题号:
4787
设函数的调用形式如下:
f((x1,x2),(y1,y2,y3)),则函数有()个形参、
A、5
B、3
C、2
D、4
11.题号:
4901
在C语言中,形参的缺省存储类就是()、
A、static
B、register
C、auto
D、extern
12.题号:
4507
C语言规定,在一个源程序中,main()函数的位置、
A、必须在最开始
B、必须在系统调用的库函数的后面
C、可以任意
D、必须在最后
13.题号:
4847
以下叙述中,正确的就是()、
A、main()可作为用户标识符,用以命名任意一个函数作为主函数
B、C语言程序将从源程序中,第一个函数开始执行
C、可以在程序中,由用户指定任意一个函数作为主函数,程序将从此开始执行
D、C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束
14.题号:
5137
以下函数的类型就是
fff(floatx)
{
printf("
%d\n"
x);
}
//函数返回值省略。
默认为int型。
A、void类型
B、int类型
C、与参数x的类型相同
D、无法确定
15.题号:
4403
C语言规定,在一个C程序中,main()函数的位置()、
A、可以在任意位置
B、必须在程序的最后
C、必须在程序的开始
D、必须在系统调用的库函数之后
16.题号:
4112
C语言规定,函数返回值的类型就是()、
A、由return语句中的表达式类型所决定
B、由调用该函数时的主调函数类型所决定
C、由调用该函数时系统临时决定
D、由定义该函数时所指定的数值类型决定
17.题号:
4804
以下所列的函数"
首部"
中,正确的就是()、()
A、voidplay(inta,b)
B、voidplay(inta,intb)
C、voidplay(a:
int,b:
int)
D、voidplay(aasint,basint)
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)){……}
D、fun(x,y);
19.题号:
5050
对于void类型函数,调用时不可作为()、
A、if语句的成分语句
B、表达式
C、循环体里的语句
D、自定义函数体中的语句
//无返回值函数只能以语句形式调用。
不可以作为表达式或实参
20.题号:
4269
若使用一维数组名作函数实参,则以下正确的说法就是()、
A、必须在主调函数中,说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、实参数组名与形参数组名必须一致
D、在被调用函数中,不需要考虑形参数组的大小
21.题号:
4696
在C语言中,调用函数除函数名外,还必须有()、
A、实际参数
B、()
C、函数预说明
D、函数返回值
22.题号:
4892
以下错误的描述就是:
函数调用可以()、
A、做为一个函数的实参
B、做为一个函数的形参
C、出现在一个表达式中
D、出现在执行语句中
//函数调用形式一共有三种:
独立语句形式。
表达式或函数的实参
23.题号:
4256
当调用函数时,实参就是一个数组名,则向函数传送的就是()、
A、数组每个元素中的值
B、数组的首地址
C、数组的长度
D、数组每一个元素的地址
24.题号:
5014
若用数组名作为函数的实参,传递给形参的就是()、
A、数组的首地址
B、数组元素的个数
C、数组第一个元素的值
D、数组中,全部元素的值
25.题号:
4843
如果在一个函数中的复合语句中,定义了一个变量,以下正确的说法就是()、
A、该变量在本程序范围内均有效
B、该变量只在该复合语句中,有效
C、该变量在该函数中,有效
D、该变量在主函数中,有效
26.题号:
4319
C语言中,规定,程序中,各函数之间()、
A、既允许直接递归调用也允许间接递归调用
B、允许直接递归调用不允许间接递归调用
C、不允许直接递归调用允许间接递归调用
D、不允许直接递归调用也不允许间接递归调用
27.题号:
5062
凡就是函数中,未指定存储类别的局部变量,其隐含的存储类别为()、
A、自动(auto)
B、静态(static)
C、外部(extern)
D、寄存器(register)
28.题号:
4672
A、构成C程序的基本单位就是函数
B、main()函数必须放在其它函数之前
C、所有被调用的函数一定要在调用之前进行定义
D、可以在一个函数中,定义另一个函数
29.题号:
4236
全局变量的定义不可能在()、
A、最后一行
B、文件外面
C、函数内部
D、函数外面
30.题号:
4754
以下对C语言函数的描述中正确的就是()、
A、C程序中有调用关系的所有函数必须放在同一个程序文件中
B、C函数既可以嵌套定义又可以递归调用//不可以嵌套定义
C、函数必须有返回值,否,则不能使用函数//函数返回值可以为void
D、C程序必须由一个或一个以上的函数组成
31.题号:
4045
在C语言中,变量的隐含存储类别就是()、
B、auto
C、无存储类别
D、extern
32.题号:
4578
若已定义的函数有返回值,则以下关于该函数调用的叙述中,错误的就是()、
A、函数调用可以作为一个函数的形参
B、函数调用可以作为独立的语句存在
C、函数调用可以作为一个函数的实参
D、函数调用可以出现在表达式中,
33.题号:
4537
以下正确的函数声明语句就是()、
A、intadd(inta,intb)//少了分号。
不就是语句。
B、doubleadd();
C、intadd(chara[][]);
//数组第二维长度不可省略
D、charadd(chara,b);
//b没有数据类型
34.题号:
4436
已知year为整型变量,不能使表达式(year%4==0&
&
year%100!
=0)
||year%400==0的值为"
真"
的数据就是()、
A、1990
B、1996
C、2000
D、1992
35.题号:
5040
以下叙述中,不正确的就是()、
A、在一个函数内定义的变量只在本函数范围内有效
B、在一个函数内的复合语句中,定义的变量在本函数范围内有效//在复合语句内有效
C、函数中的形式参数就是局部变量
D、在不同的函数中,可以使用相同的名字的变量
36.题号:
3986
函数定义时的参数为形参,调用函数时所用的参数为实参,则下列描述正确的就是()、
A、实参与形参就是双向传递//单向传递。
由实参单向赋值给形参
B、形参与实参可以同名
C、实参类型一定要在调用时指定
//偷换概念。
形参类型一定要在定义时给定。
调用时,与函数名与实参变量名有关。
与类型无关。
D、形参可以就是表达式//形参必须为变量
二、判断题
==================================================
4018
函数的嵌套调用中,被调用函数执行完成后,均返回主函数、
//返回上一级调用函数
错误
4872
函数在说明时,可以不定义函数的形参名,只指定函数相应位置上形参的类型、
函数说明语句的三种形式:
intmax(inta,intb);
//与用户自定义函数中的形参变量名一样
intmax(int,int);
//省略形参变量名
intmax(intaa,intbb);
//与用户自定义函数中的形参变量名不一样
正确
4204
函数中的形式参数就是局部变量、
4577
静态局部变量就是在编译时被初始化的,故它只被赋初值一次、
4846
gets函数就是用来输入一个字符的函数、
//gets函数就是用来输入一个字符串的。
它以回车键结束。
可以读入带空格的字符串。
5028
静态局部变量在整个程序运行期间都不释放、
4767
函数调用时,实参与形参在类型上应按位置与形参一一对应匹配;
如果类型不匹配,通常编译器并不给出出错信息、
4984
一个C程序只能由一个主函数组成
//一个程序可以由一个或多个函数组成。
但只能有一个主函数
5013
C程序的基本组成单位就是函数
4587
C语言的函数可以嵌套定义
//可以嵌套调用。
不可以嵌套定义。
4288
函数定义当中的函数类型就是return语句中表达式的类型、
//若return后的表达式的类型与函数返回值类型不一致时。
系统自动将return后的类型//转换为函数返回值的类型。
4442
C语言本身不提供输入输出语句,输入与输出操作就是由函数来实现的、
4989
C语言中return语句可以返回函数值、如果return语句后表达式的值与函数说明的类型不一致,则以return语句的表达式类型为准,系统将自行转换、
4783
通过return语句,函数可以带回一个或一个以上的返回值、
//return语句只能带回一个值。
不能带回2个或多个值。
但地址传递可以。
5084
若一个函数的返回类型为void,则表示其没有返回值、
4175
在C语言中,不允许函数嵌套定义,但函数可以嵌套调用、
4689
return语句可以在同一个函数中出现多次、
//但只能执行其中一个。
且调用函数结束。
4351
所有定义在主函数之前的函数无需进行声明、
4097
每次调用函数时,都要对静态局部变量重新进行初始化、
//静态变量可以由系统进行初始化。
也可以由用户进行初始化。
但只初始化一次。
生命//周期就是程序运行的整个时间。
局部变量每次调用时都要进行初始化。
4092
在不同的函数中可以使用相同名字的变量、
4584
函数调用时,要求实参与形参的个数必须一致,对应类型一致、
4055
C语言程序总就是从main()函数开始执行、
4161
没有初始化的整型静态局部变量的初值系统均默认为0、
4349
在C语言的函数中,必须有形参、
5108
在C语言中,函数可以嵌套定义,但不能嵌套调用、
三、填空题
4286
在函数中,需要返回一个结果时,可以使用_____语句、
空1:
return
4371
函数的_____调用就是一个函数直接或间接地调用它自身、
递归
4333
C语言中,格式输入操作就是由库函数_____完成的,格式输出操作就是由库函数_____完成的、
scanf
空2:
printf
4373
C源程序中的主函数的名称必须就是_____。
main
4601
下述函数的功能就是_____。
voidfunc(inta[],intn)
{inti,j;
for(i=1;
i<
n;
i++)
{for(j=i;
j>
0&
a[j]<
a[j-1];
j--)
{intt=a[j];
a[j]=a[j-1];
a[j-1]=t;
}
用冒泡法由小到大排序【或】冒泡法排序【或】排序【或】由小到大排序
4885
函数调用时的实参与形参之间的数据就是单向的_____传递、
值
4690
如果函数不要求返回值,可用_____来定义函数为空类型、
void
四、程序设计
7041
/*------------------------------------------------
【程序设计】
--------------------------------------------------
题目:
函数fact(x)的功能就是求x!
。
编写main程序调用函数fact求解从m个元素选n个元素的组合数的个数。
计算公式就是:
组合数=m!
/(n!
、(m-n)!
)。
要求:
m不能小于n,
否则应有容错处理。
注意:
部分源程序给出如下。
请勿改动主函数
main与其它函数中的任何内容,仅在函
数fun的花括号中填入所编写的若干语句。
*********Begin**********与**********End**********不可删除
------------------------------------------------*/
#include"
longfact(intx)
//函数返回值一定要定义为long。
因为阶乘值增长的很快。
很容易超出int的范围
longy;
//y就是存放阶乘值的变量。
所以要定义为长整型long、
inti;
y=1;
=x;
y=y*i;
returny;
main()
intm,n;
longzhsgs;
printf("
请输入m与n:
\n"
);
scanf("
%d%d"
&
m,&
n);
/**********Begin**********/
while(m<
n)
{
m与n输入错!
请重新输入:
zhsgs=fact(m)/(fact(n)*fact(m-n));
/**********End**********/
从%d个元素选%d个元素的组合数的个数就是:
m,n,zhsgs);
getch();
yzj();
yzj()
FILE*IN,*OUT;
intn;
inti;
longo;
IN=fopen("
in、dat"
"
r"
if(IN==NULL)
{printf("
Read"
OUT=fopen("
out、dat"
w"
if(OUT==NULL)
Write"
for(n=0;
n<
5;
n++)
{
fscanf(IN,"
%d"
i);
o=fact(i);
fprintf(OUT,"
%ld\n"
o);
fclose(IN);
fclose(OUT);
1.示例代码:
6931
对某一正数的值保留2位小数,并对第三位进行四舍五入。
请勿改动主函数main与其它函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
#include"
conio、h"
voidTestFunc();
floatfun(floath)
/**********Begin**********/
//假设h=12、5489
i=(int)(h*1000)%10;
//i=(int)(12、5489*1000)%10=12548%10=8
if(i>
=5)
return(int)(h*100+1)/100、0;
else
return(int)(h*100)/100、0;
/**********End**********/
voidmain()
floatm;
Enterm:
"
%f"
&
m);
\nTheresultis%8、2f\n"
fun(m));
TestFunc();
voidTestFunc()
FILE*IN,*OUT;
ints;
floatt;
floato;
IN=fopen("
if(IN==NULL)
OUT=fopen("
if(OUT==NULL)
}
for(s=1;
s<
=5;
s++)
{
t);
o=fun(t);
%8、2f\n"
fclose(IN);
fclose(OUT);
2.示例代码:
6993
编写一个函数fun,它的功能就是:
实现两个字符串的连接(不使用库函数strcat)。
例如,分别输入下面两个字符串:
FirstString--
SecondString
程序输出:
FirstString--SecondString
注意:
部分源程序存在文件prog、c中。
请勿改动主函数main与其她函数中的任何内容,仅在函数fun的花括号中填入您编写的若干语句。
*/
#include<
stdio、h>
conio、h>
#include<
windows、h>
voidfun(charp1[],charp2[])
/**********Begin**********/
inti=0,j=0;
while((p1[i])!