C程序设计习题参考答案
习 题 一2
习 题 二3
习 题 三5
习 题 四8
习 题 五14
习 题 六17
习 题 七20
习 题 八26
习 题 九33
习 题 十35
习 题 十一36
习 题 一
1. 填空题
⑴ 计算机程序设计语言按其发展可分为三类,即 机器语言 、汇编语言和 高级语言 。
⑵ C程序是由 函数 构成的,一个C程序中至少包含 1个main函数。因此, 函数是C程序的基本单位。
⑶ C程序注释是由 /* 和 */ 所界定的文字信息组成的。
⑷ 函数体一般包括 函数首行 和 函数体 。
⑸ 在任何C程序中都必须且只能有一个主函数, 主函数名必须为 main 。
2. 判断下列各个叙述的正确与否
⑴ C程序的执行总是从该程序的main函数开始,在main函数最后结束【√】
⑵ C程序的注释部分可以出现在程序中任何位置,它对程序的编译和运行不起任何作用,但可以增加程序的可读性【√】
⑶ 由“/*”与“*/”界定的注释必须在同一行【╳】
⑷ 通过了编译、连接的程序就是正确的程序【╳】
⑸ 有计算结果输出的程序一定是正确的程序【╳】
⑹ 编译错误是语法错误,运行结果错误是逻辑错误【√】
⑺ 编译时在信息窗口出现包含“error”的信息,说明程序存在警告性错误【╳】
⑻ 源程序每次修改后,都必须重新编译、连接【√】
3. 简答题
⑴ 算法的含义、特点是什么?
解答:算法是解题方法的精确描述。有穷性、确定性、有多或零个输入、有1或多个输出、有效性。
⑵ 写出一个C程序的基本结构。
由编译预处理命令、注释、1个main和若干个自定义函数构成,函数格式如下:
函数类型 函数名(类型标识符 形参,类型标识符 形参,...)
{ 类型声明语句; 执行语句部分; }
⑶ 写出在你使用的计算机系统上,进入C环境以及运行、调试程序的简要步骤。
⑷ 输入x后计算其正弦值的源程序如下。编译信息是否表示有致命性错误?应如何修改?
解答:致命性错误为第6行函数sin未声明,应加入编译预处理命令 #include
4. 编程题
⑴ 请上机调试、运行本章课本上C语言程序例题4~6(注释部分可以不必输)
⑵ 仿照例6编程,输入两个变量后,输出其中较大的值。
#include
void main()
{ int a, b;
printf("请输入A,B的值:\n");
scanf("%d%d",&a,&b) ;
if(a>b) printf("%d\n",a); else printf("%d\n",b);
}
⑶ 仿照例题编程,输入圆柱体的半径和高,计算并输出圆柱体的体积。
#include
void main()
{ float r, h, v;
printf("请输入半径、高的值:\n");
scanf("%f%f",&r,&h);
v=r*r*3.141593*h;
printf("%f\n",v);
}
习 题 二
1. 将下列程序上机运行,写出你所使用的C语言处理系统中short、int以及long类型数据的字长和数值范围。
#include
void main()
{ printf("short类型数据的字长为:%d\n",sizeof(short));
printf("int类型数据的字长为:%d\n",sizeof(int));
printf("long类型数据的字长为:%d\n",sizeof(long));
}
解答:VC++环境下,分别为2、4、4
2. 仿照题1编程,测试float、double类型数据的字长。
#include
void main()
{ printf("float类型数据的字长为:%d\n",sizeof(float));
printf("double类型数据的字长为:%d\n",sizeof(double));
}
3. 判断下列各个叙述的正确与否。
⑴ C的long类型数据可以表示任何整数【╳】
⑵ 任何变量都必须要声明其类型【√】
⑶ C的任何类型数据在计算机内都是以二进制形式存储的【√】
⑷ scanf函数中的格式符“%d”不能用于输入实型数据【√】
⑸ 格式符中指定宽度时,从缓冲区中读入的字符数完全取决于所指定的宽度【√】
⑹