C语言(函数,变量作用范围)
一、选择题
1 下列定义不正确的有 ( C ) 。
A)#define PI 3.141592 B)#define S 345
C)int max(x,y); D)char c;
int x,y ;
{ }
2 下列程序结构中,不正确的是 ( B )。
A)main() B) main()
{float a,b,c; {float a,b,c;
scanf("%f,%f",&a,&b); scanf("%f,%f",&a,&b);
c=add(a,b); c=add(a,b);
...... .....
} }
int add(float x,float y) float add(float x,float y)
{ ... } { ... }
C)float add(float x,float y); D)float add(float x,float y)
main() { ... }
{float a,b,c; main()
scanf("%f,%f",&a,&b); {float a,b,c;
c=add(a,b); scanf("%f,%f",&a,&b);
...... c=add(a,b);
} .....
float add(float x,float y) }
{ ... }
3 一个C语言的程序总是从( A )开始执行的.
A)main函数
B)文件中的第一个函数
C)文件中的第一个子函数调用
D)文件中的第一条语句
4 以下正确的函数定义是( D ).
A)double fun(int x,int y)
{z=x+y; return z;}
B) double fun(int x,int y);
{int z;
z=x+y; return z;}
C) fun(int x,y)
{int z; return z;}
D) double fun(int x,int y)
{double z;
z=x+y; return z;}
5 以下正确的函数声明形式是( D ).
A) double fun(int x,int y)
B) double fun(int x;int y)
printf函数返回值C) double fun(int ,int )
D) double fun(int ,int );
6 以下说法中正确的是( A )
在C语言中
A)实参与其对应的形参各占用独立的存储单元
B)实参与其对应的形参占用同一个存储单元
C)只有当实参与形参同名时才占用同一个存储单元
D)实参占用存储单元,但形参是虚拟的,不占用存储单元
7 设有如下函数定义:
int f(char *s)
{ char *p=s ;
while(*p!='\0') p++;
return(p-s) ;
}
如果在主程序中用下面的语句调用上述函数,则输出结果为( A ).
printf("%d\n",f("goodbye!"));
的输出结果是
A) 3 B) 6 C) 8 D) 0
8 下面程序段中,主函数中变量a被初始化为 ( C )。
int f()
{
return 3.5;
}
main()
{
int a=f();
}
A)3.5 B)无确定值
C)3 D)程序出错
9 下面叙述不正确的是( D ).
A) 在函数中,通常用return语句传回函数值;
B) 在函数中,可以有多条return语句;
C) 在C中,主函数main后的一对圆括号中也可以带有形参;
D) 在C中,调用函数必须在一条独立的语句中完成;
10-C语言函数返回值的类型是由( C )决定的。
A) 调用该函数的主调函数类型 B) 定义函数时所指定的函数类型
C) return语句中的表达式类型 D) 以上都错
11-以下说法中正确的是( A ).
A)实参可以是常量、变量或表达式
B)形参可以是常量、变量或表达式
C)实参可以为任意类型
D)形参应与其对应的实参类型一致
12-C语言中规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ).
A)地址传递
B)单向值传递
C)由实参传给形参,再由形参传给实参
D)由用户指定传递方式
13-以下程序的输出结果是 ( A ) 。
int power(int x,int y);
main()
{float a=2.6,b=3.4;
int p;
p=power((int)a,(int)b);
printf("%d\n",p);
}
int power(int x,int y)
{int i,p=1;
for(i=y;i>0;i--)
p=p*x;
return p;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论