C 语言 2 作业 1
一、判断题 (16 分 )
1. C程序是由函数构成的,每一个函数完成相对独立的功能。
2 分
2. 被 main 函数调用的函数只能是库函数。
2 分
3. 只有在函数被调用时 , 其形式参数才临时地占有存储空间 .
2 分
4. 函数若无返回值 , 则它一定无形参 .
2 分
5. 如果函数类型不定义为空类型 , 即使在 return 后面没有表达式 , 而实际上函
数也是有一个不确定的返回值的 .
2 分
6. 函数必须有形参
2 分
7. 函数必须有 return 语句
2 分
8. 函数调用语句 :func(rec1,rec2+rec3,(rec4,rec5)); 中, 含有的实参个数是
5
2 分
二、选择题 (18 分 )
1. 一个数据类型为 void 的函数中可以没有 return 语句,那么函数被调用时 ( ).
[A] 2 分
A. 没有返回值 B. 返回一个系统默认值 C. 返回值由用户临时决
定 D. 返回一个不确定的值
2. 在 C 语言中,函数的数据类型是指 ____ 。
[A] 2 分
A. 函数返回值的数据类型 B. 函数形参的数据类型 C. 调用该函数
时的实参的数据类型 D. 任意指定的数据类型
3. 若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是 ____ 。
[D] 2 分
A. 函数调用可以作为独立的语句存在
B. 函数调用可以作为一个函数的实参
C. 函数调用可以出现在表达式中
D. 函数调用可以作为一个函数的形参
4. 阅读下面程序段,则执行后输出的结果是 ____ 。
#include
void main()
{ int m=4,n=2,k;
k=fun(m,n);
printf("%d\n",k);
}
int fun(int m,int n)
{
return(m*m*m-n*n*n);
}
[C] 2 分
A. 64 B. 8 C. 56 D. 0
5. 编写求两个双精度数之和的函数,选项中正确的是 ____ 。
A)double add(double a,double b)
{ double s;
s=a+b;
return s; }
B)double add(double a,b)
{ double s;
s=a+b;
return (s);}
C)double add(double a double b)
{ double s;
s=a+b;
returns;}
D)double add(a,b)
{ double a,b,s;
s=a+b;
return (s);}
[A] 2 分
A. A B. B C. C D. D
6. 现有如下程序段
#include
int aa(int x,int y);
void main()
{ int a=24,b=16,c;
c=