习题1.1 什么是程序?什么是程序设计?
所谓程序,就是一组计算机能识别和执行的指令。每一条指令使计算机执行特定的操作
程序设计是指从确定任务到得到结果、写出文档的全过程。包括:问题分析,设计算法,编写程序,对源程序进行编辑、编译和连接,运行程序、分析结果,编写程序文档等阶段。
习题1.2 为什么需要计算机语言?高级语言的特点
人和计算机交流信息,要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。
高级语言很接近于人们习惯使用的自然语言和数学语言。程序中用到的语句和指令是用英文单词表示的,程序中所用的运算符和运算表达式和人们日常所使用的数学式子差不多,很容易理解。这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型号的机器都适用(或只须作很少的修改),它与具体机器距离较远,故称为计算机高级语言
习题1.3 正确理解以下名词及含义
(1) 源程序 目标程序 可执行程序
计算机是不能直接识别高级语言程序的,要用一种编译程序软件翻译。翻译前用高级语言编写的程序称为源程序(source program)。翻译后的机器指令程序称为目标程序(object program)。编译后的目标程序与函数库进行连接,生成一个可供计算机执行的目标程序,称作可执行程序(executive program)
(2)程序编辑 程序编译 程序连接
这是运行C程序的步骤和方法。首先上机输入和编辑源程序,将此源程序以文件形式存放在指定文件夹内;然后对源程序进行编译(包括预编译和正式编译两个阶段,包含检查源程序的语法错误的过程)将原程序转换成二进制形式的目标模块;最后进行连接处理,将编译后的目标模块和函数库相连为一个整体,生成可执行程序
(3)程序 程序模块 程序文件
当程序规模较大时,所包含的函数数量较多,如果把所有的函数都放在同一个源程序文件中,则此文件显得太大。为了便于编译和调试。可以使一个程序包含若干个源程序文件,每个源程序文件又包含若干个函数。一个源程序文件就是一个程序模块,即将一个程序分成若干个程序模块。
(4)函数 主函数 被调用函数 库函数
每个函数用来实现一定的功能,在调用函数时1函数定义中指定的功能。函数是C程序的主要组成部分,包括函数首部和函数体
每一个C语言程序都必须有一个主(main)函数,程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何
程序中被调用的函数,可以使系统提供的库函数,也可以是用户根据需要自己编制设计的函数
Printf函数和scanf函数是系统提供的库函数。C的函数库十分丰富。不同编系统所提供的库函数的个数和功能不完全相同
(5)程序调试 程序测试
程序调试(debug)的过程就是通过上机发现和排除程序中故障的过程
程序测试(test),就是设计多组测试数据,检查程序对不同数据的运行情况,从中尽量发现程序中存在的漏洞,并修改程序,使之能适用于各种情况。
习题1.4. 自学本书附录A,熟悉上机运行C程序的方法,上机运行本章3个例题
略
习题1.5. 请参照本章例题,编写一个C程序,输出以下信息
******************************
Very Good !
******************************
时间:2011年9月26日15:24:46
题目:习题1.5 请参照本章例题,编写一个C程序,输出以下信息
*/
# include <stdio.h>
int main()
{
printf("******************************\n");
printf("Very Good !\n");
printf("******************************\n");
return 0;
}
/*
在VC++6.0中的输出结果为:
————————————
******************************
Very Good !
******************************
Press any key to continue
————————————
*/
习题 1.6. 编写一个C程序,输入a、b、c三个值,输出其中最大者
时间:2011年9月26日15:34:57
题目:习题1-6 编写一个C程序,输入a、b、c三个值,输出其中最大者
*/
# include <stdio.h>
int main()
{
int a,b,c;
int d;
int max (int x, int y);
printf("Input 3 numbers\n");
scanf("%d %d %d",&a,&b,&c);
d = max(a,b);
d = max(d,c);
printf("The max is %d\n",d);
return 0;
}
int max (int x, int y)
{
int z;
if (x>y)
{
z = x;
}
else
{
z = y;
}
return (z);
}
/*
在VC++6.0中的输出结果为:
————————————
Input 3 numbers
5 8 2
The max is 8
Press any key to continue
————————————
*/
习题1.7 上机运行以下程序,注意注释的方法。分析运行结果,掌握注释的用法
时间:2011年9月26日15:59:15
题目:习题1.7 上机运行以下程序,注意注释的方法。分析运行结果,掌握注释的用法
*/
# include <stdio.h>
int main()
{
printf("How do you do!\n"); //这是行注释,注释范围从//起至换行符止
printf("How do you do!\n"); /*这是块注释*/
printf("How do you do!\n"); /*这是块注释,如在本行写不完,可在下一行继续写
这部分内容均不产生目标代码*/
//printf("How do you do!\n"); //把这行语句作为注释,不执行
printf("//How do you do!\n"); //在输出的字符串中加入//
/*printf("How do you do!\n"); //用块注释符把几行语句都作为注释
return 0;*/
}
/*
在VC++6.0中的输出结果为:
————————————
How do you do!
How do you do!
How do you do!
//How do you do!
Press any key to continue
————————————
*/