好文档 - 专业文书写作范文服务资料分享网站

C语言程序设计教程清华大学出版社陈明主编第4章答案

天下 分享 时间: 加入收藏 我要投稿 点赞

A) 程序的执行总是从 main函数开始,在 main函数结束 B)

始,在

程序的执行总是从程序的第一个函数开main函数结束

C) 程序的执行总是从 main函数开始,在程序的最后一个函数中结束 D) 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束

解析:C程序的执行总是从 main函数开始,完成对其他函数的调用后返回到 最后由main函数结束整个程序。一个 C源程序有且公有一个 main函数。

答案:A

main函数,

、填空题

1以下程序中,函数 y1 = (X+8)-2(X+8)+6 y2=si n2(x)-2s in (x)+6

2

Fun()的功能是计算X-2X+6,主函数中将调用 Fun()函数计算:

2

请填空。

/* 文件路径名:e4_2_1\\main.c */ #include #include int main(void) {

double X, y1, y2; printf(” 输入 x:\scanf(\X); y1 = Fun( 【1】 y2 = Fun( 【2】 return 0; }

); );

/* 定义变量*/ /* 输入提示*/ /* 输入X */

/* 调用函数Fun() */ /* 调用函数Fun() */ 输出 /* y1,y2 */

/* 返回值0,返回操作系统*/ /* 标准输入/输岀头文件*/ 数/* 学函数首部文件 /* 主函数main() */

*/

double Fun(double X) { return x*x - 2 * X + 6; }

