7C语言.docx
《7C语言.docx》由会员分享,可在线阅读,更多相关《7C语言.docx(8页珍藏版)》请在冰豆网上搜索。
7C语言
1.以下正确的函数定义形式是C
A)doublefun(intx,inty)
B)doublefun(intx;inty)
C)doublefun(intx,inty);
D)doublefun(intx,y);
2、以下正确的说法是D
在C语言中,A)实参和与其对应的形参各占用独立的存储单单元
B)实参和与其对应的形参共占用一个存储单元
C)只有当实参和与其对应的形参同名时才共占用存储单元
D)形参是虚拟的,不占用存储单元
3、若调用一个函数,且此函数中没有return语句,则正确的说法是A
该函数A)没有返回值
B)返回若干个系统默认值
C)能返回一个用户所希望的函数值
D)返回一个不确定的值
4.以下正确的函数形式是D
Adoublefun(intx,inty)
{z=x+y;returnz;}
Bfun(intx,y)
{intz;returnz;}
Cfun(x,y)
{intx,y;doublez;z=x+y;returnz;}
Ddoublefun(intx,inty)
{doublez;z=x+y;returnz;}
5.以下不正确的说法是C
C语言规定A实参可以是常量,变量或表达式
B形参可以是常量,变量或表达式
C实参可以为任意类型
D形参应与其对应的实参类型一致
6.以下不正确的说法是B
A定义函数时,形参的类型说明可以放在函数体内
Breturn后边的值不能为表达式
C如果函数值的类型与返回值类型不一致,以函数值类型为准
D如果形参与实参的类型不一致,以实参类型为准
7.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是B
A地址传递
B单向值传递
C由实参传给形参,再由形参传回实参
D由用户指定传递方式
8.以下程序有语法错误,有关错误原因的正确说法是c
main()
{intG=5,k;
voidprt_char();
……….
k=prt_char(G);
………..}
A语句voidprt_char();有错,它是函数调用语句,不能用void说明
B变量名不能使用大写语句
C函数说明和函数调用语句之间有矛盾
D函数名不能使用下划线
9.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是
Afloat型
Bint型
Clong型
Ddouble型
10.在以下正确的说法是A
A实参和与其对应的形参各占用独立的存储单元
B实参和其对应的形参共占用一个存储单元
C只有当实参和与其对应的形参同名时才共占用存储单元
D形参是虚拟的,不占用存储单元
11.C语言规定,函数返回值的类型是由D
Areturn语句中的表达式类型所决定
B调用该函数时的主调函数类型所决定
C调用该函数时系统临时决定
D在定义该函数时所指定的函数类型所决定
12.下面函数调用语句含有实参的个数为B
Func((exp1,exp2),(exp3,exp4,exp5));
A1B2C4D5
13.以下正确的描述是B
A函数的定义可以嵌套,但函数的调用不可以嵌套
B函数的定义不可能嵌套,但函数的调用可以嵌套
C函数的定义和函数的调用均不可以嵌套
D函数的定义和函数的调用均可以嵌套
14.以下程序的功能是计算函数f(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include
#include
floatf(float,float);
main()
{floatx,y,z,sum;
scanf(“%f%f%f”,&x,&y,&z);
sum=f([1])+f([2]);f(x+y,x-y)+f(z+y,z-y)
printf(“sum=%f\n”,sum);}
floatf(floata,floatb)
{floatvalue;
value=a/b;
return(value);}
[1]Ax-y,x+yBx+y,x-yB
Cz+y,z-yDz-y,z+y
[2]Ax-y,x+yBx+y,x-y
Cz+y,z-yDz-y,z+yC
15.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为B
inta[3][4];
f(a);
Af(intarray[][6])
Bf(intarray[3][])
Cf(intarray[][4])
Df(intarray[2][5])
16.若使用一维数组名作函数实参,则以下正确的说法是A
A必须在主调函数中说明此数组的大小
B实参数组类型与形参数组类型可以不匹配
C在被调函数中,不需要考虑形参数组的大小
D实参数组名与形参数组名必须一致
17.以下正确的是
如果在一个函数中的复合语句中定义了一个变量,则该变量A
A只在该复合语句中有效
B在该函数中有效
C在本程序范围内均有效
D为非法变量
18.以下不正确的说法是D
A在不同函数中可以使用同名字的变量
B形式参数是局部变量
C在函数内定义的变量只在本函数范围内有效
D在函数内的复合语句中定义的变量在本函数范围内有效
19.凡是函数中未指定存储类型的局部变量,其隐含的存储类别为A
A自动(auto)B静态(static)
C外部(extern)D寄存器(register)
20.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用存储类别是D
AexternBregister
CautoDstatic
21.以下程序的正确运行结果是A
main()
{intk=4,m=1,p;
p=func(k,m);printf(“%d”,p);
p=func(k,m);printf(“%d\n”,p);
}
func(inta,intb)
{staticintm=0,i=2;a=4,b=1,m=0,i=2
i+=m+1;i=3i=12
m=i+a+b;m=8m=17
return(m);
}
A8,17B8,16C8,20D8,8
22.以下c语言函数声明中,不正确的是()
Avoidfun(intx,inty);Bfun(intx,inty);
Cintfun(intx,y);Dchar*fun(char*s);
23.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个
数为()
A1B2C4D5
24.intfun(intn)
{if(n>0)
returnn*fun(n-1);
else
return1;
}
main()
{inta=fun(4);
printf(″a=%d\n″,a);}
程序运行结果:
________
25.fun(inti)
{staticints=3;
s+=i;
return(s);}
main()
{inta=2,b=1,s;
s=fun(a);s=fun(b);
printf(″%d\n″,s);}
程序运行结果:
______________
26.以下程序的功能是:
从键盘输入一串字符(以回车换行符结束),统计
其中小写英文字母的个数,将结果保存在变量count中。
main()
{int①__
charc;
②___
while(c!
=′\n′)
{
if(③__)
④__________;
c=getchar();
}
printf(″havetyped%dlowerletters″,count);
}