精品文档
第4章 习题解答
一、选择题
1.在C语言中,函数返回值的类型最终取决于 A)函数定义时的函数首部所说明的函数类型 表达式值的类型
C)调用函数时主调函数所传递的实参类型 形参的类型
解析:函数返回值类型最终取决于定义函数时所定义的函数类型。 答案:A
2.设函数Fun()的定义形式为: void Fun(char ch, float x){}
则以下对函数Fun()的调用语句中,正确的是 。 A)Fun(\ C)Fun('65', 2.8);
B)t = Fun('D', 16.5);
D)函数定义时B)return语句中
D)Fun(32, 32);
解析:选项A中\是字符串,与形参不匹配:由于Fun函数的
实用文档
精品文档
返回值类型为void,所以选项B中进行了赋值操作是不正确的;在选项C中,'65'是不合法的字符形式,单引号中应该是单个字符。只有选项D才是合法的函数调用形式。
答案:D
3.有以下程序:
/* 文件路径名:ex4_1_3\\main.c */ #include
/* 标准输入/输出头文件 */
int f1(int x, int y) { return x > y ? x : y; } int f2(int x, int y) { return x > y ? y : x; } int main(void) {
int a = 4, b = 3, c = 5, d = 2, e, f, g;
/* 定义变量 */
/* 主函数main() */
e = f2(f1(a, b), f1(c, d)); f = f1(f2(a, b), f2(c, d));/* 调用函数 */ g = a + b + c + d - e - f;
/* 算术运算 */
printf(\return 0;
/* 输出e,f,g */
/* 返回值0, 返回操作系统 */
实用文档
精品文档
}
程序运行后的输出结果是 。 A)4,3,7
B)3,4,7
C)5,2,7
D)2,5,7
解析:函数f1用于求两个数中的最大数,而函数f2用于求两个数中的最小数。因此有:
e=f2(f1(a,b),f1(c,d))=f2(f1(4,3),f1(5,2))= f2(4,5)=4; f=f1(f2(a,b),f2(c,d)) =f1(f2(4,3),f2(5,2)) =f1(3,2)=3; g=a+b+c+d-e-f=4+3+5+2-4-3=7。
实用文档