printf(\

解析:函数的一般调用形式为:函数名 实(实在参数表),在调用时将实参的值赋给形参, 参可以是常量、变量或表达式。

答案:【1】X + 8

2?有以下程序:

【2】sin(x)

/* 文件路径名:e4_2_2\\main.c */

可编辑范本

#include

int sub(int n){ return n / 10 + n % 10; } int main(void) {

int X, y; scanf(\y = sub(sub(sub(x))); printf(\return 0;

可编辑范本

/*标准输入/输岀头文件*/ /* 主函数 main() */ /*定义变量*/ /*输入X */ /*调用函数*/ /*输岀y */

/*返回值0,返回操作系统*/

若运行时输入: 1234<回车 >,程序的输出结果是 。

解析:1234作为实参传递给形参 n, sub(x)值为1234/10+1234=123+4=127 ,

sub(sub(x)=sub(127)=127+127=12+7=19 , sub(sub(sub(x)))=sub(19)=9/10+19=10 ,所 以将输出10。 答案:10

3?以下程序运行后的输出结果是 。

/* 文件路径名:e4_2_3\\main.c */

/* 标准输入/输岀头文件*/

#include void swap(int

x, int y) {

int t = x; x = y; y = t; printf(\}

int main(void) {

int a = 3, b = 4; swap(a, b);

printf(\ }

return 0;

/* 主函数main() */

交换x,y */ /* /* 输岀x,y */

定义变量*/ /*

调用函数*/ /*

a,b */ /*输岀

返回值0,返回操作系统*/ /*

解析:C函数的参数传递都是传值的, 因此swap(a,b调用将a和b的值3和4传递给swap 的形参x和y, x和y通过t交换值,printf输出x和y结果是\4 3 “。swap函数调用结束后, a和b

的值并没有交换,printf输出a和b结果是\3 4”。

}

答案:4334

4?以下程序运行后的输出结果是 ___________ 。

/* 文件路径名:e4_1\\main.c */ #include Fun(int a) {

int b = 0;

static int c = 3; b++; c++; return a + b + c; }

int main(void) {

int i, a = 5;

for (i = 0; i < 3; i++)

printf(\Fun(a)); printf(\return 0;

/* 输出 i,Fun(a) */

/*换行*/

/*返回值0,返回操作系统*/ /*局部变量*/ /*静态变量*/ /* b,c 自加 1 */ /*返回函数值*/

/* 主函数 main(void) */ /*定义变量*/

/*标准输入/输岀头文件*/

可编辑范本

解析:第1次调用Fun()函数时,a=5, “b++; C++; ”执行后,b=1 , c=4,返回5+1+4=10 ; 第 2 次调用 Fun()函数时,a=5, “ b++; C++; ”执行后,b=1 , c=5,返回 5+1+5=11 ;

第 3 次调用 Fun()函数时,a=5, “b++; C++; ”执行后,b=1 , c=6,返回 5+1+6=12。 答案:0 10 1

11 2 12

5?以下程序运行后的输出结果是 ___________ 。

/* 文件路径名:ex4_2_5\\main.c */ #include int f(int a[], int n) {

if (n >= 1) return f(a, n - 1) + a[n - /*递归调用*/ 1]; else return 0; }

int main(void) {

int a[] = {1,2, 3, 4, 5}, s; s = f(a, 5); printf(\return 0; }

/*定义数组与变量*/ /*调用函数f() */ /*输岀s */

/*返回值0,返回操作系统*/ /* 主函数 main() */ /*递归结束*/

/*标准输入/输岀头文件*/

解析:通过递归调用f函数实现了数组各元素之和,即 答案:15

*6 .在面向对象方法中,类的实例称为 ___________ 。

a[0]+a[1]+a[2]+a[3]+a[4]=15。

解析:将属性、操作相似的对象归为类,类是具有共同属性、共同方法的对象的集合。 所以,类是对象的抽象,而一个对象则是其对应类的一个实例。

答案:对象 三、编程题

1 ?编写一个函数,其功能是判断输入的三个边是否能组成三角形,要求编写测试程序。

参考程序:

/* 文件路径名:ex4_3_1\\main.c */ #include #include

/*包含库函数printf()所需要的信息 */ /*包含库函数system(所需要的信息 */

int lsTriangle(float a, float b, float c) /* a,b,c 能组成三角形,返回 1,否则返回 0 */ {

if (a > 0 && b > 0 && c > 0 && a + b > c && a + c > b && b + c > a) {

/*能组成三角形*/ return 1; } else {

/*不能组成三角形*/

/* 返回 1 */

可编辑范本

return 0;

/* 返回 0 */

int main(void)

{

/* 主函数 main() */ /* 定义变量 */ /* 输入提示 */ /* 输入 a,b,c */

float a, b, c; printf(\输入三边

长 :\

if (IsTriangle(a, b, c)) { /* 能组成三错角形 */

printf(\能组成三角形 \\n\

}

else

{ /* 不能组成三错角形 */ printf(\不能组成三

角形 \\n\

}

system(\return 0;

}

/* 调用库函数 system( ,) 输出系

统提示信息 */ /* 返回值 0, 返回

操作系统 */

2.编写一个函数,其功能是输入

n 个数,返回这些数的最大值,要求编写测试程序。

参考程序:

/* 文件路径名 :ex4_3_2\\main.c */ #include #include int Max(int n)

{

/* 包含库函数 printf() 所需要的信息 */ /*包含库函数system(所需要的信息*/ /* 求输入的 n 个数的最大值 */ /* 定义变量 */ /* 输入提示 */

/* 先假设输入的第 1 个数就是最大值 */ 比较求最大值 */

/* 输入输入其它各数 */ /* 比较求最大值 */ /* 返回最大值 */

int m, i, tem;

printf(” 输入 %d 个数:\scanf(\for(i = 1; i < n; i++) {

/* 依次输入其它各数, scanf(\(tem > m) m = tem;

}

return m;

}

int main(void)

{

/* 主函数 main() */ /* 定义变量 */ /* 输入提示 */ /* 输入 n */

/* 求输入的 n 个数的最大值

int n, m;

printf(\输入个数 n::\scanf(\m = Max(n);

printf(\输入的 %d 个数的最大值*/ %d\\n\/* 输出结果 */

可编辑范本

C语言程序设计教程清华大学出版社陈明主编第4章答案

A)程序的执行总是从main函数开始,在main函数结束B)始,在程序的执行总是从程序的第一个函数开main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束解析:C程序的执行总是从main函数开始,完成对其他函数的调用
推荐度:
点击下载文档文档为doc格式
2bo6h4xq1x2xn8u9whcj4n25q6nxtf004db
领取福利

微信扫码领取福利

微信扫码分享