以下是谭浩强《C 语言程序设计》第一章习题的详解:
题目 1:什么是程序?什么是程序设计?
答案:程序是一组计算机能识别和执行的指令集合,每一条指令使计算机执行特定的操作。程序设计是指从确定任务到得到结果、写出文档的全过程。
题目 2:为什么需要计算机语言?高级语言有哪些特点?
答案:计算机语言解决了人和计算机交流的语言问题,使得人和计算机都能够识别。高级语言的特点包括:高级语言的数据结构比汇编语言更丰富;与具体机器结构的关联没有汇编以及机器语言密切;更接近自然语言,人们更容易掌握;编写的代码需要经过编译才能变成程序。
题目 3:正确理解以下名词及其含义:
(1)源程序,目标程序,可执行程序。
(2)程序编辑,程序编译,程序连接。
(3)程序,程序模块,程序文件。
(4)函数,主函数,被调用函数,库函数。
(5)程序调试,程序测试。
答案:
(1)源程序是指未编译的按照一定程序设计语言规范书写的文本文件,是一系列人类可读的计算机语言指令。目标程序是源程序经编译可直接被计算机运行的机器码集合,在计算机文件上以.obj 作扩展名。可执行程序是将所有编译后得到的目标模块连接装配起来,再与函数库相连接成为一个整体,生成的可供计算机执行的目标程序。
(2)程序编辑是上机输入或者编辑源程序的过程。程序编译是先用 C 提供的"预处理器"对程序中的预处理指令进行编译预处理,然后对源程序进行语法检查,判断是否有语法错误,直到没有语法错误后编译程序自动把源程序转换为二进制形式的目标程序。程序连接是将所有编译后得到的目标模块连接装配起来,再与函数库相连接成为一个整体的过程。
(3)程序是一组计算机能识别和执行的指令,运行于电子计算机上,满足人们某种需求的信息化工具。程序模块是可由汇编程序、编译程序、装入程序或翻译程序作为一个整体来处理的一级独立的、可识别的程序指令。程序文件是存储程序的文件,包括源程序和可执行程序。
(4)函数是将一段经常需要使用的代码封装起来,在需要使用时可以直接调用,来完成一定功能。主函数又称 main 函数,是程序执行的起点。被调用函数是由一个函数调用另一个函数,则称第二个函数为被调用函数。库函数一般是指编译器提供的可在 C 源程序中调用的函数,可分为两类,一类是 C 语言标准规定的库函数,一类是编译器特定的库函数。
(5)程序调试是将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。程序测试是指对一个完成了全部或部分功能、模块的计算机程序在正式使用前的检测,以确保该程序能按预定的方式正确地运行。
题目 4:编写一个 C 程序,运行时输出Hello World!
答案代码:
#include <stdio.h>
int main()
{
printf("Hello World!\n");
return 0;
}
题目 5:编写一个 C 程序,运行时输出以下图形:
*****
*****
*****
*****
答案代码:
方法一(直接使用多个printf函数)
#include <stdio.h>
int main()
{
printf("*****\n");
printf("*****\n");
printf("*****\n");
printf("*****\n");
return 0;
}
方法二(使用循环语句)
#include <stdio.h>
int main()
{
int i, j;
for (i = 0; i < 4; i++)
{
for (j = 0; j < 5; j++)
{
printf("*");
}
printf("\n");
}
return 0;
}
题目 6:编写一个 C 程序,运行时输入a,b,c三个值,输出其中值最大者。
答案代码:
#include <stdio.h>
int main()
{
int a, b, c, max;
printf("请输入 a,b,c:");
scanf("%d,%d,%d", &a, &b, &c);
max = a;
if (max < b)
max = b;
if (max < c)
max = c;
printf("a,b,c 中最大的为:%d", max);
return 0;
}
对于题目 7,主要是要求看懂《C 程序设计(第五版)学习辅导》第 16 章中介绍的用 Visual Studio 2010 对 C 程序进行编辑、编译、连接和运行的方法,并进行相应操作,具体步骤如下:
-
建立一个新项目,定名为 project1。
-
建立一个新文件,定名为 test1。
-
向 test1 文件输入源程序(此源程序为读者自己编写的程序)。
-
编译该源程序,如发现程序有错,请修改之,直到不出现"编译出错"为止。
-
连接并运行,得到结果,分析结果。
这些步骤主要是熟悉使用特定开发环境进行 C 程序开发的基本流程,实际操作中需要根据具体的开发环境和项目需求进行相应的调整。